最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

USB采集板使用说明书[5页]

IT圈 admin 59浏览 0评论

2024年2月9日发(作者:龚运浩)

与matlab接口的USB数据采集板使用说明书

Matlab的强大功能众所周知,但是它直接支持的硬件很少而且极贵,USB接口的几乎没有。这块采集板(开发板)是专为matlab优化设计的,能直接支持SIMULINK进行硬件在线仿真,做控制的工程技术人员有福了!特别注意:本采集板通过USB接口和电脑直接连接,输入信号超出设定范围有可能殃及电脑!

一 、检查附件:

本采集板包括采集板一块,USB连接线一根。电路板原理图一份,测试使用例程myUSBtest一个,、Smulink下AD、DA、ADDA同时采集例程若干。USB驱动及Matlab下的驱动。芯片资料若干。

二、安装驱动程序

本采集卡使用PHILIP的D12芯片作为USB传输芯片(在板子背面)。使用前需要安装USB驱动程序及和maltab接口的驱动程序。

1、请用USB线将本采集板与PC机连接起来。

2、连接后,win98/2000/xp会提示用户安装USB驱动程序。请将用户资料中的D12文件夹打开,并依照用户的操作系统选择安装。安装成功后,本开发板的Usb_Link指示灯就会点亮(指示灯在USB接口旁边)。

三、检查采集板:

1、拷贝、和myUSBtest.m到matlab的work目录下。

2、连接好USB线。

3、用导线连接采集板中AD的CH3和DA的CH1。

4、在命令窗口中输入:

>>myUSBtest(1000);%也可以是0-1023之间的其它值。

则采集板的两个LED会依次闪亮,并且在matlab的命令窗口输出:

>>1000 %误差在1个点左右。

说明采集板及USB通信正常。

此程序实际上是用DA输出一个电压,然后用AD采集回来。如果使用M文件编程或者GUI界面编程,此测试程序是很好的参考。

四、matlab下的函数说明:

注意:请先参考myUSBtest.m程序,则很容易明白下面的函数使用方法。

1、IO口函数:共两个。

A、采集板IO输出函数。

函数名称:function IO_out(channel,temp,)

入口参数:temp为输入数据,高电平发1,低电平发0。channel为通道选择。说明:channel为4--7,分别代表IO端口的PA4—PA7。

出口参数:无

函数功能:指定IO口的电平。

例1:使PA4端口置高电平。

在matlab环境下调用:

>>IO_out(4,1);

即可。

例2:使PA5端口置低电平。

在matlab环境下调用:

>>IO_out(5,0);

即可。

B、采集板IO输入函数。

函数名称:level = function IO_in(channel)

入口参数:channel为通道选择。说明:channel为4--7,分别代表IO端口的PA4—PA7。

出口参数:电平level。Level为0时代表低电平。Level为1时代表高电平。

函数功能:读入指定IO口的电平。

例1:读入PA4端口的电平。

在matlab环境下调用:

>>level = IO_in(4);

则通过USB口返回level数据。

2、读按键函数:共两个

A、函数名称: level = KEY_S1()

函数功能:读入键盘S1的电平。

说明:按键默认状态是高电平,按下后为低电平

B、函数名称: level = KEY_S2()

函数功能:读入键盘S2的电平。

说明:按键默认状态是高电平,按下后为低电平

3、控制LED函数:共两个

A、函数名称:function LED_L1(temp)

入口参数:temp为输入数据,高电平LED亮,低电平灭

出口参数:无

函数功能:指定L1的亮灭

B、函数名称:function LED_L2(temp)

入口参数:temp为输入数据,高电平LED亮,低电平灭

出口参数:无

函数功能:指定L2的亮灭

4、AD采集函数。

函数名称:data = function Read_Data(channel)

入口参数:channel为通道选择

出口参数:data为接收到的数据。10位精度。

函数功能:读取指定通道的数据。

例:假定CH1的电压为4.096V(满量程),读取通道1。

>>data=Read_Data(1);

则返回结果为:

>>data=1023;

注:AD采集通道定义:

CH1

1

CH2

2

CH3

3

CH4

4

5、DA输出函数。

函数名称:function Send_Data(temp,channel)

入口参数:temp为输入数据,10位精度。channel为通道选择。

出口参数:无

函数功能:发送指定电压到DA。

例:使DA的OUT1通道产生4.096V电压。

在matlab环境下调用:

>>Send_Data(1023,1);

即可。

注:DA通道定义:

OUT1

1

五、本开发板在Simulink下的使用

Simulink是很好的控制系统仿真工具,数据采集在simulink下直接运行是很多科研人员梦寐以求的事情,matlab支持很少几款数据采集卡在smulink下运行。不仅价格极其昂贵,限制了大量教学科研的应用,而且直到matlab7为止也没有对USB接口数据采集卡的支持。基于这种情况,我们在《自控原理》的实验教学过程中,不断改进以前的设计,终于开发了堪称完美的完全支持matlab的USB数据采集卡,非常适合教学和科研使用。 在simulink环境下测试如下:

1、 拷贝、、和sfunUsbADDA.m到matlab的work目录下。

2、连接好USB线。

3、用导线连接采集板中AD的CH3和DA的CH1。

4、运行simulink模型。则结果如下图:

本测试实际上是将采集卡的驱动封装成一个S函数,而用户只需要将模块拉出。AD采集的数据送给SCOPE,DA需要的数据由正弦波发生器产生。由于已经用导线将DA的CH1和AD的CH3相连接,所以在硬件上已经形成一个环路。示波器就显示出正弦波发生器的信号来。请读者注意,这不是电脑虚拟的,而是通过本采集卡实际采集的数据!

通过本采集卡,可以将本采集卡作为一个信号发生器和虚拟示波器使用。当然,由于成本所限,速率还不高,但是作为控制系统的应用是足够了。如果有其它高速应用,请与笔者联系:elec_fans@

OUT2

2

Smulink下的模块说明:

Simulink的模块共有4种。其本质是编写采集板的S函数,通过S函数控制USB接口。

1、单路AD模块

打开即可打开上图。双击AD模块,显示下图:

本图是由S函数进一步封装得到的。S函数的编写方法请查阅笔者matlab专著。

参数说明:

第一个参数为AD通道数。第二个参数为采样时间。第三个参数为采样时间微调。

这个参数的目的是为了保证硬件的采样时间与simulink相一致。详细说明另有专文描述。一般情况下,detaT设置为0.008即可。

2、单路DA模块(略,打开相应模块即可看懂)

3、单路AD-DA模块(略,打开相应模块即可看懂)

4、4路AD、2路DA同时工作模块。(可进行多通道解耦算法试验)

六、采集板硬件性能指标:

1、工作原理:本采集模块采用单片机作为CPU,利用单片机上的外设资源进行端口的输出/输入和A/D转换功能。采集模块上的USB通信芯片将硬件外设的输入输出读入PC机或者通过PC机发出命令。

2、性能指标:

A、A/D:4路10位分辨率,输入阻抗47K(可调),输入电压范围0-4.096V。

B、D/A:2路10位分辨率,0-4.096V电压输出。

C、输入输出总数4路,LED两路,按键两路。

D、工作电压:5V,直接利用USB的5V电源,无需外接。由于成本原因,没有进行DC隔离。与外界独立电源的传感设备连接时,请认真考虑接地问题。

E、最高采集速率:AD 15K/s , DA 30K/s ,但是在控制系统中应用时,其实际速率取决于算法复杂度和计算机性能。关于速率问题,另有专文详细论述。

七、采集板硬件补充说明:

采集板是为方便实验而设计的,由于实验任务的不确定性,有一些元件没有焊上,特此说明。

1、AD通道3和通道4可以直接使用,默认输入阻抗为47K(可以自己设定,更换输入电阻R22、R24),信号放大倍数为1。

2、低通滤波问题:为提高抗干扰性,设计了一阶低通滤波器。默认信号3分贝截止频率为4Khz,读者也可参照电路图自行调整截止频率。

3、由于输入信号不确定,AD的CH1和CH2通道的放大倍数可调。决定运放放大倍数的电阻是R17、R18和R19、R20。这几个电阻没有焊接,请用户依据需要自行计算,并焊上合适的电阻。

2024年2月9日发(作者:龚运浩)

与matlab接口的USB数据采集板使用说明书

Matlab的强大功能众所周知,但是它直接支持的硬件很少而且极贵,USB接口的几乎没有。这块采集板(开发板)是专为matlab优化设计的,能直接支持SIMULINK进行硬件在线仿真,做控制的工程技术人员有福了!特别注意:本采集板通过USB接口和电脑直接连接,输入信号超出设定范围有可能殃及电脑!

一 、检查附件:

本采集板包括采集板一块,USB连接线一根。电路板原理图一份,测试使用例程myUSBtest一个,、Smulink下AD、DA、ADDA同时采集例程若干。USB驱动及Matlab下的驱动。芯片资料若干。

二、安装驱动程序

本采集卡使用PHILIP的D12芯片作为USB传输芯片(在板子背面)。使用前需要安装USB驱动程序及和maltab接口的驱动程序。

1、请用USB线将本采集板与PC机连接起来。

2、连接后,win98/2000/xp会提示用户安装USB驱动程序。请将用户资料中的D12文件夹打开,并依照用户的操作系统选择安装。安装成功后,本开发板的Usb_Link指示灯就会点亮(指示灯在USB接口旁边)。

三、检查采集板:

1、拷贝、和myUSBtest.m到matlab的work目录下。

2、连接好USB线。

3、用导线连接采集板中AD的CH3和DA的CH1。

4、在命令窗口中输入:

>>myUSBtest(1000);%也可以是0-1023之间的其它值。

则采集板的两个LED会依次闪亮,并且在matlab的命令窗口输出:

>>1000 %误差在1个点左右。

说明采集板及USB通信正常。

此程序实际上是用DA输出一个电压,然后用AD采集回来。如果使用M文件编程或者GUI界面编程,此测试程序是很好的参考。

四、matlab下的函数说明:

注意:请先参考myUSBtest.m程序,则很容易明白下面的函数使用方法。

1、IO口函数:共两个。

A、采集板IO输出函数。

函数名称:function IO_out(channel,temp,)

入口参数:temp为输入数据,高电平发1,低电平发0。channel为通道选择。说明:channel为4--7,分别代表IO端口的PA4—PA7。

出口参数:无

函数功能:指定IO口的电平。

例1:使PA4端口置高电平。

在matlab环境下调用:

>>IO_out(4,1);

即可。

例2:使PA5端口置低电平。

在matlab环境下调用:

>>IO_out(5,0);

即可。

B、采集板IO输入函数。

函数名称:level = function IO_in(channel)

入口参数:channel为通道选择。说明:channel为4--7,分别代表IO端口的PA4—PA7。

出口参数:电平level。Level为0时代表低电平。Level为1时代表高电平。

函数功能:读入指定IO口的电平。

例1:读入PA4端口的电平。

在matlab环境下调用:

>>level = IO_in(4);

则通过USB口返回level数据。

2、读按键函数:共两个

A、函数名称: level = KEY_S1()

函数功能:读入键盘S1的电平。

说明:按键默认状态是高电平,按下后为低电平

B、函数名称: level = KEY_S2()

函数功能:读入键盘S2的电平。

说明:按键默认状态是高电平,按下后为低电平

3、控制LED函数:共两个

A、函数名称:function LED_L1(temp)

入口参数:temp为输入数据,高电平LED亮,低电平灭

出口参数:无

函数功能:指定L1的亮灭

B、函数名称:function LED_L2(temp)

入口参数:temp为输入数据,高电平LED亮,低电平灭

出口参数:无

函数功能:指定L2的亮灭

4、AD采集函数。

函数名称:data = function Read_Data(channel)

入口参数:channel为通道选择

出口参数:data为接收到的数据。10位精度。

函数功能:读取指定通道的数据。

例:假定CH1的电压为4.096V(满量程),读取通道1。

>>data=Read_Data(1);

则返回结果为:

>>data=1023;

注:AD采集通道定义:

CH1

1

CH2

2

CH3

3

CH4

4

5、DA输出函数。

函数名称:function Send_Data(temp,channel)

入口参数:temp为输入数据,10位精度。channel为通道选择。

出口参数:无

函数功能:发送指定电压到DA。

例:使DA的OUT1通道产生4.096V电压。

在matlab环境下调用:

>>Send_Data(1023,1);

即可。

注:DA通道定义:

OUT1

1

五、本开发板在Simulink下的使用

Simulink是很好的控制系统仿真工具,数据采集在simulink下直接运行是很多科研人员梦寐以求的事情,matlab支持很少几款数据采集卡在smulink下运行。不仅价格极其昂贵,限制了大量教学科研的应用,而且直到matlab7为止也没有对USB接口数据采集卡的支持。基于这种情况,我们在《自控原理》的实验教学过程中,不断改进以前的设计,终于开发了堪称完美的完全支持matlab的USB数据采集卡,非常适合教学和科研使用。 在simulink环境下测试如下:

1、 拷贝、、和sfunUsbADDA.m到matlab的work目录下。

2、连接好USB线。

3、用导线连接采集板中AD的CH3和DA的CH1。

4、运行simulink模型。则结果如下图:

本测试实际上是将采集卡的驱动封装成一个S函数,而用户只需要将模块拉出。AD采集的数据送给SCOPE,DA需要的数据由正弦波发生器产生。由于已经用导线将DA的CH1和AD的CH3相连接,所以在硬件上已经形成一个环路。示波器就显示出正弦波发生器的信号来。请读者注意,这不是电脑虚拟的,而是通过本采集卡实际采集的数据!

通过本采集卡,可以将本采集卡作为一个信号发生器和虚拟示波器使用。当然,由于成本所限,速率还不高,但是作为控制系统的应用是足够了。如果有其它高速应用,请与笔者联系:elec_fans@

OUT2

2

Smulink下的模块说明:

Simulink的模块共有4种。其本质是编写采集板的S函数,通过S函数控制USB接口。

1、单路AD模块

打开即可打开上图。双击AD模块,显示下图:

本图是由S函数进一步封装得到的。S函数的编写方法请查阅笔者matlab专著。

参数说明:

第一个参数为AD通道数。第二个参数为采样时间。第三个参数为采样时间微调。

这个参数的目的是为了保证硬件的采样时间与simulink相一致。详细说明另有专文描述。一般情况下,detaT设置为0.008即可。

2、单路DA模块(略,打开相应模块即可看懂)

3、单路AD-DA模块(略,打开相应模块即可看懂)

4、4路AD、2路DA同时工作模块。(可进行多通道解耦算法试验)

六、采集板硬件性能指标:

1、工作原理:本采集模块采用单片机作为CPU,利用单片机上的外设资源进行端口的输出/输入和A/D转换功能。采集模块上的USB通信芯片将硬件外设的输入输出读入PC机或者通过PC机发出命令。

2、性能指标:

A、A/D:4路10位分辨率,输入阻抗47K(可调),输入电压范围0-4.096V。

B、D/A:2路10位分辨率,0-4.096V电压输出。

C、输入输出总数4路,LED两路,按键两路。

D、工作电压:5V,直接利用USB的5V电源,无需外接。由于成本原因,没有进行DC隔离。与外界独立电源的传感设备连接时,请认真考虑接地问题。

E、最高采集速率:AD 15K/s , DA 30K/s ,但是在控制系统中应用时,其实际速率取决于算法复杂度和计算机性能。关于速率问题,另有专文详细论述。

七、采集板硬件补充说明:

采集板是为方便实验而设计的,由于实验任务的不确定性,有一些元件没有焊上,特此说明。

1、AD通道3和通道4可以直接使用,默认输入阻抗为47K(可以自己设定,更换输入电阻R22、R24),信号放大倍数为1。

2、低通滤波问题:为提高抗干扰性,设计了一阶低通滤波器。默认信号3分贝截止频率为4Khz,读者也可参照电路图自行调整截止频率。

3、由于输入信号不确定,AD的CH1和CH2通道的放大倍数可调。决定运放放大倍数的电阻是R17、R18和R19、R20。这几个电阻没有焊接,请用户依据需要自行计算,并焊上合适的电阻。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论