Indholdsfortegnelse:

HeadBot-en selvbalancerende robot til STEM-læring og opsøgende: 7 trin (med billeder)
HeadBot-en selvbalancerende robot til STEM-læring og opsøgende: 7 trin (med billeder)

Video: HeadBot-en selvbalancerende robot til STEM-læring og opsøgende: 7 trin (med billeder)

Video: HeadBot-en selvbalancerende robot til STEM-læring og opsøgende: 7 trin (med billeder)
Video: 5 лучших STEM-игрушек для детей в 2024 году 2024, November
Anonim
Image
Image
3D Print kabinettet, hætten og elektronikkortet
3D Print kabinettet, hætten og elektronikkortet

Headbot-en to fod høj, selvbalancerende robot-er hjernebarn af South Eugene Robotics Team (SERT, FRC 2521), et konkurrencedygtigt gymnasiums robothold i FIRST Robotics Competition, fra Eugene, Oregon. Denne populære opsøgende robot optræder regelmæssigt på skoler og fællesskabsarrangementer, hvor den trækker skarer af både voksne og børn. Fordi robotten er både holdbar og let at betjene ved hjælp af en Android -telefon eller -tablet, kan børn helt ned til tre år køre den med succes. Og fordi botten kan iføre sig en bred vifte af hatte, masker og andre kostumer, er det en underholdende tilføjelse til næsten enhver samling. SERT -medlemmer bruger boten til at rekruttere nye teammedlemmer og til at inspirere til en generel interesse for STEM i samfundet.

De samlede omkostninger ved projektet er cirka $ 200 (forudsat at du har en 3D-printer og en Android-enhed), selvom det kan barberes til mindre end $ 100, hvis du har en velassorteret elektronikbutik med let adgang til loddemetal, varmekrympeslange, jumperwires, modstande, kondensatorer, batterier og et mikro -USB -kabel. Konstruktion er ligetil, hvis du allerede har noget elektronikoplevelse, og det giver en god mulighed for dem, der er villige til at lære. For dem med en særlig interesse for robotteknologi giver Headbot også en god platform til udvikling af færdigheder i proportionel-integreret-afledt (PID) tuning til feedback-kontrol.

Forbrugsvarer

Bemærk, at nedenstående deleliste angiver det nødvendige antal dele af hver type, ikke antallet af pakker. Nogle links henviser til sider, hvor flere dele kan købes som en pakke (hvilket giver nogle besparelser) - sørg for at sikre, at du køber det antal pakker, der er nødvendige for at få det passende antal dele.

Elektroniske komponenter

  • 1x ESP32 mikrokontroller
  • 2x trinmotorer
  • 2x A4988 trinmotordrivere
  • 1x MPU-6050 gyroskop/accelerometer
  • 1x 100uF kondensator
  • 1x UBEC (Universal Battery Elimination Circuit)
  • 1x spændingsdeler (1x 10kohm og 1x 26.7kohm modstand)
  • 2x 5 mm fælles anode RGB LED -lys
  • 6x 220 ohm modstande
  • Jumper Wires (han-han og kvinde-hun)
  • Elektrisk ledning
  • 3x JST SM -stik
  • 2x 4-batteri etui
  • Varme krympe
  • Lodde

Hardware

  • 1x 3D -trykt kabinet, hætte og elektrisk bord (se instruktionerne herunder)
  • 2x 5 "præcisionsdiskhjul
  • 2x 0,770 "hjulnav m/ 5 mm boring
  • 8x genopladelige AA batterier og oplader
  • 1x isoporhoved
  • 1x 2,5 "stykke 3/4" PVC -rør (til fastgørelse af hoved)
  • 8x M3 låseskiver (til montering af motorer)
  • 8x M3 x 8mm skruer (til montering af motorer)
  • 8x 6-32 x 3/8 "skruer (til montering af hjul på nav)
  • 2x Zipties
  • Kanal- eller gaffatape
  • 2x stive metalstænger eller robuste tråde (f.eks. Skåret af bøjler) ca. 12”langt

Anbefalede værktøjer

  • Wire Stripper
  • Wire Cutter
  • Loddekolbe
  • Varmepistol
  • Elektrisk bor
  • 1 "x 16" spadebit
  • Sekskantnøglesæt
  • Varm limpistol
  • Micro USB -kabel med vinklet stik

Trin 1: 3D -print kabinettet, hætten og elektronikkortet

3D Print kabinettet, hætten og elektronikkortet
3D Print kabinettet, hætten og elektronikkortet
3D Print kabinettet, hætten og elektronikkortet
3D Print kabinettet, hætten og elektronikkortet

3D print kabinettet, hætten og elektronikpladen. Download stl -filerne her. Dele skal udskrives med PLA med en opløsning på 0,25 mm og en fyldning på 20%, uden at der kræves tømmerflåder eller understøtninger.

Trin 2: Tilføj motorer, hjul og tape til kabinettet

Image
Image
Forbered elektronikkortet
Forbered elektronikkortet

Motorer: Placer trinmotorerne i bunden af kabinettet (med ledningerne ud af motorens top) og fastgør dem med M3x8mm skruer og M3 låsemøtrikskiver ved hjælp af en passende unbrakonøgle eller skruetrækker. Placer hjulnavene på akslerne og fastgør dem ved at stramme sætskruerne til den flade del af akslen.

Hjul: Stræk gummiringene rundt om hjulskivens yderside. Fastgør hjulene på hjulnavene med 6-32x3/8”skruerne. (Hjulene kan sidde tæt omkring navet. Hvis det er tilfældet, skal du placere det så godt som muligt, derefter stramme skruerne langsomt lidt ad gangen, flytte fra skrue til skrue og gentage, for at skruerne kan trække hjulet på plads.)

Forbered hætten og PVC -røret: Tilsæt kanal eller gaffatape til toppen af kabinettet, så hætten glider på med en tæt, sikker pasform. Læg tape i den ene ende af det 2,5”stykke ¾” PVC -rør, så det glider ind i hullet i hætten med en tæt, sikker pasform. Hvis det er nødvendigt, kan tape også tilføjes til den anden ende af PVC'en for at sikre en tæt pasform i hullet i bunden af hovedet.

Trin 3: Forbered elektronikkortet

Image
Image

Påfør tape på elektronikkortet: Tilføj kanal eller gaffatape på siderne af det elektroniske kort, så det glider ind i skinnerne på indersiden af kabinettet med en tæt pasform.

MPU-6050 Gyroskop/Accelerometer: Lod lodstiftene til MPU-6050 Gyroskop/Accelerometer, med lang side af benene på samme side af printkortet som chipsene. Brug en rigelig mængde varm lim til at fastgøre MPU'en til den lille hylde, der stikker ud fra bunden af elektronpladen, orienteret, så stifterne er til venstre for brættet, når du vender mod hylden.

A4988 Stepper Motor Driver: Brug en lille skruetrækker til at dreje det lille strømbegrænsende potentiometer på hver A4988 stepmotor driver med uret, så langt det går. Skræl papiret fra tapen på kølelegemerne til motordriverne og anbring det for at dække chipsene i midten af printkortet. Brug rigelig varm lim til at fastgøre motordriverne (med potentiometrene mod toppen) til siden af elektronikkortet modsat hylden med MPU'en, med stifterne stikker ud gennem de to par lodrette slidser på toppen af elektronikkortet (pas på ikke at få lim på stifterne, som skal stikke ud på samme side som MPU). Træk en lynlås gennem de små huller over hver motordriver for yderligere at sikre den på plads.

ESP32 -mikrokontroller: Placer et mikro -USB -kabel i stikket på ESP32 -mikrokontrolleren (dette bruges til at holde enden af printkortet et lille stykke væk fra elektronikkortet, så adgang til stikket kan sikres, efter at ESP32 er limet på plads). Placer ESP32 med stikket til højre, når du vender mod chipsiden, og brug rigelig lim til at fastgøre det på printpladen, med stifterne stikker ud gennem de vandrette slidser i midten af brættet til siden med MPU'en (tag pas på ikke at få lim på stifterne eller USB -kablet). Når limen er hærdet, fjernes USB -kablet.

Trin 4: Elektronisk kredsløb

Image
Image
Elektronisk kredsløb
Elektronisk kredsløb
Elektronisk kredsløb
Elektronisk kredsløb

Generelle instruktioner: Følg kredsløbsdiagrammet (download pdf'en herunder for en version i høj opløsning) for at oprette de ledningsnet, der er nødvendige for at forbinde de elektroniske komponenter. Forbindelser mellem to stifter kan foretages direkte med enkelte hun-hun-jumpertråde. Forbindelser mellem 3 eller flere ben kan foretages med de mere komplekse ledningsnet, der er beskrevet nedenfor. Seler kan oprettes ved at skære hun-hun-springere i halve og derefter lodde dem sammen med andre komponenter (modstande, kondensator, stik, korte ledninger) efter behov. I alle tilfælde skal du bruge krympeslange til at isolere loddetappen.

Batteripakker: Sørg for, at batteripakkerne kan glide ind i åbningerne i bunden af det 3D -trykte kabinet. Hvis de ikke passer, skal du bruge en fil til at forme dem, indtil de gør det. Klip ledningerne fra to af de kvindelige JST SM -stikpropper (efterlad ca. en tomme), og lod en til ledningerne fra hver batteripakke.

Hovedstrømledning: Hovedstrømledningen modtager input fra to hanstik til JST SM -stik, med + ledningen fra det ene stik tilsluttet til - ledningen fra det andet for at forbinde de to batterier i serie (hvilket resulterer i en kombineret 12v indgang). De andre ledninger forbindes gennem 100uF kondensatoren (til buffer spændingsspikes; kondensatorens kortere ben fastgøres til - ledningen, mens det længere ben fastgøres til +12v ledningen) og med en spændingsdeler, der består af en 10kohm modstand (forbundet til - -ledningen) og en 26,7 kohm modstand (forbundet til +12v -ledningen), med en hun -jumper fra mellem modstandene, der skal stikke SVP på ESP32 (dette giver en skaleret indgang med et maksimum på 3,3v, der bruges til at give en aflæsning af den resterende spænding i batterierne). Yderligere kvindelige jumpere giver +12v (2 jumpere) og - input (2 jumpere) til henholdsvis VMOT og tilstødende GND -pins på stepper -driverne. Derudover er en Universal Battery Elimination (UBEC) loddet til +12v og-ledninger i hovedstrømledningen (input til UBEC er siden med den tøndeformede kondensator), med +5v og-output fra UBEC loddet til et kvindeligt JST SM -stik.

5v input til ESP32: Lod et hanstik JST SM -stik til to hunjumperstik for at levere input til 5v- og GND -input til ESP32 fra UBEC (dette stik giver mulighed for let afbrydelse, når ESP32 drives af mikro -USB -indgang, når kode indlæses på mikrokontrolleren).

3.3v strømforsyning: Lodde 7 kvindelige springere til at forbinde 3.3v -stiften på ESP32 til VCC -stiften på MPU'en, VDD- og MS1 -stifterne på hver af trinmotordrivere og til han -jumperen, der leverer strøm til LED -øjnene (muliggør en let afbrydelse af strømmen til øjnene, når ESP32 strømforsynes fra mikro -USB, mens koden indlæses).

Jordsele: Lodde 3 kvindelige springere til at forbinde en GND -pin på ESP32 til GND -benene (ved siden af VDD -stiften) på hver af trinmotorens drivere.

Stepper -aktiveringssele: Lodde 3 hunhoppere til at forbinde stift P23 på ESP32 med ENABLE -benene på hver af trinmotordrivere.

Enkelt jumper stik: Enkelt jumpere bruges til at foretage følgende forbindelser:

  • 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 stepper driver
  • P25 på ESP32 til STEP på venstre stepper driver
  • Jumper SLEEP og RESET på venstre stepper driver
  • P33 på ESP32 til DIR på højre stepper driver
  • P32 på ESP32 til STEP på den højre stepper driver
  • Jumper SLEEP og RESET på den højre stepper driver

Tilslut UBEC: Det kvindelige JST SM -stik på UBEC -udgangen kan sættes i det matchende hanstik, der leverer strøm og jord til 5v- og GND -indgange på ESP32. Dette stik skal dog frakobles, når ESP32 drives af et mikro-USB (f.eks. Under indlæsning af kode), eller også vil en omvendt strøm fra ESP32 til hovedstrømledningen forstyrre ESP32's funktion.

Installer elektronikkortet: Skub elektronikkortet ind i skinnerne på indersiden af kabinettet.

Tilslut motorkabler: Tilslut ledningerne fra den venstre motor til den venstre stepper driver, med de blå, røde, grønne og sorte ledninger, der er forbundet til henholdsvis ben 1B, 1A, 2A og 2B. Tilslut ledningerne fra den højre motor til den højre stepper driver, med de blå, røde, grønne og sorte ledninger, der er forbundet til henholdsvis ben 2B, 2A, 1A og 1B (bemærk, at motorerne er tilsluttet spejlbillede, da de har modsatte retning). Læg den overskydende motorledning i den nedre del af kabinettet.

Tilslut batteripakkerne: Skub batteripakkerne ind i deres lommer i kabinettet, og slut deres kvindelige JST SM -stik til de matchende hanstik på indgangen til hovedstrømmen (ledningerne fra den forreste batteripakke kan føres gennem hul i midten af elektronikkortet for at få adgang til stikket bagpå). Batteripakkerne kan afbrydes for let at isætte nye batterier. Hvis du tænder for afbryderen på begge batteripakker til slukket position, frakobles strømmen til kredsløbet (da pakkerne er i serie) - tænding af botbacks skal være tændt, for at kredsløbet kan få strøm.

Trin 5: Forbered hovedet og øjnene

Image
Image
Forbered hovedet og øjnene
Forbered hovedet og øjnene
Forbered hovedet og øjnene
Forbered hovedet og øjnene

Forlæng hullet i bunden af hovedet: Brug 1 spadeboret til at øge dybden af hullet i bunden af hovedet, så det ender over øjenhøjden (det er nyttigt at lægge et lille stykke tape på et passende sted på borets aksel for at angive, hvornår en passende dybde er nået). Skub boret 2-3”ind i hullet, før du borer for ikke at beskadige åbningen af hullet (du vil have en tæt pasform på PVC-røret, der vil fastgøre det til hætten af huset). Gem nogle af de større styrofoamstykker for at genopfylde øjnene senere.

Opret kroge til at skubbe/trække i ledninger: I den ene ende af en stiv metalstang skal du bøje en lille N -form (denne bruges til at skubbe ledningerne til at drive LED -øjnene gennem frigolithovedet). Bøj en lille krog på enden af den anden stive metalstang (denne bruges til at fiske ledningen ud af hullet i bunden af hovedet).

Kør ledninger: Bind store sløjfer i enderne af de røde, gule, grønne og blå ledninger ved hjælp af stramme knuder. Arbejd med en ledning ad gangen, hook løkken på enden af den N -formede krog og skub den gennem hovedets øje, hold stien vandret og sig mod hullet i midten af hovedet. Når tråden skubbes ind i hullet, skal du bruge den kroge stang til at gribe løkken fra bunden af hovedet og trække den ud af hullet og også udtrække den anden stang fra øjet (efterlad 2-3 tommer ledning ved bunden af hovedet og hængende ud af øjet). Gentag processen med de andre tre farvede tråde, og følg den samme vej fra øjet til midterhullet (brug en mærket lynlås til at fastgøre disse tråde sammen og angiv hvilket øje de kontrollerer). Gentag med yderligere 4 ledninger i det andet øje.

Vedhæft RGB -lysdioder: Afkort ledningerne på RGB -lysdioderne, og sørg for at markere den fælles anode (den længere ledning, og noter placeringen af R (den enkelte ledning på den ene side af anoden, som vist på kredsløbsdiagrammet) og G- og B -ledninger (de to elektroder på den anden side af anoden). Lod de passende ledninger, der hænger fra et af øjnene til LED'en (rød til anoden, gul til R, grøn til G og blå til B), isolere forbindelserne med varmekrympeslange. Skub LED'ernes ledninger ind i hovedet, men lad det stikke lidt ud, indtil det kan testes. Gentag processen med den anden LED og ledningerne fra det andet øje.

Fastgør jumperwires: Lod en 220 ohm modstand og en jumper wire med hunstik på hver af de gule, grønne og blå ledninger, der stikker ud fra bunden af hovedet. Slut de to røde ledninger, og lod til en jumper med en hanstik (bemærk: dette er den eneste han -jumper, der er nødvendig i kredsløbet).

Tilslut jumpere og fastgør hovedet: Før jumperne gennem PVC -røret i hætten, og skub PVC'en ind i hullet i hovedet, og fastgør den til hætten. Sæt den mandlige jumper til en kvindelig jumper på 3.3v -strømforsyningen og de kvindelige RGB -springere til ESP32 (gule, grønne og blå ledninger i venstre øje til henholdsvis P4, P0 og P2 og gule, grønne og blå ledninger i højre øje til henholdsvis P12, P14 og P27). Til sidst sættes hovedet/hætten på hovedhuset.

Trin 6: Upload koden, og installer driverstationen

Upload koden, og installer driverstationen
Upload koden, og installer driverstationen
Upload koden, og installer driverstationen
Upload koden, og installer driverstationen
Upload koden, og installer driverstationen
Upload koden, og installer driverstationen

Installation af HeadBot -koden på ESP32: Download og installer Arduino IDE på din computer. Besøg https://github.com/SouthEugeneRoboticsTeam/ursa og klik på "Download Zip" under den grønne "Klon eller download" knap. Flyt mappen med lynlås inde til hvor som helst på din computer, og omdøb den til "ursa"

Åbn ursa.ino ved hjælp af Arduino IDE. I præferencemenuen under "Fil" skal du tilføje https://dl.espressif.com/dl/package_esp32_index.json til "Yderligere Boards Manager -webadresser." Installer esp32boards af Espressif Systems under Værktøjer> Board manager. Vælg "esp32 dev -modul" under Værktøjer> Board. Installer PID by Brett Beauregard -biblioteket ved at klikke på "Administrer biblioteker" under menuen "Skitse".

Tilslut til ESP32 ved hjælp af USB-MicroUSB-kablet. Vælg tavlen under Værktøjer. Tryk og hold den lille knap mærket "I00" ved siden af mikro -USB -stikket på ESP32, tryk derefter på upload -knappen på Arduino IDE, og slip "I00", når Arduino IDE siger, at det er "Tilslutning …". Når overførslen er fuldført, kan MicroUSB -kablet afbrydes.

Installation af HeadBot -driverstationen: Download og installer Processing på din computer. Besøg https://github.com/SouthEugeneRoboticsTeam/ursa-ds-prototype og download koden. Åbn "ursaDSproto.pde" ved hjælp af Processing IDE. Installer Ketai-, Game Control Plus- og UDP -bibliotekerne via Processing's bibliotekshåndtering (Skitse> Importer bibliotek). Hvis du kører drevstationen på din computer, skal du vælge Java -tilstand i rullemenuen øverst til højre i vinduet Behandler; For at køre det på Android skal du installere Android -tilstand til behandling ved at klikke på rullemenuen "Java" øverst til højre. Tilslut derefter enheden, aktiver USB -fejlfinding, vælg Android -tilstand. Klik på "Kør skitse" for at køre drevstationen. Hvis din computer er tilsluttet en Android -enhed, installeres driverstationen på den.

Trin 7: Start HeadBot og indstil PID -værdier

Image
Image
Robotik konkurrence
Robotik konkurrence

Opstart: Sørg for, at batterierne er tilsluttet, og at UBEC -udgangen er forbundet til ESP32 -indgangsstikket. Når Headbot ligger på siden i en stabil position, skal du tænde for strømmen ved at skubbe afbryderen på begge batteripakker til ON -positionen, så Headbot står stille i et par sekunder, mens gyroskopet initialiseres. Efter en kort forsinkelse skulle du kunne se Headbot wifi -signalet (SERT_URSA_00) på den enhed, du vil bruge til at styre bot - vælg det, og indtast adgangskoden "Headbot". Når der er oprettet forbindelse, skal du køre drevstationsappen på din telefon/tablet eller køre drevstationsskriptet i Behandling på din computer. Efter at programmet starter og der er oprettet en forbindelse, skal du se "pitch" -værdien begynde at reagere og vise Headbots hældning.

Indstilling af PID -værdier: For at kunne styre Headbot skal du indstille PID -værdierne. Til den version af Headbot, der er beskrevet her. Hvis du klikker på firkanten øverst til venstre på drevstationen, åbnes skyderne til justering af værdierne. De tre øverste skydere er til justering af P, I og D for vinklen (PA, IA og DA) - disse værdier er af primær betydning for, at Headbot kan bevare sin balance. De tre nederste skydere er til justering af P, I og D for hastigheden (PS, IS og DS) - disse værdier er vigtige for, at Headbot kan justere sin kørehastighed korrekt i henhold til joystickindgangen. Gode startværdier med denne version af Headbot er PA = 0,08, IA = 0,00, DA = 0,035, PS = 0,02, IS = 0,00 og DS = 0,006. Når du har indstillet disse værdier, skal du klikke på boksen "Gem indstilling" øverst til venstre på drevstationen (dette gemmer indstillingerne i en mere holdbar form, der overlever en genstart af botten).

Prøv tingene: Klik på den grønne joysticklinje øverst til højre på drevstationen for at få et joystick frem til styring af robotten. Stå Headbot op i en næsten afbalanceret retning, og tryk på den mørkegrønne Aktiver firkant øverst til højre (tryk på den nærliggende røde boks deaktiverer botten). Hvis alt går godt, har du en selvbalancerende Headbot, men mere end sandsynligt skal du finjustere PID-værdierne. Der er normalt lidt I eller D i forhold til P, så start der. For lidt, og det reagerer ikke. For meget, og det vil svinge frem og tilbage. Begynd Start med Angle PID -værdierne, foretag små ændringer for at se, hvordan tingene påvirkes. Nogle D -betegnelser for vinkelsløjfen kan hjælpe med at minimere svingninger, men en lille mængde kan hurtigt bringe en masse rystelser ind, så brug sparsomt. Hvis vinkelværdierne er korrekte, skal Headbot modstå nogle lette skubber uden at falde. Der må forventes små ryk, mens Headbot er afbalanceret, da trinmotorerne bevæger sig i halve trin på 0,9 grader for hver justering.

Når balancen er opnået, kan du prøve at køre ved at foretage små bevægelser af joysticket og foretage små justeringer af Speed PID -værdierne, så botten reagerer glat og yndefuldt. Forøgelse af I -termen kan være en hjælp til at modvirke, at robotten ikke holder sig til den indstillede hastighed. Vær dog advaret-ændringer af Speed PID-værdierne vil kræve yderligere justeringer af Vinkel-PID-værdierne (og omvendt), da PID-sløjferne interagerer.

Ændringer i den samlede vægt og vægtfordeling af Headbot (f.eks. Når du bruger briller, masker, parykker eller hatte) vil kræve yderligere justeringer af PID -værdierne. Ydermere, hvis kostumer smider saldoen for meget ud, skal du muligvis justere start pitchOffset -værdien i ursa.ino -koden og genindlæse koden på ESP32.

Robotik konkurrence
Robotik konkurrence

Runner Up i Robotics -konkurrencen

Anbefalede: