视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
计控实验报告-实验一
2025-10-02 07:23:13 责编:小OO
文档
实验一 基于研华ADAM模块的数据采集

         姓名:#####       班级:#####    学号:######

一、实验目的

   1.掌握研华ADAM4117和ADAM4024数据采集模块的使用方法

   2.使用Matlab 软件编制数据采集程序

二、实验设备

   研华数据采集模块ADAM4117, ADAM4024,Matlab软件,计算机控制实验箱,计算机,信号线

三、实验内容

   在计算机控制实验箱上搭建二阶电路,模拟双容水箱系统,使用研华ADAM模块完成输入输出数据的采集。

   1.选择合适的电阻电容,参考如下电路结构图,在计算机控制实验箱上搭建二阶被控对象,使得其被控对象传递函数为

建议数值:R1=200kΩ,R2=200kΩ,C1=1μF,R4=300kΩ, R5=500kΩ,C2=1μF.

   2.在Matlab软件下编程,完成基于研华ADAM4117的数据采集,读取放大器的输出信号。 

   3.在Matlab软件下编程,完成基于研华ADAM4024的数据通讯,实现控制信号的输出。

   4.使用Matlab软件中的Timer控件实现数据的实时采集和显示

四、实验结果

   1. 

       传递函数为,且有

      则取           满足条件

   2.基于研华ADAM4117的数据采集,读取放大器的输出信号,程序如下:

clear all

clc

s1 = serial('COM1', 'BaudRate', 9600,'Terminator','CR','Timeout',5)

fopen(s1);

input_command=['#011',char(13)];

fprintf(s1,input_command);

out=fscanf(s1)

out1=str2num(out(2:8))

fclose(s1);%封闭串口设备对象

delete(s1);%删除内存中的串口设备对象

   3.基于研华ADAM4024的数据通讯,实现控制信号的输出,程序如下:

clear all

clc

s1 = serial('COM1', 'BaudRate', 9600,'Terminator','CR','Timeout',5)

fopen(s1)

input_command=['#02C0+03.200',char(13)];

fprintf(s1,input_command);

out=fscanf(s1)

fclose(s1);%封闭串口设备对象

delete(s1);%删除内存中的串口设备对象

   4.Timer控件实现数据的实时采集和显示,程序如下:

 (1)function myread(obj,event)

global s1 t Ts k tt y

k=k+1;

input_command=['#010',char(13)];

fprintf(s1,input_command);

out=fscanf(s1);

out1=str2num(out(2:8));

tt(k)=(k-1)*Ts;

y(k)=out1;

plot(tt,y)

if k>30

         all_timer = timerfind;

         stop(all_timer);

         delete(all_timer);

         fclose(s1);

         delete(s1);

    end 

 (2)clc

global s1 t Ts k tt y

Ts=0.5;

s1 = serial('COM1', 'BaudRate', 9600,'Terminator','CR','Timeout',5);

s1.InputBufferSize=1024;

s1.OutputBufferSize=1024;

fopen(s1);

input_command=['#02C0+00.000',char(13)];

fprintf(s1,input_command);

out=fscanf(s1)

k=0;

t = timer('TimerFcn',@myread, 'Period', Ts,'ExecutionMode','fixedRate');

start(t)

五、实验总结

     通过本实验,我进一步了解了数据采集模块中A/D、D/A转换的原理,熟悉了4024与4017模块与PC机的硬件连接方式,能够使用测试软件ADAM- Utility测试模块的通讯性能,进一步掌握了Matlab软件平台下的串口通讯编程方法。下载本文

显示全文
专题