ADALM2000卡Python信号采集用法


ADALM2000是ADI公司针对教学应用开发的一个100MSPS 的12位USB数据采集模块,配合该公司的 Scopy测量图形应用软件,可以将ADALM2000变为多种实验室的常用仪器。

去年在Matlab平台上编程用过,效果还不错。看了下产品介绍,支持Python,就将机床振动信号的采集实验实验平移到Python平台,却不知给学生挖了个小坑,很多小组的学生未在规定时间内完成实验。 ADALM2000并不象产品介绍中说的那样,可以用pip指令安装:

pip install libm2K

pypi中没有ADALM2000的支持库。安装库放在test.pypi.org中,也就是说还在完善阶段。

pip install -i https://test.pypi.org/simple/ libm2k

另外,测试库也只支持Python3.7、3.8、3.9、3.10和3.11,而学生多数用的是较新的3.12或3.13版本的Python,根本就装不上ADALM2000驱动。Python开发环境需退回到低版本下去使用。

在3.11以下的Python中pip libm2k库后就简单了,几条语句就可以实现双通道信号采集和分析:

ctx = libm2k.m2kOpen()
if ctx is None: exit()
ain=ctx.getAnalogIn()
ain.enableChannel(0, True)
ain.enableChannel(1, True)
ain.setSampleRate(Fs)
ain.setRange(0, -5, 5)
ain.setRange(1, -5, 5)
data=ain.getSamples(N)
libm2k.contextClose(ctx)

下面是用DRVI库写的一个双通道信号采集程序。但似乎还有点不尽如人意,或我没用对,采样频率只能是1KHz、10KHz、100KHz。

302_ArduinUNO_AD卡信号采集演示程序.py

运行即可。


2025.6.25 in HUST, by diandian