Innholdsfortegnelse:

Arduino - Balance - Balancing Robot - Hvordan lage ?: 6 trinn (med bilder)
Arduino - Balance - Balancing Robot - Hvordan lage ?: 6 trinn (med bilder)

Video: Arduino - Balance - Balancing Robot - Hvordan lage ?: 6 trinn (med bilder)

Video: Arduino - Balance - Balancing Robot - Hvordan lage ?: 6 trinn (med bilder)
Video: This sprocket carries extra water!! #mtb #mountainbike #shorts 2024, November
Anonim
Image
Image

I denne opplæringen lærer vi hvordan du lager Arduino balancing (balance) robot som balanserer seg selv. Først kan du se på videoopplæringen ovenfor.

Trinn 1: Nødvendig maskinvare

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 motordriver -

Bryterknapp -

M3 sekskantet gjenget distanseskruemutter sett -

Akryl Perspex -ark -

3,7v 18650 oppladbart Li-ion+lader-https://bit.ly/2LNZQcl

9V batteri -

Jumper Wires -

Hot Lim Gun -

Arduino Starter Kit og rekvisita (valgfritt): 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 startsett med opplæring -

Sensormodulsett for Arduino #01 -

Sensormodulsett for Arduino #02 -

Trinn 2: Montering av roboten

Montering av roboten
Montering av roboten
Montering av roboten
Montering av roboten
Montering av roboten
Montering av roboten
  • Bor fire hjørner av 3 akrylark. (Bilde 1 og 2)
  • Mellom hvert akrylark vil det være omtrent 8 cantimeter. (Bilde 3)
  • Robotmål (ca.) 15cm x 10 cm x 20cm. (Bilde 4)
  • DC -motoren og hjulene vil bli plassert i midten (midtlinjen) av roboten. (Bilde 5)
  • L298N motor driver vil bli plassert i første etasje senter (midtlinje) av roboten. (Bilde 6)
  • Arduino -brettet vil bli plassert i robotens andre etasje.
  • MPU6050 -modulen vil bli plassert i robotens øverste etasje. (Bilde 7)

Trinn 3: Tilkoblinger

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Test MPU6050 og kontroller at den fungerer! Koble MPU6050 først til Arduino og test tilkoblingen ved hjelp av kodene i opplæringen nedenfor. Daha skal vises på den serielle skjermen

Instruksjonsopplæring - MPU6050 GY521 6 -aksel akselerometer+Gyro

YouTube -opplæring - MPU6050 GY521 6 -aksel akselerometer + gyro

L298N -modulen kan levere +5V som Arduino trenger, så lenge inngangsspenningen er +7 V eller høyere. Jeg valgte imidlertid å ha egen strømkilde til motoren

Trinn 4: Hvordan fungerer balansering?

Hvordan fungerer balansering?
Hvordan fungerer balansering?
Hvordan fungerer balansering?
Hvordan fungerer balansering?
Hvordan fungerer balansering?
Hvordan fungerer balansering?
  • For å holde roboten balansert må motorene motvirke fallet av roboten.
  • Denne handlingen krever en tilbakemelding og et korrigerende element.
  • Tilbakemeldingselementet er MPU6050, som gir både akselerasjon og rotasjon i alle tre aksene som brukes av Arduino for å kjenne robotens nåværende orientering.
  • Det korrigerende elementet er motor og hjulkombinasjon.
  • Den selvbalanserende roboten er egentlig en omvendt pendel.
  • Det kan balanseres bedre hvis massesenteret er høyere i forhold til hjulakslene.
  • Det er derfor jeg har plassert batteripakken oppå.
  • Robotens høyde ble imidlertid valgt basert på tilgjengeligheten av materialer.

Trinn 5: Kildekode og biblioteker

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

Koden som er utviklet for balansen roboten er for komplisert. Men det er ingen grunn til bekymring. Vi vil bare endre noen data.

Vi trenger fire eksterne biblioteker for å få en selvbalanserende robot til å fungere

  • PID -biblioteket gjør det enkelt å beregne P-, I- og D -verdiene.
  • LMotorController -biblioteket brukes til å kjøre de to motorene med L298N -modulen.
  • I2Cdev -biblioteket og MPU6050_6_Axis_MotionApps20 -biblioteket er for lesing av data fra MPU6050.

Last ned biblioteker

PID -

LMotorController -

I2Cdev -

MPU6050 -

Få kildekoden -

Hva er PID?

  • I kontrollteorien trenger du en spesiell kontroller kalt PID for å holde en variabel (i dette tilfellet robotens posisjon) stabil.
  • P for proporsjonal, I for integral og D for derivat. Hver av disse parameterne har "gevinster" som normalt kalles Kp, Ki og Kd.
  • PID gir korreksjon mellom ønsket verdi (eller input) og den faktiske verdien (eller output). Forskjellen mellom inngang og utgang kalles "feil".
  • PID -kontrolleren reduserer feilen til den minste mulige verdien ved kontinuerlig å justere utgangen.
  • I vår Arduino selvbalanserende robot settes inngangen (som er ønsket tilt, i grader) av programvare.
  • MPU6050 leser robotens nåværende tilt og mater den til PID -algoritmen som utfører beregninger for å kontrollere motoren og holde roboten i oppreist posisjon.

PID krever at gevinstene Kp, Ki og Kd blir "innstilt" på optimale verdier

Vi vil i stedet justere PID -verdiene manuelt

  1. Gjør Kp, Ki og Kd lik null.
  2. Juster Kp. For lite Kp vil få roboten til å velte (ikke nok korreksjon). For mye Kp vil få roboten til å gå vilt frem og tilbake. En god nok Kp vil få roboten til å gå litt frem og tilbake (eller svinge litt).
  3. Når Kp er angitt, justerer du Kd. En god Kd -verdi vil redusere svingningene til roboten er nesten stabil. Også riktig mengde Kd vil holde roboten stående selv om den blir presset.
  4. Til slutt, sett Ki. Roboten vil svinge når den er slått på, selv om Kp og Kd er satt, men vil stabilisere seg med tiden. Den riktige Ki -verdien vil forkorte tiden det tar for roboten å stabilisere seg.

Forslag til bedre resultater

Jeg anbefaler at du lager en lignende robotramme ved hjelp av materialene som brukes i dette prosjektet for å få kildekoden til Balance Robot til å fungere stabilt og effektivt.

Trinn 6: For støtte

For støtte
For støtte
  • Du kan abonnere på YouTube -kanalen min for flere opplæringsprogrammer og prosjekter.
  • Du kan også abonnere på støtte. Takk skal du ha.

Besøk min YouTube -kanal -

Anbefalt: