Avram Ana-Maria - Sound Follower

Introducere

Sound Follower este o masinuta ghidata prin sunet. Aceasta se va deplasa dreapta sau stanga in functie de directia din care este emis sunetul. Detectarea acestei directii se va face prin intermediul a doua microfoane.

Descriere Generala

Ghidarea masinutei functioneaza in felul urmator:

  1. Se emite un sunet pe o anumita frecventa stand la o distanta rezonabila de masina.
  2. Microfoanele inregistreaza tot zgomotul din jur si il trimit microprocesorului.
  3. Microprocesorul compara cele doua semnale in functie de amplitudine si determina directia suneteului transmis.
  4. Microprocesorul porneste motoarele, prin drivere, astfel incat masina sa mearga inspre directia determinata la pasul anterior.

Schema Bloc

Schema Sound Follower

Descriere

Daca citesti acest mesaj inseamna ca nu am modificat inca schema bloc.

Masinuta are 2 microfoane PDM care sunt legate direct la pinii de clock si de date de pe USART0 si USART1. Cele 2 motoare sunt folosite in felul urmator: primul roteste rotile din fata stanga/dreapta, al doilea roteste rotile din spate fata/spate. Fiecare motor e legat la un driver de motor care e legat la randul sau la placuta. Motoarele au nevoie de alimentare la 5 volti, microfoanele la 3,3 volti, asa ca am pus si regulatorul de tensiune + condensatorul lui. Microprocesorul se alimenteaza cu 5 volti de la o baterie externa. Motivul pentru care alimentez placuta la baterie externa este faptul ca pinul PD2, folosit pentru USB, este si pinul de date pe USART1, ceea ce inseamna ca nu pot primi date de la microfon cand am usbul bagat in placuta. Bonus, alimentarea de la baterie inseamna si ca nu trebuie sa alerg cu laptopul dupa masina.

Hardware Design

Lista de Piese

*Piese de baza*

  • ATMEGA324PA-PU x1
  • Condensator neelectrolitic 15pF x2
  • LED EL333 x2
  • Bareta pini K1X10 WSL040 x1
  • Quartz 16MHz x1
  • Rezistenta 10K x1
  • Rezistenta 1K x2
  • Rezistenta 100R x2
  • Rezistenta 470R x3
  • Rezistenta 1,5K x1
  • PUSHBUTTON x2
  • Conector USB B Cvilux x1
  • Dioda Zener x2
  • Condensatoare 100nF x3
  • Jumper x1
  • Polyfuse x1
  • Soclu x1
  • Condensator 100u x1

*Piese aditionale*

  • Microfon x2
  • Motor PWM x2
  • Driver motor PWM x2
  • Carcasa masina x1
  • Roti masina x4
  • Cabluri mama-mama x25
  • Baterie externa x1
  • Rezistenta 1K-1W x2
  • Cablu USB x1
  • Regulator tensiune 5V la 3V3 x1
  • Condensator 10u x1

Schema Electrica

Schema Electrica Sound Follower

Software Design

Din punct de vedere software, proiectul se imparte in 2 parti: analiza rezultate si pornit motoare + colectare si prelucrare date microfon.

Partea intai: colectare si prelucrare date microfon Memoria disponibila e destul de mica pe Atmega, indeajuns incat sa nu pot tine intr-un vector toate datele primite de la cele 2 microfoane pe o perioada suficient de mare de timp. Astfel incat am fost nevoita sa fac calculele pentru amplitudinile semnalelor intre doua citiri succesive de date. Am facut si niste optimizari de cod( operatii de shiftare biti in loc de impartiri), dar am si modificat baudrate-ul astfel incat sa dau un clock prin USART microfoanelor care sa imi si permita un timp mai mare de prelucrare a datelor.

Partea a doua: analiza rezultate si pornit motoare Asta a fost partea simpla. Am facut metode de pornire a masinutei in diferite directii si le apelaz pe cele de care aveam nevoie in functie de rezultatele din partea intai. Daca sunetele inregistrate de la microfoane nu depasesc un prag de zgomot atunci masina nu se misca. Daca sunetele de la microfonul 0 au fost mai mari cu cel putin un prag decat cele de la microfonul 1, masina merge la stanga. Masina merge la dreapta, in cazul invers.

Rezultate Obţinute

Am terminat doua demouri: unul pentru un singur microfon si celalalt cu ambele microfoane. Primul demo are ca scop demonstarea functionalitatii unui singur microfon: faptul ca masina analizeaza datele de la microfon si porneste doar daca “aude” sunet peste nivelul de zgomot. Al doilea demo are ca scop demonstrarea functionalitatii de determinare a directiei: masina porneste si face stanga sau dreapta in functie de microfonul care aude sunetul mai tare.

Concluzii

  1. NU conecta microfoane de 3,3V la 5V
  2. NU conecta microfoane de 3,3V la 5V
  3. Serios, mai citeste o data datasheetul
  4. Gandeste de minim 5 ori inainte sa comanzi piese
  5. Ia de 3 ori mai multe piese de care ai nevoie si pe care le poti arde usor
  6. Doar pentru ca un program nu da eroare nu inseamna ca a terminat cu succes ceea ce avea de facut(I'm looking at you HIDBootFlash.exe)
  7. Puterea prieteniei. Fara gluma. Daca nu aveam prieteni sa imi faca flash la PMfair cu versiunea buna a codului meu, nu aveam ce sa prezint.

Download

Daca citesti acest mesaj inseamna ca nu am terminat de adaugat toate resursele.

Jurnal

  • Primit placuta cu o luna mai tarziu decat restul :-(
  • Facut schema electrica si comandat piese aditionale specifice proiectului
  • Lipit placuta si mers la laborator pentru bootloader
  • Primit piese aditionale
  • Constatare ca nu am luat roti m( m( m(
  • Lipit motoare
  • Scris si testat cod pentru motoare
  • FIXME Poze + Filmulet stadiu intermediar
  • Lipit microfoane
  • Facut comanda 2 de piese
  • Constatat ca am ars microfoanele m( m( m( <note>Poate de faptul ca le-am pus la 5V cand aveau nevoie de maxim 3.6V. Poate ca am pus firele invers decat in datasheet. Nu voi stii niciodata.</note>
  • Microfoane noi cu tot cu niste rezistente de 1K5 intre date si GND ca sa nu le mai ard
  • Adaugat incarcare de la baterie externa pentru ca pinul de USB era si de USART1
  • Testat + debugat codul cu toate functionalitatile(motoare + microfoane)
  • Asta e partea unde nu fac filmulet cand merge ca daca se intampla ceva sa nu am dovada ca a functionat vreodata codul ;-)
  • Incercat sa adaug si LCD ca bonus
  • ???
  • Nu mai merge nimic
  • ???
  • Descoperit ca nu imi merge de fapt sa mai fac flash pe atmega, in ciuda lipsei de erori in programul de flash-uit.
  • ???
  • Prezentat proiect care merge la PMfair ^_^

Bibliografie/Resurse

Daca citesti acest mesaj inseamna ca nu am terminat de adaugat toate resursele.

Download page as PDF

pm/prj2019/dionita/soundfollower.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