Șef Lucrări Dr. Ing. Răzvan-Gabriel Prejbeanu Iulie 2018 CRAIOVA Sistem complex îmbarcat pentru controlul unui autovehicul Absolvent Moraru Giorgian… [310755]
PROIECT DE DIPLOMĂ
Moraru Giorgian Claudiu
COORDONATOR ȘTIINȚIFIC
Șef Lucrări Dr. Ing. Răzvan-Gabriel Prejbeanu
Iulie 2018
CRAIOVA
Sistem complex îmbarcat pentru controlul unui autovehicul
Absolvent: [anonimizat] 2018
[anonimizat]: [anonimizat], Calculatoare și Electronică a [anonimizat], [anonimizat]:
[anonimizat].ing. Prejbeanu Răzvan
prezentată în sesiunea Iulie 2018.
[anonimizat]:
reproducerea exactă a [anonimizat]-o [anonimizat]-o [anonimizat],
[anonimizat], [anonimizat] a unor aplicații realizate de alți autori fără menționarea corectă a [anonimizat] a [anonimizat].
Pentru evitarea acestor situații neplăcute se recomandă:
plasarea între ghilimele a citatelor directe și indicarea referinței într-o [anonimizat] a [anonimizat] a sursei originale de la care s-a [anonimizat] s-[anonimizat], figuri, imagini, statistici, [anonimizat], a căror paternitate este unanim cunoscută și acceptată.
Data, Semnătura candidat: [anonimizat],
PROIECTUL DE DIPLOMĂ
REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC
În urma analizei lucrării candidat: [anonimizat]:
[anonimizat]:
Data, [anonimizat].2.1.cheie cu inchidere centralizată prin radiofrecvența 4
FIG.2.2. Panou de comanda al geamurilor electrice 6
FIG.2.3.Panou de comanda al oglinzilor electrice 7
FIG.2.4.[anonimizat] 7
FIG.2.5.Sistem Rain Light Sensor montat in oglinda 8
FIG.2.6.Diferenta propagarii luminii fata de un sistem conventional si unul directional 9
FIG.2.7.Senzor montat in parbriz pentru actionarea automata a stergatoarelor 10
FIG.2.8.Navigatie cu ecran LCD tactil 11
FIG.2.9. Camera retrovizoare 12
FIG.2.10.Imagine cu serviciul de asistenta de parcare 13
FIG.2.11.Propagarea senzorilor de parcare a sistemului de parcare automata 14
FIG.2.12.Panou de comanda a temperaturii si directiei aerului in autovehicul 15
FIG.2.13.Schema electrica conceptuala a unui sistem de aer conditionat cu compresor electric 16
FIG.2.14.Sistem climatronic cu doua zone ale temperaturii 17
FIG.3.1.Capsula cu pinii microcontrollerului AtMega2560 21
FIG.3.2.Schema electronica a placii de dezvoltare Arduino MEGA 22
FIG.3.3.Panoul comunicatiei seriale al softului Arduino 24
FIG.3.4.Interfata de programare a softului Arduino 25
FIG.3.5.Placa de dezvoltare Arduino MEGA 26
FIG.3.6.Senzor de detectie a apei 27
FIG.3.7.Ecran LCD cu 2 linii si 16 coloane 28
FIG.3.8.Modul I2C pentru ecrane LCD 29
FIG.3.9.Fotorezistor ceramic 30
FIG.3.10.Servomotor SG90 31
FIG.3.11.Circuit imprimat al coboratorului/ridicatorului de tensiune cu integrat xl6009e1 32
FIG.3.12.Schema electrica a ridicatorului de tensiune XL6009E1 33
FIG.3.13. Schema electrica a coboratorului de tensiune XL60009E1 33
FIG.3.14.Modul de comanda al motoarelor L298 34
FIG.3.15.Schema electronica a modulului L298 35
FIG.3.16.Modul senzor de distanta HC-SR04 36
FIG.4.1.Schema bloc a proiectului 37
FIG.4.2.Schema convertoarelor de tensiune 38
FIG.4.3.Schema electrica a senzorului automat de ploaie 39
FIG.4.4.Schema senzorilor ultrasonici de parcare 41
FIG.4.5.Schema ecranului LCD 44
FIG.4.6.Circuitul de achizitie a intensitatii luminii 35
FIG.4.7.Schema blocului de lumini 37
FIG.4.8.Schema modulului de temperatura 47
FIG.4.9.Schema puntii H 49
FIG.4.10.Schema completa a machetei 52
Introducere
Scopul
În prezent domeniul automotive este în continuă creștere,iar cererea segmentului de piață constând în dotări ale mașinii este din ce în ce mai pretentioasă. Dotări precum răcirea habitaclului sau automatizarea cât mai multor funcții devin dotări standard.
Autovehiculele din clasa premium conferă din ce în ce mai multe sisteme pentru a spori siguranța și confortul conducătorului auto. Pe aceste autovehicule se găsesc automatizări și informații în timp real despre mediul înconjurator al autovehiculului, dar și despre interiorul său.
Țelul acestei lucrări este acela de a arăta diferite bruioane de sisteme automatizate pentru autovehicule cu ajutorul unei program de dezvoltare împreuna cu circuite adiacente.
Motivația
Selectarearea temei propriu-zise a pornit de la dorința de a extinde și adapta condusul unui autovehicul,dar în același timp și limitarea accesulului conducerii autovehiculului prin diferite sisteme inteligente.
Prin această noțiune am implementat o gamă de funcții care pot propăși confortul în timp ce autovehiculul este condus, dar și securizarea, eventual detectarea locației mașinii în cazul în care aceasta este furată.
Cu sprijinul plăcii de dezvoltare Arduino MEGA, dezvoltăm o machetă care să prezinte diferite sisteme inteligente ce măreasc securitatea autovehicului dar sporesc și condusul acestuia prin automatizarea anumitor functionalități.
În cel de-al doilea capitol a fost prezentat un istoric al automatizarilor pe autovehicule.
În al treilea capitol a fost descrisă alegerea modulelor și circuitelor electronice pentru dotarea mașinii.
În al patrulea capitol a fost descrisă execuția practică și dezvoltarea software a aplicației care constă în:
Schema bloc a aplicatiei;
Dezvoltarea machetei:
Sistemul automat pentru faruri;
Sistemul automat pentru stergatoare;
Alimentarea;
Schema proiectului.
Istoria automatizărilor pe mașini
Servodirecția
Servodirecția ajută conducătorul auto să vireze autovehiculul fără efort. Servodirecția a fost introdusă pe un autoturism de către compania “Chrysler Corporation” în anul 1951 pe modelul Chrysler Imperial sub numele de “Hydraguide”, urmând ca în anul 1952 compania General Motors să lanseze modelul Cadillac cu servodirecție. [1]
Servodirecția poate fi de trei tipuri:
Hidraulică;
Electro-hidraulică;
Electronică.
Servodirecția Hidraulică
Funcționează folosind un sistem hidraulic să măreasca forța aplicată volanului pentru a schimba poziția roților frontale. Presiunea hidraulică este generată de obicei de un georotor sau de o pompă rotativă cu palete învârtite de motorul autoturismului.
Servodirecția Electro-hidraulică
Funcționează la fel ca un sistem de servodirecție clasic, diferența fiind că presiunea hidraulică nu mai este generată de motorul autoturismului, acest lucru fiind realizat de catre un motor electric.
Servodirecția electronica
Folosește un motor electric, să asiste conducătorul autoturismului. Senzori care detectează poziția și cuplul coloanei de direcție împreună cu un calculator care aplică cuplu ajutător prin motorul electric care se conectează la direcție sau la coloana de direcție. Folosind un calculator putem să avem diferite selecții la cât de sensibilă să fie direcția dar și aceasta să fie variabilă în funcție de viteza mașinii. [1]
Închiderea centralizată
Închiderea centalizată la uși
Oferă posibilitatea șoferului posibilitatea de a debloca sau bloca simultan toate ușile autovehiculului prin acționarea sau apăsarea unui buton sau unui întrerupător.
Prima oară a fost introdusă pe autovehiculul de lux al companiei Scripps-Booth în anul 1914, dar închiderea centralizată nu a fost comună pe autovehiculele de lux până în anul 1956 când compania americană Packard a decis să o reintroducă.
Primele modele aveau un contactor mecanic care acționa la introducerea cheii în butuc. Modelele actuale folosesc o telecomandă cu un circuit de radiocomunicații pentru a acționa închiderea centralizată și a devenit o dotare standard a tuturor autovehiculelor.
Evoluând tehnologia, dezvoltatorii industriei auto au venit cu diverse metode de a renunța la cheie pentru a avea acces în interiorul mașinii. Au realizat un sistem cu o tastatură amplasat lângă mânerul de acces al ușii șoferului unde o anumită combinație de taste permitea accesul în mașina.
Mai nou șoferul poate intra în autovehicul și poate să pornească motorul fară a scoate cheia din buzunar. Cheia este recunoscută când șoferul se află la aproximativ un metru și jumătate de automobil cu ajutorul unui senzor aflat în portieră și un generator de impulsuri radio aflat în carcasa cheii. Portiera este deblocată automat atunci când este acționat mânerul de deschidere al acesteia. Deasemenea acest sistem deblochează electronic volanul și sistemul de aprindere al combustibilului fară a introduce cheia în contact cu condiția ca șoferul să aivă cheia asupra lui în interiorul automobilului, motorul poate fi pornit doar prin apăsarea unui buton de pornire.
Cheia inteligentă poate fi folosită și ca o cheie convențională pentru a deschide portierele și a porni motorul. La părasirea automobilului este suficientă doar apăsarea unui buton de pe carcasa cheii pentru a activa sistemul central de blocare al automobilului.
Termenul de “cheie inteligentă” se referă la un sistem de închidere centralizată amplasat în autovehicul ce folosește un ciruit de proximitate care este activat atunci când cheia este destul de aproape oferind șoferului accesul în mașină. [10]
Fig.2.1. Cheie cu închidere centralizată prin radiofrecvență
http://www.kapdiagnostics.com/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/d/s/dsc_0018.jpg
Închiderea centralizată la portbagaj
Este un sistem separat ce permite conducătorului auto să deschidă automat protbagajul din cheie sau prin apăsarea unui buton aflat în interiorul autovehiculului. Mai nou acest sistem oferă șoferului autovehiculului posibilitatea de a spune cât anume să se deschidă portbagajul. Unele sisteme de deschidere a portbagajului au un sistem complex care la prezența cheii se pot face gesturi cu piciorul sub mașina astfel încat portbagajul să se deschidă.
Închiderea centralizată la rezervorul autovehiculului
Este formată dintr-un sistem care permite deschiderea ușii de la rezervor prin apăsarea unui buton de pe cheia autovehiculului sau din interiorul autovehiculului.
Geamuri electrice
Geamurile electrice au apărut prin anul 1950. Acestea au rolul de a spori confortul pasagerilor deoarece aceștia nu mai trebuie să opereze un sistem manual de deschidere, ci beneficiază de unul automat mult mai eficient.
Geamurile se deschid cu ajutorul unor comutatoare care se află în mod normal pe lateralul ușii sau în mijlocul consolei dintre scaunele din fața ale mașinii. Pe portiera șoferului de obicei se găseste o consolă cu comutatoare pentru toate cele patru geamuri electrice conferind o utilizare mult mai rapidă pentru toți pasagerii.
Fig.2.2. Panou de comandă al geamurilor electrice
https://indianautosblog.com/wp-content/uploads/2015/11/2016-Toyota-Innova-power-window-switches-world-premiere-photos.jpg
Pentru siguranța sa, șoferul are pe panoul de comandă al geamurilor un întrerupator care dezactivează comutarea geamurilor din spate pentru a putea transporta în siguranța copii care s-ar putea juca la întreurpatoare și s-ar putea răni.
Pentru siguranța autovehiculului geamurile electrice nu funcționează atunci când contactul autovehiculului nu este prezent deoarece există riscul de a uita geamul deschis, unele mașini având implementată funcția de a închide geamurile la închiderea autovehiculului.
Oglinzi electrice
Oglinzile electrice sunt prezente pe majoritatea mașinilor autohtone, mai ales în ultimul timp, acest lucru devenind oarecum standard. Modul de reglare al acestora este electric cu ajutorul unor motorașe de pe o consolă din interiorul autovehiculului fără a vă mișca din poziția de condus cu ajutorul unui joystick și a două butoane de selecție pentru partea dreaptă și stângă.
Fig.2.3. Panou de comandă al oglinzilor electrice
Pentru a spori siguranța, dezvoltatorii autovehiculelor au implementat un sistem de încalzire a geamului pentru a evita formarea de gheață pe oglindă astfel încât condusul la temperaturi joase să nu afecteze vizibilitatea conducătorulului auto.
Pe anumite modele s-a dezvoltat un sitem numit electro-cromatic care se instalează în oglinda retrovizoare de interior dar și în cele din exterior, acest sistem permițând oglinzilor să se închidă la culoare când o lumină puternică este în spatele autovehiculului pentru a nu a orbi șoferul și pentru a putea spori confortul conducătorului auto.
Fig.2.4. Oglindă retrovizoare cu sistem electro-cromatic
http://www.toyota.com.au/rav4/features/technology
Faruri electrice
Această arie este într-o continuă dezvoltare de aproximativ un secol. Fiecare producător de automobile a venit cu diferite sisteme pentru a ajuta conducătorul autovehiculului să aibă un câmp vizual bun pe timp de noapte, dar în același timp să nici nu deranjeze ceilalți participanți la trafic.
Opțiunile de aprindere automată a farurilor în funcție de lumină ambientală există încă din anul 1950, iar reglarea pozițiilor farurilor cu motorașe electrice sunt printre puținele adaptări ale banalului far.
Comutarea automată a farurilor
A fost concepută deoarece marea majoritate a conducatorilor auto uită să aprindă faza lungă a blocului de lumini, astfel că s-a dezvoltat un sistem cu fotorezistor într-un tub deasupra capitonajului de bord sau chiar în stâlpul oglinzii pentru a comută blocul de lumini în funcție de lumina ambientală.
Nu a durat mult până ce au fost introduse sisteme inteligente de comutare a luminilor care pot să aivă diferite moduri de iluminare a farurilor în funcție de lumina ambientală, vreme și zonele în care autovehiculul trece sau control automat al intensității farurilor cu o rază de acțiune care variază între 65m – 300m. Sistemul a fost perfecționat în timp și circuitul a evoluat într-o manieră în care masoară și aproximează intensitatea luminii atunci când este trafic. Având un soft și un circuit complex, sistemul își poate da seama de diferite intensități luminoase care comută farurile, atunci când din fața autovehiculului vine un alt participant la trafic, astfel că faza lungă se întrerupe pentru a nu deranja ceilalți participanti la trafic.
Fig.2.5. Sistem Rain Light Sensor montat în oglindă
https://techannouncer.com/wp-content/uploads/2017/07/Automotive-Rain-and-Light-Sensor-Market.jpg
Faruri direcționale
Acest sistem oferă o iluminare mai bună când se efectuează manevra de schimbare a direcției. Din anul 1930 pe mașina ceha Tatra s-a montat un far conectat la coloană de direcție a mașinii pentru a se roti în același timp cu mașina, dar cu timpul s-a renunțat la această idee.
La începutul anilor 2000 a renăscut idea farurilor direcțioanale și producători ca BMW, Toyota, Opel au conceput un sitem AFS( Advanced front-lighting system) care optimizează poziția farurilor nu numai la schimbarea direcției și poziția suspensiei dar și în funcție de vremea ambientală, condițiile de vizibilitate, viteza autovehiculului și conturul drumului. Acest sistem folosește în loc de legături mecanice o varietate de senzori electronici, traductoare și actuatoare.Un sistem obișnuit din această gamă măsoară unghiul direcției autovehicului și schimbă poziția lupelor din carcasa farurilor, însa cele mai avansate modele folosesc semnale GPS să anticipeze schimbările în conturul drumului.
Fig.2.6. Diferența propagării luminii față de un sistem convențional (A) și a unui sistem cu faruri direcționale (B)
https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Adaptive_forward_lighting.svg/1200px-Adaptive_forward_lighting.svg.png
Ștergătoarele atutomate
Folosesc un sistem automat care comută acționarea ștergatoarelor în prezența ploii. Sistemul este compus dintr-un dispozitiv cu diverși senzori optici să detecteze nivelul de umiditate. Senzorii sunt montați cu partea de interior a parbrizului lângă oglinda retrovizoare. Senzorul proiectează lumina infraroșie la un unghi de 45 de grade. Dacă geamul este uscat, majoritatea luminii este reflectată în senzor. Dacă picături de apă se află pe geam, lumina se reflectă în diferite direcții astfel că mai puțină lumină ajunge în senzor. Cu ajutorul circuitelor electronice și softul din senzori comută astfel ștergătoarele când o anumită cantitate de lumină este reflectată în senzor la un nivel prestabilit. Softul setează viteza ștergătoarelor bazat pe cât de repede umiditatea crește între ștergătoare. Sistemul poate fi oprit pentru a avea posibilitatea de a spăla mașina și de a nu porni când mașina este staționată.
Fig.2.7. Senzor montat în parbriz pentru acționarea automată a ștergătoarelor
https://crankit.in/wp-content/uploads/2015/03/Rain-sensing-wipers.jpg
Sistemul de navigație automotive
Sistemul de navigație conferă conducătorului autovehicului un mod de a găsi direcția cu ajutorul poziției GPS corelată cu poziția de drum dar și alte funcționalități media.
Baza de date cu drumurile este o hartă vectorială care conține adrese și puncte de interes ce sunt codificate ca și coordonate geografice, iar stocarea bazei de date poate fi stocată în memorii statice, memorii optice, memorii flash, hard disk-uri sau o combinație dintre ele. Memoria statică este mereu programată de producător, restul fiind programate de pe diferite tipuri de memorii. [15]
Actualizarea bazei de date este de obicei oferită de către producător contra cost sau gratis în format electronic cu suport optic, card de memorie sau prin conectarea unui computer la navigație.
Navigarea cu ajutorul poziției GPS este însoțită și de suport vocal pentru avertizarea șoferului când trebuie să schimbe direcția îm momentul în care a ajuns la destinație sau ruta a fost recalculată.
Fig.2.8. Navigație cu ecran LCD tactil.
https://images-na.ssl-images-amazon.com/images/I/91eiatsj-ZL._SL1500_.jpg
Majoritatea navigațiilor au o multitudine de alte opținuni încorporate, precum:
Posibilitatea de conectare a telefonului prin bluetooth sau wireless;
Posibilitatea de redare a televiziunii sau filme de pe DVD;
Sisteme de operare Android;
Conexiune GPRS/3G/4G.
Cameră pentru mașalier;
Ecran tactil;
Amplificator audio încorporat;
Camera de mașalier este produsă special pentru scopul de a fi atașată în partea din spate a mașinii, pentru a ajuta la manevra de mașalier, eliminând punctele oarbe și coliziunile.
Fig.2.9. Camera retrovizoare
https://www.emeraldintegrations.com/media/wysiwyg/2011-bmw-5-series-park-assistant-trunklid-mounted-rear-view-camera-european-spec-photo-336108-s-1280×782.jpg
Asistența la parcare
Este reprezentată de o multitudine de sisteme care ajută la parcarea vehiculelor.
Sistemele fiind de obicei formate din senzori ultrasonici conectați la o unitate de control care măsoară distanța față de obiecte cu fiecare interval al semnalului reflectat.
Avertizarea distanței față de anumite obiecte poate să fie făcută în mai multe moduri:
Avertizarea sonoră, ce avertizează șoferul cu tonuri acustice în care frecvența tonului indica distanța față de obiect sau tonuri mai rapide care să indice proximitatea.
Avertizarea sonoră, combinată cu afișaj cu o bară de diode de tip LCD pentru a avea și un aspect vizual raportat la distanța față de obiecte.
Afișaj pe LCD care indică distanța obiectelor, aceasta poate să conțină și o pictogramă a autovehicului pentru a putea vedea zonele cu obiectele din apropierea vehicului.
Fig.2.10. Imagine cu serviciul de asistență de parcare
https://www.bmw.co.za/content/dam/bmw/marketZA/bmw_co_za/images/BMW%20Insights/Park-distance_Large.jpg/_jcr_content/renditions/cq5dam.resized.img.585.low.time1448546119743.jpg
Parcarea automată
Este un sistem ce permite autovehiculului să se parcheze singur. Sistemul preia controlul mașinii și reușeste să parcheze într-un loc de parcare perpendicular sau parcare paralelă dar și parcarea de la diferite unghiuri. Ținta acestui sistem este să mărească confortul și siguranța condusului în medii constrânse unde este nevoie de experiență și atenție pentru a direcționa mașina. Acest sistem fiind de un mare folos conducatorului auto începător. [2]
Cu ajutorul mai multor senzori, camere video și soft special creat pentru acest sistem, autovehiculul își poate da singur seama dacă poate parca în siguranță luând în considerare dacă șoferul este prezent în interiorul mașinii sau acesta a selectat modul de parcare automată din cheia autovehiculului. [16]
În mod normal acest sistem are patru camere video, care cu ajutorul softului creat special pentru parcarea automată decid dacă gabaritul vehicului încape în spațiul ales de către conducatorul auto astfel că minimalizează posibilitatea de accidente în parcare.
Cu ajutorul senzorilor montați în barele față-spate, dar și în lateralul mașinii, aceștia formează un circuit embedded care cu ajutorul unui soft compară diferite distanțe și calculează ce mișcări trebuie să facă autovehiculul astfel încat parcarea să fie realizată.
Fig.2.11. Propagarea senzorilor de parcare a sistemului de parcare automată
https://s3-eu-west-1.amazonaws.com/parkit03258/wp-content/uploads/2017/09/parking-aids.jpg
Elemente de sporire a comfortului în interior
Pe parcursul dezvoltării industriei automotive au apărut diferite elemente care să ofere confortul pentru călătoriile cu autovehiculul. Așadar pentru rezolvarea unor probleme comune ca încălzirea habitaclului, ajustarea scaunului șoferului și ajustarea volanului care la început au fost mecanice, cu dezvoltarea în tehnologie s-au conceput următoarele sisteme:
Răcirea habitaclului.
Scaunul și volanul ajustabil electric.
Scaunul și volanul ajustabil electric
Datorită faptului că nu există un standard pentru înălțimea unei persoane, autovehiculele au fost dotate cu scaune reglabile care au posibilitatea de a înainta sau rabata, la început sistemul fiind unul mecanic, utilizat prin anumite pârghii sau manete, ultimul trend fiind realizat electric cu ajutorul unor actuatoare și motorașe electrice.
Ultimele tipuri de acest sistem permit memorarea setărilor șoferului, astfel că la fiecare accesare a autovehiculului cu cheia respectivă, calculatorul să ajusteaze scaunele, poziția volanului dar și multe alte sisteme.
Unele autovehicule pot fi dotate și cu încălzirea în scaunele și banchetele mașinii pentru autovehiculele cu tapițerie de piele deoarece în sezonul friguros acestea sunt aproape înghetate.
Răcirea și încălzirea habitaclului
Dealungul timpului răcirea și încălzirea habitaclului a fost o problemă, astfel că s-a dus la dezvoltarea unor sisteme pentru aceasta. Aceste sisteme presupun diferite metode de a încalzi sau răci habitaclul mașinii dar și direcționarea aerului în diferite zone ale autovehiculului printr-un sistem de tubulaturi care are ca scop încălzirea parbrizului sau direcționarea aerului în diferite direcții.
Existând de astfel și posibilitatea de a recircula aerul din interiorul autovehiculului.
Fig.2.12. Panou de comandă a temperaturii și directiei aerului în autovehicul
https://ae01.alicdn.com/kf/HTB1JGdOf50TMKJjSZFNq6y_1FXaW/Vtear-For-Skoda-Octavia-A5-AC-Knob-Air-Conditioning-heat-control-Switch-knob-interior-car-styling.jpg_640x640q90.jpg
La sfârșitul anului 1930 pe mașinile Packard se putea comanda un sistem de aer condiționat, însă această opțiune nu era variabilă din diverse motive:
Costul foarte ridicat la acea vreme;
Sistemul ocupa mai bine de jumătate din capacitatea portbagajului;
Foarte multe conducte care comunicau din fața în spatele autovehiculului făceau reparațiile aproape imposibile;
Nu avea termostat pentru închiderea sistemului, ci doar un buton de oprit/pornit.
În timp tehnologia a evoluat astfel că sistemul de aer condiționat a devenit o opțiune standard pe autovehiculele autohtone deoarece compresoarele au devenit mult mai compacte, atașate printr-o serie de curele și role axului cu came a motorului. [1]
Dezavantajele unui astfel de sistem este că fiind atașat motorului, face ca stresul pe care motorul trebuie să îl depuna sa fie mai intens, făcând ca prin activarea lui să se piardă o putere de aproximativ 3kW(4 cai putere), impactul fiind destul de semnificativ în comportamentul motorului dar și în consumul acestuia. Datorită faptului că acest sistem folosește gaz refrigerant, acesta cu cea mai mare probablitate în timp acesta va dispărea din sistem, efectul fiind în răcire ineficientă sau chiar în alterarea unor componente vitale și scumpe ale sistemului. Așadar la o perioadă de 1-3 ani este recomandat ca sistemul sa fie reincărcat cu gaz. [17]
Pentru a combate pierderea de putere s-au adaptat sisteme cu compresoare conduse de motoare electrice, astfel că nu se mai pierde puterea și fiabilitatea motorului crește.
Fig.2.13. Schema electrică conceptuală a unui sistem de aer condiționat cu compresor electric
http://1.bp.blogspot.com/-fAhLjLmb_Kw/U4G_0LB8_AI/AAAAAAAAKe0/sXCzHUqMU38/s1600/window+wiring.jpg
Pentru încălzirea habitaclului s-au folosit calorifere mici, de aluminiu sau de cupru cu două ventilatoare pentru a degaja căldura în habitaclul mașinii, ascunse sub capitonajul bordului autovehiculului. Acest sistem funcționează pe principiul pompării apei răcirii motorului în calorifere astfel ajutând și la răcirea acestuia.
Sisteme mult mai moderne s-au dezvoltat, acestea fiind numite, controlul climatronic. Sistemul climatronic folosește diferiți senzori de umiditate și temperatură împreună cu circuite electronice pentru a lasa controlul șoferului sau pasagerului din fața autovehiculului posibilitatea de a seta o temperatură în habitaclul mașinii dar și posibilitatea de a reduce umiditatea aerului. Sistemele avansate permit ajustarea temperaturii pe diferite zone ale mașinii.
Sistemul de climă are înglobat în el și opțiunea de a decide pentru persoanele din mașina o temperatură și o umiditate optimă pentru habitaclu.
Fig.2.14. Sistem climatronic cu două zone ale temperaturii
https://i.ytimg.com/vi/Vz2K5k6JxUc/maxresdefault.jpg
ALEGEREA ModuleLOR și circuiteLOR electronice UTILIZATE LA REALIZAREA APLICAțIEI PRACTICE
Arduino MEGA
Arduino este o platformă open-source bazată pe un hardware și un software ușor de utilizat și flexibil. Acesta este dedicat inginerilor pentru utilizare în industrie, oamenilor pasionați pentru a realiza mult mai ușor proiectele și oricărei alte persoane dornice să creeze un sistem care se află în contact cu mediul înconjurător.
Microcontrolerul de pe placa Arduino este programat utilizând limbajul de programare Arduino, care este bazat pe Wiring, și mediul de programare Arduino care este bazat pe Processing.
Arduino poate “simți” mediul înconjurător citind valori de la o multitudine de senzori, poate comunica cu acesta prin magistralele seriale sau îl poate modifica controlând lumini, motoare sau alte elemente electrice active.
Wiring – este o arhitectură software open-source pentru programarea microcontrolerelor. Acesta permite crearea de software pentru a controla dispozitive conectate la o multitudine de microcontrolere, pentru a crea tot felul de software inovative, obiecte interactive sau alte proiecte.
Aceasta arhitectură software a fost creată cu gândul de a încuraja comunitatea de ingineri, de la începători la experți din întreaga lume și de a împărtăși idei sau experiențe, sau chiar de a lucra împreună pe anumite proiecte.
Processing – este un limbaj de programare, un mediu de programare și o comunitate online. Din anul 2001, processing a promovat educația software și alfabetizarea în tehnologie. Processing a fost creat inițial ca un software pentru schițe care avea ca scop să învețe utilizatori fundamentele programării calculatoarelor ȋntr-un context vizual, dar a evoluat ȋntr-un mediu de programare pentru profesioniști. La fel ca și Wiring, Processing este folosit de mii de studenți, cercetători, designeri și ingineri pentru a învăța, a crea prototipuri sau în pur și simplu în producție.
Proiectele Arduino pot funcționa singure fără a fi conectate la un dispozitiv exterior
și pot comunica cu un software ce rulează pe un calculator.
Placa Arduino poate fi construită de mână sau poate fi achiziționată asamblată, iar
software-ul pentru programare poate fi descărcat gratis. Scheme electrice și schema 49 CAD realizată în mediul de proiectare EAGLE sunt disponibile sub licență open-source și pot fi adaptate după cerințele utilizatorului fără probleme.
Comunitatea Arduino este foarte vastă incluzând grupuri specifice pentru anumite
tipuri de proiecte sau anumite nivele precum: începători, profesioniștii . Comunitatea oferă un
suport excelent tuturor celor care vor sa înceapă un nou proiect. De asemenea există pe site-ul oficial o multitudine de informați despre Arduino dar și tutoriale care te pot ajuta să înțelegi cum funcționează, se programează, dar și cum să conectezi un microcontroler Arduino ȋntr-un mediu pentru a realiza un proiect simplu sau unul mai complex.
În ultimii ani tot mai multe companii dezvoltă tool-uri care să comunice cât mai ușor cu Arduino. Două exemplele foarte bune sunt Android care are anumite librării și care facilitează dezvoltarea unor clase pentru comunicarea cu Arduino și Matlab care are un tool ce permite utilizatorului să creeze aplicații și un GUI pentru a comunica direct cu Arduino.
Pe lângă gama de microcontrolere, Arduino oferă și o mulțime de plăcuțe ce pot fi montate
pe plăcuța microcontrolerului și care aduc îmbunătățiri acestora, ca de exemplu posibilitatea conectării unui card, comunicarea prin Bluetooth sau conectarea unei cartele pentru a simula o conversație telefonică sau accesul la internet.
Arduino Mega 2560 este o placă microcontroler care este bazată pe microcontrolerul
ATmega2560. Placa este dotata cu 54 de ieșiri/intrări digitale dintre care 15 pot fi folosite ca
ieșiri PWM, 16 intrări analogice, 4 porturi seriale UART , un oscilator electronic de 16 MHz, o
conexiune USB, un jack de alimentare, un ICSP(In Circuit Serial Programming) și un buton de reset.
Aceasta placă este dotată cu tot ce are nevoie pentru a susține microcontrolerul și pentru a fi pusă în
funcțiune trebuie conectat la o sursă de tensiune sau la un calculator. Placa Arduino Mega este
compatibilă cu majoritatea shield-urilor care sunt destinate pentru Arduino Duemilanove sau Arduino Diecimila.
Microcontroller Atmega 2560
Tensiunea de funcționare 5V
Tensiunea de intrare recomandată 7-12V
Tensiunea de intrare minimă si maximă 6-20V
Pini digitali de intrare/iesire 54 din care 15 ofera iesiri PWM
Intrări Analogice 46
Curent debitat pe pinii de intrare/iesire 40mA
Curentul pe iesirea de 3.3V 50mA
Memoria Flash 256KB din care 8KB bootloader
Memorie SRAM 8KB
Memorie EPROM 4KB
Viteză oscilator 16MHz
Arduino mega poate fi alimentat prin USB sau de la o sursă de tensiune exterioară. În clipa în care o sursă de tensiune exterioară este conectată, aceasta va fi selectată automat. Placa poate funcționa în limitele 6 – 20 de volți, dar este recomandată o funcționare intre 7 și 12 volți deoarece, dacă este alimentat la mai puțin de 7 volți pinul de 5 volți va da mai puțin de 5 și placa va fi instabilă, iar dacă este aliment la mai mult de 12 volți, regulatorul de tensiune se va încălzi și va provoca pagube plăcii.
Pinii de alimentare sunt următorii:
VIN – alimentare cu tensiune a plăcii Arduino atunci când se folosește o altă alimentare exterioară. Se poate face alimentarea plăcii prin acest pin sau daca se face alimentarea folosind jack-ul de alimentare, aceasta se poate accesa prin acest pin.
3V3- pe acest pin este generată o tensiune de 3.3 volți de către regulatorul intern al plăcii iar curentul maxim care poate fi tras fără a provoca pagube este de 50 mA.
GND –pini de masă.
5V- acest pin scoate o tensiune regulată de 5 volți de la regulatorul de tensiune al plăcii.
IOREF – acest pin de pe placa Arduino oferă voltajul de referință la care lucrează microcontrolerul. Acest pin este folosit de anumite drivere care citesc valoarea de pe acest pin și selectează sursa de alimentară bună pentru acest microcontroler sau activează anumite circuite pentru a regla tensiunea la valoarea optimă.
Fig.3.1. Capsula cu pinii microcontrollerului Atmega2560
https://www.arduino.cc/en/Hacking/PinMapping2560
Fig.3.2. Schema electronică a placii de dezvoltare Arduino MEGA
https://www.arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf
Fiecare dintre cei 54 de pini digitali de pe Arduino Mega 2560 poate fi folosit ca intrare sau ieșire folosind următoarele funcții:
pinMode() – configurează pinul respectiv să se comporte ca ieșire sau ca intrare. Parametri acceptați de acesta funcție sunt: INPUT, OUTPUT, INPUT_PULLUP.
digitalWrite()- scrie o valoare HIGH sau LOW pe pinul digital
digitalRead()- citește valoarea de pe pinul respectiv care poate fi LOW sau HIGH
Toți pinii lucrează la 5 volți și pot genera sau accepta pe intrare un curent de maxim 40 mA de asemenea pe fiecare pin este câte un rezistor pull-up de 20-50 KΩ.
O parte dintre cei 54 de pini au funcții specializate :
Comunicare serială -Serial : 0-RX si 1-TX,Serial1: 19- RX si18-TX, Serial2:17-RX și 16-TX, Serial3: 15-RX si 14-TX . Acești pini sunt folosiți pentru a recepționa pe RX și a transmite pe TX date serial TTL. Pinii 1 și 0 sunt de asemenea conectați de pinii de pe circuitul de conversie USB-to-TTL bazat pe microcontrolerul ATmega16U2.
Întreruperi Externe : 2-intreruperea 0, 3-intreruperea 1, 18 – întreruperea 5, 19 – întreruperea 4, 20 – întreruperea 3, 21-intreruperea 2. Acești pini pot fi configurați pentru a genera o întrerupere pentru o valoare de LOW, pentru un front crescător sau descrescător sau pentru o schimbare de valoare.
PWM: pinii de la 2 la 13 și de la 44 la 46 generează ieșire PWM pe 8 biți. Acest lucru se face folosind funcția analogWrite(). Funcția analogWrite() acceptă ca 54 parametri pinul pe care trebuie să scrie și timpul de lucru care este o valoare de la 0 la 255.
SPI: 50-MISO,51-MOSI,52-SCK,53-SS acești pini suporta comunicare SPI folosind librăria SPI .
LED 13: În placa este integrat un led care este conectat la pinul digital 13 și acesta se aprinde cad pinul este în HIGH și este stins când pinul este în LOW.
TWI: pinii 20-SDA și 21-SCL suportă comunicare TWI folosind librăria Wire. Acești pini nu au aceeași poziție pe Arduino Duemilanove sau Diecimila deci nu se pot folosi cu shield-uri dedicate acestor microcontrolere.
Mega 2560 are 16 intrări analogice cu o rezoluție de 10 biți adică convertorul analog numeric este pe 10 biți. Predefinit intrările pot măsura valori de pana în 5 volți dar se poate modifica această valoare utilizând pinul AREF și funcția analogReference().
Mai sunt de asemenea și alți pini pe placă:
AREF: generează valoarea de referință a tensiunii pentru intrările analogice. Este folosit cu ajutor funcției analogReference().
Reset: Punând acest pin în LOW va reseta microcontrolerul. Acest pin este folosit pentru a conecta butonul de reset de pe un shield deoarece în cele mai multe cazuri acesta maschează butonul de reset de pe plăcuța Arduino.
Arduino Mega 2560 are mai multe posibilități de comunicare cu un computer, cu un alt
Arduino sau cu un alt microcontroler. Mega 2560 este dotat cu 4 porturi UART pentru comunicare
seriala TTL. Software-ul Arduino include un serial monitor unde se pot monitoriza date primite de la
microcontroler sau se pot trimite date către acesta.
Fig.3.3. Panoul comunicației seriale al softului Arduino
https://learn.adafruit.com/adafruit-arduino-lesson-5-the-serial-monitor/the-serial-monitor
Pentru a putea fi vizualizată fizic transmisia de date pe placa Arduino, sunt montate diode de tip LCD de stare care își schimbă starea în momentul când sunt transmise sau recepționate date. Acest lucru nu funcționează însă pentru pini 0 și 1.
Librăria SoftwareSerial face posibilă utilizarea oricărui pin de pe Arduino ca pin pentru comunicare serială.
ATmega2560 suportă de asemenea comunicare TWI și SPI, iar software-ul Arduino include
librăria Wire pentru a simplifica comunicarea folosind protocolul TWI și librăria SPI pentru a
simplifica comunicarea folosind protocolul SPI.
Arduino Mega 2560 poate fi programat cu ajutorul mediului de programare Arduino care
poate fi descărcat gratis de pe site-ul oficial.
ATmega2560 de pe placa Arduino Mega este livrat cu bootloader programat lucru care
permite încărcarea de cod pe microcontroler fără a avea nevoie de hardware adițional. Acesta
comunică folosind protocolul original STK500.
O altă metodă de programare care este mai dificilă este aceea de a ocoli bootloader-ul și a
programa microcontrolerul folosind pinii ICSP(In-Circuit Serial Programming).
De asemenea mediul de programare Arduino vine și cu o multitudine de exemple pentru a
ajuta utilizatori.
Fig.3.4. Interfața de programare a softului Arduino
http://4.bp.blogspot.com/-PbBHCLcSLd0/UG3nG62QK9I/AAAAAAAAAP4/rz0Zt6X-Kfc/s1600/2+Basic+Sketch.png
În loc de o apăsare a butonului de reset înainte de încărcarea unui program ,Arduino Mega 2560 este proiectat în așa mod încât acceptă să fie resetat de un software care rulează pe calculatorul la care este conectat. ATmega8U2 este conectat pe linia de resetare a ATmega2560
printr-un condensator de 100 de nanofarazi. În momentul când această conexiune este pusă în LOW, linia de reset stă destul de mult în LOW pentru a reseta cipul.
Acest lucru este folosit de software-ul Arduino pentru a permite încărcare de cod doar
prin apăsarea butonului încărcare în mediul de programare Arduino.
Atunci când un Arduino Mega 2560 este conectat la un computer care rulează un sistem de operare Mac sau Linux acestă se resetează de fiecare dată când o conexiune este făcută.
Arduino Mega 2560 are o siguranță resetabilă care protejează portul USB de pe calculator de supra-sarcină. Deși majoritatea calculatoarelor au propriul circuit de protecție, aceasta siguranță oferă un extra strat de protecție. Daca mai mult de 500mA trec prin portul USB, siguranța întrerupe automat legătura și o ține întreruptă până când supraîncărcarea este eliminată.
Dimensiunile maxime de lungime si lățime ale plăcii Arduino Mega 2560 sunt 10cm cu 5,25cm acestea incluzând conectorul USB și jack-ul de alimentare.
Placa este prevăzută cu găuri pentru a putea fi prinsă în șuruburi de o cutie sau de un suport.
Arduino Mega 2560 este proiectat în așa fel încât sa fie compatibil cu majoritatea shield-urilor
destinate pentru Arduino Uno, Diecimila sau Duemilanove. Pinii digitali de la 0 la 13 plus următorii
doi GND și AREF, intrările analogice de la 0 la 5, pinii de alimentare și cei de ICSP sunt în aceleași
poziții ca pe celelalte placi Arduino.
Acestea fiind spuse s-a ales folosirea unui microcontroler din clasa Arduino deoarece sunt foarte flexibile și se pot integra ușor în orice sistem și de asemenea datorită faptului că există suport oferit de producătorii pentru dezvoltatorii de aplicații.
Fig.3.5. Placa de dezvoltare Arduino Mega
https://www.arduino.cc/en/uploads/Main/ArduinoMega.jpg
SENZORI SI MODULE FOLOSITE
Senzor de detecție a apei
Senzorul de ploaie detectează apa care completează circuitele de pe pistele imprimate ale senzorului. Acest senzor atunci când detectează apă pe pistele imprimate ale senzorului poate oferi semnale de tensiuni logice (0 logic și 1 logic), dar și semnale analogice cu valori între 0-1024.
Fig.3.6. Senzor de detecție a apei
https://i2.wp.com/henrysbench.capnfatz.com/wp-content/uploads/2015/06/Arduino-Rain-Detector-Module.jpg
Este compus din două module, unul montat în afara automobilului pentru a fi în contact cu apa de la ploaie, și unul care interpretează datele și le convertește pentru interfațarea cu un microcontroler. Modul de colectare se interfațează cu cel ce detectează ploaia prin doi pini, și mai departe cu microcontrolerul prin alți patru pini:
GND – pin-ul de masă;
VCC – pinu-ul de alimentare;
AO – iesire analogică;
Do – iesire digitală.
Display LCD 16×2 cu modul I2C
Fig.3.7. Ecran LCD cu 2 linii și 16 de coloane
https://www.winstar.com.tw/uploads/photos/character-lcd-display-modules/WH1602J-TMI.jpg
Display-ul 20×4 este un dispozitiv care poate afișa text pe 4 linii. Culoarea textului este albă, lumina de fundal este albastră și cu un pin de stabilire de contrast. Acesta are o interfață paralelă, ceea ce înseamnă că microcontroler-ul ce îl controlează trebuie să manipuleze mai mulți pini în același timp, aceștia fiind:
Un pin pentru selecția registrului(RS) care controlează unde în memoria lcd-ului unde se scriu datele. Se pot selecta fie registrul de date, fie registrul de instrucțiuni unde lcd-ul caută următoare instrucțiuni.
Un pin pentru Scriere/Citire(R/W) care selectează modul de citire sau de scriere al lcd-ului.
Un pin de enable care permite scrierea în registre
Opt pini de date(D0-D7), stare acestor pini(HIGH/LOW) reprezintă modalitatea de scriere în registrii lcd-ului.
Un pin pentru contrast, care în general se leagă la un potențiometru
Doi pini pentru alimentare
Doi pini pentru alimentarea diodelor de tip LCD din spatele LCD
Procesul de control al LCD-ului implică scrierea datelor ce se doresc a fi afișate de acesta în regiștrii de date și a modului în care se doresc ca acestea să apară în registrii de instrucțiuni.
Modulul I2C pentru ecranele LCD este bazat pe un circuit integrat PCF8574 care este de fapt un expandor de intrare/ieșire pe 8 biți al magistralei cu doua linii, construit să funcționeze cu o alimentare cuprinsă între 2.5V-6V.
Fig.3.8. Modul I2C pentru ecrane LCD
http://www.dnatechindia.com/image/cache/catalog/i2c%20module-500×500.jpg
Circuitul printat al modulului a fost proiectat pentru a putea fi atașat direct pinilor ecranului LCD. Acesta are o formă compactă cu o dimensiune de aproximativ 4 pe 2 cm.
Modulul are o multitudine de functionalități înglobate:
Un led pentru a semnaliza alimentarea;
Patru pini pentru a furniza alimentarea și comunicarea cu microcontrollere (VCC, GND, SDA, SCK);
Opțiune pentru a alimenta backlight-ul LCD-ului;
Potențiometru pentru reglarea contrastului;
Trei iesiri de adresă.
Comunicația I2C functionează pe două canale bidirecțional deschise, SDA (Serial Data Line) și SCL (Serila Clock Line), cu ajutorul a două rezistente de pull-up. Voltajul folosit este de obicei 5V sau 3.3V.
Capabilitatea comunicației este de 112 dispozitive când folosim adresare pe 7 biți și de 1008 dispozitive cand folosim pe cea de 10 biți.
Cele doua linii de comunicație sunt colector deschis astfel că se folosesc rezistori de pull-up pentru a aduce liniile în 1 logic doarece dispoztivele sunt activate în 0 logic. Semnalul de date este o secvență de 8 biți, care după o secvență specială de pornire, acești primi biți indică adresa dispozitivului comandat de microcontroller și datele îi sunt trimise.
Fiecare dispozitiv are o adresă unică de identificare care este de obicei specificată în foaia de catalog a producătorului. Această adresă este folosită pentru ca microcontrolleru să știe către ce dispozitiv să trimită datele și ce registrii să apeleze.
Circuitul de intensiate a luminii
Fotorezistorul (sau rezistorul dependent de lumină) este un rezistor variabil controlat în intensiatea luminii. Rezistența fotorezistorului scade odată cu creșterea în intensitate a luminii, așadar prezintă fotoconductivitate.
Fiind compus dintr-un semiconductor cu o rezistență mare, acesta la întuneric poate avea o valoare a rezistenței de câțiva megaohmi, iar în prezența luminii valoarea rezistenței poate sa scadă până la valoarea de sute de ohmi. Dacă lumina care se propagă pe un fotorezistor depășeste o anumită frecvență, fotonii absorbiți de semiconductor produc destula energie ca electronii să se deplaseze pe canalul de conducție. Rezultatul sunt electroni liberi care conduc electricitate și rezistența scade.
Deoarece este o componentă pasivă, fotorezistorul nu are o joncțiune PN. Fotorezistivitatea unui fotorezistor poate sa depindă de temperatura ambientală. Fotorezistorul poate să exercite un timp de întârziere între expunerea la lumină și scăderea în rezistență, de obicei în jurul valorii de 10 milisecunde. Întârzierea de la trecerea de la mediu luminat la mediu întunecat poate să depășească și o secundă. [20]
Fig.3.9. Fotorezistor ceramic
Servomotoare
Servomotoarele sunt actuatoare rotative sau actuatoare liniare care permit control precis a unei poziții liniare, unghiulare și accelerația acestora.
Principiul mecanic al servomotoarelor este un servomecanism cu buclă închisă, care se folosește de feedback-ul poziției să își controleze mișcarea și poziția finală. Intrarea către controlul servomotorului este un semnal analogic sau digital care să reprezinte poziția axului de ieșire.
Motorul este împreunat cu un codificator care să furnizeze poziția și feedback-ul de viteză. Cele mai simple versiuni de servomotoare folosesc doar furnizarea poziției printr-un potențiometru și acest lucru duce la rotirea motorului la viteza maximă sau oprire.
Modelele mai sofisticate ale servomotoarelor folosesc codificatoare rotative să măsoare viteza axului de ieșire și controlează viteza motorului variabil. Cu aceste îmbunătățiri în combinație cu un algoritm de control, permite servomotoarelor să fie aduse la poziția de comandă mai repede și mult mai precis.
Pentru proiectul nostru folosim doua servomotoare TowerPro SG90 care au o greutate de numai 9 grame fiecare și dezvoltă un cuplu de 1.80kg/cm la o tensiune de alimentare de numai 4.8V. Dimensiunea servomotorului SG90 este de numai 23×12.2×29 mm.
Angrenajele și carcasa acestui sunt din plastic iar viteza de rotire la 4.8V este de 60 de grade la 120ms.
Fig.3.10. Servomotor SG90
https://c.76.my/Malaysia/tower-pro-sg90-micro-servo-9g-torque-arduino-techtronics-1606-03-techtronics@7.jpg
Modul coborare tensiune
Alimentarea circuitelor se realizează cu ajutorul unui alimentator de 12V DC pentru a simula tensiunea de alimentare a bateriei. Pentru circuitele care folosesc tensiuni de alimentare cu valoarea de 5V o să folosim module de coborator/ridicator de tensiune.
Modulul de coborator/ridicator de tensiune cu XL6009E1 este o formă compactă pentru a reduce tensiuni de intrare mai mari de 4V. Dimensiunea modulului este de numai 18 mm pe 12 mm, însă acesta este capabil să conducă un curent de aproximativ 3A la o tensiune de iesire de 3.3V.
Fig.3.11 Circuit imprimat al coboratorului/ridicatorului de tensiune cu circuit integrat XL6009E1
https://ardushop.ro/ro/home/382-modul-ridicarecoborare-tensiune-boost-buck-20w-de-la-5-32v-la-12-35v.html
Regulatorul XL6009 are o gamă largă de intrări, curent, convertor DC / DC care este capabil să genereze fie tensiuni pozitive, fie tensiuni de ieșire negative. XL6009 construit cu tranzistoare MOSFET de canal N.și are o frecvența fixă s oscilatorului, rezultatele arhitecturii în modul curent funcționare stabilă pe o gamă largă de aprovizionare si de ieșire.
Tensiunea de intrare poate să fie în plaja de 5V-32V cu o ieșire de 1.2V până la 35V.
Fig.3.12. Schema electrică a ridicatorului de tensiune XL6009E1
http://www.haoyuelectronics.com/Attachment/XL6009/XL6009-DC-DC-Converter-Datasheet.pdf
Fig.3.13. Schema electrică a coboratorului de tensiune XL6009E1
https://www.electroschematics.com/wp-content/uploads/2014/07/xl6009-module-circuit.png
Modul punte H L298
Modulul de punte H L298 are 2 canale si este o placă compactă care poate fi utilizată
pentru a conduce motoare. Acest modul are un circuit integrat L298 care este o punte H dublă. Modulul poate fi comandat simplu fară setarea vitezei motorului, însă dacă vream să realizăm și setarea vitezei motorului A și B putem să comandăm cu ajutorul unui semnal PWM pe intrările ENA și ENB.
Pe circuitul imprimat de pe modul se află și un regulator liniar de tensiune de 5V dar și opt diode de protecție atașate pe cele două ieșiri de comandă ale motoarelor. Funcționarea punții H este semnalată de către o diodă electroluminiscentă smd roșie care ne spune că avem alimentare.
Fig. 3.14 Modul de comanda a motoarelor L298
http://www.microsolution.com.pk/wp-content/uploads/2017/09/Dual-H-Bridge.jpg
Configuratia pinilor.
Motor A – terminalul de conectare al motorului A;
Motor B – terminalul de conectare al motorului B;
12V – conectarea alimentarii cu tensiunea de 12V;
GND – potentialul de 0 al circuitului (masa);
5V – iesirea de 5V ;
10 – ENA este pinul de PWM al motorului A;
3 – IN1 este intrarea care comanda motorul A intr-un sens;
5 – IN2 este intarea care comanda motorul A in sensul opus;
6 – IN3 este intrarea care comanda motorul B intr-un sens;
9 – IN4 este intarea care comanda motorul B in sensul opus;
11 – ENA este pinul de PWM al motorului B;
Fig.3.15. Schema electronică a modulului L298
http://wiki.sunfounder.cc/images/6/61/Motor2.png
Senzorul ultrasonic HC-SR04
Modulul HC-SR04 poate oferi detecția prin ultrasunete a obiectelor aflate la o distanță de minim 2cm și maxim 400cm fară a fi nevoie ca senzorul să fie în contact cu suprafața acestora și are o acuratețe de 3mm.
Acesta cu ajutorul circuitelor integrate pentru transmiterea și receptarea ultrasunetelor deja montate pe modul transmite, recepționează opt semnale care oscilează la o frecvență de 40kHz. Calculul distanței acestui senzor se face cu ajutorul raportului dintre durată de pulsației a frecvenței oscilante supra vitezei sunetului (340m/s) totul împarțit la jumătate.
Fig. 3.16. Modul senzor de distanță HC-SR04.
https://www.makerlab-electronics.com/my_uploads/2016/05/ultrasonic-sensor-HCSR04-1.jpg
Realizarea practică A Machetei
Schema bloc a proiectului
Fig. 4.1. Schema bloc a proiectului
Schema electrică a alimentarii
Circuitul de alimentare este format dintr-un alimentator de 12V/3A care este înfiletat în terminalul cu două contacte J1. Acesta alimentează două coborâtoare de tenisune, care coboară tensiunea la 7V pentru a alimenta plăcile de dezvoltare Arduino MEGA și Arduino UNO R3.
Coboratorul de tensiune U9 oferă o tensiune de 5V necesară pentru alimentarea servomotoarelor ștergatoarelor automate. Am decis să folosim un coborâtor separat deoarece consumul servomotoarelor este relativ semnificativ față de restul sistemului și evitam astfel licărirea LCD și nefuncționarea propice a plăcilor de dezvoltare.
Fig. 4.2. Schema convertoarelor de tensiune
Schema electrică a modulului de ștergatoare automate
Circuitul este format din două servomotoare comandate prin PWM de către placa de dezvoltare Arduino Mega numai atunci când intarea analogică depășește pragul impus în cod pentru a acționa servomotoarele care se opresc când nu mai este prezentă apa.
Alimentarea servomotoarelor se face separat de către un coborâtor de tensiune dedicat pentru acestea.
Senzorul de ploaie are o ieșire analogică și una digitală. Motivul pentru care am ales ieșirea analogică este faptul că putem rafina procesul de detecție a apei astfel încât să obținem performanțe cât mai mari și o masură cât mai exactă.
Fig. 4.3. Schema electrica a senzorului automat de ploaie
Codul modulului
#include <Servo.h> // includem biblioteca servomotoarelor.
Servo servo1; // definim primul servomotor
Servo servo2; // definim al doilea servomotor
int pos;
void setup()
{
servo1.attach(4); // definim pinul 4 pentru primul servomotor
servo2.attach(5); // definim pinul 5 pentru al doilea servomotor
}
void loop()
{
int sensorPloaie = analogRead(A1); //citirea senzorului se face pe pinul analogic A1
if (sensorPloaie < 400) // pragul pentru pornirea ștergatoarelor
{
for (pos = 0; pos <= 180; pos += 20) // bucla crescătoare pentru servomotoare cu pas de 20 de grade;
{
servo1.write(pos);
servo2.write(pos);
delay(15); // așteaptă 15 milisecunde să ajungă servomotoarele la poziție
}
for (pos = 180; pos >= 0; pos -= 20)
{ // goes from 180 degrees to 0 degrees
servo1.write(pos);
servo2.write(pos);
delay(15); // așteaptă 15 milisecunde să ajungă servomotoarele la poziție
}
} else
{
servo1.write(0);
servo2.write(0);
}
Serial.println(sensorPloaie);
}
Modulul senzorilor de parcare
Circuitul senzorilor de parcare este format din doi senzori HC-SR04 amplasați pe o machetă în față și în spate pentru a face detecția obiectelor. Cu ajutorul vitezei sunetului și a oscilației de 40kH a senzorilor putem determina o formulă pe care sa o adăugăm în cod pentru a obține distanța exactă a unor obiecte cu doar o toleranță de trei milimetri.
La momentul detecției unui obiect la mai puțin de cincisprezece centimetri, placa de dezvoltare comandă o punte H care pornește un motor ce simulează pornirea pompei de frană pentru a asigura frânarea.
Fig. 4.4. Schema senzorilor ultrasonici de parcare
Codul modulului
#define trigPin1 23
#define echoPin1 22
#define trigPin2 25
#define echoPin2 24
#define comanda 7
long duration, distance, UltraSensor1, UltraSensor2;
char data;
String SerialData=””;
void setup()
{
Serial.begin (9600);
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(comanda, OUTPUT);
digitalWrite(comanda,LOW);
}
void loop()
{
SonarSensor(trigPin1, echoPin1);
UltraSensor1 = distance;
SonarSensor(trigPin2,echoPin2);
UltraSensor2 = distance;
while(Serial.available())
{
delay(10);
data=Serial.read();
SerialData+=data;
}
if(UltraSensor1 <=10)
{
digitalWrite(comanda,HIGH);
}
else
{
digitalWrite(comanda,LOW);
}
if(UltraSensor2 <=10)
{
digitalWrite(comanda,HIGH);
}
else
{
digitalWrite(comanda,LOW);
}
}
void SonarSensor(int trigPinSensor,int echoPinSensor)
{
digitalWrite(trigPinSensor, LOW);
delayMicroseconds(2);
digitalWrite(trigPinSensor, HIGH);
delayMicroseconds(10);
digitalWrite(trigPinSensor, LOW);
duration = pulseIn(echoPinSensor, HIGH);
distance= (duration/2) / 29.1;
}
Modulul de afișare
Fig.4.5. Schema ecranului LCD
Modulul de afișare este format dintr-un LCD de 16 coloane și două linii căruia îi este atașat un modul I2C pentru a afișa valori și text doar prin conectarea a două fire.
Codul modulului
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
void setup()
{
lcd.init(); // initialize the lcd
lcd.init();
analogReference(INTERNAL);
lcd.setCursor(0,0); ////afiseaza pe coloana 1 si linia 1
lcd.print("TEMP.EXT.:");
lcd.setCursor(0,1); //afiseaza pe coloana 1 si linia 2
lcd.print("TEMP.INT.:");
}
void loop ()
{
lcd.setCursor(11,0); // afiseaza pe coloana 11 linia 1
lcd.print(temperature1);
lcd.setCursor(11,1); //afiseaza pe coloana 11 linia 2
lcd.print(temperature2);
delay(500);//citeste valorile si le afiseaza de doua oir pe secunda
Sistemul automat pentru faruri
Acest sistem este bazat pe un principiu foarte simplu utilizând o fotorezistență în combinație cu un rezistor pentru a forma un divizor de tensiune care își schimbă valoare în funcție de nivelul de lumină al mediului ambiental.
Pentru a simula farurile folosim diode electroluminiscente. Folosim patru pentru a simula pozițiile și farurile mașinii și încă două pentru a simula pozițiile din triplele mașinii.
Fig.4.6. Circuitul de achiziție a intensității luminii
Valoarea tensiuni de ieșire din divizorul rezistiv format din fotorezistență și rezistență, intră în intrarea analogică A0 a plăcii de dezvoltare și este prelucrată astfel încât să comute farurile mașinii atunci când lumina ambientală este foarte scăzută.
Codul sistemului este:
const int Fotorezitor = A0; //intrarea analogică a plăcii de dezvoltare
const int Lumini = 52; // Pin-ul de comandă al luminilor
const int Pozitii = 53; // Pin-ul de comandă al Pozițiilor
int value; // stocăm valoararea fotorezistorului (0-1023)
void setup()
{
pinMode(Lumini, OUTPUT); // setam pinul 52 ca ieșire
pinMode(Pozitii, OUTPUT); // setam pinul 53 ca ieșire
pinMode(Fotorezitor, INPUT);// setam pinul A0 ca intrare
}
void loop()
{
digitalWrite(Pozitii, HIGH); //alimentăm farurile
value = analogRead(Fotorezitor); // citim valoarea fotorezistorului
if (value > 25) //condiția de aprindere a farurilor
{
digitalWrite(Lumini, LOW); //oprim alimentarea farurilor
}
Else
{
digitalWrite(Lumini, HIGH); //alimentăm farurile
}
delay(100); //repetam măsurarea
}
Deoarece ieșirea digitală a plăcii de dezvoltare debitează numai 30mA, riscăm să o forțăm dacă vrem să alimentăm mai mult de o diodă electroluminiscentă de 5mm care are un consum de aproximativ 20 mA. Astfel că folosim tranzistoare NPN pe post de întrerupator pentru a alimenta blocurile de lumini folosite.
Schema blocului de lumini
Sistemul pentru măsurarea temperaturii
Pentru măsurarea temperaturii folosim un senzor LM35 împreună cu o placă de dezvoltare Arduino UNO R3. Măsuram valoare temperaturii și setăm 6 praguri de ieșire în funcție de temperatura care să ajungă la Arduino MEGA ca să comande prin PWM viteza ventilatorului.
Fig. 4.8. Schema modulului de temperatura
Codul sistemului
#include <LiquidCrystal.h>
#define ADCPIN 1 //definim pin-ul pe care se realizează conversia analog digitală
#define ADCPIN 2 //definim pin-ul pe care se realizează conversia analog digitală
const int A = 2;
const int B = 3;
const int C = 4;
const int D = 5;
const int E = 6;
const int F = 7;
double temperature1 = 0; //inițializăm variabila unde stocăm valoarea temperaturii
double temperature2 = 0; //inițializăm variabila unde stocăm valoarea temperaturii
void setup()
{
analogReference(INTERNAL); //setăm referința voltajului pe cea internă de 1.1V
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
}
//Loop Block, this code runs continously
void loop()
{
//Citim canalul analog-digital
temperature1 = analogRead(ADCPIN1);// calculăm temperatura în funcție de valoarea pinului analogic
temperature2 = analogRead(ADCPIN2);// calculăm temperatura în funcție de valoarea pinului analogic
//Vin = ADCresult*Vref/(2^10)
Temperature1 = temperature1*1100/(1024*10); //Temp(C) = Vin/(10) = ADCresult*Vref/(1024*10)
Temperature2 = temperature2*1100/(1024*10); //Temp(C) = Vin/(10) = ADCresult*Vref/(1024*10)
if(temperature1 <0 )
{
digitalWrite(2, HIGH);
}
else
{
digitalWrite(2, LOW);
}
if(temperature1 >0; temperature <10 )
{
digitalWrite(3, HIGH);
}
else
{
digitalWrite(3, LOW);
}
if(temperature1 >10;temperature1<20 )
{
digitalWrite(4, HIGH);
}
else
{
digitalWrite(4, LOW);
}
if(temperature1 >20 ;temperature1 <25 )
{
digitalWrite(5, HIGH);
}
else
{
digitalWrite(5, LOW);
}
if(temperature 1>25 ;temperature1 <30 )
{
digitalWrite(6, HIGH);
}
else
{
digitalWrite(6, LOW);
}
if(temperature >30 😉
{
digitalWrite(7, HIGH);
}
else
{
digitalWrite(7, LOW);
}
delay(1000);
Modulul de comandă a motoarelor
Fig.4.9. Schema puntii H
Modulul de comandă a motoarelor folosește o punte H dublă care este comandată de către placa de dezvoltare Arduino MEGA. Ea este alimentată cu 12V și are doua ieșiri care comandă un ventilator și un motor care simulează pronirea servofrânei. Viteza ventilatorului este setată de către placa de dezvoltare prin PWM în funcție de temperatura citită de către modulul de temperatură. Motorul este comandat atunci când pe modulul senzorilor de parcare este detectată o distanță mai mică de 10 de cm și astfel pornește motorul.
Codul modulului
#define enA 11o
#define in1 10
#define in2 9
#define enB 6
#define in3 8
#define in4 7
void setup() {
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
}
void loop() {
digitalWrite(in4,HIGH);
if( comanda ==HIGH)
{
digitalWrite(in1, HIGH);
}
else
{
digitalWrite(in1, LOW);
}
if(40 ==HIGH)
{
analogWrite(enB, 40);
}
else
{
analogWrite(enB, 0);
}
if(41 ==HIGH)
{
analogWrite(enB, 80);
}
else
{
analogWrite(enB, 0);
}
if(42 ==HIGH)
{
analogWrite(enB, 120);
}
else
{
analogWrite(enB, 0);
}
if(43 ==HIGH)
{
analogWrite(enB, 160);
}
else
{
analogWrite(enB, 0);
}
if(44 ==HIGH)
{
analogWrite(enB, 200);
}
else
{
analogWrite(enB, 0);
}
if(45 ==HIGH)
{
analogWrite(enB, 240);
}
else
{
analogWrite(enB, 0);
}
}
Schema completa a machetei
Fig. 4.10. Schema completă a machetei
Bibliografie
[1]Alder, Dennis (2004). „Packard”. MBI Publishing. p. 76.
[2]Christian Laugier – „Motion Generation and Control for Parking an Autonomous Vehicle”
[3]Darren Sawicz – „Hobby Servo- Fundamentals” –servomotoare
[4]Robofun – „Carte Arduino Începători”
[5]Sivak, M., Schoettle, B., and Flannagan, M.J. „Mercury-free hid headlamps: glare and color rendering” – November 2004
[6]Steven Daly – „Automotive Air Conditioning and Climate Control Systems„
[7]The Automobile (weekly), Thursday, December 27, 1906, p.910
Referințe Web
[8]http://www.arduino.cc
[9]https://books.google.ro/books?id=YuQDAAAAMBAJ&pg=PA59&dq=first+power+steering+system+on+an+automobile+1876+Fitts&redir_esc=y#v=onepage&q&f=false
[10] http://www.my-cardictionary.com/accessories/central-locking-system.html
[11] http://www.caranddriver.com/comparisons/2007-audi-rs-4-page-2
[12] https://itstillruns.com/electrochromatic-rearview-mirror-8309260.html
[13]https://deepblue.lib.umich.edu/bitstream/handle/2027.42/55201/UMTRI-2004-37.pdf?sequence=1
[14]http://auto.howstuffworks.com/wiper4.htm
[15]https://www.gpspower.net/gps-news/330038-evolution-car-navigation-technology-pictures.html
[16]https://app.box.com/s/u7r1haswj6vh84k9ft1l56k7s3sl6me4
[17]https://books.google.ro/books?id=b92LgC3IUTUC&pg=PA2&dq=Nash+air+conditioning+system&redir_esc=y#v=onepage&q=Nash%20air%20conditioning%20system&f=false
[18]https://www.u-blox.com/sites/default/files/products/documents/NEO-6_DataSheet_(GPS.G6-HW-09005).pdf
[19]http://wiki.seeedstudio.com/images/4/46/SIM800L_Hardware_Design_V1.00.pdf
[20]http://www.resistorguide.com/photoresistor/
ANEXE
CD / DVD
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Șef Lucrări Dr. Ing. Răzvan-Gabriel Prejbeanu Iulie 2018 CRAIOVA Sistem complex îmbarcat pentru controlul unui autovehicul Absolvent Moraru Giorgian… [310755] (ID: 310755)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
