Innehållsförteckning:

Arduino - Balance - Balancing Robot - Hur man gör ?: 6 steg (med bilder)
Arduino - Balance - Balancing Robot - Hur man gör ?: 6 steg (med bilder)

Video: Arduino - Balance - Balancing Robot - Hur man gör ?: 6 steg (med bilder)

Video: Arduino - Balance - Balancing Robot - Hur man gör ?: 6 steg (med bilder)
Video: Цигун для начинающих. Для суставов, позвоночника и восстановления энергии. 2024, November
Anonim
Image
Image

I denna handledning lär vi oss hur man gör Arduino balanserings (balans) robot som balanserar sig själv. Först kan du titta på videohandledningen ovan.

Steg 1: Obligatorisk maskinvara

Montering av roboten
Montering av roboten

Arduino Board (Uno) -

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

DC 6V 210RPM Encoder Gear Motor Set -

L298N -motordrivrutin -

Switch -knapp -

M3 Hex gängad distansskruvmutterssats -

Akrylperspexark -

3.7v 18650 uppladdningsbart litiumjon+laddare-https://bit.ly/2LNZQcl

9V batteri -

Jumper Wires -

Hotlimpistol -

Arduino Starter Kit och tillbehör (tillval): 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 startpaket med självstudier -

Sensormodulkit för Arduino #01 -

Sensormodulkit för Arduino #02 -

Steg 2: Montering av roboten

Montering av roboten
Montering av roboten
Montering av roboten
Montering av roboten
Montering av roboten
Montering av roboten
  • Borra fyra hörn av 3 akrylark. (Bild 1 och 2)
  • Mellan varje akrylark kommer det att vara cirka 8 cantimeter. (Bild 3)
  • Robotmått (ca) 15cm x 10 cm x 20cm. (Bild 4)
  • Likströmsmotorn och hjulen kommer att placeras i mitten (mittlinjen) av roboten. (Bild 5)
  • L298N Motor Driver kommer att placeras i robotens första våning (mittlinje). (Bild 6)
  • Arduino -kortet kommer att placeras på robotens andra våning.
  • MPU6050 -modulen kommer att placeras på robotens översta våning. (Bild 7)

Steg 3: Anslutningar

Anslutningar
Anslutningar
Anslutningar
Anslutningar

Testa MPU6050 och se till att den fungerar! Anslut först MPU6050 till Arduino och testa anslutningen med hjälp av koder i nedanstående handledning. Daha ska visas på den seriella bildskärmen

Instruktionshandledning - MPU6050 GY521 6 Axel Accelerometer+Gyro

YouTubes handledning - MPU6050 GY521 6 axelaccelerometer + gyro

L298N -modulen kan tillhandahålla +5V som Arduino behöver så länge dess ingångsspänning är +7 V eller högre. Jag valde dock att ha separat strömkälla för motorn

Steg 4: Hur fungerar balansering?

Hur fungerar balansering?
Hur fungerar balansering?
Hur fungerar balansering?
Hur fungerar balansering?
Hur fungerar balansering?
Hur fungerar balansering?
  • För att hålla roboten balanserad måste motorerna motverka robotens fall.
  • Denna åtgärd kräver en feedback och ett korrigerande element.
  • Återkopplingselementet är MPU6050, som ger både acceleration och rotation i alla tre axlarna som används av Arduino för att känna till robotens aktuella orientering.
  • Det rättande elementet är motor- och hjulkombinationen.
  • Den självbalanserande roboten är i huvudsak en inverterad pendel.
  • Det kan balanseras bättre om masscentrum är högre i förhållande till hjulaxlarna.
  • Det är därför jag har placerat batteriet ovanpå.
  • Robotens höjd valdes dock utifrån tillgången på material.

Steg 5: Källkod och bibliotek

Källkod och bibliotek
Källkod och bibliotek
Källkod och bibliotek
Källkod och bibliotek

Koden som utvecklats för balansroboten är för komplicerad. Men det finns ingen anledning att oroa sig. Vi kommer bara att ändra vissa uppgifter.

Vi behöver fyra externa bibliotek för att få självbalanserande robot att fungera

  • PID -biblioteket gör det enkelt att beräkna P-, I- och D -värdena.
  • LMotorController -biblioteket används för att driva de två motorerna med L298N -modulen.
  • I2Cdev -biblioteket och MPU6050_6_Axis_MotionApps20 -biblioteket är till för att läsa data från MPU6050.

Ladda ner bibliotek

PID -

LMotorController -

I2Cdev -

MPU6050 -

Få källkoden -

Vad är PID?

  • I styrteori behöver en viss variabel (i detta fall robotens position) stadig en speciell styrenhet som kallas PID.
  • P för proportionell, I för integral och D för derivat. Var och en av dessa parametrar har "vinster" som normalt kallas Kp, Ki och Kd.
  • PID ger korrigering mellan önskat värde (eller ingång) och det verkliga värdet (eller utmatningen). Skillnaden mellan ingång och utgång kallas "fel".
  • PID -regulatorn reducerar felet till det minsta möjliga värdet genom att kontinuerligt justera utmatningen.
  • I vår Arduino självbalanseringsrobot ställs ingången (som är önskad lutning, i grader) av programvara.
  • MPU6050 läser robotens aktuella lutning och matar den till PID -algoritmen som utför beräkningar för att styra motorn och hålla roboten i upprätt läge.

PID kräver att vinsterna Kp, Ki och Kd -värden "ställs in" på optimala värden

Vi kommer att justera PID -värdena manuellt istället

  1. Gör Kp, Ki och Kd lika med noll.
  2. Justera Kp. För lite Kp gör att roboten faller omkull (inte tillräckligt med korrigering). För mycket Kp kommer att få roboten att gå fram och tillbaka vilt. En tillräckligt bra Kp får roboten att gå lite fram och tillbaka (eller svänga lite).
  3. När Kp är inställt, justera Kd. Ett bra Kd -värde minskar svängningarna tills roboten är nästan stabil. Dessutom kommer rätt mängd Kd att hålla roboten stående även om den trycks.
  4. Slutligen, ställ in Ki. Roboten kommer att svänga när den slås på även om Kp och Kd är inställda men stabiliseras i tid. Rätt Ki -värde förkortar den tid det tar för roboten att stabilisera sig.

Förslag för bättre resultat

Jag rekommenderar att du skapar en liknande robotram med material som används i detta projekt för att få källkoden för Balance Robot att fungera stabilt och effektivt.

Steg 6: För support

För support
För support
  • Du kan prenumerera på min YouTube -kanal för fler handledning och projekt.
  • Du kan också prenumerera på support. Tack.

Besök min YouTube -kanal -

Rekommenderad: