Bogdan-Adrian ENE (66872) - Grave Digger (Monster Car)

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta intr-o masina controlata de la distanta prin bluetooth de pe un dispozitiv android. Ideea de la care am pornit mi-a venit din copilarie cand aveam o astfel de masina si cand se strica/pierdea telecomanda nu mai putea fii folosita.

Voi folosi componente de la o masina cumparata: roti, sasiu dar motoarele de directie si servomotor le voi cumpara separat. Masina v-a avea si 2 leduri cand este pornita(farurile), 2 leduri de stop, 2 leduri de semnalizare si un led pentru marșarier .

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează.

Masina o sa fie controlata prin intermediul aplicatiei de pe telefon prin bluetooth, HC-05 in modul slave le receptioneaza si transmite datele la microcontroller care le interpreteaza (comunica prin interfata seriala in modul USART).

Hardware Design

Lista piese:

Componenta Cantitate
Placa de baza + (componentele obligatorii) 1
9.7:1 Metal Gearmotor 25Dx48L mm HP 6V 2
Driver Motor VNH2SP30 2
Servomotor de Metal 12g ES08MA 1
Modul Bluetooth HC-05 1
Leduri 7
Masina Sasiu (Carrfour) 1
Fire mama-mama 20
Fire mama-tata 20
Fire tata-tata 20
Acumulator LiPo Turnigy 1800 mAh 2S 40C (7.4 V) 1
Coliere Plastic 50 buc
Scoci 1 buc

Schema proiectului

Mediu de dezvoltare:

  • Programmers Notepad [WinAvr]
  • Android studio

Biblioteci folosite:

  • avr/io.h
  • util/delay.h
  • stdlib.h
  • string.h

Rezultate Obţinute

M-am apucat prin inlocuirea motoarelor masinii cumparate cu motorul de servodirectie si cela doua motoare pololu, am decupat in plasticul masinutei cu o freza electrica dupa care am taiat axul rotilor si am facut gaura cu bormasina in ele pentru a lipi motoarele cu poxilina.

Motoarele puse in suporti le-am legat cu colere de plastic de cadrul masinii. In cazul servo-ului am facut o adaptare cu niste suruburi pentru a il face sa miste axul rotilor din fata.

Cele doua motoare le-am conectat prin drivere la timerul 0, iar servomotorul la timer 1. Pentru motoare variez valoarea registrelor OCR0A si OCR0B pentru a seta factorul de umplere intre 0 si 255. Timerul 0 este no prescaling iar timerul 1 pentru servo are prescaler de 64 cu topul la 4999 Hz(ICR1). Aplicatia android functioneaza pe doua threaduri, un main thread care are grija de input(butoane, switchuri, functii, prelucrare) si un thread care este intr-o bucla infinita si imi trimite stringul cu datele concatenate, eu avand niste functii de parsare facute de mine in libraria bluetooth prin care imi transform in valori concrete (integer).

Masina dispune de semnalizare (stanga, dreapta), faruri, bec de marșarier si stopuri.

Directia masinii este controlata prin accelerometru(axa y) si am mapat-o cu o functie liniara peste intervalul in care-mi actioneaza mie servomotorul 360-445 cu mijlocul pe 402. Viteza se controleaza de la 0 la 255 printr-un slider, pedala de acceleratie face masina sa mearga daca ridici degetul de pe ea, aceasta franeaza pana se opreste, toggle pentru selectarea modului de mers fata/spate. De pe start pornesti threadul care face write cu stringul respectiv pe bluetooth si tot de pe start il si pui pe pauza.

Concluzii

A fost cel mai interesant proiect de pana acum din facultate, nivelul de munca in creearea hardware a fost extrem de mare, cat si pentru creearea aplicatiei android, aplicatia pentru microcontroler este destul de simpla dupa ce te prinzi de logica cautand in datasheet si pe AVRfreaks.

Pot spune ca sentimentul cand faci ceva de la 0, hardware si software, iar dupa merge exact cum te-ai asteptat sa mearga, chiar mai bine, este de nepretuit.

Download

Bibliografie/Resurse

Puteti descarca pdf de aici : PDF

pm/prj2017/ddragomir/bogdan_adrian.ene.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0