Innholdsfortegnelse:

HeadBot-en selvbalanserende robot for STEM-læring og oppsøkende: 7 trinn (med bilder)
HeadBot-en selvbalanserende robot for STEM-læring og oppsøkende: 7 trinn (med bilder)

Video: HeadBot-en selvbalanserende robot for STEM-læring og oppsøkende: 7 trinn (med bilder)

Video: HeadBot-en selvbalanserende robot for STEM-læring og oppsøkende: 7 trinn (med bilder)
Video: BODY&HEAD Assemblage: 14 in 1 Solar Robot Educational Toy Kit: How to assemblage [Kids Robot Toy] 2024, November
Anonim
Image
Image
3D -utskrift av kabinettet, hetten og elektronikkbrettet
3D -utskrift av kabinettet, hetten og elektronikkbrettet

Headbot-en to fot høy, selvbalanserende robot-er hjernebarnet til South Eugene Robotics Team (SERT, FRC 2521), et konkurransedyktig robotikklag for high school i FIRST Robotics Competition, fra Eugene, Oregon. Denne populære oppsøkende roboten dukker regelmessig opp på skoler og samfunnsarrangementer der den trekker både store og små mennesker. Fordi roboten er både holdbar og enkel å bruke ved hjelp av en Android -telefon eller et nettbrett, kan barn helt ned til tre år kjøre den vellykket. Og fordi boten kan ta på seg et stort utvalg av hatter, masker og andre kostymer, er det et underholdende tillegg til omtrent enhver samling. SERT -medlemmer bruker boten til å rekruttere nye teammedlemmer, og for å inspirere til en generell interesse for STEM i samfunnet.

Den totale kostnaden for prosjektet er omtrent $ 200 (forutsatt at du har en 3D-skriver og en Android-enhet), selv om det kan barberes til mindre enn $ 100 hvis du har en velfylt elektronikkbutikk med lett tilgang til loddetinn, krympeslange, jumperkabler, motstander, kondensatorer, batterier og en mikro -USB -kabel. Byggingen er rett frem hvis du allerede har litt elektronikkerfaring, og det gir en flott mulighet for de som er villige til å lære. For de som har en spesiell interesse for robotikk, gir Headbot også en god plattform for å utvikle ferdigheter i proporsjonal-integrert-derivat (PID) tuning for tilbakemeldingskontroll.

Rekvisita

Vær oppmerksom på at delelisten nedenfor angir antall deler som trengs for hver type, ikke antall pakker. Noen lenker refererer til sider der flere deler kan kjøpes som en pakke (noe som gir noen kostnadsbesparelser) - sørg for at du kjøper antall pakker som er nødvendige for å få det riktige antallet deler.

Elektroniske komponenter

  • 1x ESP32 mikrokontroller
  • 2x trinnmotorer
  • 2x A4988 trinnmotordrivere
  • 1x MPU-6050 gyroskop/akselerometer
  • 1x 100uF kondensator
  • 1x UBEC (Universal Battery Elimination Circuit)
  • 1x spenningsdeler (1x 10kohm og 1x 26.7kohm motstand)
  • 2x 5 mm vanlig anode RGB LED -lys
  • 6x 220 ohm motstander
  • Jumper Wires (hann-mann og kvinne-hunn)
  • Elektrisk ledning
  • 3x JST SM -kontaktplugger
  • 2x 4-batteri etui
  • Varme krymper
  • Lodding

Maskinvare

  • 1x 3D -trykt hus, hette og elektrisk bord (se instruksjonene nedenfor)
  • 2x 5 "presisjonsskivehjul
  • 2x 0,770 "hjulnav m/ 5 mm boring
  • 8x oppladbare AA -batterier og lader
  • 1x frigolithode
  • 1x 2,5 "stykke 3/4" PVC -rør (for å feste hodet)
  • 8x M3 låseskiver (for montering av motorer)
  • 8x M3 x 8mm skruer (for montering av motorer)
  • 8x 6-32 x 3/8 "skruer (for montering av hjul på nav)
  • 2x Zipties
  • Kanal- eller gaffebånd
  • 2x stive metallstenger eller solide ledninger (f.eks. Kuttet av kleshengere) ca. 12 "lang

Anbefalte verktøy

  • Wire Stripper
  • Wire Cutter
  • Loddejern
  • Varmepistol
  • Elektrisk drill
  • 1 "x 16" spadebit
  • Sekskantnøkkel sett
  • Varm limpistol
  • Micro USB -kabel med vinklet plugg

Trinn 1: 3D -utskrift av kabinettet, hetten og elektronikkbrettet

3D -utskrift av kabinettet, hetten og elektronikkbrettet
3D -utskrift av kabinettet, hetten og elektronikkbrettet
3D -utskrift av kabinettet, hetten og elektronikkbrettet
3D -utskrift av kabinettet, hetten og elektronikkbrettet

3D -utskrift av foringsrør, hette og elektronikkbrett. Last ned stl -filene her. Deler skal skrives ut med PLA med en 0,25 mm oppløsning og 20% utfylling, uten flåter eller støtter nødvendig.

Trinn 2: Legg til motorer, hjul og tape i foringsrøret

Image
Image
Forbered elektronikkbrettet
Forbered elektronikkbrettet

Motorer: Plasser trinnmotorene i bunnen av foringsrøret (med ledningene som forlater toppen av motorene) og fest med M3x8mm skruer og M3 låsemutterskiver, med en passende unbrakonøkkel eller skrutrekker. Plasser hjulnavene på akslene og fest dem ved å stramme skruene på den flate delen av akselen.

Hjul: Strekk gummiringene rundt utsiden av hjulskiven. Fest hjulene på hjulnavene med 6-32x3/8”skruene. (Hjulene kan passe tett rundt navet. I så fall må du plassere det så godt som mulig, deretter stramme skruene sakte litt om gangen, flytte fra skrue til skrue og gjenta, slik at skruene trekker hjulet på plass.)

Forbered hetten og PVC -røret: Legg kanal eller gaffateip på toppen av foringsrøret slik at hetten glir på med en tettsittende, sikker passform. Legg tape i den ene enden av det 2,5”stykke ¾” PVC -røret slik at det glir inn i hullet i hetten med en tettsittende og sikker passform. Om nødvendig kan tape også legges til den andre enden av PVC -en for å sikre at den sitter godt i hullet ved hodets bunn.

Trinn 3: Forbered elektronikkbrettet

Image
Image

Påfør tape på elektronikkbrettet: Legg kanal eller gaffateip på sidene av det elektroniske kortet slik at det glir inn i skinnene på innsiden av foringsrøret med en tettsittende passform.

MPU-6050 gyroskop/akselerometer: Lodd pinnene til MPU-6050 gyroskop/akselerometer, med langsiden av pinnene på samme side av kretskortet som brikkene. Bruk en god mengde varmt lim for å feste MPU -en til den lille hyllen som stikker ut fra bunnen av elektronbrettet, orientert slik at pinnene er til venstre for brettet når du vender mot hyllen.

A4988 Stepper Motor Driver: Bruk en liten skrutrekker til å vri det lille strømbegrensende potensiometeret på hver A4988 stepmotor driver med klokken så langt det går. Fjern papiret fra tapen på varmeavlederne for motorførerne og påfør det for å dekke brikkene i midten av kretskortet. Bruk rikelig med varmt lim for å feste motordriverne (med potensiometrene mot toppen) til siden av elektronikkbrettet overfor hyllen med MPU, med pinnene som stikker ut gjennom de to parene med vertikale spalter på toppen av elektronikkbrettet (pass på å ikke få lim på pinnene, som skal stikke ut på samme side som MPU). Trekk en glidelås gjennom de små hullene over hver motordriver for å sikre den på plass.

ESP32 -mikrokontroller: Plasser en mikro -USB -kabel i kontakten på ESP32 -mikrokontrolleren (denne brukes til å holde enden av kretskortet et lite stykke unna elektronikk -kortet, slik at tilgang til pluggen kan sikres etter at ESP32 er limt på plass). Plasser ESP32 med pluggen til høyre mens du vender mot briksiden, og bruk rikelig lim for å feste den på kretskortet, med pinnene som stikker ut gjennom de horisontale slissene i midten av brettet til siden med MPU (ta vær forsiktig så du ikke får lim på pinnene eller USB -kabelen). Etter at limet har stivnet, fjerner du USB -kabelen.

Trinn 4: Elektronisk krets

Image
Image
Elektronisk krets
Elektronisk krets
Elektronisk krets
Elektronisk krets

Generelle instruksjoner: Følg kretsdiagrammet (last ned pdf -filen nedenfor for en høyoppløselig versjon) for å lage ledningsnettene som er nødvendige for å koble de elektroniske komponentene. Tilkoblinger mellom to pinner kan gjøres direkte med enkle kvinnelige-hunstikkledninger. Tilkoblinger mellom 3 eller flere pinner kan gjøres med de mer komplekse ledningsnettene beskrevet nedenfor. Seler kan opprettes ved å kutte hun-hun-hoppere i to og deretter lodde dem sammen med andre komponenter (motstander, kondensator, plugger, korte ledninger) etter behov. I alle tilfeller bruker du krympeslange for å isolere loddetinnet.

Batteripakker: Sørg for at batteripakkene kan gli inn i sporene på undersiden av det 3D -trykte huset. Hvis de ikke passer, bruker du en fil til å forme dem til de gjør det. Fest ledningene fra to av de kvinnelige JST SM -kontaktpluggene (etterlater omtrent en tomme), og lodd en til ledningene fra hver batteripakke.

Hovedstrømsel). De andre ledningene er forbundet gjennom 100uF -kondensatoren (til bufferspenningspiker; kondensatorens kortere ben festes til - ledningen, mens det lengre benet festes til +12v -ledningen) og med en spenningsdeler som består av en 10kohm motstand (koblet til - ledningen) og en 26,7 kOhm motstand (koblet til +12 V ledningen), med en hunhopper mellom motstandene som skal feste SVP på ESP32 (dette gir en skalert inngang med en maksimal 3,3 V som brukes til å gi en avlesning av spenningen som er igjen i batteriene). Ytterligere kvinnelige hoppere gir +12v (2 hoppere) og - innganger (2 hoppere) til henholdsvis VMOT og tilstøtende GND -pinner på stepper -driverne. I tillegg er en Universal Battery Elimination (UBEC) loddet til +12v og-ledninger til hovedstrømledningen (inngangen til UBEC er siden med den fatformede kondensatoren), med +5v og-utgangene til UBEC loddet til en kvinnelig JST SM -kontakt.

5v inngang til ESP32: Lodd en mannlig JST SM -kontaktplugg til to kvinnelige jumperplugger, for å gi innganger til 5v- og GND -inngangene til ESP32 fra UBEC (denne pluggen gjør det enkelt å koble fra når ESP32 drives av mikro -USB -inngang, for når kode lastes inn på mikrokontrolleren).

3.3v strømledning: Lodde 7 kvinnelige hoppere for å koble 3.3v -pinnen på ESP32 til VCC -pinnen på MPU, VDD- og MS1 -pinnene på hver av trinnmotordrivere, og til den mannlige jumperen som gir strøm til LED -øynene (gjør det enkelt å koble strømmen til øynene når ESP32 blir koblet fra mikro -USB mens koden lastes inn).

Jordssele: Lodd 3 kvinnelige hoppere for å koble en GND -pinne på ESP32 til GND -pinnene (ved siden av VDD -pinnen) på hver av trinnmotorførerne.

Stepper -aktiveringssele: Lodd 3 kvinnelige hoppere for å koble pin P23 på ESP32 til ENABLE -pinnene på hver av trinnmotordrivere.

Enkelt jumper -kontakter: Enkelthoppere brukes til å gjøre følgende tilkoblinger:

  • GND på ESP32 til GND på MPU
  • P21 på ESP32 til SCL på MPU
  • P22 på ESP32 til SDA på MPU
  • P26 på ESP32 til DIR på venstre trinndriver
  • P25 på ESP32 til STEP på venstre trinndriver
  • Hopper SLEEP og RESET på venstre trinndriver
  • P33 på ESP32 til DIR på høyre stepperdriver
  • P32 på ESP32 til STEP på høyre trinndriver
  • Jumper SLEEP og RESET på høyre stepper driver

Koble til UBEC: Den kvinnelige JST SM -pluggen på UBEC -utgangen kan plugges inn i den matchende hannpluggen som gir strøm og jord til 5v- og GND -inngangene på ESP32. Imidlertid bør denne pluggen kobles fra når ESP32 blir drevet av en mikro-USB (f.eks. Mens du laster inn kode), ellers vil en omvendt strøm fra ESP32 til hovednettet forstyrre funksjonen til ESP32.

Monter elektronikk -kortet: Skyv elektronikk -kortet inn i skinnene på innsiden av foringsrøret.

Koble motorkabler: Koble ledningene fra venstre motor til venstre trinndriver, med de blå, røde, grønne og svarte ledningene som er koblet til henholdsvis pinne 1B, 1A, 2A og 2B. Koble ledningene fra den høyre motoren til den høyre stepperdriveren, med de blå, røde, grønne og svarte ledningene som er koblet til henholdsvis pinne 2B, 2A, 1A og 1B (merk at motorene er koblet til speilbilde, siden de har motsatte retninger). Sett overskytende motorledninger inn i den nedre delen av foringsrøret.

Koble til batteripakkene: Skyv batteripakkene inn i lommene i dekselet, og koble de kvinnelige JST SM -kontaktpluggene til de matchende hannpluggene på inngangen til hovedstrømmen (ledningene fra den fremre batteripakken kan føres gjennom hull i midten av elektronikk -kortet for å få tilgang til støpselet på baksiden). Batteripakkene kan kobles fra for å gjøre det enkelt å sette inn nye batterier. Hvis du slår strømbryteren på en av batteriene til av -posisjonen, kobles strømmen til kretsen (siden pakkene er i serie) - brytere på baksiden må være på for at kretsen skal få strøm.

Trinn 5: Forbered hodet og øynene

Image
Image
Forbered hodet og øynene
Forbered hodet og øynene
Forbered hodet og øynene
Forbered hodet og øynene

Forleng hullet i bunnen av hodet: Bruk 1 spadeboret for å øke hullets dybde i bunnen av hodet, slik at det ender over høyden på øynene (det er nyttig å sette et lite stykke tape på et passende sted på borets aksel for å indikere når en passende dybde er nådd). Skyv borkronen 2-3”inn i hullet før du borer for ikke å skade hullets åpning (du vil ha en tett passform på PVC-røret som fester det til lokket på foringsrøret). Lagre noen av de større styrofoambitene for å fylle opp øynene senere.

Lag kroker for å skyve/trekke ledninger: I den ene enden av en stiv metallstang, bøy en liten N -form (denne vil bli brukt til å skyve ledningene for å drive LED -øynene gjennom isoporhodet). Bøy en liten krok på enden av den andre stive metallstangen (denne brukes til å fiske ut ledningen fra hullet i bunnen av hodet).

Kjør ledninger: Knyt store sløyfer i endene på de røde, gule, grønne og blå ledningene, bruk tette knuter. Arbeid med en ledning om gangen, krok sløyfen på enden av den N -formede kroken og skyv den gjennom øyets hode, hold banen horisontal og sikte mot hullet i midten av hodet. Når ledningen skyves inn i hullet, bruker du den krokede stangen til å gripe sløyfen fra bunnen av hodet, og trekke den ut av hullet, og trekke den andre stangen ut av øyet også (la 2-3 tommer ledning ligge på bunnen av hodet og henger ut av øyet). Gjenta prosessen med de tre andre fargede ledningene, følg samme vei fra øyet til senterhullet (bruk et merket glidelås for å feste disse trådene sammen og angi hvilket øye de kontrollerer). Gjenta med ytterligere 4 ledninger i det andre øyet.

Fest RGB -lysdioder: Forkort ledningene på RGB -lysdiodene, og sørg for å merke den vanlige anoden (den lengre ledningen, og noter plasseringen av R (enkeltledningen på den ene siden av anoden, som vist på kretsdiagrammet) og G- og B -ledninger (de to ledningene på den andre siden av anoden). Lodd de riktige ledningene som henger fra et av øynene til LED -en (rød til anoden, gul til R, grønn til G og blå til B), isolere tilkoblingene med krympeslange. Skyv ledningene til LED -en inn i hodet, men la den stikke litt ut til den kan testes. Gjenta prosessen med den andre LED -en og ledningene fra det andre øyet.

Fest jumperwires: Lodd en 220 ohm motstand og en jumper wire med hunnkontakt på hver av de gule, grønne og blå ledningene som stikker ut fra bunnen av hodet. Fest de to røde ledningene, og lodd til en jumper med en hankontakt (merk: dette er den eneste mannlige jumperen som trengs i kretsen).

Koble sammen hoppere og fest hodet: Før hopperne gjennom PVC -røret i hetten og skyv PVC -en inn i hullet i hodet, og fest den til hetten. Fest den mannlige strømhopperen til en kvinnelig jumper på 3,3v strømnettet, og de kvinnelige RGB -hopperne til ESP32 (gule, grønne og blå ledninger på venstre øye til henholdsvis P4, P0 og P2, og gule, grønne og blå ledninger i høyre øye til henholdsvis P12, P14 og P27). Fest til slutt hodet/hetten på hovedhuset.

Trinn 6: Last opp koden og installer driverstasjonen

Last opp koden og installer driverstasjonen
Last opp koden og installer driverstasjonen
Last opp koden og installer driverstasjonen
Last opp koden og installer driverstasjonen
Last opp koden og installer driverstasjonen
Last opp koden og installer driverstasjonen

Installere HeadBot -koden på ESP32: Last ned og installer Arduino IDE på datamaskinen. Besøk https://github.com/SouthEugeneRoboticsTeam/ursa og klikk "Last ned Zip" under den grønne "Klon eller Last ned" -knappen. Flytt mappen som er glidelåst inne til hvor som helst på datamaskinen din, og gi den nytt navn til "ursa"

Åpne ursa.ino ved hjelp av Arduino IDE. I preferansemenyen under "File", legg til https://dl.espressif.com/dl/package_esp32_index.json til "Additional Boards Manager URLs." Installer esp32boards av Espressif Systems under Tools> Board manager. Velg "esp32 dev -modul" under Verktøy> Brett. Installer PID by Brett Beauregard -biblioteket ved å klikke på "Administrer biblioteker" under "Skisse" -menyen.

Koble til ESP32 ved hjelp av USB-MicroUSB-kabelen. Velg brettet under Verktøy. Trykk og hold inne den lille knappen merket "I00" ved siden av mikro -USB -kontakten på ESP32, trykk deretter på opplastingsknappen på Arduino IDE, og slipp "I00" når Arduino IDE sier at den er "Koble til …". Etter at opplastingen er fullført, kan MicroUSB -kabelen kobles fra.

Installere HeadBot -driverstasjonen: Last ned og installer Processing på datamaskinen din. Besøk https://github.com/SouthEugeneRoboticsTeam/ursa-ds-prototype og last ned koden. Åpne "ursaDSproto.pde" ved hjelp av Processing IDE. Installer Ketai-, Game Control Plus- og UDP -bibliotekene via Processing's biblioteksjef (Skisse> Importer bibliotek). Hvis du kjører stasjon på datamaskinen, velger du Java -modus i rullegardinmenyen øverst til høyre i behandlingsvinduet. For å kjøre den på Android, installer du Android -modus for prosessering ved å klikke på rullegardinmenyen "Java" øverst til høyre. Koble deretter til enheten, aktiver USB -feilsøking, velg Android -modus. Klikk på "Kjør skisse" for å kjøre stasjonen. Hvis datamaskinen er koblet til en Android -enhet, blir driverstasjonen installert på den.

Trinn 7: Start HeadBot og Tune PID -verdier

Image
Image
Robotikkonkurranse
Robotikkonkurranse

Oppstart: Kontroller at batteriene er tilkoblet, og at UBEC -utgangen er koblet til ESP32 -inngangskontakten. Med Headbot liggende på siden i en stabil posisjon, slår du på strømmen ved å skyve strømbryteren på begge batteriene til PÅ -posisjonen, slik at Headbot står stille i noen sekunder mens gyroskopet initialiseres. Etter en kort forsinkelse bør du kunne se Headbot wifi -signalet (SERT_URSA_00) på enheten du vil bruke til å kontrollere boten - velg det, og skriv inn passordet "Headbot". Etter at en tilkobling er opprettet, kjører du stasjonsappen på telefonen/nettbrettet, eller kjører stasjonsskriptet i Behandle på datamaskinen din. Etter at programmet har startet og en tilkobling er opprettet, bør du se "pitch" -verdien begynne å svare, og viser Headbots tilt.

Angi PID -verdier: For å kunne kontrollere Headbot må du justere PID -verdiene. For versjonen av Headbot beskrevet her. Hvis du klikker i firkanten øverst til venstre på stasjonen, får du opp glidebrytere for justering av verdiene. De tre beste glidebryterne er for justering av P, I og D for vinkelen (PA, IA og DA) - disse verdiene er av primær betydning for at Headbot kan beholde balansen. De tre nederste glidebryterne er for justering av P, I og D for hastigheten (PS, IS og DS) - disse verdiene er viktige for at Headbot skal kunne justere kjørehastigheten i henhold til styrespaken. Gode startverdier med denne versjonen av Headbot er PA = 0,08, IA = 0,00, DA = 0,035, PS = 0,02, IS = 0,00 og DS = 0,006. Etter å ha angitt disse verdiene, klikker du på "Lagre innstilling" -boksen øverst til venstre på stasjonen (dette lagrer innstillingene i en mer holdbar form som overlever en omstart av boten).

Prøver ting: Klikk på den grønne joysticklinjen øverst til høyre på stasjonen for å få frem en joystick for kontroll av roboten. Stå Headbot opp i en nesten balansert retning, og trykk på den mørkegrønne Aktiver firkanten øverst til høyre (ved å trykke på den røde naboboksen deaktiveres boten). Hvis alt går bra, har du en selvbalanserende Headbot, men mer enn sannsynlig må du finjustere PID-verdiene. Det er vanligvis lite I eller D sammenlignet med P, så begynn der. For lite, og det vil ikke være responsivt. For mye, og det vil svinge frem og tilbake. Begynn Start med Angle PID -verdiene, gjør små endringer for å se hvordan ting påvirkes. Noen D -begreper for vinkelsløyfen kan bidra til å minimere svingninger, men en liten mengde kan raskt gi mye rystelser, så bruk sparsomt. Hvis vinkelverdiene er riktige, skal Headbot motstå noen milde skyver uten å falle. Små rykninger må forventes mens Headbot er balansert, siden trinnmotorene beveger seg i halve trinn på 0,9 grader for hver justering.

Når balansen er oppnådd, kan du prøve å kjøre ved å gjøre små bevegelser på joysticken, gjøre små justeringer av Speed PID -verdiene slik at boten reagerer på en jevn, grasiøs måte. Å øke I -sikt kan være nyttig for å motvirke at roboten ikke holder seg til innstilt hastighet. Vær imidlertid advart-endringer i Speed PID-verdiene vil kreve ytterligere justeringer av Angle PID-verdiene (og omvendt), siden PID-løkkene samhandler.

Endringer i totalvekten og vektfordelingen til Headbot (for eksempel når du bruker briller, masker, parykker eller hatter) vil kreve ytterligere justeringer av PID -verdiene. Videre, hvis kostymer kaster saldoen for mye, må du kanskje finjustere start pitchOffset -verdien i ursa.ino -koden og laste koden på nytt på ESP32.

Robotikkonkurranse
Robotikkonkurranse

Runner Up i Robotics Contest

Anbefalt: