A Report on
Design of a High Speed Multi-Channel Data
Acquisition System
By
Vinutha Nagaraj
Introduction:
A data acquisition system is actually a system that collects any useful data by measurement,
characterization, or monitoring. The accuracy, resolution, channel and the speed requirement for a
particular data acquisition system is always in the consideration and most of the time these are the
specific parameter to be consider. A basic general idea of data acquisition system is made up of a
sensor, signal conditioning, acquisition hardware (A/D converter) and a computer with software to run
and display. The block diagram of data acquisition system is shown in the figure below.
Figure 1: Basic block diagram of Data Acquisition System
Types of Data Acquisition System:
Data acquisition system (DAQ) can be broadly classified in to three different categories such as
PC based DAQ
Figure 2: schematic of a PC based DAQ
DAQ based on independent acquisition instruments
Figure 3: schematic of a DAQ based on independent acquisition instruments
• Modular DAQ
Figure 4: schematic of a Modular DAQ
Functions of Data Acquisition System:
A DAQ system is capable of performing the following four important functions required for
measurement and control application.
Analog to digital conversion: For measurement application ,the DAQ system converts the
analog signal from signal conditioning circuits to a digital data and transfers it to the
computer.
Digital to analog conversion: For control application ,it converts digital data from the
computer to analog signals for controlling analog devices.
Digital input/output: A DAQ system supporting digital input output function can receive
and transfer digital data between PC and external digital device.
Timing I/O:Timing I/O function of a DAQ system is used for controlling the timing of data
conversion and timing of data transfer between the pc and external device.
Simulation of the System in Simulink Environment:
Simscape enables you to rapidly create models of physical systems within the Simulink environment.
With Simscape, you build physical component models based on physical connections that directly
integrate with block diagrams and other modelling paradigms.
For this case study, physical models of an accelerometer and a gyrocope were built using the blocks
and functions available in Simscape in the Simulink environment. The block diagram of the system is
as follows.
Figure 5: Block diagram of the system
Figure 6: Physical model of the Gyrocope using Simscape library
Figure 7: Physical model of the Accelerometer using Simscape library
Analog to Digital Conversion:
A simplified model of an analog-to-digital converter is considered in this case study. The main
simplifying assumptions are no protection diodes and no modeling of the current drawn by the
sampling switch. The designed Analog to Digital Converter (ADC) block converts single-ended
analog signal (V) to its digital representation in decimal value
Figure 8: ADC Control logic
Simulation Results:
The model is Simulated with 2 input sets consecutively for 10 seconds.
Sinusoidal signal of frequency 1Hz
A Gaussian signal of frequency 10 Hz
The results obtained are as follows
Figure 9: Response of Gyroscope to Sinusoidal input
Figure 10: Response of Gyroscope to Gaussian input
Figure 11: Response of Accelerometer to Sinusoidal input
Figure 12: Response of Accelerometer to Gaussian input
C - Code Generation:
C code for this system was developed using Simulink Coder. The coder generates standalone C and
C++ code from Simulink models for deployment in a wide variety of applications
Figure 13: C-Code generation for the developed model using Simulink Coder
Hardware Design of Data Acquisition System:
The main elements of the data acquisition system are sensors, microcontroller and communication
devices.
Temperature Sensor:
The temperature sensor (DHT11) includes a negative temperature coefficient (NTC) temperature
measurement component and a resistive-type humidity measurement component a high performance
8-bit microcontroller.
DHT11 Specifications:
Operating Voltage: 3.5V to 5.5V
Operating current: 0.3mA (measuring) 60uA (standby)
Output: Serial data
Temperature Range: 0°C to 50°C
Humidity Range: 20% to 90%
Resolution: Temperature and Humidity both are 16-bit
Accuracy: ±1°C and ±1%
Figure 14: Pin Configuration of DHT11
No Pin Name Description
1 Vcc Power supply 3.5V to 5.5V
2 Data Outputs both Temperature and
Humidity through serial Data
3 Ground Connected to the ground of the circuit
IR Sensor:
The basic concept of IR(infrared) obstacle detection is to transmit the IR signal(radiation) in a
direction and a signal is received at the IR receiver when the IR radiation bounces back from a
surface of the object.
The DC supply input is given to the VCC pin and the supply negative is connected to the GND
terminal of the module. When no object is detected within the range of the IR receiver, the output
LED remains off.
IR Sensor Specifications:
5VDC Operating voltage
I/O pins are 5V and 3.3V compliant
Range: Up to 20cm
Adjustable Sensing range
Built-in Ambient Light Sensor
20mA supply current
Figure 15: Pin Configuration of IR Sensor
No Pin Name Description
1 Vcc Power supply input
2 Gnd Power supply ground
3 Out Active High Output
Flame Sensor:
A flame sensor is a sensor designed to detect and respond to the presence of a flame or fire.
Responses to a detected flame depend on the installation, but can include sounding an alarm,
deactivating a fuel line (such as a propane or a natural gas line), and activating a fire suppression
system.
Flame Sensor Specifications:
Detection Range: 760 nm to 1100 nm
Operating Voltage: 3.3 V to 5 V
Maximum Output Current: 15 mA
Digital Outputs: 0 and 1
Detection Angle: about 60 degrees
Adjustable sensitivity via potentiometer
LED lights indicators: power (red) and digital switching output (green)
Figure 16: Pin Configuration of Flame Sensor
No Pin Name Description
1 Vcc 3.3 – 5V power supply
2 AO Analog Output
3 DO Digital Output
4 GND Ground
Arduino Uno Microcontroller:
Arduino Uno is a microcontroller board based on 8-bit ATmega328P microcontroller. Along with
ATmega328P, it consists other components such as crystal oscillator, serial communication, voltage
regulator, etc. to support the microcontroller. Arduino Uno has 14 digital input/output pins (out of
which 6 can be used as PWM outputs), 6 analog input pins, a USB connection, A Power barrel jack,
an ICSP header and a reset button.
Figure 17: Pin Configuration of Arduino Uno microcontroller
Technical Specifications:
Microcontroller ATmega328P
Operating Voltage 5V
Recommended Input Voltage 7-12V
Input Voltage Limits 6-20V
Analog Input Pins 6
Digital I/O Pins 14
DC Current on I/O Pins 40 mA
DC Current on 3.3V Pin 50 mA
Flash Memory 32 KB
SRAM 2 KB
EEPROM 1 KB
Frequency (Clock Speed) 16 MHz
Hardware Implementation:
The arduino uno board was programed in the Arduino IDE window using the following code
Arduino Programming:
int flame_detected ;
int sensorPin = A0;
int sensorValue = 0;
void setup()
{
//initilizing serial communication
Serial.begin(9600) ;
// setting the mode if the flame sensor
pinMode(flame_sensor, INPUT) ;
}
void loop()
{
//calling the function temprature_check
delay(1000);
temprature_check();
//calling the function flamedetection
flamedetection();
//calling the function ir sensor value
sensor_value();
}
// reading the temprature value
void temprature_check()
{
int chk = DHT.read11(DHT11_PIN);
//Serial.println(int(DHT.temperature));
Serial.println(chk);
}
// reading the flame sensor
void flamedetection(){
flame_detected = analogRead(flame_sensor) ;
Serial.println(flame_detected);
delay(1000);
}
// reading the ir sensor value
void sensor_value(){
sensorValue = analogRead(sensorPin);
Serial.println(sensorValue);
delay(1000);
The sensors were connected to the arduino board which was the programmed to serially transfer the
obtained analog data into MATLAB workspace.
Figure 18: Hardware implementation of sensors with Arduino board
Figure 19: Data being serially read into MATLAB workspace
Results:
The plots obtained from the three sensors are as follows
Figure 20: Analog signal VS time plot of the sensors