Inhoudsopgave:
- Stap 1: Vereiste hardware
- Stap 2: Montage van de robot
- Stap 3: Aansluitingen
- Stap 4: Hoe werkt balanceren?
- Stap 5: Broncode en bibliotheken
- Stap 6: voor ondersteuning
Video: Arduino - Balans - Balanceerrobot - Hoe te maken?: 6 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
In deze tutorial zullen we leren hoe je een Arduino balancerende (balans) robot maakt die zichzelf balanceert. Eerst kun je de video-tutorial hierboven bekijken.
Stap 1: Vereiste hardware
Arduino-bord (Uno) --
MPU-6050 GY521 Acc+Gyro --
DC 6V 210RPM Encoder Reductiemotor Set --
L298N-motorstuurprogramma --
Schakelknop --
M3 zeskantige afstandsschroefmoerset --
Acryl perspex blad --
3.7v 18650 oplaadbare Li-ion+lader --
9V batterij --
Doorverbindingsdraden --
Heet lijmpistool --
Arduino Starter Kit en benodigdheden (optioneel): Arduino Board & SCM-benodigdheden #01 --
Arduino Board & SCM-benodigdheden #02 --
Arduino Basic Learning Starter Kit #01 --
Arduino Basic Learning Starter Kit #02 --
Arduino Basic Learning Starter Kit #03 --
Mega 2560 Starter Kit met zelfstudie --
Sensormodulekit voor Arduino #01 --
Sensormodulekit voor Arduino #02 --
Stap 2: Montage van de robot
- Boor vier hoeken van 3 acrylplaten. (Afbeelding 1 en 2)
- Tussen elke acrylplaat zit ongeveer 8 cantimeters / 3,15 inch. (Afbeelding 3)
- Afmetingen robot (ongeveer) 15 cm x 10 cm x 20 cm. (Afbeelding 4)
- De gelijkstroommotor en de wielen worden in het midden (middellijn) van de robot geplaatst. (Afbeelding 5)
- L298N Motor Driver wordt in het midden van de eerste verdieping (middellijn) van de robot geplaatst. (Afbeelding 6)
- Het Arduino-bord wordt op de tweede verdieping van de robot geplaatst.
- De MPU6050-module wordt op de bovenste verdieping van de robot geplaatst. (Afbeelding 7)
Stap 3: Aansluitingen
Test de MPU6050 en zorg ervoor dat hij werkt! Verbind eerst de MPU6050 met de Arduino en test de verbinding met behulp van de codes in de onderstaande tutorial. De daha moet worden weergegeven op de seriële monitor
Instructables-zelfstudie - MPU6050 GY521 6-assige versnellingsmeter + gyro
YouTube-zelfstudie - MPU6050 GY521 6-assige versnellingsmeter + gyro
De L298N-module kan de +5V leveren die de Arduino nodig heeft, zolang de ingangsspanning +7 V of hoger is. Ik heb er echter voor gekozen om een aparte stroombron voor de motor te hebben
Stap 4: Hoe werkt balanceren?
- Om de robot in evenwicht te houden, moeten de motoren de val van de robot tegengaan.
- Deze actie vereist een terugkoppeling en een corrigerend element.
- Het feedbackelement is de MPU6050, die zowel versnelling als rotatie geeft in alle drie de assen die door de Arduino worden gebruikt om de huidige oriëntatie van de robot te kennen.
- Het corrigerende element is de combinatie van motor en wiel.
- De zelfbalancerende robot is in wezen een omgekeerde slinger.
- Het kan beter worden uitgebalanceerd als het zwaartepunt hoger is ten opzichte van de wielassen.
- Daarom heb ik het batterijpakket bovenop geplaatst.
- De hoogte van de robot is echter gekozen op basis van de beschikbaarheid van materialen.
Stap 5: Broncode en bibliotheken
De code die is ontwikkeld voor de balansrobot is te ingewikkeld. Maar u hoeft zich geen zorgen te maken. We zullen slechts enkele gegevens wijzigen.
We hebben vier externe bibliotheken nodig om de zelfbalancerende robot te laten werken
- De PID-bibliotheek maakt het gemakkelijk om de P-, I- en D-waarden te berekenen.
- De LMotorController-bibliotheek wordt gebruikt voor het aandrijven van de twee motoren met de L298N-module.
- De I2Cdev-bibliotheek en de MPU6050_6_Axis_MotionApps20-bibliotheek zijn voor het lezen van gegevens van de MPU6050.
Bibliotheken downloaden
PID --
LMotorController --
I2Cdev --
MPU6050 --
Haal de broncode op -
Wat is PID?
- In de regeltheorie is voor het stabiel houden van een variabele (in dit geval de positie van de robot) een speciale controller nodig, een PID genaamd.
- P voor proportioneel, I voor integraal en D voor afgeleide. Elk van deze parameters heeft "winsten" die normaal Kp, Ki en Kd worden genoemd.
- PID zorgt voor correctie tussen de gewenste waarde (of invoer) en de werkelijke waarde (of uitvoer). Het verschil tussen de invoer en de uitvoer wordt "fout" genoemd.
- De PID-regelaar reduceert de fout tot de kleinst mogelijke waarde door de output continu aan te passen.
- In onze zelfbalancerende Arduino-robot wordt de invoer (de gewenste kanteling, in graden) door software ingesteld.
- De MPU6050 leest de huidige kanteling van de robot en voert deze door naar het PID-algoritme dat berekeningen uitvoert om de motor te besturen en de robot rechtop te houden.
PID vereist dat de versterkingswaarden Kp, Ki en Kd worden "afgestemd" op optimale waarden
In plaats daarvan zullen we de PID-waarden handmatig aanpassen
- Maak Kp, Ki en Kd gelijk aan nul.
- Kp aanpassen. Te weinig Kp zorgt ervoor dat de robot omvalt (te weinig correctie). Te veel Kp zorgt ervoor dat de robot wild heen en weer gaat. Een voldoende Kp zorgt ervoor dat de robot een beetje heen en weer gaat (of een beetje oscilleert).
- Pas Kd aan zodra de Kp is ingesteld. Een goede Kd-waarde zal de oscillaties verminderen totdat de robot bijna stabiel is. Bovendien zorgt de juiste hoeveelheid Kd ervoor dat de robot blijft staan, zelfs als hij wordt geduwd.
- Stel ten slotte de Ki in. De robot oscilleert wanneer hij wordt ingeschakeld, zelfs als de Kp en Kd zijn ingesteld, maar stabiliseert zich in de tijd. De juiste Ki-waarde verkort de tijd die de robot nodig heeft om te stabiliseren.
Suggestie voor betere resultaten
Ik raad u aan een soortgelijk robotframe te maken met behulp van de materialen die in dit project zijn gebruikt om de broncode voor de Balance Robot stabiel en efficiënt te laten werken.
Stap 6: voor ondersteuning
- Je kunt je abonneren op het mijn YouTube-kanaal voor meer tutorials en projecten.
- Ook kunt u zich abonneren op ondersteuning. Bedankt.
Bezoek aan mijn YouTube-kanaal -
Aanbevolen:
Een kaartenboek maken met Google Maps: 17 stappen (met afbeeldingen)
Een kaartenboek maken met Google Maps: Onlangs was ik in de boekwinkel op zoek naar een Street Guide voor DuPage County, IL, omdat mijn vriendin daar woont en een gedetailleerde plattegrond nodig heeft. Helaas was de enige die ze hadden die dichtbij was, er een voor Cook County (zoals deze o
Smart Home maken met behulp van Arduino-besturingsrelaismodule - Ideeën voor domotica: 15 stappen (met afbeeldingen)
Smart Home maken met behulp van Arduino-besturingsrelaismodule | Ideeën voor domotica: in dit domotica-project zullen we een smart home-relaismodule ontwerpen die 5 huishoudelijke apparaten kan bedienen. Deze relaismodule kan worden bediend vanaf mobiel of smartphone, IR-afstandsbediening of tv-afstandsbediening, handmatige schakelaar. Dit slimme relais kan ook de r
Een VU-meter maken met Arduino: 3 stappen (met afbeeldingen)
Een VU-meter maken met Arduino: Een VU-meter is een volume-eenheid (VU) meter of standaard volume-indicator (SVI) is een apparaat dat een weergave van het signaalniveau in audioapparatuur weergeeft. Het wordt gebruikt om het analoge signaal te visualiseren. Nu ga ik instrueren hoe je een VU-meter maakt met behulp van
Een video met gesplitst scherm maken in vier stappen: 4 stappen (met afbeeldingen)
Een video met gesplitst scherm maken in vier stappen: we zien vaak dezelfde persoon twee keer in een scène in een tv-toneelstuk. En voor zover we weten heeft de acteur geen tweelingbroer. We hebben ook gezien dat er twee zangvideo's op één scherm worden gezet om hun zangkunsten te vergelijken. Dit is de kracht van spl
Afbeeldingen alleen horizontaal of verticaal naadloos maken (voor "The GIMP"). 11 stappen (met afbeeldingen)
Afbeeldingen alleen horizontaal of verticaal naadloos maken (voor "The GIMP").: Als u de plug-in "Maak naadloos" in GIMP probeert, wordt de afbeelding zowel horizontaal als verticaal naadloos. Het zal je niet toestaan om het naadloos te maken in slechts één dimensie. Dit instructable zal je helpen om ima