Indholdsfortegnelse:
- Trin 1: Hvad vi får brug for:
- Trin 2: Byg …
- Trin 3: Nogle ekstra oplysninger, før vi fortsætter
- Trin 4: Kode:
- Trin 5: Test og konklusion
Video: Vinkelmåling ved hjælp af gyro, accelerometer og Arduino: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:31
Enheden er en grov prototype af, hvad der i sidste ende vil blive en selvbalanceret robot, dette er den anden del af hullet (læs accelerometer og styr en motor til selvbalance). Den første del med kun gyroen kan findes her. På denne instruktive måler vi vinklen ved hjælp af både gyro og accelerometer og ved hjælp af en teknik til at flette begge sensorer for at få et glat signal. Teknikken kaldes "komplementært filter". Tidligere
Trin 1: Hvad vi får brug for:
Nogle dele kan udskiftes, og nogle ændringer i koden skal foretages for at passe til din hardware. På dette projekt vil vi bruge:- Brødbræt- Mikrokontroller, jeg brugte Arduinoboard- Wire- Jumper Wires- Gyroscope XV-8100- Nunchuck Wii (til accelerometeret)- Nunchuck Wii-adapter til Arduino
Trin 2: Byg …
Kredsløbet består af et gyroskop, der er forbundet direkte til port 0 på din arduino og en nunchuck wii -forbindelse ved I2C -porten. Samling af gyroen: 1. - tilslut gyroen på brødbrættet 2. - wire ever ting:- Vo pin fra gyro tilsluttet analog port 0 ved arduino (lys orange ledning)- G pin fra gyro forbundet til jord (hvid ledning)- V+ pin fra gyro forbundet til Vdd (3.3V) (Orange wire) Montering accelerometeret: 1. - tilslut adapteren ved nunchuck2. - Sæt nunchuck på arduinoen ved hjælp af adapteren3. - Anbring accel -sensoren som billedet ovenfor
Trin 3: Nogle ekstra oplysninger, før vi fortsætter
Fra begge sensorer kan vi måle vinklen, men ved hjælp af to forskellige teknikker. For at måle vinklen ved hjælp af gyroen skal vi integrere signalet. Men hvorfor skal vi gøre dette? Fordi gyroen giver os vinkelhastigheden, så en enkel måde at få vinklen på er at få vinkelfrekvensen ganget med tiden [vinkel = vinkel + w * dt] For at måle vinklen ved hjælp af et accelerometer må vi fornemme tyngdekraften i hver aksel af accelerometeret, hvad det betyder, projicering af tyngdekraftaccelerationen i hver retning af sensoren giver os en idé om vinklen. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] Så hvorfor skal vi bruge to sensorer i stedet for en? For at drage fordel af begge sensoregenskaber. Hvis du ser på grafikken, fortsætter gyrodataens kontinuerlige stigning, dette kaldes drift, og accelerometerdata ændrer sig meget på et lille tidspunkt. Og hvordan man fletter begge signaler? Vi vil bruge en teknik kaldet komplementær filter. Jeg kender ikke den nøjagtige teori bag dette, men det fungerer fint. Der er nogle oplysninger på internettet, bare google det, hvis du har brug for flere oplysninger. Dette link har mange oplysninger og kan være nyttigt. Filtered_angle = HPF*(filtered_angle + w*dt) + LPF*(angle_accel); hvor HPF + LPF = 1Værdierne for HPF og LPF findes på dette link i filter.pdf -filen. Tak til jer fra "The DIY Segway". Bare til testformål sætter vi disse værdier sådan her, HPF = 0,98 og LPF = 0,02.
Trin 4: Kode:
Koden er en tilpasning fra en kode, som jeg brugte på et andet projekt. Sandsynligvis er der nogle variabler, der ikke er brugt. Jeg brugte et bibliotek til at læse nunchuck -dataene fra https://todbot.com/blog/. Tak Tod E. Kurt. Kommentarerne til kode er på portugisisk, så snart jeg har ledig tid, oversætter jeg det. Kodeudgangen gennem serienummeret nogle tal med dette mønster: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ Så du kan gemme disse værdier på en seriel terminal og plotte en grafik eller bruge vinklen til andre ting. hvis du har brug for nogen forklaring om koden, kan du spørge. Koden er med lynlås. Slap bare af, åbn og upload den til din arduino.
Trin 5: Test og konklusion
For at teste systemet gemte jeg dataene ved hjælp af et program kaldet Termite, derefter importere disse data på excel og plotte grafikken for at se, hvor godt mit filter er. Resultaterne er fantastiske. Selvfølgelig kan du bruge signalet til at køre en motor eller andre ting. Eventuelle kommentarer, enhver tvivl, enhver information mangler, bare sig det til mig, og jeg retter det. Vær venlig, tak, hvis du kan lide dette. Tak.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores