将Arduino板用作计算机控制系统实践(数字控制理论)的单镜头数据采集(DAQ)设备。这个包带有四个主要的m文件函数:daqduino_start、daqduino_end、daqduino_write、daqduino_read。作为一个例子,考虑一个代码片段,以实现一个数字PID控制循环:
daqduino_start(“COM5”);
对于k = 1:2,%初始条件
y (k) = 0;u (k) = 0;e (k) = 0;%输出,控制,错误
结束
对于k=3:nit, % nit=迭代次数
y (k) = daqduino_read;
值E(k)=年(K)-y(K);%年(k)是一个参考序列
u (k) = (k - 1) + s0 * e (k) + s1 * e (k - 1) + s2 * e (k-2);
daqduino_write (u (k)、Ts);% Ts为采样时间
结束
还可万博1manbetx以使用Simulink块。然而,它还没有经过太多的测试。你可能会遇到一些问题。
以m文件为例,通过三种实践:(1)开环datalog;(2)最小二乘离线识别;(3)基于IMC模型的数字PID控制由闭环时间常数的选择调谐。
这个包只在Arduino Uno R3和Arduino Nano R3上测试过。在使用的I/O引脚是模拟输入A0和引脚6 PWM。不过,Arduino代码非常简单,您可以根据自己的需要修改它。如果你这样做,请记住引用/引用作者和所涉及的研究小组。
-------------
巴西帕拉联邦大学控制与系统实验室(ufpa.br)
控制和系统组- GCS,巴西圣卡塔琳娜州立大学(udesc.br)
作者:Antonio S. Silveira (lattes.cnpq.br/1828468407562753)
安东尼奥对峙(2020)。DaqDuino(//www.tianjin-qmedu.com/matlabcentral/fileexchange/50784-daqduino),MATLAB中央文件交换。检索。
2.1 | 为了使DaqDuino与MATLAB R2018和SCILAB 6.0.2兼容,进行了小的修正。 |
|
2.0.0.0之间 | 更新了Linux系统中安装过程的帮助和功能。 |
|
1.1.0.0 | -在Arduino侧程序中增加了几行,将I/O范围限制在0V ~ 5V之间,新增了一个将PWM频率设置为2kHz的程序; |
|
1.1.0.0 | daqduino_block内的采样时间Ts。mdl现在在0.04秒工作正常。 |