Indholdsfortegnelse:

Arduino - Balance - Balancing Robot - Sådan laver du ?: 6 trin (med billeder)
Arduino - Balance - Balancing Robot - Sådan laver du ?: 6 trin (med billeder)

Video: Arduino - Balance - Balancing Robot - Sådan laver du ?: 6 trin (med billeder)

Video: Arduino - Balance - Balancing Robot - Sådan laver du ?: 6 trin (med billeder)
Video: Цигун для начинающих. Для суставов, позвоночника и восстановления энергии. 2024, November
Anonim
Image
Image

I denne vejledning lærer vi, hvordan man laver Arduino balancing (balance) robot, der balancerer sig selv. Først kan du se på videoundervisningen ovenfor.

Trin 1: Påkrævet hardware

Montering af robotten
Montering af robotten

Arduino Board (Uno) -

MPU-6050 GY521 Acc+Gyro-https://bit.ly/2swR0Xo

DC 6V 210RPM Encoder Gear Motor Set -

L298N motordriver -

Skift knap -

M3 Hex gevindskruede afstandsskruemøtrikssæt -

Akryl Perspex -ark -

3.7v 18650 Genopladelig Li-ion+oplader-https://bit.ly/2LNZQcl

9V batteri -

Jumper Wires -

Hot Lim Gun -

Arduino Starter Kit og tilbehør (valgfrit): Arduino Board & SCM Supplies #01 -

Arduino Board & SCM Supplies #02 -

Arduino Basic Learning Starter Kit #01 -

Arduino Basic Learning Starter Kit #02 -

Arduino Basic Learning Starter Kit #03 -

Mega 2560 startsæt med selvstudium -

Sensormodulskit til Arduino #01 -

Sensormodulskit til Arduino #02 -

Trin 2: Montering af robotten

Montering af robotten
Montering af robotten
Montering af robotten
Montering af robotten
Montering af robotten
Montering af robotten
  • Bor fire hjørner af 3 akrylplader. (Billede 1 og 2)
  • Mellem hvert akrylark vil der være omkring 8 cantimeter / 3,15 tommer. (Billede 3)
  • Robotmål (ca.) 15cm x 10 cm x 20cm. (Billede 4)
  • DC -motoren og hjulene placeres i midten (midterlinjen) af robotten. (Billede 5)
  • L298N Motor Driver vil blive placeret i første sals center (midterlinje) af robotten. (Billede 6)
  • Arduino -tavlen placeres på anden sal i robotten.
  • MPU6050 -modulet placeres på robotens øverste etage. (Billede 7)

Trin 3: Forbindelser

Forbindelser
Forbindelser
Forbindelser
Forbindelser

Test MPU6050, og sørg for, at den virker! Tilslut først MPU6050 til Arduino, og test forbindelsen ved hjælp af koderne i nedenstående vejledning. Daha'en skal vises på den serielle skærm

Instruktionsvejledning - MPU6050 GY521 6 -akset accelerometer+gyro

YouTube -vejledning - MPU6050 GY521 6 -akset accelerometer + gyro

L298N -modulet kan levere den +5V, Arduino har brug for, så længe dens indgangsspænding er +7 V eller større. Jeg valgte dog at have separat strømkilde til motoren

Trin 4: Hvordan fungerer balancering?

Hvordan fungerer balancering?
Hvordan fungerer balancering?
Hvordan fungerer balancering?
Hvordan fungerer balancering?
Hvordan fungerer balancering?
Hvordan fungerer balancering?
  • For at holde robotten i balance skal motorerne modvirke robotens fald.
  • Denne handling kræver en feedback og et korrigerende element.
  • Feedback -elementet er MPU6050, som giver både acceleration og rotation i alle tre akser, som bruges af Arduino til at kende robotens aktuelle orientering.
  • Det korrekte element er motoren og hjulkombinationen.
  • Den selvbalancerende robot er i det væsentlige et omvendt pendul.
  • Det kan balanceres bedre, hvis massecentret er højere i forhold til hjulakslerne.
  • Det er derfor, jeg har placeret batteripakken ovenpå.
  • Robotens højde blev imidlertid valgt ud fra tilgængeligheden af materialer.

Trin 5: Kildekode og biblioteker

Kildekode og biblioteker
Kildekode og biblioteker
Kildekode og biblioteker
Kildekode og biblioteker

Koden udviklet til balance robotten er for kompliceret. Men der er ingen grund til bekymring. Vi vil kun ændre nogle data.

Vi har brug for fire eksterne biblioteker for at få en selvbalancerende robot til at fungere

  • PID -biblioteket gør det let at beregne P-, I- og D -værdierne.
  • LMotorController -biblioteket bruges til at køre de to motorer med L298N -modulet.
  • I2Cdev -biblioteket og MPU6050_6_Axis_MotionApps20 -biblioteket er til læsning af data fra MPU6050.

Download biblioteker

PID -

LMotorController -

I2Cdev -

MPU6050 -

Få kildekoden -

Hvad er PID?

  • I kontrolteorien er det nødvendigt med en særlig controller kaldet et PID for at holde en variabel (i dette tilfælde robotens position) stabil.
  • P for proportional, I for integral og D for derivat. Hver af disse parametre har "gevinster", der normalt kaldes Kp, Ki og Kd.
  • PID giver korrektion mellem den ønskede værdi (eller input) og den faktiske værdi (eller output). Forskellen mellem input og output kaldes "fejl".
  • PID -controlleren reducerer fejlen til den mindst mulige værdi ved løbende at justere output.
  • I vores Arduino selvbalancerende robot indstilles input (som er den ønskede hældning i grader) af software.
  • MPU6050 læser robotens aktuelle hældning og sender den til PID -algoritmen, der udfører beregninger for at styre motoren og holde robotten i opretstående position.

PID kræver, at gevinsterne Kp-, Ki- og Kd -værdier "indstilles" til optimale værdier

Vi justerer PID -værdierne manuelt i stedet

  1. Gør Kp, Ki og Kd lig med nul.
  2. Juster Kp. For lidt Kp får robotten til at vælte (ikke nok korrektion). For meget Kp får robotten til at gå vildt frem og tilbage. En god nok Kp får robotten til at gå lidt frem og tilbage (eller svinge lidt).
  3. Når Kp er indstillet, skal du justere Kd. En god Kd -værdi reducerer svingningerne, indtil robotten er næsten stabil. Den rigtige mængde Kd vil også holde robotten stående, selvom den skubbes.
  4. Indstil endelig Ki. Robotten vil svinge, når den er tændt, selvom Kp og Kd er indstillet, men vil stabilisere sig med tiden. Den korrekte Ki -værdi vil forkorte den tid, det tager for robotten at stabilisere sig.

Forslag til bedre resultater

Jeg anbefaler, at du opretter en lignende robotramme ved hjælp af de materialer, der bruges i dette projekt, for at få kildekoden til Balance Robot til at fungere stabilt og effektivt.

Trin 6: Til support

Til support
Til support
  • Du kan abonnere på min YouTube -kanal for flere selvstudier og projekter.
  • Du kan også abonnere på support. Tak skal du have.

Besøg min YouTube -kanal -

Anbefalede: