Innehållsförteckning:

HeadBot-en självbalanserande robot för STEM-inlärning och uppsökande: 7 steg (med bilder)
HeadBot-en självbalanserande robot för STEM-inlärning och uppsökande: 7 steg (med bilder)

Video: HeadBot-en självbalanserande robot för STEM-inlärning och uppsökande: 7 steg (med bilder)

Video: HeadBot-en självbalanserande robot för STEM-inlärning och uppsökande: 7 steg (med bilder)
Video: Headbot 2024, November
Anonim
Image
Image
3D Skriv ut höljet, locket och elektronikkortet
3D Skriv ut höljet, locket och elektronikkortet

Headbot-en två fot lång, självbalanserande robot-är hjärnbarnet till South Eugene Robotics Team (SERT, FRC 2521), ett konkurrenskraftigt gymnasialt robotlag i FIRST Robotics Competition, från Eugene, Oregon. Denna populära uppsökande robot gör regelbundna framträdanden på skolor och gemenskapsevenemang där den drar massor av vuxna och barn. Eftersom roboten är både hållbar och enkel att använda med en Android -telefon eller surfplatta kan barn så små som tre år köra den framgångsrikt. Och eftersom boten kan ta på sig en mängd olika hattar, masker och andra kostymer, är det ett underhållande tillskott till nästan alla sammankomster. SERT -medlemmar använder boten för att rekrytera nya teammedlemmar och för att inspirera till ett allmänt intresse för STEM i samhället.

Den totala kostnaden för projektet är cirka $ 200 (förutsatt att du har en 3D-skrivare och en Android-enhet), även om det kan rakas till mindre än $ 100 om du har en välsorterad elektronikbutik med enkel åtkomst till lödning, krympslang, bygelkablar, motstånd, kondensatorer, batterier och en mikro -USB -kabel. Konstruktion är rakt fram om du redan har lite elektronik erfarenhet, och det ger en bra möjlighet för dem som är villiga att lära sig. För dem med ett specifikt intresse för robotik erbjuder Headbot också en bra plattform för att utveckla färdigheter i proportionell-integrerad-derivat (PID) -inställning för feedbackkontroll.

Tillbehör

Observera att listan nedan visar antalet delar som behövs för varje typ, inte antalet paket. Vissa länkar hänvisar till sidor där flera delar kan köpas som ett paket (vilket ger några kostnadsbesparingar) - var noga med att köpa det antal paket som krävs för att få rätt antal delar.

Elektroniska komponenter

  • 1x ESP32 mikrokontroller
  • 2x stegmotorer
  • 2x A4988 stegmotordrivrutiner
  • 1x MPU-6050 gyroskop/accelerometer
  • 1x 100uF kondensator
  • 1x UBEC (Universal Battery Elimination Circuit)
  • 1x spänningsdelare (1x 10kohm och 1x 26.7kohm motstånd)
  • 2x 5 mm RGB LED -lampor med vanlig anod
  • 6x 220 ohm motstånd
  • Jumper Wires (man-hane och hona-kvinna)
  • Elektrisk tråd
  • 3x JST SM -kontaktdon
  • 2x 4-batteri fodral
  • Värme krymper
  • Löda

Hårdvara

  • 1x 3D -tryckt hölje, lock och elkort (se instruktionerna nedan)
  • 2x 5 "precisionsskivhjul
  • 2x 0,770 "hjulnav med 5 mm hål
  • 8x laddningsbara AA -batterier och laddare
  • 1x frigolithuvud
  • 1x 2,5 "bit 3/4" PVC -rör (för att fästa huvudet)
  • 8x M3 låsbrickor (för montering av motorer)
  • 8x M3 x 8mm skruvar (för montering av motorer)
  • 8x 6-32 x 3/8 "skruvar (för att montera hjul på nav)
  • 2x Zipties
  • Kanal- eller gaffatejp
  • 2x stela metallstavar eller robusta trådar (t.ex. klippt av trådhängare) ca. 12”lång

Rekommenderade verktyg

  • Wire Stripper
  • Avbitartång
  • Lödkolv
  • Värmepistol
  • Elektrisk borr
  • 1 "x 16" spadebit
  • Insexnyckelsats
  • Lim pistol
  • Micro USB -kabel med vinklad kontakt

Steg 1: 3D -utskrift av hölje, lock och elektronikkort

3D Skriv ut höljet, locket och elektronikkortet
3D Skriv ut höljet, locket och elektronikkortet
3D Skriv ut höljet, locket och elektronikkortet
3D Skriv ut höljet, locket och elektronikkortet

3D -utskrift av hölje, lock och elektronikkort. Ladda ner stl -filerna här. Delar ska skrivas ut med PLA med en upplösning på 0,25 mm och en 20% fyllning, utan flottor eller stöd behövs.

Steg 2: Lägg till motorer, hjul och tejp i höljet

Image
Image
Förbered elektronikkortet
Förbered elektronikkortet

Motorer: Placera stegmotorerna i botten av höljet (med trådarna från motorns ovansida) och säkra med M3x8mm skruvar och M3 låsmutterbrickor med en lämplig sexkantnyckel eller skruvmejsel. Placera hjulnaven på axlarna och säkra dem genom att dra åt skruvarna på axelns plana del.

Hjul: Sträck ut gummiringarna runt hjulskivans utsida. Fäst hjulen på hjulnaven med 6-32x3/8”skruvarna. (Hjulen kan sitta tätt runt navet. Om så är fallet, placera det så bra som möjligt, dra sedan långsamt åt skruvarna lite åt gången, flytta från skruv till skruv och upprepa, så att skruvarna kan dra hjulet på plats.)

Förbered locket och PVC -röret: Lägg till kanal eller tejp på toppen av höljet så att locket glider på med en tät, säker passform. Lägg tejp i ena änden av det 2,5”stycket ¾” PVC -röret så att det glider in i hålet i locket med en tät, säker passform. Om det behövs kan tejp också läggas till i andra änden av PVC för att säkerställa att det sitter tätt i hålet vid basen av huvudet.

Steg 3: Förbered elektronikkortet

Image
Image

Applicera tejp på elektronikkortet: Lägg till kanal eller tejp på sidorna av det elektroniska kortet så att det glider in i skenorna på insidan av höljet med en passform.

MPU-6050 gyroskop/accelerometer: Löd stiften till MPU-6050 gyroskop/accelerometer, med långsidan av stiften på samma sida av kretskortet som chipsen. Använd en riklig mängd varmt lim för att fästa MPU: n till den lilla hyllan som sticker ut från elektronbrädans botten, orienterad så att tapparna är till vänster om brädet när du vetter mot hyllan.

Stegmotordrivrutin A4988: Använd en liten skruvmejsel för att vrida den lilla strömbegränsande potentiometern på varje A4988 stegmotordrivrutin medurs så långt den går. Skala papperet från tejpen på kylflänsarna för motorförarna och applicera för att täcka chipsen i mitten av kretskortet. Använd gott om varmt lim för att fästa motordrivrutinerna (med potentiometrarna uppåt) på sidan av elektronikkortet mitt emot hyllan med MPU, med stiften som sticker ut genom de två par vertikala slitsar på toppen av elektronikkortet (var försiktig så att du inte får lim på stiften, som ska sticka ut på samma sida som MPU). Trä en dragkedja genom de små hålen ovanför varje motorförare för att säkra den på plats ytterligare.

ESP32 -mikrokontroller: Placera en mikro -USB -kabel i kontakten på ESP32 -mikrokontrollern (den används för att hålla kretskortsänden ett litet avstånd från elektronikkortet så att du kan komma åt kontakten efter att ESP32 är limmade på plats). Placera ESP32 med kontakten till höger när du vetter mot chipsidan och använd gott om lim för att fästa den på kretskortet, med stiften som sticker ut genom de horisontella slitsarna i mitten av brädet till sidan med MPU (ta var noga med att inte få lim på stiften eller USB -kabeln). Ta bort USB -kabeln när limmet har hårdnat.

Steg 4: Elektronisk krets

Image
Image
Elektroniska kretsar
Elektroniska kretsar
Elektroniska kretsar
Elektroniska kretsar

Allmänna anvisningar: Följ kretsschemat (ladda ner pdf -filen nedan för en högupplöst version) för att skapa kablar som är nödvändiga för att ansluta de elektroniska komponenterna. Anslutningar mellan två stift kan göras direkt med enstaka hona-kvinnliga bygelkablar. Anslutningar mellan tre eller fler stift kan göras med de mer komplexa trådkablarna som beskrivs nedan. Sele kan skapas genom att dela kvinnliga-kvinnliga hoppare i hälften och sedan lödda dem tillsammans med andra komponenter (motstånd, kondensator, pluggar, korta ledningar) efter behov. I alla fall, använd värmekrympslang för att isolera lödfogen.

Batteripaket: Se till att batterierna kan glida in i facken vid basen av det 3D -tryckta höljet. Om de inte passar, använd en fil för att forma dem tills de gör det. Klipp ledningarna från två av de kvinnliga JST SM -kontaktdon (lämna ungefär en tum) och löd en till kablarna från varje batteri.

Huvudströmsnät: Huvudströmsnätet tar emot ingång från två manliga JST SM -kontaktdon, med + -ledningen från en kontakt ansluten till - -ledningen från den andra för att ansluta de två batterierna i serie (vilket resulterar i en kombinerad 12v -ingång). De andra ledningarna förenas genom 100uF -kondensatorn (till buffertspänningspikar; kondensatorns kortare ben fäster vid - -ledningen, medan det längre benet fäster vid +12v -ledningen) och med en spänningsdelare som består av ett 10kohm -motstånd (ansluten till - -ledningen) och ett motstånd på 26,7 kohm (anslutet till +12v -ledningen), med en honbygel mellan motstånden som kommer att fästa SVP på ESP32 (detta ger en skalad ingång med en 3,3v max som används för att ge en avläsning av spänningen som finns kvar i batterierna). Ytterligare kvinnliga hoppare tillhandahåller +12v (2 hoppare) och - ingångar (2 hoppare) till VMOT respektive angränsande GND -stift på stegdrivrutinerna. Dessutom löds en Universal Battery Elimination (UBEC) till +12v och-ledningar för huvudkabeln (ingången till UBEC är sidan med den tunnformade kondensatorn), med +5v och-utgångarna på UBEC lödda till en kvinnlig JST SM -kontakt.

5v ingång till ESP32: Löd en manlig JST SM -kontakt till två honkontakter för att ge ingångar till 5v- och GND -ingångarna till ESP32 från UBEC (denna kontakt gör det enkelt att koppla ur när ESP32 drivs av mikro -USB -ingång, för när kod laddas till mikrokontrollern).

3.3v strömkabel: Löd 7 kvinnliga hoppare för att ansluta 3.3v -stiftet på ESP32 till VCC -stiftet på MPU, VDD- och MS1 -stiften på var och en av stegmotordrivrutinerna och till hanbygeln som ger ström till LED -ögonen (möjliggör en enkel koppling av strömmen till ögonen när ESP32 drivs från mikro -USB medan koden laddas).

Marksele: Löd 3 kvinnliga hoppare för att ansluta en GND -stift på ESP32 till GND -stiften (bredvid VDD -stiftet) på var och en av stegmotordrivrutinerna.

Steppaktiveringssele: Löd 3 kvinnliga hoppare för att ansluta stift P23 på ESP32 till ENABLE -stiften på var och en av stegmotordrivrutinerna.

Enkla bygelkontakter: Enstaka hoppare används för att göra följande anslutningar:

  • GND på ESP32 till GND på MPU
  • P21 på ESP32 till SCL på MPU
  • P22 på ESP32 till SDA på MPU
  • P26 på ESP32 till DIR på vänster stegdrivrutin
  • P25 på ESP32 till STEP på vänster stegdrivrutin
  • Bygel SLEEP och RESET på vänster stepper driver
  • P33 på ESP32 till DIR på höger stegdrivrutin
  • P32 på ESP32 till STEP på höger stegdrivrutin
  • Bygel SLEEP och RESET på höger stegdrivrutin

Anslut UBEC: Den kvinnliga JST SM -kontakten på UBEC -utgången kan anslutas till den matchande hankontakten som levererar ström och jord till 5v- och GND -ingångarna på ESP32. Denna kontakt bör dock kopplas bort när ESP32 drivs av ett mikro-USB (t.ex. vid laddning av kod), annars kommer en omvänd ström från ESP32 till huvudkabeln att störa ESP32: s funktion.

Installera elektronikkortet: Skjut in elektronikkortet i skenorna på insidan av höljet.

Anslut motorkablar: Anslut ledningarna från den vänstra motorn till den vänstra stegdrivrutinen, med de blå, röda, gröna och svarta ledningarna som ansluts till stiften 1B, 1A, 2A respektive 2B. Anslut ledningarna från den högra motorn till den högra stegdrivrutinen, med de blå, röda, gröna och svarta ledningarna anslutna till stiften 2B, 2A, 1A respektive 1B (observera att motorerna är kopplade i spegelbild, eftersom de har motsatta riktningar). För in överskottsmotorkablarna i husets nedre del.

Anslut batterierna: Skjut in batteripacken i fickorna i höljet och anslut deras kvinnliga JST SM -kontaktdon till de matchande hankontakterna på ingången till huvudkabeln (kablarna från det främre batteripaketet kan ledas genom hål i mitten av elektronikkortet för att få åtkomst till kontakten på baksidan). Batterierna kan kopplas bort för att enkelt sätta i nya batterier. Om du sätter på strömbrytaren på ett av batterierna till avstängt läge kopplas strömmen från kretsen (eftersom paketen är i serie) - strömbrytare på botten måste vara på för att kretsen ska få ström.

Steg 5: Förbered huvudet och ögonen

Image
Image
Förbered huvudet och ögonen
Förbered huvudet och ögonen
Förbered huvudet och ögonen
Förbered huvudet och ögonen

Förläng hålet i botten av huvudet: Använd 1 spadeborrmaskin för att öka djupet av hålet i botten av huvudet, så att det slutar över ögonhöjden (det är användbart att lägga en liten bit tejp på en lämplig plats på borraxeln för att indikera när ett lämpligt djup har uppnåtts). Skjut in biten 2-3”i hålet innan du borrar för att inte skada hålets öppning (du vill ha en tät passform på PVC-röret som håller fast det på locket på höljet). Spara några av de större bitarna av frigolit för att fylla på ögonen senare.

Skapa krokar för att skjuta/dra trådar: I ena änden av en stel metallstång, böj en liten N -form (detta kommer att användas för att skjuta trådarna för att driva LED -ögonen genom frigolithuvudet). Böj en liten krok på änden av den andra styva metallstången (den används för att fiska ut tråden från hålet i botten av huvudet).

Kör trådar: Knyt stora öglor i ändarna på de röda, gula, gröna och blå trådarna med hjälp av snäva knutar. Arbeta med en tråd åt gången, kroka öglan i slutet av den N -formade kroken och skjut den genom huvudets öga, håll vägen horisontell och sikta mot hålet i mitten av huvudet. När tråden skjuts in i hålet, använd den krokade stången för att ta tag i öglan från botten av huvudet och dra den från hålet och dra ut den andra stången också från ögat (lämna 2-3 tum tråd vid botten av huvudet och hänger ut ur ögat). Upprepa processen med de andra tre färgade trådarna, följ samma väg från ögat till mitthålet (använd en märkt dragkedja för att fästa dessa trådar ihop och ange vilket öga de kontrollerar). Upprepa med ytterligare 4 trådar i det andra ögat.

Fäst RGB -lysdioder: Korta av ledningarna på RGB -lysdioderna, var noga med att markera den gemensamma anoden (den längre ledningen och notera platsen för R (den enda ledningen på en sida av anoden, som visas på kretsschemat) och G- och B -ledningar (de två ledningarna på andra sidan anoden). Löd de lämpliga ledningarna som hänger från ett av ögonen till lysdioden (röd till anoden, gul till R, grön till G och blå till B), isolera anslutningarna med värmekrympslang. Skjut in ledningarna på lysdioden i huvudet, men låt den stå ut en aning tills den kan testas. Upprepa processen med den andra lysdioden och ledningarna från det andra ögat.

Fäst bygelkablar: Löd ett 220 ohm motstånd och en bygelkabel med honkontakt på var och en av de gula, gröna och blå ledningarna som sticker ut från botten av huvudet. Anslut de två röda trådarna och löd till en bygel med en hankontakt (observera: detta är den enda manliga bygeln som behövs i kretsen).

Anslut hoppare och fäst huvudet: Dra hopparna genom PVC -röret i locket och skjut in PVC -hålet i hålet i huvudet och säkra det till locket. Fäst den manliga strömbrytaren till en kvinnlig bygel på 3,3v -strömkabeln och de kvinnliga RGB -hopparna till ESP32 (gula, gröna och blå ledningar i vänstra ögat till P4, P0 respektive P2 och gula, gröna och blåa ledningar i höger öga till P12, P14 respektive P27). Slutligen fäst huvudet/locket på huvudhöljet.

Steg 6: Ladda upp koden och installera drivrutinstationen

Ladda upp koden och installera drivrutinstationen
Ladda upp koden och installera drivrutinstationen
Ladda upp koden och installera drivrutinstationen
Ladda upp koden och installera drivrutinstationen
Ladda upp koden och installera drivrutinstationen
Ladda upp koden och installera drivrutinstationen

Installera HeadBot -koden på ESP32: Ladda ner och installera Arduino IDE på din dator. Besök https://github.com/SouthEugeneRoboticsTeam/ursa och klicka på "Download Zip" under den gröna "Clone or Download" -knappen. Flytta mappen zippad inuti var som helst på din dator och byt namn på den till "ursa"

Öppna ursa.ino med Arduino IDE. I inställningsmenyn under "Arkiv" lägger du till https://dl.espressif.com/dl/package_esp32_index.json till "Ytterligare Boards Manager -webbadresser." Installera esp32boards från Espressif Systems under Verktyg> Board manager. Välj "esp32 dev -modul" under Verktyg> Kort. Installera PID by Brett Beauregard -biblioteket genom att klicka på "Hantera bibliotek" under "Sketch" -menyn.

Anslut till ESP32 med USB-MicroUSB-kabeln. Välj tavlan under Verktyg. Håll ned den lilla knappen märkt "I00" bredvid mikro -USB -kontakten på ESP32, tryck sedan på uppladdningsknappen på Arduino IDE och släpp "I00" när Arduino IDE säger att det är "Ansluter …". När uppladdningen är klar kan MicroUSB -kabeln kopplas bort.

Installera HeadBot -drivrutinstationen: Ladda ner och installera Processing på din dator. Besök https://github.com/SouthEugeneRoboticsTeam/ursa-ds-prototype och ladda ner koden. Öppna "ursaDSproto.pde" med Processing IDE. Installera Ketai-, Game Control Plus- och UDP -biblioteken via Processings bibliotekshanterare (Sketch> Import Library). Om du kör enhetsstationen på din dator väljer du Java -läge i rullgardinsmenyn högst upp till höger i bearbetningsfönstret. För att köra det på Android, installera Android -läge för bearbetning genom att klicka på rullgardinsmenyn "Java" uppe till höger. Anslut sedan enheten, aktivera USB -felsökning, välj Android -läge. Klicka på "Kör skiss" för att köra drivstationen. Om din dator är ansluten till en Android -enhet installeras drivrutinstationen på den.

Steg 7: Starta HeadBot och ställ in PID -värden

Image
Image
Robotics Contest
Robotics Contest

Start: Se till att batterierna är anslutna och att UBEC -utgången är ansluten till ESP32 -ingången. Med Headbot liggande på sidan i ett stabilt läge, slå på strömmen genom att skjuta strömbrytaren på båda batterierna till ON -läget och lämna Headbot stilla i några sekunder medan gyroskopet initieras. Efter en kort fördröjning bör du kunna se Headbot wifi -signalen (SERT_URSA_00) på enheten du kommer att använda för att styra boten - välj den och ange lösenordet "Headbot". När en anslutning har gjorts kör du stationsstationsappen på din telefon/surfplatta eller kör skriptet för enhetsstation i Bearbetning på din dator. Efter att programmet startat och en anslutning har gjorts bör du se "pitch" -värdet börja svara, vilket visar Headbots lutning.

Ställa in PID -värden: För att kunna styra Headbot måste du ställa in PID -värdena. För den version av Headbot som beskrivs här. Om du klickar på rutan längst upp till vänster på drivstationen visas reglagen för justering av värdena. De tre översta reglagen är för justering av P, I och D för vinkeln (PA, IA och DA) - dessa värden är av primär betydelse för att Headbot ska kunna behålla sin balans. De tre nedre reglagen är för justering av P, I och D för hastigheten (PS, IS och DS) - dessa värden är viktiga för att Headbot ska kunna justera sin körhastighet korrekt enligt joystickingången. Bra startvärden med denna version av Headbot är PA = 0,08, IA = 0,00, DA = 0,035, PS = 0,02, IS = 0,00 och DS = 0,006. När du har ställt in dessa värden klickar du på rutan "Spara inställning" längst upp till vänster på drivstationen (detta sparar inställningarna i en mer hållbar form som överlever en omstart av boten).

Prova saker: Klicka på den gröna joystickfältet längst upp till höger på drivstationen för att ta fram en joystick för att styra roboten. Stå upp Headbot i en nästan balanserad riktning och tryck på den mörkgröna Aktivera rutan längst upp till höger (om du trycker på den röda rutan intill inaktiveras botten). Om allt går bra har du en självbalanserad Headbot, men mer än troligt måste du finjustera PID-värdena. Det finns vanligtvis lite I eller D jämfört med P, så börja där. För lite, och det kommer inte att reagera. För mycket och det kommer att pendla fram och tillbaka. Börja Börja med Angle PID -värdena och gör små ändringar för att se hur saker påverkas. Någon D -term för vinkelslingan kan hjälpa till att minimera svängningar, men en liten mängd kan snabbt ta in mycket skakningar, så använd sparsamt. Om vinkelvärdena är korrekta bör Headbot motstå några skonsamma skott utan att falla. Små ryckningar kan förväntas medan Headbot är balanserad, eftersom stegmotorerna rör sig i halvsteg på 0,9 grader med varje justering.

När balansen uppnåtts, prova att köra genom att göra små rörelser på joysticken, göra små justeringar av Speed PID -värdena så att boten svarar på ett smidigt, graciöst sätt. Att öka I -termen kan vara till hjälp för att motverka att roboten inte håller sig till den inställda hastigheten. Varnas dock-ändringar av Speed PID-värdena kräver ytterligare justeringar av Vinkel-PID-värdena (och vice versa), eftersom PID-slingorna interagerar.

Ändringar av den totala vikten och viktfördelningen av Headbot (t.ex. när du bär glasögon, masker, peruker eller hattar) kommer att kräva ytterligare justeringar av PID -värdena. Vidare, om kostymer slänger balansen för mycket, kan du behöva justera start pitchOffset -värdet i ursa.ino -koden och ladda om koden till ESP32.

Robotics Contest
Robotics Contest

Tvåa i Robotics Contest

Rekommenderad: