Sunteți pe pagina 1din 19

Capitolul 2 – Model experimental

2.1. Elementele componente ale modelului experimental – Hardware.

În cadrul acestui capitol se vor studia elementele componente ale modelului


experimental realizat și caracteristicile acestora. Pentru fiecare senzor sau circuit electric se va
prezenta datele tehnice, moduri de utilizare și circuitul electric al fiecărei componente utilizate
pentru realizarea modelului la scara al unui sistem de monitorizare al comportamentului
conducătorul unui autovehicul (parametrii monitorizați: viteza de deplasare și turația
motorului).

2.1.1 Elementele hardware utilizate pentru realizare și construirea modelului la


scară

Pentru realizarea acestui model la scară, sistem ce este capabil să monitorizeze


comportamentul unui șofer în timpul procesului de conducere, au fost necesare următoarele
elemente electrice / electronice:

Fig.2.1 Elementele componente ale modelului la scară

- O placă de dezvoltare Arduino UNO, folosită pentru a realiza, programarea și


implementarea funcțiilor dorite în cadrul acestui proiect;
- Mediul de dezvoltare folosit pentru realizarea implementării programului –
ARDUINO versiunea 1.8.9;

1|Page
DINU Iulia-Roxana – Proiect de disertație
- Sursă de alimentare a plăcuței de dezvoltare de 5V;
- Mediul de dezvoltare folosit pentru simularea și realizarea montajului electric pentru
conexiunea componentelor electrice / electronice este PROTEUS versiunea 7.7;
- Mediul de dezvoltare folosit pentru scrierea microprocesorului a fost MPlab v8.36,
produs de cei de la Microchip;
- O interfață de programare a microprocesorului PIC18F4250 denumită PICKIT3;
- Un motor de curent continuu alimentat la o tensiune între 3-6V;
- Un buton de tip ON / OFF, folosit pentru a comuta stările de funcționare (pornit /
oprit) a motoarelor de curent continuu;
- Un microprocesor tip PIC18F4520;
- Trei rezistori cu valori de 220Ω;
- Trei LED-uri de culoare roșu, galben, verde;
- Cablu de conexiune de 1.5 mm, folosit pentru a realiza conexiunile între elementele
electronice, electrice;
- Un ciocan de lipit cu fludor și colofoniu activ (sacâz) folosite pentru realizarea
legăturilor în circuit;
- 2 m de tub termocontractabil, folosit pentru izolarea conductoarelor;
- Modul cititor card SD compatibil cu plăcuța de dezvoltare Arduino UNO;
- Un card SD cu o capacitate de 2GB, utilizat pentru stocarea datelor și parametrilor.

2.1.2 Schema de conexiune electrică al LED-urilor

În imaginea de mai jos este prezentat modul de conexiune a celor trei LED-uri. Aceste
elemente sunt conectate la plăcuța Arduino astfel LED-ul galben - pin 2, LED-ul verde - pin 3
și LED-ul roșu - pin 4 de plăcuța de dezvoltare Arduino UNO.
După cum se poate observa în cadrul acestei imagini pinul negativ al LED-urilor
(catodul) sunt comune, firul comun al LED-urilor este conectat la pinul GND al plăcuței
ARDUINO. La pinii de comandă (anodul) a celor trei LED-uri, vor fi introduse trei rezistoare
cu valori de 220 Ω și se vor conecta astfel: LED-ul galben - pin 2, LED-ul verde - pin 3 și
LED-ul roșu - pin 4 de la plăcuța de dezvoltare Arduino UNO.
Fiecare LED conectat la plăcuța Arduino va reprezenta câte un tip de comportament in
timpul procesului de conducere, astfel LED-ul verde va reprezenta un stil normal de condus
(exemplu: condus urban), LED-ul galben va reprezenta un stil de șofat mai agresiv de cat
primul tip menționat anterior, iar LED-ul roșu va reprezenta un stil agresiv de condus
(exemplu: stil sport).

-2-
Text demonstrativ – Numele disertaţiei
Tranziția dintre cele trei tipuri de conducere se va realiza în următorul mod:
- când conducătorul autovehiculului este pe modul normal de șofat LED-ul de culoare
verde se va aprinde;
- când conducătorul autovehiculului este pe modul mai agresiv decât cel normal, LED-
ul de culoare galbenă se va aprinde treptat în funcție de modul de agresivitate pe care
șoferul îl va aborda în timpul procesului de conducere. Dacă stilul de condus v-a
devenii mai accentuat se va trece in modul agresiv în care tranziția dintre LED-ul de
culoare galbena și cel de culoare roșie va fi vizibilă, depinzând de agresivitatea
șoferului în timpul procesului de conducere.

Figura.2.2.Schema electrică de montaj al celor trei LED-uri

-3-
DINU Iulia-Roxana – Proiect de disertație

2.1.3 Schema de conexiune electrică al motorului de curent continuu și al


potențiometrului

În imaginea de mai jos este prezentat modul de conexiune a motorului de curent


continuu împreună cu potențiometrul aferent conexiunii. Cu ajutorul acestui circuit vom putea
simula accelerările și decelările unui motor în timpul procesului de conducere.
Cu ajutorul potențiometrului vom simula pedala de accelerație și pedala de frână,
astfel cu ajutorul acestui potențiometru vom putea crea diferite stiluri de conducere, din care
se vor prelua parametrii menționați anterior.

Figura.2.3.Schema electrică de montaj al motorului de curent continuu și potențiometru

2.1.4 Schema electrică de conexiune al cititorului de carduri SD cu plăcută de


dezvoltare Arduino UNO.

În imaginea din Figura.2.4 este prezentată schema electrică de conexiune a modulului


cititor de carduri SD cu plăcuța de dezvoltare Arduino UNO. Acest cititor de carduri SD
permite stocarea și memorarea datelor provenite de la un microcontroler, în cazul nostru
microcontrolerul folosit face parte din familia PIC-urilor PIC18F.

-4-
Text demonstrativ – Numele disertaţiei

Figura.2.4.Schema electrică de conexiune al cititorului de carduri SD cu plăcută de dezvoltare Arduino


UNO

Modulul de citire a cardurilor SD poate funcționa intr-un circuit electric ce are ca


tensiune de alimentare între 3.3 V – 5 V, acest modul are în componența sa un regulator de
tensiune. După cum se poate observa din cadrul acestei imagini circuitul de alimentare în
cadrul proiectului nostru este de 5V.
Cardurile de memorie funcționează la o tensiune de 3.3V și pot avea o capacitate de
memorie de maximum 2GB. Cardul de memorie utilizat în cadrul acestui proiect au o
memorie de 2GB și au fost formatate în sistemul de fișiere FAT16.

2.1.5 Date tehnice al procesorului utilizat Atmega328.

ATmega328 este un procesor CMOS pe 8 biți bazat pe o arhitectura RISC


îmbunătățita creat de ATMEL făcând parte din familia mega AVR. Procesorul poate atinge
intr-un singur ciclu de ceas pana la un milion de instrucțiuni pe secunda permițând astfel
proiectantului să optimizeze consumul de energie fata de viteza de procesare.

-5-
DINU Iulia-Roxana – Proiect de disertație
Procesorul ATmega328 dispune de următoarele caracteristici:
- Arhitectura RISC avansata;
- Segmente de memorie nevolatilă cu o rezistenta ridicata:
o 256 KBytes EEPROM;
o 521 KBytes SRAM;
o 32KBytes Flash memorie pentru autoprogramare;
- Suport pentru librăria QTouch;
o Butoane capacitive;
o Achiziții QTouch si QMatrix;
o Pana la 64 de canale;
- Întări / ieșiri:
o 23 pini I/O programabili;
- Tensiune de operare:1.8 – 5.5V
- Temperatura de funcționare: -40°C pana la 85°C
- Caracteristici periferice:
o Doua timer-e pe 8 biți cu pre-scalar separat;
o Un timer pe 16 biți;
o Numărător in timp real cu oscilator;
o 6 canale PWM;
o 8 canale ADC in TQFP pe 10 biți;
o 6 canale ADC in PDIP pe 10 biți;
o Comunicație seriala USART programabila;
o Interfața seriala SPI master – slave;
o Interfața seriala orientata pe biți cu 2 fire compatibila I2C;
o Comparator analog;
o Timer Watch doc programabil;
o Oscilator intern;
- Consumul de putere la 1MHz, 1.8V si 25°C:
o Modul activ: 0.2mA;
o Modul fără consum: 0.1μA;
o Modul de economisire: 0.75μA.

-6-
Text demonstrativ – Numele disertaţiei

Figura.2.5. Localizarea pinilor procesorului ATmega328

În imaginea din Figura.2.5. este reprezentat microprocesorul PIC18F4520 utilizat în cadrul


realizării acestui proiect. Astfel în Tabelul.2.1 sunt afișate datele tehnice ale acestui microprocesor.

Tabelul 2.1 Date tehnice ale procesorului ATmega328:


PORT Descriere
VCC Alimentarea procesorului
GND Masa
Port I/O bidirecțional pe 8 biți cu rezistențe
PB7:PB0
interne PULL-UP (selectate pentru fiecare bit)
Port I / O bi-direcțional pe 7 biți cu rezistențe
PC7:PC0
interne PULL-UP (selectate pentru fiecare bit).
Neprogramat funcționează ca pin de resetare
PC6/RESET pentru program iar programat poate fi in pot de
I/O
Port I / O bi-direcțional pe 7 biți cu rezistențe
PD7:0
interne PULL-UP (selectate pentru fiecare bit).
AVcc Tensiune de alimentare pentru convertorul A/D
In pachetele TQFP si QFN/MLF, pinii ADC7:6
ADC7:6 servesc drept intrări analogice pentru convertorul
A/D

-7-
DINU Iulia-Roxana – Proiect de disertație

Figura.2.6.Diagrama bloc al procesorului Atmega328

În cadrul Figurii.2.6 se poate observa diagrama bloc a procesorului Atmega328. Aici


se poate observa porturile de ieșire și de comunicare al circuitului intern al procesorului.

2.1.6 Schema de conexiune electrică a microprocesorului PIC18F4520 cu placa


de dezvoltare Arduino.

2.1.6.1 Date tehnice al microprocesorului PIC18F4520 utilizat.

Pentru simularea protocolului CAN am utilizat un microprocesor din familia PIC-


urilor PIC18F. Această familie de microprocesoare are o performanță de calcul mare la un
preț economic relativ mic. Aceste tipuri de microprocesoare au capacitatea de a-și putea
reduce puterea de consum în timpul funcționării.
Este un microcontroler îmbunătățit pe 8 biți, care vine cu tehnologia nano Watt și se
bazează pe arhitectura RISC. Multe aplicații electronice adăpostesc acest controler și acoperă
zone largi, de la electrocasnice, automatizări industriale, sisteme de securitate și produse
pentru utilizatorii finali.[1]

-8-
Text demonstrativ – Numele disertaţiei
Figura.2.7.Micocontrolerul PIC18F4250[2]

PIC-ul PIC18F4520 este un microcontroler PIC, introdus Microchip și utilizat în


principal în sisteme de automatizare și încorporate. Acesta vine în trei pachete cunoscute sub
numele de PDIP, QFN și TQFP, unde primul este de 40 de pini (cel mai mult folosit), în timp
ce alte două vin cu o interfață de 44 de pini.[1]

a. Caracteristici generale a microprocesorului PIC18F4520[2]:


- Caracteristici CPU:
o Până la 10 MIPS, performanță la 3V;
o Arhitectura RISC optimizată de compilator C;
o 8x8 Multiplicare hardware cu un singur ciclu.
- Caracteristici sistem:
o Oscilator intern - 31 kHz până la 8 MHz cu 4xPLL;
o Fail-Safe Clock Monitor - permite închiderea în condiții de siguranță dacă
ceasul eșuează;
o Watchdog Timer cu oscilator RC separat;
o Gamă largă de tensiune de funcționare: 2.0 - 5.5 V.
- Caracteristici în timpul funcționării:
o Moduri de funcționare: RUN, Repaus și SLEEP;
o Curenții modului inactiv pana la 5,8uA;
o Curenții modului de repaus scăzut pana la 0.1uA.
- Caracteristici analogice:
o Convertor analog digital pe 10 biți, 13 canale, probe 100K pe secundă;
o Modul de detectare a tensiunii joase programabile;
o Modul de resetare Brown programabil;
o Doi comparatori analogici multiplexare.
- Caracteristicile periferice:
o Portul serial sincron MASTER acceptă modul master și slave SPI ™ și I2C ™;
o Modul EUSART care include suport autobuz LIN;
o Patru module Timer;
o Până la 5 ieșiri PWM;
o Până la 2 Capturi / Compare.[2]

-9-
DINU Iulia-Roxana – Proiect de disertație
În continuare în Tabelul.2.2 sunt reprezentate principalele caracteristicile ale
parametrilor microprocesorului PIC18F4250.

Tabelul.2.2.Caracteristile parametrilor microprocesorului PIC18F4250 [3]


Nr. Crt Denumirea parametrului Valoarea
1 Tip memorie program Flash
2 Dimensiunea memoriei programului 32KB
3 Viteza procesorului (MIPS / DMIPS) 10
4 SRAM Bytes 1536
5 Date EEPROM / HEF (octeți) 256
1-UART, 1-SPI, 1-I2C1-
6 Periferice de comunicare digitală
MSSP(SPI/I2C)
7 Captura / Comparare / Periferice 1 CCP, 1 ECCP
8 Timere 1 x 8-bit, 3 x 16-bit
9 Intrări CAD 13 ch, 10-bit
10 Numărul de comparatoare 2
11 Intervalul de temperatură (C°) -40° până la 125°
12 Intervalul de tensiune de funcționare (V) 2 până la 5.5
13 Pini 40

În imaginea din Figura.2.8 sunt reprezentate porturile I/O digitale ale


microprocesorului PIC18F4250. După cum se poate observa din cadrul acestei figuri, pinii
microprocesorului sunt grupați, creându-se astfel cinci porturi I/O (de la A la E)[4]:
- Porturile A, B, C, D  sunt realizate fiecare din cate 8 pini de comunicație;
- Portul E  este realizat doar din 3 pini de comunicație.

Figura.2.8.Reprezentarea porturilor de I/O ale microprocesorului PIC18F4250[4]

-10-
Text demonstrativ – Numele disertaţiei

b. Diagrama bloc a microprocesorului PIC18F4250 utilizat în cadrul realizării


acestui proiect

În imaginea din Figura.2.9 este reprezentată diagrama bloc a microcontrolerului


PIC18F4250. În această diagramă bloc se pot observa cele 5 porturi de comunicație
menționate în subcapitolul anterior, astfel în această diagramă se pot observa descrierea,
caracteristicile principale și modul de comunicație al microcontrolerului PIC18F4250.
Acest microcontroler poate fi configurat folosind 10 moduri diferite de oscilator unde
sunt necesare valori diferite ale condensatorului pentru a genera funcționarea acceptabilă a
oscilatorului. Utilizatorul trebuie să testeze performanța oscilatorului cu VDD și intervalul de
temperatură adecvate pentru proiectul necesar.

Figura.2.9.Diagrama bloc a microprocesorului PIC18F4250[4]

-11-
DINU Iulia-Roxana – Proiect de disertație
c. Schema de montaj a microcontrolerului PIC18F4250 cu placa de dezvoltare
Arduino

În imaginea din Figura.2.10 este reprezentată schema electrică generală de conexiune


a unui microcontroler din familia PIC18F cu una din plăcuțele de dezvoltarea ARDUINO.
Pentru realizarea acestui proiect noi am utilizat o plăcuță de dezvoltare Arduino UNO
si microprocesorul PIC18F4250, care vor fi conectate ca în imaginea din Figura.2.10 însă cu
mențiunea că în schema finală se va mai adăuga un circuit de stabilizare a tensiunii. Cu
ajutorul acestui circuit de conexiune microprocesorul va fi capabil să preia datele de la
motorul DC si le va transmite plăcuței Arduino prin pinii de comunicație Rx și Tx.

Figura.2.10.Scheema electrică de montaj a microprocesorului PIC18F4250 cu placa de dezvoltare


Arduino UNO

-12-
Text demonstrativ – Numele disertaţiei

2.2 REALIZAREA UNEI MODEL EXPERIMENTAL PENTRU


REALIZAREA PROIECTULUI ALES

În cadrul acestui capitol vom prezenta modelul la scara al unui autovehicul modern
echipat cu unul din categoria sistemelor avansate de conducere asistată. Prin construcția
acestui model la scară vom încerca să arătăm funcționalitatea unui sistem care este capabil să
monitorizeze comportamentul conducătorului unui autovehicul, simulând diferite cazuri de
funcționare.

2.2.1. Etapele constructive ale modelului

a. Etapa întâi – realizarea circuitului electric de montaj.

În imaginea din Figura.2.11 este reprezentă prima etapă de amplasare și de realizarea


circuitului electric de conectare al elementelor utilizate pentru realizarea acestui sistem. După
cum se poate observa din cadrul acestor imagini, în partea stângă este reprezentat modul de
amplasare al elementelor electrice iar în imaginea din partea dreaptă este reprezentat circuitul
electric realizat cu ajutorul fludorului și pistolului de lipit.

-13-
DINU Iulia-Roxana – Proiect de disertație

Figura.2.10.Schema de montaj a elementelor utilizate în cadrul acestui proiect – Etapa 1

2.2.1.1 Etapa a doua – prelucrarea și amplasarea elementelor componente.

În imaginea din Figura.2.11 este reprezentată partea a doua din realizarea circuitului
final. Aici se poate observa circuitul de stabilizare al tensiunii electrice despre care s-a
menționat in capitolul anterior.

-14-
Text demonstrativ – Numele disertaţiei
Figura.2.11.Schema de montaj a elementelor utilizate în cadrul acestui proiect – Etapa 2

3. Elementele software utilizate în realizarea proiectului ales și


funcționalitatea sistemului

În cadrul acestui capitol vom prezenta elementele software utilizate pentru construcția
și simularea unui sistem inteligent care este capabil sa monitorizeze parametri de frână și
accelerație.
Programele utilizate pentru realizarea acestui model sunt următoarele:
- Arduino  folosit pentru realizarea programului final;
- MPLab  utilizat pentru scrierea microcontrolerului;
- Frtzing și Proteus  utilizate pentru realizarea schemelor electrice de circuit.

3.1 Descrierea codului sursă realizat in mediul de dezvoltare ARDUINO

În cadrul acestui subcapitol vom descrie funcționalitatea codului principal al acestui


sistem de monitorizare a comportamentul conducătorului autovehiculului.
Primul pas in descrierea codul va fi explicarea declarărilor pinilor utilizați:

a. Declarea constantelor si atribuirea pinilor:


- Pinul de intrare analogica al potențiometrului:
o const int analogInPin = A5;
- Pinul digital de iesire cu PWM pentru motorul de curent continu:
o const int analogOutMot = 6;
-15-
DINU Iulia-Roxana – Proiect de disertație
- Pinul digital de iesire cu PWM pentru LED-ul galben:
o const int analogOutGalben = 2;
- Pinul digital de iesire cu PWM pentru LED-ul verde:
o const int analogOutVerde = 3;
- Pinul digital de iesire cu PWM pentru LED-ul roșu:
o const int analogOutRosu = 4;
- Valoarea citită de la potențiometru:
o double sensorValue = 0;
- Valoarea finala dată de potențiometru:
o double outputValue = 0;

b. Declararea variabilei auxiliare folosite la tranziția treptată dintre LED-uri:


- float variabila_decrementare;
c. Inițializarea comunicației seriale:
- Serial.begin(9600);

- Setarea pinilor de ieșire:


o pinMode(5,OUTPUT);
o pinMode(analogOutMot,OUTPUT);

Funcționalitatea sistemului:
void loop() {
digitalWrite(5,HIGH);
Citirea valorii date de potențiometru:
sensorValue = analogRead(analogInPin);
Translatarea plajei de valori a potențiometrului din [0, 1023] în [0, 255] pentru a putea fi
citită corespunzator de către pinul digital cu PWM:
outputValue = map(sensorValue, 0, 1023, 0, 255);
Schimbarea valorii citite de la ieșirea potențiometrului:
analogWrite(analogOutMot, outputValue);

Tranzițiile LED-urilor în funcție de viteza motorului respectiv de valoarea citită de la


potențiometru:

-16-
Text demonstrativ – Numele disertaţiei
La pornirea motorului LED-ul verde se aprinde treptat pana la valoarea maxima
prestabilita de 122.5 date de potențiometru si citită de motor. În acest interval, LED-urile
galben si roșu vor fi stinse:
if(outputValue >=0 && outputValue <= 122.5)
{
analogWrite(analogOutVerde, outputValue*2);
analogWrite(analogOutMot, outputValue);
analogWrite(analogOutGalben,0);
analogWrite(analogOutRosu,0);
}
După depășirea valorii de 122.5, LED-ul verde se va stinge treptat permițându-i LED-
ului galben sa pornsească in același mod pâna la valoarea de 190 dată de potențiometru. LED-
ul roșu va fi oprit în acest interval:
if(outputValue >=122.5 && outputValue <= 190)
{
analogWrite(analogOutGalben, (outputValue-122.5)*3.6);
variabila_decrementare = (170-outputValue);
if(variabila_decrementare >= 0 && variabila_decrementare <= 122.5){
analogWrite(analogOutVerde,variabila_decrementare);
}
else{
analogWrite(analogOutVerde,0);
}
analogWrite(analogOutRosu,0);

analogWrite(analogOutMot, outputValue);
}
După depășirea valorii de 190 și până la valoarea maxima de 255 LED-ul galben se va
stinge treptat iar LED-ul roșu se va aprinde marindu-și intensitatea in functie de viteza
morotului. LED-ul verde va fi oprit în acest interval:
if(outputValue >=190 && outputValue <= 255)
{
analogWrite(analogOutRosu, (outputValue-190)*3.8);
variabila_decrementare = (230-outputValue);
if(variabila_decrementare >= 0 && variabila_decrementare <= 190){

-17-
DINU Iulia-Roxana – Proiect de disertație
analogWrite(analogOutGalben,variabila_decrementare);
}
else{
analogWrite(analogOutGalben,0);
}
analogWrite(analogOutVerde,0);
analogWrite(analogOutMot, outputValue);
}
delay(2);
}

3.2 Funcționalitatea sistemului de monitorizare a conducătorului în timpul


procesului de conducere

În cadrul acestui subcapitol vom prezenta modul de funcționare al acestui sistem.


Astfel cu ajutorul potențiometrului noi vom fi capabili sa modificăm accelerația motorului de
curent continuu. Tot o data cu ajutorul acestui potențiometru vom putea realiza și frânarea
motorului pentru a reuși să creăm diferite stiluri de conducere.
O data alimentat circuitul, motorul de curent continuu va fi alimentat și va avea o
anumita viteză de rotație în funcție de rezistenta pe care noi o vom impune de la
potențiometrul utilizat. După stabilirea stilului de conducere pe care dorim sa îl monitorizăm
datele preluate vor fi transmise cu ajutorul microprocesorului PIC18F4250 ce va avea rol de
magistrala CAN.
Acesta va transmite parametri doriți prin pinii de conexiune și comunicație Rx, Tx,
către masterul circuitul, în cazul nostru plăcută de dezvoltară Arduino UNO este masterul iar
PIC-ul este slave-ul.
Pentru observarea mișcărilor de tranzit dintre un stil de conducere întru-un alt stil de
conducere mai agresiv sau mai puțin agresiv se va putea observa prin circuitul de avertizare
vizuală realizat din cele trei LED-uri.

-18-
Text demonstrativ – Numele disertaţiei

[*] https://ww1.microchip.com/downloads/en/DeviceDoc/39631E.pdf
[1] https://www.theengineeringprojects.com/2018/08/introduction-to-pic18f4520.html
[2] https://uk.rs-online.com/web/p/microcontrollers/8938091/
[3] https://www.microchip.com/wwwproducts/en/PIC18F4520
[4] http://hades.mech.northwestern.edu/index.php/PIC18F4520:_Digital_Outputs

https://www.instructables.com/id/how-to-program-a-PIC-18F2550-or-18f4550-with-Ardui/
https://maker.pro/pic/tutorial/getting-started-with-pic-microcontrollers-internal-oscillator-and-
io-pins

-19-

S-ar putea să vă placă și