Documente Academic
Documente Profesional
Documente Cultură
Integrate
CURS 7 - 2013
Achizi ia datelor
2 http://smi.aii.pub.ro
Semnale analogice - conversie
3 http://smi.aii.pub.ro
Calibrarea
4 http://smi.aii.pub.ro
Funcționarea unui CAN
Realizează
e antionare de la 0
la tensiunea de
referin ă
2n intervale de
e antionare
Rezolu ia = Vref / 2n
(n=8, Vref=5V,
Rez=19.5mV)
5 http://smi.aii.pub.ro
Tipuri de CAN-uri
7 http://smi.aii.pub.ro
CAN de tip flash
8 http://smi.aii.pub.ro
CAN cu aproximări succesive
Un timp pu in mai
bun ca cel cu
urmărire
În loc să se
efectueze o
incrementare se
efectuează o
căutare binară
9 http://smi.aii.pub.ro
CAN cu integrare
Partea integrativă se
încarcă până la
valoarea de intrare
după care se măsoară
timpul de descărcare
Lent dar componenta
integrativă filtrează
zgomotul
10 http://smi.aii.pub.ro
CAN sigma-delta
11 http://smi.aii.pub.ro
CAN de tip half-flash
Scade numărul de
comparatoare fa ă
de CAN-ul de tip
flash
12 http://smi.aii.pub.ro
CAN atMega 328P cu aproximări succesive pe 10 biți
13 http://smi.aii.pub.ro
Registre interne
14 http://smi.aii.pub.ro
Senzori
16 http://smi.aii.pub.ro
-55oC … 150oC
10mV/oC
precizie 0.5oC
60 µA
LM35 3-30RON
float temp;
int tempPin = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
temp = analogRead(tempPin);
temp = temp * 0.48828125;
Serial.println(temp);
delay(1000);
17 } http://smi.aii.pub.ro
-40oC … 150oC
10mV/oC
precizie 2oC
MCP9700A 6 µA
1RON
float GetTemp(void)
{
float t;
t =
analogRead(1)*5/1024.0;
t = t - 0.5;
t = t / 0.01;
return (t);
}
VOUT = TC • TA + V0°C
18 http://smi.aii.pub.ro
SYH-2R (umiditate)
19 http://smi.aii.pub.ro
Determinarea umidității
20 http://www.tehnorama.ro/cum-sa-faci-o-floare-sa-te-traga-de-maneca-atunci-cand-ai-uitat-sa-o-uzi/ http://smi.aii.pub.ro
MQ-3 GAS SENSOR
21 http://smi.aii.pub.ro
TMP102
-40oC … 150oC
1 µA – 10 µA
Acurate e 0.5oC
Rezolu ie 12 bi i =
0.0625oC
Viteză 26ms/sample
22 http://smi.aii.pub.ro
TC74
0oC … 125oC
5 µA – 200 µA
Acurate e 2oC
Rezolu ie 8 bi i =
1oC
Viteză 8 samples /
sec
23 http://smi.aii.pub.ro
DS1621
-55oC … 125oC
1 µA - 1250 µA
Acurate e 1oC
Rezolu ie 9 bi i =
0.5oC
Viteză 1 sec /
sample
24 http://smi.aii.pub.ro
MLX90614 IR Thermometer
25 http://bildr.org/2011/02/mlx90614-arduino/ http://smi.aii.pub.ro
Senzori optici – slotted switched
Mecanism bazat pe
întreruperea unei
raze luminoase de
către un obiect în
mi care –
generează un tren
de impulsuri
Regăsit la mouse-
urile mai vechi
26 http://smi.aii.pub.ro
Senzori optici – bazați pe reflexie
27 http://smi.aii.pub.ro
TCS3200 PROGRAMMABLE
COLOR LIGHT-TO-FREQUENCY CONVERTER
28 http://smi.aii.pub.ro
Ultrasonic Ranging Module HC - SR04
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin,
HIGH);
29 http://smi.aii.pub.ro
Senzor de vibrații
30 http://smi.aii.pub.ro
Sisteme cu Microprocesoare
Integrate
CURS 8 - 2013
Comandă și control
5 http://smi.aii.pub.ro
Control de tip ”bang-bang” (on/off)
6 http://smi.aii.pub.ro
Control proporțional
Netezește șocurile
datorate comenzilor
de tip
închis/deschis.
Evităm șocurile
puternice și uzura
dispozitivului
comandat.
7 http://smi.aii.pub.ro
Control PID
8 http://smi.aii.pub.ro
Probleme ce pot afecta comanda
Perturbații
Saturarea senzorului sau a elementului
comandat
9 http://smi.aii.pub.ro
Izolarea galvanică
11 http://smi.aii.pub.ro
MCP4801
8-bit Resolution
Single Channel Voltage Output
2.7V to 5.5V Operation
Operating Current 330 µA
Internal Voltage Reference 2.048V
Selectable Unity or 2x Gain Output
Output Settling Time 4.5 µs
SPI Interface
8-pin PDIP, SOIC, MSOP and 2x3
DFN packages
Temperature Range -40°C to
+125°C
12 http://smi.aii.pub.ro
MCP4902
8-bit Resolution
Dual Channel Voltage Output
2.7V to 5.5V Operation
Operating Current 350µA
External Voltage Reference Pin
Output Settling Time 4.5 µs
SPI Interface
14-pin PDIP, SOIC, and
TSSOP
Temperature Range -40°C to
+125°C
13 http://smi.aii.pub.ro
Comandă de tip PWM
(Pulse-Width Modulation)
14 http://smi.aii.pub.ro
PWM vs. Comandă în tensiune
15 http://smi.aii.pub.ro
Comandă piezo buzzer
Tone() -
http://arduino.cc/en/Tutorial/Tone
Melody -
http://www.arduino.cc/en/Tutorial/
Melody
16 http://smi.aii.pub.ro
Comandă în tensiune – motor CC
17 http://smi.aii.pub.ro
Comandă în tensiune – motor CC (2)
19 http://smi.aii.pub.ro
Comandă în tensiune – motor CC (4)
20 http://smi.aii.pub.ro
Half-bridge vs. full-bridge
21 http://smi.aii.pub.ro
Comandă în tensiune – motor CC (5)
HIGH-VOLTAGE, HIGH-CURRENT
DARLINGTON TRANSISTOR ARRAYS
22 http://smi.aii.pub.ro
Control motor cu reacție
23 http://smi.aii.pub.ro
Comandă putere - releu
24 http://smi.aii.pub.ro
Sisteme cu Microprocesoare
Integrate
CURS 9 - 2013
Comunicații
3 http://smi.aii.pub.ro
UART – Universal asynchronous receiver / transmitter
4 http://smi.aii.pub.ro
MAX232 - Dual EIA-232 Driver/Receiver
5 http://smi.aii.pub.ro
Comunicație serială RS485
6 http://smi.aii.pub.ro
RS485 network
7 http://smi.aii.pub.ro
MAX485 - transceivers for RS-485 and RS-422 communication
8 http://smi.aii.pub.ro
RS485 & Arduino
https://arduino-info.wikispaces.com/RS485-Brick
9 http://smi.aii.pub.ro
Alte standarde seriale de
magistrală
11 http://smi.aii.pub.ro
IrDA – Infrared Data Association
12 http://smi.aii.pub.ro
Soluție de interconectare IrDA
HSDL-1001 - Infrared
IrDA
Compliant Transceiver
13 http://smi.aii.pub.ro
Soluție de interconectare IrDA (2)
14 http://smi.aii.pub.ro
Bluetooth
16 http://smi.aii.pub.ro
Arduino Bluetooth
17 http://smi.aii.pub.ro
Alte opțiuni de comunicație radio
o Standard de protocoale de
comunicație pentru rețele radio
de mică putere permițând
formarea de rețele locale ad-
hoc fără fir.
o Gândit pentru aplicații de
control la distanță, aplicații de
monitorizare, rețele de senzori.
o Specificații publicate:
ZigBee Home Automation
ZigBee Smart Energy 1.0
ZigBee Telecommunication Services
ZigBee Health Care
ZigBee RF4CE - Remote Control
ZigBee Light Link
20 http://smi.aii.pub.ro
Arduino Wireless SD Shield
21 http://arduino.cc/en/Main/ArduinoWirelessShield http://smi.aii.pub.ro
Exemplu de rețea ZigBee
22 http://smi.aii.pub.ro
Microchip MiWi
23 http://smi.aii.pub.ro
WiFi (802.11)
24 http://smi.aii.pub.ro
WiFly (Embedded Wi-Fi)
Roving Networks’ Wi-Fi Solution
25 http://smi.aii.pub.ro
Ethernet
26 http://smi.aii.pub.ro
GSM/GPRS
27 http://smi.aii.pub.ro
M2M
28 http://smi.aii.pub.ro
Sisteme cu Microprocesoare
Integrate
CURS 10 - 2013
Proiectarea software
3 http://smi.aii.pub.ro
Funcționarea unui ascensor
Control motor
Pozi
tiona
Pozitionare r e la e
taj
efectiva
Verificare conditii
Am ajuns
Verificare conditii
Am ajuns
functionare cu
functionare in gol
utilizatorul
Solicitare Solicitare
pozitionare transport etaj
etaj
4 http://smi.aii.pub.ro
Diagrama de stare
5 http://smi.aii.pub.ro
Ascensor – diagramă de stări
GOL
De
sch
i
la a dere u
lt e
Senzor Senzor taj sa
greutate
Co
Senzor
greutate greutate m
Se an
n z da AVARIE
o e
Senzor r d xte
PLIN e
greutate e t rn a
aj
Blocare intre etaje
Senzor
Cmd interna
etaj
re
l o ca aje DEPLASARE
B t
TRANSPORT tree GOL
in
PERSOANE
6 http://smi.aii.pub.ro
Diagrame flow charts
......
Initializare
sistem Avarie
NU
Senzor greutate = 0
Deschide
Etaj = x S.usa ≠ etaj
usa
Usa inchisa
DA
S. greutate ≠ 0
......
8 http://smi.aii.pub.ro
Pseudocod
Exemplu:
IF <condition>
DO stuff;
ELSE
DO other stuff;
9 http://smi.aii.pub.ro
Avantajele sistematizării
specificațiilor funcționale
Implementare riguroasă
Posibilitatea reutilizării unor păr i din partea
de proiectare în cazul modificării hardware
sau a instrumentelor software
Urmărirea corectă a efectelor unei modificări
în specifica iile func ionale
– Analist
– Programator
11 http://smi.aii.pub.ro
Arhitecturi de program
13 http://smi.aii.pub.ro
Alegerea limbajului de programare
15 http://smi.aii.pub.ro
Alegerea altor instrumente utile
16 http://smi.aii.pub.ro
Interfață JTAG (IEEE-1149.1)
17 http://smi.aii.pub.ro
ISP – In-System Programming
18 http://smi.aii.pub.ro
ICSP – In-Circuit Serial Programming
19 http://smi.aii.pub.ro
Alte probleme legate proiectarea și testarea
software
22 http://smi.aii.pub.ro
Sisteme cu Microprocesoare
Integrate
CURS 11 – 2013
Sisteme de operare
specializate
Gestionează task-urile
Face legătura între hardware și utilizator
Realizează anumite sarcini specifice
Gestionează resursele sistem
2 http://smi.aii.pub.ro
Sisteme operare embedded
3 http://smi.aii.pub.ro
Criterii de evaluare în alegerea SO
4 http://smi.aii.pub.ro
Categoria sistemului
5 http://smi.aii.pub.ro
Resurse hardware
6 http://smi.aii.pub.ro
Cost
P Ch C S
Nh NS
D D
Ch se amortizează în funcție de numărul de
dispozitive vândute. NS – este un cost care ține de
software-ul dezvoltat de producător sau în cazul în
care software-ul este cumpărat. Acest cost se
platește o singură dată , nu pentru fiecare bucată
dispozitiv în parte. De obicei NS este inclus în Cs.
8 http://smi.aii.pub.ro
Timpul de
proiectare/producție/lansare
9 http://smi.aii.pub.ro
Competențe necesare / suport
10 http://smi.aii.pub.ro
Decizie
11 http://smi.aii.pub.ro
Cumpărarea unui sistem de
operare
Aspecte pozitive:
– nu depindem de produsul altuia (care în timp poate da faliment și
în acest caz nu am mai avea suportul necesar)
– avem independență față de această piață
– ținem sub control costurile
Aspecte negative:
– competențe: greu de găsit persoane suficiente pentru a lucra la
componente
– depindem de persoanele care dezvoltă aplicația (poate exista
cazul în care concediem persoanele care au dezvoltat softul)
– durează mai mult dezvoltarea softului
– documentația depinde de persoanele care au dezvoltat produsul
– trebuie asigurată mentenanța produsului
13 http://smi.aii.pub.ro
Soluție hibridă
14 http://smi.aii.pub.ro
Exemple de sisteme de operare embedded
Uz general:
– eCos, µCLinux
– FreeRTOS
– µc/OS II & III
Dispozitive de rețea:
– Cisco OS
15 http://smi.aii.pub.ro
eCos - Embedded Configurable Operating System
http://http://ecos.sourceware.org/
18 http://smi.aii.pub.ro
FreeRTOS
http://www.freertos.org/
scris în C
Oferă mecanisme
pentru fire de execuție,
semafoare, timere.
Nu oferă suport pentru
MMU, drivere,
multiusers sau rețea.
Peste 31 de
microcontrolere
suportate.
19 http://smi.aii.pub.ro
Micriµm µC/OS II & III
http://www.micrium.com
23 http://smi.aii.pub.ro
Aplicații Android
Home Appliance
24 http://smi.aii.pub.ro
Sisteme de operare pentru Arduino
CURS 12 - 2013
Sisteme industriale de
tip PC
2 http://smi.aii.pub.ro
Exemple
3 http://smi.aii.pub.ro
Avantaje
4 http://smi.aii.pub.ro
Avantaje (2)
PC/104
8 http://smi.aii.pub.ro
PC/104
9 http://smi.aii.pub.ro
Exemple
10 http://smi.aii.pub.ro
Freescale Vybrid Tower System
11 http://smi.aii.pub.ro
Sisteme de control industriale
12 http://smi.aii.pub.ro
Sisteme SCADA
Supervisory Control And Data Acquisition
13 http://smi.aii.pub.ro
Componentele unui sistem SCADA
15 http://smi.aii.pub.ro
Producători sisteme SCADA/EMS
16 http://smi.aii.pub.ro
Protocoale de comunicație
17 http://smi.aii.pub.ro
18
Exemplu – stație de transformare
19 http://smi.aii.pub.ro
Interfață de raportare / comandă
20 http://smi.aii.pub.ro
Exemplu – nod transport gaze naturale
21 http://smi.aii.pub.ro
Exemplu – sistem de supraveghere
sistem transport gaze naturale
22 http://smi.aii.pub.ro
Securitate – Barajul Roosvelt
Sistem SCADA de
control al deversării
compromis în 1998
de către un ”hacker”
în vârstă de 12 ani.
A fost preluat
controlul complet
asupra vanelor de
deversare și barajul
23 golit aproape total. http://smi.aii.pub.ro
Securitate – Pana de curent din SUA 2003
Provocată de o cădere a sistemului
SCADA a sistemului energetic național
Datorită imposibilității de control al
liniilor a generat o supraîncărcare
(urmată de cădere) a mai multor linii de
transport.
În două ore s-au pierdut 61.800MW
25 http://smi.aii.pub.ro
Farm's SCADA
http://www.segura.cat/project/menu.php?projecte
26 http://smi.aii.pub.ro
Sisteme cu Microprocesoare
Integrate
CURS 13 - 2013
Arhitecura ARM
2 http://smi.aii.pub.ro
Versiuni ale familiei ARM
3 http://smi.aii.pub.ro
Versiuni ale familiei ARM
4 http://smi.aii.pub.ro
Ce se înțelege prin arhitectura ARM?
6 http://smi.aii.pub.ro
Arduino Due
Microcontroller AT91SAM3X8E (ARM
Cortex-M3) 84MHz
Operating Voltage 3.3V
Input Voltage (recommended) 7-12V
Digital I/O Pins 54 (of which 12 provide
PWM output)
Analog Input Pins 12
Analog Outputs Pins 2 (DAC)
4 UART, CAN, 2 TWI, SPI
9 timers
Native USB Host + USB Programming
Port
Flash Memory 512 KB all available for
the user applications (bootloader ->
ROM) – erase button, SRAM 96 KB (two
banks: 64KB and 32KB)
7 http://smi.aii.pub.ro
Atmel SAM3X / Cortex-M3
8 http://smi.aii.pub.ro
Maple – STM32 ARM
STM32 F103RB: a 32-bit ARM Cortex
M3 microprocessor 72 MHz
39 Digital I/O Pins (GPIO)
16 Analog Input Pins
12-bit ADC resolution (ADC)
15 PWM pins at 16-bit resolution (PWM)
128 Flash and 20KB SRAM
Integrated SPI (SPI), Integrated I2C
(I2C), 3 USART
Four 4-channel Timers (Timers)
9 http://smi.aii.pub.ro
Freescale Freedom Board KL25Z
MKL25Z128VLK4 ARM Cortex M0+
48MHz, 128KB Flash, 16KB SRAM
Capacitive Touch Slider, 3-axis.
accelerometer MMA8451Q, RGB LED
10 http://smi.aii.pub.ro
Cortex-M0 / Cortex-M0+
11 http://smi.aii.pub.ro
Infineon XMC1100
12 http://smi.aii.pub.ro
NXP LPC800 MAX
13 http://smi.aii.pub.ro
NXP LPC1114 – ARM Cortex-M0
14 http://smi.aii.pub.ro
Sakura Board
Renesas RX63N
R5F563NBDDF 96MHz
1MB Flash, 128KB
SRAM, Data Flash
32KB
15 http://smi.aii.pub.ro
Renesas RX63N
16 http://smi.aii.pub.ro
Raspberry Pi
Broadcom BCM2835
(ARM1176JZF-S 700
MHz + VideoCore IV
GPU, 512MB SDRAM)
17 http://smi.aii.pub.ro
ARM11 / BCM2835
18 http://smi.aii.pub.ro
Beaglebone
Procesor AM3359
A8 Cortex, 1GHz
MHz, 512 Mb
19 http://smi.aii.pub.ro
AM3359 / ARM Cortex-A8
20 http://smi.aii.pub.ro
Arduino Tre
21 http://smi.aii.pub.ro
VIA APC
WM8750, ARMv6-A,
Cortex A9, 800MHz,
2GB RAM
22 http://smi.aii.pub.ro