Inhoudsopgave:

Arduino - Balans - Balanceerrobot - Hoe te maken?: 6 stappen (met afbeeldingen)
Arduino - Balans - Balanceerrobot - Hoe te maken?: 6 stappen (met afbeeldingen)

Video: Arduino - Balans - Balanceerrobot - Hoe te maken?: 6 stappen (met afbeeldingen)

Video: Arduino - Balans - Balanceerrobot - Hoe te maken?: 6 stappen (met afbeeldingen)
Video: Crypto Pirates Daily News - Tuesday January 19th, 2022 - Latest Crypto News Update 2024, November
Anonim
Image
Image

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

Montage van de robot
Montage van de robot

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

Montage van de robot
Montage van de robot
Montage van de robot
Montage van de robot
Montage van de robot
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

Verbindingen
Verbindingen
Verbindingen
Verbindingen

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?

Hoe werkt balanceren?
Hoe werkt balanceren?
Hoe werkt balanceren?
Hoe werkt balanceren?
Hoe werkt balanceren?
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

Broncode en bibliotheken
Broncode en bibliotheken
Broncode en bibliotheken
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

  1. Maak Kp, Ki en Kd gelijk aan nul.
  2. 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).
  3. 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.
  4. 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

Voor ondersteuning
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: