DaqDuino

Arduino-based Data Acquisition Device for Computer-controlled systems practices
663 download
Aggiornato 21 mar 2022

Visualizza la licenza

Use the Arduino board as a single-shot data aqcuisition (DAQ) device for computer-controlled systems practices (Digital Control Theory). This package comes with four main m-file functions: daqduino_start, daqduino_end, daqduino_write, daqduino_read. As an example, consider the fragment of a code to implement a digital PID control loop:
daqduino_start('COM5');
for k=1:2, % Initial conditions
y(k)=0; u(k)=0; e(k)=0; % output, control, error
end
for k=3:nit, % nit=number of iterations
y(k)=daqduino_read;
e(k)=yr(k)-y(k); %yr(k) is a reference sequence
u(k)=u(k-1)+s0*e(k)+s1*e(k-1)+s2*e(k-2);
daqduino_write(u(k),Ts); % Ts is the sampling time
end
A Simulink block is also available. However, it has not been tested very much. You may face some bugs.
An m-file example is given doing three practices: (1) Open-loop datalog; (2) Least-squares offline identification; (3) IMC Model-based Digital PID control tuned by the selection of the closed-loop time constant.
This package has been tested only with Arduino Uno R3 and Arduino Nano R3. The I/O pins in use are the Analog Input A0 and Pin 6 PWM. However, the Arduino code is very simple and you can modify it to your own needs. If you do so, please remember to reference/cite the author and research groups involved.
-------------
Laboratory of Control and Systems - LACOS, Federal University of Para, Brazil (ufpa.br)
Group of Control and Systems - GCS, State University of Santa Catarina, Brazil (udesc.br)
Author: Professor Antonio S. Silveira (lattes.cnpq.br/1828468407562753)

Cita come

Antonio Silveira (2025). DaqDuino (https://it.mathworks.com/matlabcentral/fileexchange/50784-daqduino), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2009b
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Data Acquisition Toolbox Supported Hardware in Help Center e MATLAB Answers
Community
Ulteriori file sono disponibili nella  Power Electronics Control Community

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

daqduino_v2.2/examples

Versione Pubblicato Note della release
2.2.2

The Arduino side program, DaqDuino_Arduino.ino, was causing an error when the daqduino_read.m function was called from MATLAB. The problem was solved in the Arduino side after changing the line Serial.print(y[0]) to Serial.println(y[0]).

2.2.1

Corrected daqduino_read function.

2.2

Added support for Python. The standard baud rate is now set to 115200 bits per second. Analog-to-Digital 5V saturation was removed from Matlab/Scilab/Python-side read functions.

2.1

Small corrections to make DaqDuino compatible with MATLAB R2018 and with SCILAB 6.0.2.

2.0.0.0

Updated help and functions for installation procedures in Linux systems.

1.1.0.0

- Added some lines into the Arduino side program in order to limit the I/O range between 0V to 5V, and a new program to set the PWM frequency to 2kHz;
- Added a comment within the install notes regarding reset avoidance during the serial connection.
Sampling time Ts within the daqduino_block.mdl is now working fine at 0.04 seconds.

1.0.0.0