Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
233 views

Data Acquisition and Control Using Arduino & MATLAB

This document discusses interfacing Arduino and MATLAB for data acquisition and control applications. It begins with an overview of microcontrollers and how they are used in control systems. It then describes the Arduino UNO microcontroller board and how to program it using MATLAB. Examples are provided to control an LED using a pin, read a digital sensor, and acquire analog sensor data from a potentiometer connected to Arduino. The document demonstrates how to interface Arduino and MATLAB for prototyping control systems.

Uploaded by

kaushikei22
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
233 views

Data Acquisition and Control Using Arduino & MATLAB

This document discusses interfacing Arduino and MATLAB for data acquisition and control applications. It begins with an overview of microcontrollers and how they are used in control systems. It then describes the Arduino UNO microcontroller board and how to program it using MATLAB. Examples are provided to control an LED using a pin, read a digital sensor, and acquire analog sensor data from a potentiometer connected to Arduino. The document demonstrates how to interface Arduino and MATLAB for prototyping control systems.

Uploaded by

kaushikei22
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 42

SRI RAMAKRISHNA ENGINEERING COLLEGE

[Educational Service : SNR Sons Charitable Trust]


[Autonomous Institution, Accredited by NAAC with ‘A’ Grade]
[Approved by AICTE and Permanently Affiliated to Anna University, Chennai]
[ISO 9001-2008 Certified and all eligible programmes Accredited by NBA]
VATTAMALAIPALAYAM, N.G.G.O. COLONY POST, COIMBATORE – 641 022.

Data Acquisition and Control using


Arduino & MATLAB
Prepared by
Mr.S.Kaushik
AP/EIE
Microcontroller ?

SREC - EIE - 14/AUG/18 MATLAB BASICS 3


Microcontroller

• A microcontroller is a small computer on a single


integrated circuit.

• A microcontroller contains
– one or more processor
– memory and
– programmable input/output peripherals.

SREC - EIE - 14/AUG/18 MATLAB BASICS 4


Microcontroller

• Microcontrollers are "embedded" inside some other


device (often a consumer product)

• Microcontrollers are dedicated to one task and run


one specific program.

• Microcontrollers are often low-power devices.

• A microcontroller is often small and low cost.


SREC - EIE - 14/AUG/18 MATLAB BASICS 5
Computer Vs Microcontroller

SREC - EIE - 14/AUG/18 MATLAB BASICS 6


Computer parts

Figure 1 Computer parts

SREC - EIE - 14/AUG/18 MATLAB BASICS 7


CMOS & BIOS

Monitor

Hard Disk

Keyboard & Mouse


Mother Board
RAM

Printer & Speaker


CPU
Figure 2 Function of a computer
SREC - EIE - 14/AUG/18 MATLAB BASICS 8
Microcontroller

Figure 3 Function of a microcontroller

SREC - EIE - 14/AUG/18 MATLAB BASICS 9


Microprocessor and Microcontroller

SREC - EIE - 14/AUG/18 MATLAB BASICS 10


VS

Figure 4 Comparison between Microprocessor and Microcontroller


SREC - EIE - 14/AUG/18 MATLAB BASICS 11
Microcontroller in a Control System

SREC - EIE - 14/AUG/18 MATLAB BASICS 12


Simple feed back control
(Velocity control of flight jet)

Figure 5 F16 Flight jet


SREC - EIE - 14/AUG/18 MATLAB BASICS 13
Open loop System

Pilot

Input : Output
Fuel flow rate for jet engine Velocity
Flight
Actuator
Engine
Figure 6 Open loop system for velocity control of flight jet

Velocity of flight is varied by adjusting thrust force

Thrust force may be varied by adjusting the fuel flow rate

SREC - EIE - 14/AUG/18 MATLAB BASICS 14


Closed loop system
Input : Fuel flow rate

Flight Engine
Actuator
Set point : Velocity

Error

Controller

Output : Velocity
PV
Velocity :
Sensor

Figure 7 Closed loop system for velocity control of flight jet

SREC - EIE - 14/AUG/18 MATLAB BASICS 15


Microcontroller
Input : Fuel flow rate

Flight Engine
Actuator
Set point : Velocity

Controller

Output : Velocity
Measured Velocity
Velocity :
Sensor

Figure 8 Function of a microcontroller in a closed loop system


SREC - EIE - 14/AUG/18 MATLAB BASICS 16
Microcontroller : Arduino UNO

SREC - EIE - 14/AUG/18 MATLAB BASICS 17


Arduino : PIN Diagram

Figure 9 Arduino pin diagram


SREC - EIE - 14/AUG/18 MATLAB BASICS 18
Arduino : Specification

Table 1 Specification of Arduino UNO


SREC - EIE - 14/AUG/18 MATLAB BASICS 19
Interfacing MATLAB & Arduino

SREC - EIE - 14/AUG/18 MATLAB BASICS 20


Install Arduino support package

Figure 10 Install Arduino support package


SREC - EIE - 14/AUG/18 MATLAB BASICS 21
UPLOAD ADIOES.PDE TO THE ARDUINO BOARD

1. Connect the Arduino, make sure that the


right board and serial port are selected in the
IDE, (Tools/Board and Tool/Serial Port) then
select

2. File -> Upload to I/O Board and wait for the


"Done Uploading" message

SREC - EIE - 14/AUG/18 MATLAB BASICS 22


Step 1 :From the Arduino IDE, go to
File -> Open, locate the file adioes.pde

Figure 11 Open file adioes.pde in Arduino IDE


SREC - EIE - 14/AUG/18 MATLAB BASICS 23
Step 2: Connect the Arduino, make sure that the right
board and serial port are selected in the IDE

Figure 12 Install adioes.pde using Arduino IDE


SREC - EIE - 14/AUG/18 MATLAB BASICS 24
Matlab Command Window
• a=arduino('COM4')

SREC - EIE - 14/AUG/18 MATLAB BASICS 25


Arduino UNO programming
in MATLAB

SREC - EIE - 14/AUG/18 MATLAB BASICS 26


Connecting MATLAB & Board
a=arduino('COM4') // type in matab command window

Figure 13 Connecting Arduino IDE with MATLAB in COM4 port


SREC - EIE - 14/AUG/18 MATLAB BASICS 27
Defining PIN mode : Input / Output
• Configure a pin no 13 as output
– pinMode(a,13,'output');

Figure 14 Configuring PinMode 13 of Arduino UNO to output


SREC - EIE - 14/AUG/18 MATLAB BASICS 28
Turning on LED
• output the digital value (0 or 1) to pin 13
– digitalWrite(a,13,1);

Figure 15 Turning LED in 13th pin

SREC - EIE - 14/AUG/18 MATLAB BASICS 29


Program procedure in MATLAB
% connect the board

% specify pin mode for selected pins

% read digital input

% output the digital value (0 or 1) to the


selected pin

SREC - EIE - 14/AUG/18 MATLAB BASICS 30


MATLAB GUI

SREC - EIE - 14/AUG/18 MATLAB BASICS 31


SREC - EIE - 14/AUG/18 MATLAB BASICS 32
SREC - EIE - 14/AUG/18 MATLAB BASICS 33
SREC - EIE - 14/AUG/18 MATLAB BASICS 34
LED control using IR sensor
a=arduino('COM4');

pinMode(a,8,'input');
pinMode(a,13,'output');

interv= 1000; % Maximum time in seconds for data acquisition

passo=1; % Increment time

t=1; % initialize time

while(t<interv)

STATUS=digitalRead(a,8);

digitalWrite(a,13,STATUS);

t=t+passo;
end

SREC - EIE - 14/AUG/18 MATLAB BASICS 35


Analog input

SREC - EIE - 14/AUG/18 MATLAB BASICS 36


Connecting a potentiometer with
Arduino

Potentiometer PIN 1 : 5 V

Potentiometer PIN 2 : Analog


pin 2

Potentiometer PIN 3 : GND

Figure 16 Connecting potentiometer to Arduino UNO board


SREC - EIE - 14/AUG/18 MATLAB BASICS 37
R1

Figure 17 Voltage divider

R2
Vout = R2 / (R1 + R2) * Vin

R2 = R1 * (1 / ((Vin / Vout) - 1))

Figure 16 Pin diagram for connecting potentiometer

SREC - EIE - 14/AUG/18 MATLAB BASICS 38


Analog to Digital converter
• 10 bit ADC

• 210 = 1024

• To find the voltage for every sensed value


– 𝑉𝑜𝑢𝑡 = 𝑆𝑒𝑛𝑠𝑒𝑑
2𝑛
𝑣𝑎𝑙𝑢𝑒
∗𝑉𝑖𝑛

– Eg: V = 681 / 1024.0 * 5.0 = 3.325V

SREC - EIE - 14/AUG/18 MATLAB BASICS 39


Program
clear all;
clc;
a=arduino('COM4'); % Connecting Arduino Uno board
pinMode(a,2,'input'); % defining 2 pin as analog input
interv= 1000; % Maximum time in seconds for data acquisition
passo=1; % Increment time
t=1; % initialize time
x=0;
while(t<interv)
Rref = 10000;
Vin = 5;
av=analogRead(a,2); % Reading the analog value at pin 2
Vout = (Vin * av) / 1023; % Converting to voltage value
R = (Rref * (1 / ((Vin / Vout)-1)))/1000;
x=[x,R];
plot(x);
axis([0,interv,0,10]);
grid
t=t+passo; % increment seconds
drawnow;
end

SREC - EIE - 14/AUG/18 MATLAB BASICS 40


Analog Value
Value of the resistance in Ω 

Time in sec 

Figure 18 Output of the potentiometer plot with respective time in MATLAB


SREC - EIE - 14/AUG/18 MATLAB BASICS 41
Thank you

SREC - EIE - 14/AUG/18 MATLAB BASICS 42

You might also like