Table of Contents

Prodan Cristian - Masinuta teleghidata

Autorul poate fi contactat la adresa: FIXME

Introducere

Proiectul consta in construirea unei jucarii clasice, indragita de toata lumea si anume o masinuta controlata prin telecomanda. Am ales acest proiect intrucat am fost atras de mic de aceste jucarii si nu am avut deseori ocazia de ma juca cu una. Profit de oportunitatea oferita de acest proiect pentru a construi ceva care sa-mi satisfaca o fascinatie de mult inradacinata in mine. Pe de alta parta un astfel de proiect ar incanta persoanele de orice varsta de la copii pana la adulti si ar reprezenta un mod perfect de a se relaxa.

Descriere generala

Telecomanda si masinuta vor comunica prin semnale bluetooth. Telecomanda va genera prin cu ajutorul unui emitator bluetooth semnale care vor fi receptione de un receptor bluetooth. In realitate modulele bluetooth vor fi setate sa comunice master-slave. In functie de semnalele receptionate microcontrolerul ATMEGA324 va comunica driverului de motoare modul in care acesta ar trebui sa controleze motoarele. Telecomanda va avea 4 butoane care vor controla cat de rapid se misca masinuta. Fiecare buton va incrementa viteza cu 25% fata de valoarea precedenta. Doua butoane vor fi folosite pentru a putea merge in spate si vor fi 2 viteze. In plus, vor mai fi inca doua butoane care vor controla daca masinuta ar trebui sa se duca stanga sau dreapta.

FIXME De actualizat schema bloc FIXME

Hardware design

Piese de baza(preturile sunt rotunjite):

Piesa Bucati Pret(pentru toate bucatile in lei)
PCB 2 20
ATMEGA324A-PU 2 27
USB-B 2 4
16MHZ QMIM016 2 2
Diode ZENER 4 2
Led EL333 4 1
K1X10 WSL040 4 24
K2X10 2 3
Butoane 4 1
Rezistenta 100Ω 4 1
Rezistenta 470Ω 6 1
Rezistenta 1,5kΩ 2 0.5
Rezistenta 10kΩ 2 0.5
Condensator 100uF 2 0.5
Condensator 100nF 6 2
Condensator 15pF 4 1
Soclu DIP40 dil40emf 2 6
Polyfuse 2 5

Piese auxiliare(doar pisele utilizate la masina si telecomanda):

Piesa Bucati Pret(lei) Magazin Link(posibil sa nu mai fie valabil)
Modul cu Driver de Motoare Dual L298N Rosu 1 10 Optimus Digital Driver L298N
Sasiu masina cu 4 motoare, 4 roti si un suport de 4 baterii R6 1 80 Optimus Digital Sasiu masina
Modul Bluetooth HC-05 2 64 Robofun -
Butoane 8 8 Optimus Digital Buton
Cablaj de Test 120×170 mm 1 8 Optimus Digital Cablaj de test 120x170mm
Cablaj de Test 140×90 mm 1 6 Optimus Digital Cablaj de Test 140x90 mm
Buzzer Pasiv de 5 V 1 2 Optimus Digital Buzze pasiv 5V
Cablu Albastru USB AM la BM 50 cm pentru Arduino MEGA și UNO 1 6 Optimus Digital Cablu
LED-uri 5mm (2 galbene, 2 rosii, 2 albe - pun link pentru unul dintre ele) 6 3 Optimus Digital LED Alb
LED RGB cu Catod Comun 1 1 Optimus Digital LED RGB cu Catod Comun
Stabilizator de tensiune 7805 1 - Aveam deja unul -
Rezistor 0.25W 470Ω 2 0.2 Optimus Digital Rezistor 470Ω
Rezistor 0.25W 1KΩ 2 0.2 Optimus Digital Rezistor 1KΩ
Rezistor 0.25W 2.2KΩ 2 0.2 Optimus Digital Rezistor 2.2KΩ
Rezistor 0.25W 4.7KΩ 2 0.2 Optimus Digital Rezistor 4.7KΩ
Rezistor 0.25W 10KΩ 5 0.5 Optimus Digital Rezistor 10KΩ
Fire Colorate Mamă-Mamă (10p) 10 cm 2 6 Optimus Digital Cabluri mama-mama 10cm
Fire Colorate Mama-Tata (10p) 10 cm 2 6 Optimus Digital Cabluri mama-tata 10cm
Fire Colorate Tată-Tată (10p, 15 cm) 1 3.5 Optimus Digital Cabluri tata-tata 15cm
Suport baterii 4 x R6 1 5 Optimus Digital Suport baterii 4 x R6
Baterii DURACELL 1.5V 8 30 Altex -
Baterie PHILIPS 9V 1 8 Altex -
Condensatoare 100uF 2 - Aveam deja -

Astea sunt strict componentele folosite in proiect.
Bateriile DURACELL folosite pentru masina au fost surprinzator de bune. Facusem teste cam timp de 2 ore inainte de PM Fair, iar la eveniment a fost activa cam jumatate de ora si bateriile nu se consumasera inca.

Schema electrica

In urma achizitionarii pieselor am construit urmatoarea schema electrica. Planul initial era ca rotile din fata sa fie doar de directie, iar cele din spate sa imprime viteza masinutei. Din pacate sasiul pe care l-am gasit nu are un cadru pentru a-mi putea realiza planul astfel ca voi incerca sa controlez rotile in paralel. Mai exact voi grupa rotile din partea dreapta si cele din partea stanga pentru a putea realiza mai usor virajul la dreapta sau stanga. Mai exact, cand voi vira la dreapta, rotile din partea dreapta vor incetini, iar cele din stanga vor “impinge” mai tare pentru a roti masinuta.

Schema electrica a telecomenzii

Schema electrica a masinutei

Schema a fost realizata in EAGLE si am folosit urmatoarele biblioteci:
-atmel(EAGLE PCB)
-battery(EAGLE PCB)
-crystal(EAGLE PCB)
-eagle ltspice(EAGLE PCB)
-SparkFun-Electromechanical-Parts(SparkFun)
-supply1(EAGLE PCB)
-switch-omron(EAGLE PCB)
-diy-modules(https://www.diymodules.org/eagle#downloads)

Software design

Telecomanda si masina comunica prin bluetooth. Modul in care modulele bluetooth sunt conectate a fost realizat in prealabil, setand unul din module ca si master si legandu-l de celalalt modul prin comanda BIND, pentru a nu exista posibilitatea ca modulul meu master sa se conecteze la alte module bluetooth din zona. Pentru a vedea comenzile precise consultati datasheet-ul modulului bluetooth HC-05.

Modulele bluetooth comunica cu ATMEGA324 prin interfata USART. Am setat aceasta interfata la caracteristicile de baza ale modulului HC-05 si anume baudrate 38400, un bit de stop si fara biti de paritate. In momentul in care apas un buton pe telecomanda acesta este transmis bluetooth-ului master care este trmis modulului slave, care trimite caracterul primit la ATMEGA324 de pe masina. Acolo, in functie de caracterul primit masinuta isi seteaza sensul motoarelor si tensiunea cu care motoarele vor fi alimentare.

Masina dispune de 4 viteze pentru acceleratie frontala, 2 pentru marsalier. De asemenea toate vitezele mentionate anterior pot fi combinate cu viraje la stanga sau la dreapta. Am decis sa nu implementez doar rotatie dreapta sau doar stanga intrucat nu ar avea sens din moment virajele le iau prin oprirea rotilor pe o anumita parte.

Setarea vitezei o realizez prin PWM folosindu-ma de de doua din cele 3 timere disponibile si anume de TIMER0 si TIMER2.

In functie de comanda primita ledurile de pe masina se vor aprinde corespunzator. De exemplu daca masina vireaza la dreapta ledurile de pe partea dreapta se vor aprinde si stinge pentru a semnaliza acest lucru. Similar pentru celelalte cazuri. Daca nu primeste nici o comanda aceasta va “sta pe avarii”.

Daca masina se “plictiseste”(nu primeste comenzi pentru o perioada circa 20 secunde) aceasta va incepe sa se miste (incercand sa se intoarca in punctul din care a plecat) pentru a nu amorti si a atrage atentia utilizatorului ca nu are ce face.

Rezultate obtinute

Am reusit sa duc proiectul la bun sfarsit. A fost exeprienta interesanta, in mod special lipitul pieselor. Este pacat ca un astfel de proiect este plasat intr-o perioada foarte aglomerata cu multe alte proiecte alaturi intrucat strica experienta din cauze lipsei de timp. Voi adauga poze/filmulete cu proiectul dupa ce se va termina sesiunea(daca imi voi mai aminti :-) ).

Jurnal

1. 12 aprilie - lipirea primei placute
2. 19 aprilie - Comandarea pieselor necesare
3. Sfarsit de aprilie/ inceput de mai - construirea sasiului masinutei
4. 11 mai - Construirea telecomenzii + primul prototip al masinii
4. 14 mai - Comandarea altor piese lipsa
5. 18 mai - Ultimele lipituri
6. 19-23 mai - perioada in care am scris codul
7. 24 mai - Prezentare la PM Fair
8. 25 mai - Ultimele edituri la pagina de wiki :-)

Bibliografie/Resurse

Sursele scrise de mine: prodan_cristian_cod_telecomanda_masina.zip
Singurele fisiere de care m-am mai folosit au fost cele oferite la laboratoarele de PM.
Sursele complete(cu tot cu fisierele din laboratoare): prodan_cristian_surse_complete.zip

Linkuri utile care m-au ajutat:
https://www.instructables.com/id/How-to-Configure-HC-05-Bluetooth-Module-As-Master-/
https://www.sparkfun.com/datasheets/Robotics/L298_H_Bridge.pdf
http://www.electronicaestudio.com/docs/istd016A.pdf

prodan-cristian-masinuta-teleghidata.pdf - schema bloc
prodan-cristian-masinuta-teleghidata_schema_electica.pdf - schema bloc + electrica
prodan-cristian-masinuta-teleghidata-versiune-finala.pdf -adaugat cod, poze si jurnal