Cuprins:
- Pasul 1: De ce vom avea nevoie:
- Pasul 2: Construirea …
- Pasul 3: Câteva informații suplimentare înainte de a continua
- Pasul 4: Cod:
- Pasul 5: Testare și concluzie
Video: Măsurarea unghiului utilizând giroscopul, accelerometrul și Arduino: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:47
Dispozitivul este un prototip dur a ceea ce va deveni în cele din urmă un robot de auto-echilibru, aceasta este a doua parte a lucrului cu gaură (citiți accelerometrul și controlați un motor pentru a vă echilibra). Prima parte cu doar giroscopul poate fi găsită aici. Pe această instrucțiune vom măsura unghiul folosind atât giroscopul, cât și accelerometrul și folosind o tehnică de îmbinare a ambelor senzori pentru a obține un semnal lin. Tehnica se numește „filtru complementar”.anterior
Pasul 1: De ce vom avea nevoie:
O parte poate fi înlocuită, iar unele modificări ale codului trebuie făcute pentru a se potrivi hardware-ului dvs. În acest proiect vom folosi: - Breadboard- Microcontroler, am folosit Arduinoboard- Wire- Jumper Wires- Gyroscope XV-8100- Nunchuck Wii (pentru accelerometru) - adaptor Nunchuck Wii pentru Arduino
Pasul 2: Construirea …
Circuitul constă dintr-un giroscop conectat direct la portul 0 de pe arduino și un nunchuck cu care se conectează wii la portul I2C. - conectați giroscopul la panou2. - sârmă vreodată: - Vo pin de la giroscop conectat la portul analog0 la arduino (fir portocaliu deschis) - Pin pin de la giroscop conectat la masă (fir alb) - V + pin de la giroscop conectat la Vdd (3,3V) (fir portocaliu) accelerometrul: 1. - conectați adaptorul la nunchuck2. - conectați nunchuck la arduino folosind adaptorul3. - amplasați senzorul de accelare ca fotografia de mai sus
Pasul 3: Câteva informații suplimentare înainte de a continua
Din ambii senzori putem măsura unghiul, dar folosind două tehnici distincte. Pentru a măsura unghiul folosind giroscopul trebuie să integrăm semnalul. Dar de ce trebuie să facem acest lucru? Deoarece giroscopul ne oferă rata unghiulară, deci o modalitate simplă de a obține unghiul este să avem rata unghiulară înmulțită cu timpul [unghiul = unghiul + w * dt] Pentru a măsura unghiul folosind un accelerometru trebuie să simțim gravitația din fiecare axa accelerometrului, ce înseamnă, proiecția accelerației gravitaționale pe fiecare direcție a senzorului ne oferă o idee despre unghiul. [angle_accel = arctg (Ay / sqrt (Ax ^ 2 + Az ^ 2))] Deci, de ce vom folosi doi senzori în loc unul? Pentru a profita de ambele proprietăți ale senzorului. Dacă vă uitați la grafic, creșterea continuă a datelor giroscopice se numește drift, iar datele accelerometrului se schimbă foarte mult la un timp mic. Și cum să îmbinați ambele semnale? Vom folosi o tehnică numită filtru complementar. Nu știu exact teoria din spatele acestui lucru, dar funcționează bine. Există câteva informații pe internet, doar google-le dacă aveți nevoie de mai multe informații. Acest link are multe informații și poate fi util.filtered_angle = HPF * (filtered_angle + w * dt) + LPF * (angle_accel); unde HPF + LPF = 1 Valorile HPF și LPF pot fi găsite la acest link, în fișierul filter.pdf. Vă mulțumesc băieți de la „DIY Segway”. Doar pentru scopuri de testare vom stabili aceste valori așa, HPF = 0,98 și LPF = 0,02.
Pasul 4: Cod:
Codul este o adaptare de la un cod pe care l-am folosit în alt proiect. Probabil că există unele variabile neutilizate. Am folosit o bibliotecă pentru a citi datele nunchuck de pe https://todbot.com/blog/. Mulțumesc Tod E. Kurt. Comentariile despre cod sunt în portugheză, de îndată ce am timp liber, îl voi traduce. filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Deci, puteți salva aceste valori la un terminal serial și trageți un grafic sau puteți utiliza unghiul pentru alte lucruri. cu fermoar. Pur și simplu dezarhivați, deschideți și încărcați-l pe arduino.
Pasul 5: Testare și concluzie
Pentru a testa sistemul, am salvat datele folosind un program numit Termite, apoi import aceste date la excel și trasez graficul pentru a vedea cât de bun este filtrul meu. Rezultatele sunt uimitoare. Desigur, puteți utiliza semnalul pentru a conduce un motor sau alte lucruri. Orice comentarii, orice îndoială, orice informație lipsă, spuneți-mi și o corectez. Vă rugăm, dacă vă place acest lucru, evaluați. Vă mulțumim tuturor.
Recomandat:
Măsurarea vitezei motorului utilizând Arduino: 6 pași
Măsurarea vitezei motorului utilizând Arduino: Este dificil să măsoară rpm-ul motorului? Nu cred. Iată o soluție simplă. Doar un senzor IR și Arduino din kitul dvs. pot face acest lucru. În acest post vă voi oferi un tutorial simplu care explică cum să măsurați RPM-ul oricărui motor folosind senzorul IR și A
Măsurarea intensității luminii utilizând BH1715 și Raspberry Pi: 5 pași
Măsurarea intensității luminii utilizând BH1715 și Raspberry Pi: Ieri am lucrat la afișaje LCD și, în timp ce lucram peste ele, am realizat importanța calculului intensității luminii. Intensitatea luminii nu este importantă doar în domeniul fizic al acestei lumi, ci are rolul său bine spus în biologie
Măsurarea câmpului magnetic utilizând HMC5883 și Raspberry Pi: 4 pași
Măsurarea câmpului magnetic utilizând HMC5883 și Raspberry Pi: HMC5883 este o busolă digitală proiectată pentru detectarea magnetică a câmpului redus. Acest dispozitiv are o gamă largă de câmp magnetic de +/- 8 Oe și o rată de ieșire de 160 Hz. Senzorul HMC5883 include drivere automate pentru curele de degausare, anulare de compensare și
Măsurarea câmpului magnetic utilizând HMC5883 și fotonul de particule: 4 pași
Măsurarea câmpului magnetic utilizând HMC5883 și fotonul cu particule: HMC5883 este o busolă digitală proiectată pentru detectarea magnetică a câmpului redus. Acest dispozitiv are o gamă largă de câmp magnetic de +/- 8 Oe și o rată de ieșire de 160 Hz. Senzorul HMC5883 include drivere automate pentru curele de degausare, anulare de compensare și
Rotiți și înclinați cardanul axei pentru GoPro folosind Arduino - Servo și giroscopul MPU6050: 4 pași
Roll and Pitch Axis Gimbal pentru GoPro folosind Arduino - Servo și MPU6050 Gyro: Acest instructable a fost creat pentru a îndeplini cerințele proiectului Makecourse de la Universitatea din Florida de Sud (www.makecourse.com) Scopul acestui proiect a fost de a construi un Gimbal cu 3 axe pentru GoPro prin utilizarea Arduino nano + 3 servo motoare +