Innehållsförteckning:
- Steg 1: Krav
- Steg 2: Bluetooth Chip -konfiguration
- Steg 3: Fästa hjulen på motorerna
- Steg 4: Skapa exteriören
- Steg 5: Montering av komponenterna
- Steg 6: Ladda upp och ställ in koden
Video: Självbalanserande robot: 6 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
I denna instruktionsbok visar vi dig hur du bygger den självbalanserande roboten som vi gjorde som ett skolprojekt. Det är baserat på några andra robotar, till exempel nBot och en annan instruerbar. Roboten kan styras från en Android -smartphone via en Bluetooth -anslutning. Eftersom denna instruktionsbok endast täcker byggprocessen har vi också skrivit ett dokument för att täcka den tekniska bakgrunden till koden och elektroniken. Den innehåller också länkar till de källor som användes, så du kan titta på dem om dokumentet inte är tillräckligt omfattande för dig.
För att följa alla steg i detta projekt behöver du några 3D -utskriftskunskaper eller något annat smart sätt att fästa hjulen på motorerna.
Steg 1: Krav
Roboten är baserad på ett Martinez borstfritt gimbalstyrkort. Det finns några små variationer av det här kortet, men så länge du har ett med ett ATmega328 -chip och L6234 -motorstyrenheter bör du ha det bra. Om du söker efter "Martinez -kort" på Google Bilder ser du att det finns några kort med en enkel kontakt för IMU -chipet och/eller batteriet, istället för stifthuvuden eller hål. I det sista fallet kommer det att vara praktiskt om du beställer ett paket med huvudstiften, som du sedan kan löda i hålen.
Partlista
Några av artiklarna på den här listan innehåller länkar till webbutiker.
- Controller: Martinez BoardDX.com (levereras också med IMU och några rubrikstift).
- IMU: MPU6050
- Batteri (450 mAh 3S LiPo -batteri) Obs! Du behöver också en 3S LiPo -laddare eBay.com
- 2x Motor: Borstlös motor 2208, KV100DX.com
- Hjul (du kan få dem från befintliga leksaker eller LEGO)
- 6x M2 skruv 5 mm
- 8x M3 -skruv (längden beror på materialet för ditt yttre, en måste vara extra lång)
- Bluetooth-chip HC-05 (var noga med att få ett med ett seriellt gränssnittskort anslutet, inte bara ett bara chip) VIKTIGT: Se till att chipet har en stift märkt KEY.
- Ledningar: DuPont från kvinna till kvinna Att köpa ett paket med 20 ledningar kommer att vara mer än tillräckligt
- Kardborreband
- USB -kabel för anslutning av styrenhet till PC
- Valfritt: Header pinsDX.com (du kan klippa eller bryta dessa till önskad längd)
- Brickor och distanser i plast
Slutligen behöver du lite akryl, trä eller kartong tillsammans med lim eller tejp-för att skapa en struktur som rymmer alla komponenter.
Steg 2: Bluetooth Chip -konfiguration
När du har tagit tag i alla delar är det dags för konfiguration av Bluetooth -chipet. Du behöver en USB -kabel för att ansluta styrkortet till din dator samt Arduino IDE för att kommunicera med komponenterna.
För detta måste du ladda ner filen:
HC-05_Serial_Interface.ino
Följ sedan dessa steg:
- Anslut styrenheten till din dator med en USB -kabel.
- Öppna.ino -filen med Arduino IDE.
- I IDE, gå till Tools, Board och se till att den är inställd på Arduino/Genuino Uno.
- Gå nu till Verktyg, Port och ställ den till COM -porten som styrenheten är ansluten till. Vanligtvis finns det bara en port. Om det finns flera, kolla Enhetshanteraren (i Windows) för att ta reda på vilken som är kontrollen.
- Nu trycker du på uppladdningsknappen i IDE och väntar på att uppladdningen är klar. Koppla sedan bort USB -kabeln från antingen datorn eller styrenheten.
När du har gjort detta ansluter du HC-05 med DuPont-kablar enligt följande:
HC-05-styrenhet
KEY +5V GND GND TXD RX RXD TX
Anslut nu USB-kabeln igen, anslut sedan HC-05: s VCC-stift till en annan +5V på styrenheten. Lysdioden ska blinka med ett intervall på ~ 1 sekund.
Välj rätt COM -port i Arduino IDE och gå sedan till Verktyg, Seriell bildskärm.
Ställ in alternativet Line Ending i Serial Monitor till både NL & CR. Ställ in överföringshastigheten till 38400. Nu kan du använda Serial Monitor för att skicka inställningskommandon till Bluetooth -chipet. Dessa är kommandona:
AT Kontrollera anslutningen
AT+NAME Get/set Bluetooth display name AT+UART Get/set baud rate AT+ORGL Återställ fabriksinställningarna AT+PSWD Hämta/ställ in Bluetooth -lösenord
För att ändra namn, lösenord och överföringshastighet för Bluetooth -enheten, skicka följande kommandon:
AT+NAME = "Exempelnamn"
AT+PSWD = "PassWord123" AT+UART = "230400, 1, 0"
Alternativ för namn och lösenord kan ställas in på vad du vill, var noga med att ställa in överföringshastigheten med exakt samma kommando som anges ovan. Detta sätter den till 230400 baud, med 1 stoppbit och ingen paritet. När du har ställt in allt, ansluter du USB -kabeln igen (för att lämna installationsläget) och försöker para ihop din telefon med chipet. Om allt fungerar kopplar du bort USB -kabeln och går vidare till nästa steg.
Steg 3: Fästa hjulen på motorerna
Hjulen som användes i detta projekt har ett okänt ursprung (de låg runt i en låda med många andra saker). För att fästa hjulen på motorerna har vi 3D -skrivit ut en bit som matchade skruvhålen på motorerna. Bitarna skruvades fast med tre 5 millimeter 2M skruvar per motor. Båda bitarna har en stift som passar hålen i hjulaxlarna.
SolidWorks -modellen ingår. Du måste förmodligen modifiera den för dina hjul, eller hitta en annan praktisk lösning för att passa hjulen. Till exempel kan du använda en Dremel för att hugga ett hål i samma storlek som motorn (eller lite mindre för att ge den en passform), sedan kan du trycka in motorn i hjulet. Var noga med att skaffa lämpliga hjul för det här jobbet om du planerar att göra detta.
Steg 4: Skapa exteriören
Till utsidan användes två träbitar och skars till samma form. Till att börja med markerade vi motorns omkrets på botten av mitten av stycket. Vi markerade sedan varje hörn med en 45 graders linje och såg till att lämna tillräckligt med utrymme för motorn att sitta längst ner i mitten. Vi klämde sedan ihop de två träbitarna och sågade av hörnen. För att avsluta sakerna slipade vi hörnen för att göra dem mindre vassa och ta bort splinter.
Nu är det dags att borra hål för skruvarna och axeln som bular ut ur motorns baksida. Om du klämmer ihop träbitarna vid borrning behöver du bara borra varje hål en gång.
För att skapa layouten för skruvhålen använde vi ett papper och placerade det på baksidan av motorn och använde en penna för att trycka in skruvhålen, rakt igenom papperet. Papperet med de fyra skruvhålen placerades sedan på träet så att vi kunde markera platsen för de hål som ska borras. För att borra hålen, använd en 3, 5 mm borr. Använd nu en penna och en linjal för att hitta mitten av dessa hål och skapa hålet för axeln med en 5 mm borr. Fäst motorerna med M3 -skruvar, men lämna en av de större skruvarna på avstånd från en motor.
För att få motorkontakten och kabeln inuti roboten så borrade vi också ett 8 mm hål lite ovanför motorn. Se till att det finns tillräckligt med utrymme för trådarna att böja utan att stressa dem för mycket.
Det är viktigt att arbeta så exakt som möjligt för att skapa ett (nära) perfekt symmetriskt yttre
Steg 5: Montering av komponenterna
Markera en vertikal mittlinje på träet så att du kan placera komponenterna i mitten. Du kan fästa allt på träet med kardborreband. I vår robot använde vi små bultar och muttrar för att säkra styrkortet, men du kan också använda kardborreband (vi hade inte det ännu när vi fäst kontrollen). Se till att du kan ansluta en USB -kabel när du är klar med konstruktionen.
Vi placerade handkontrollen i mitten med USB -porten nedåt så att vi kunde koppla in kabeln mellan hjulen. Du kan också peka den mot en av sidorna.
Placera batteriet så högt som möjligt, så att roboten blir topptung. Placera också laddningsporten på en lättillgänglig plats nära kanten.
Bluetooth -chip
Anslut Bluetooth -chipets VCC -stift till +5V på styrenheten och Bluetooth GND till styrenhetens GND. Styrenhetens TXD -stift går till Bluetooth RX och RXD -stiftet på styrenheten går till Bluetooth TX -stiftet. Stick sedan bara Bluetooth -chipet någonstans på träpanelen med kardborreband.
Motion Chip
Rörelsechipet har två skruvhål, så vi fäst chipet med hjälp av en distans, så att chipets mitt faller över motorns mitt. Orienteringen spelar ingen roll, eftersom roboten kalibrerar sig själv vid uppstart. Var noga med att använda en plastbricka under skruvhuvudet för att förhindra kortslutning av kretsen.
Använd sedan DuPont -kablar för att ansluta stiften till styrenheten. Varje stift är märkt samma på styrenheten som på rörelsechipet, så att ansluta det är ganska självförklarande.
Strömbrytare
Det är enkelt att ansluta en strömbrytare. Vi tog en från en gammal enhet och avlödde den från kretskortet. För att använda den som en strömbrytare för roboten ansluter du batteriets positiva ledning till stiftet (förutsatt att det är en trepolig omkopplare) på den sida som du vill göra omkopplarens på-läge. Anslut sedan mittstiftet till styrenhetens positiva effektingång. Vi lödde DuPont -kablar till omkopplaren så att batteriet inte är permanent anslutet till strömställaren.
Ansluter sidorna
Nu vet du platsen för komponenterna och du har robotens två sidor. Det sista steget i konstruktionen av roboten blir att ansluta de två sidorna med varandra. vi använde fyra uppsättningar av tre träbitar limmade ihop och skruvade det på sidorna så att vårt rörelsechip befann sig på robotens mittaxel. Det ska sägas att materialet som används, förutsatt att det är tillräckligt starkt, inte spelar någon större roll. Du kan till och med använda en tyngre anslutning på toppen för att öka höjden på massans centrum ännu mer. Men till skillnad från massans centrums vertikala läge bör den horisontella positionen för massans centrum hållas på plats så mycket som möjligt, ovanför hjulaxeln, eftersom kodning av koden för rörelsechipet skulle bli ganska svårt om det horisontella centrumet av massflykt.
Nu är du redo att ladda upp koden och ställa in kontrollen.
Steg 6: Ladda upp och ställ in koden
För att ladda upp koden behöver du en dator med Arduino IDE. Ladda ner.ino -filen nedan och öppna den med Arduino IDE. Ladda upp den till handkontrollen görs på samma sätt som du gjorde med koden från Bluetooth -inställningen.
För att få roboten att fungera måste du ladda ner appen ‘Joystick bluetooth Commander’ från Play Store. Slå på robotens ström och placera den på golvet, antingen på framsidan eller baksidan. Starta appen och anslut till Bluetooth -chipet. Datafield 1 går från XXX till KLAR när roboten har kalibrerat sig (5 sekunder för att placera den på sidan, följt av 10 sekunder av kalibrering). Du kan slå på roboten genom att växla knapp 1 i appen. Placera nu roboten vertikalt på marken och släpp den när du känner motorerna slå på. Det är då roboten börjar balansera sig själv.
Roboten är nu redo att ställas in, eftersom dess stabilitet förmodligen inte är bra. Du kan försöka om det fungerar utan ytterligare inställning, men du måste göra roboten ganska identisk med vår för att den ska fungera korrekt. Så i de flesta fall bör du ställa in styrenheten så att den fungerar bäst med din robot. Det är ganska enkelt, trots att det är ganska tidskrävande. Så här gör du:
Tuning av styrenheten
Någonstans i koden hittar du fyra variabler, som börjar med k. Dessa är kp, kd, kc och kv. Börja med att sätta alla värden till noll. Det första värdet som ska ställas in är kp. Standardvärdet för kp är 0,17. Prova att ställa in det till något mycket lägre som 0,05. Stäng av roboten, ladda upp koden och se hur den försöker balansera. Om det faller framåt, öka värdet. Det smartaste sättet att göra detta är genom att interpolera:
- Ställ in värdet till något lågt och prova det
- Ställ in värdet på något högt och prova det
- Ställ in värdet till genomsnittet av de två och prova det
- Försök nu ta reda på om det balanserade bättre på det låga eller höga värdet och i genomsnitt det nuvarande värdet och det där det fungerade bättre.
- Fortsätt tills du hittar en söt plats
Sötpunkten för kp-värdet är när det är runt kanten av under- och överkompensation. Så ibland kommer det att falla framåt eftersom det inte kan hänga med i sin fallhastighet, och andra gånger kommer det att falla bakåt eftersom det skjuter i en annan riktning.
När du har ställt in kp -värdet ställer du in kd. Detta kan göras på samma sätt som du gjorde med kp. Öka detta värde tills roboten är nästan balanserad, så att den svänger fram och tillbaka tills den faller omkull. Om du sätter den för högt kan du få den att balansera ganska snyggt redan, men när balansen störs för mycket kommer den att falla omkull (som när du trycker på den). Så försök hitta den plats där den inte är riktigt balanserad, men ganska nära.
Som du kanske gissar kan det ta flera försök att ställa in styrenheten eftersom det blir svårare för varje ny variabel som introduceras. Så om du tror att det inte kommer att fungera, börja om igen.
Nu är det dags att ställa in kv. Interpolera detta tills du hittar ett värde där roboten slutar svänga, förblir balanserad och klarar ett lätt tryck. Om den är för hög påverkar den stabiliteten negativt. Prova att leka med kv och kp för att hitta en punkt där det är det mest stabila. Detta är det mest tidskrävande steget i inställningen.
Det sista värdet är kc. Detta värde får roboten att återgå till sin sista position efter att ha kompenserat för ett tryck eller något annat. Du kan prova samma interpoleringsmetod här, men 0,0002 borde fungera ganska bra i de flesta fall.
Det är allt! Din robot är nu klar. Använd joysticken på din smartphone för att styra roboten. Akta dig dock, eftersom framåt med maximal hastighet fortfarande kan få roboten att falla omkull. Lek med controllervariablerna för att kompensera för detta så mycket som möjligt. Det mest logiska steget skulle vara att titta på kp -värdet för detta, eftersom det direkt kompenserar för robotens nuvarande vinkel.
Viktig information om LiPo -batterier
Det rekommenderas att du regelbundet kontrollerar spänningen på ditt LiPo -batteri. LiPo-batterier bör inte laddas ur till mindre än 3 volt per cell som mäter 9 volt på en 3S LiPo. Om spänningen sjunker under 3 volt per cell kommer batteriet att förlora permanent. Om spänningen sjunker under 2,5 volt per cell, kassera batteriet och köp en ny. Att ladda en LiPo -cell med mindre än 2,5 volt är farligt eftersom det inre motståndet blir mycket högt, vilket resulterar i ett varmt batteri och en potentiell brandrisk vid laddning.
Rekommenderad:
HeadBot-en självbalanserande robot för STEM-inlärning och uppsökande: 7 steg (med bilder)
HeadBot-en självbalanseringsrobot för STEM-inlärning och uppsökande: Headbot-en två fot lång, självbalanserande robot-är hjärnbarnet till South Eugene Robotics Team (SERT, FRC 2521), ett konkurrenskraftigt gymnasie-robotlag i FIRST Robotics Competition, från Eugene, Oregon. Denna populära uppsökande robot gör
Hur man skapar en fjärrstyrd 3D-utskriven självbalanserande robot: 9 steg (med bilder)
Hur man skapar en fjärrstyrd 3D-utskriven självbalanserande robot: Detta är en utveckling av den tidigare versionen av B-robot. 100% ÖPPEN KÄLLA / Arduino -robot. KODEN, 3D -delarna och elektroniken är öppna så du kan modifiera den eller skapa en enorm version av roboten. Om du har tvivel, idéer eller behöver hjälp
[Arduino Robot] Hur man gör en Motion Capture Robot - Tummen Robot - Servomotor - Källkod: 26 steg (med bilder)
[Arduino Robot] Hur man gör en Motion Capture Robot | Tummen Robot | Servomotor | Källkod: Thumbs Robot. Använd en potentiometer för MG90S servomotor. Det är väldigt roligt och enkelt! Koden är väldigt enkel. Det är bara runt 30 rader. Det ser ut som en rörelseinspelning. Lämna gärna frågor eller feedback! [Instruktion] Källkod https: //github.c
Självbalanserande etthjulsfordon: 8 steg (med bilder)
DIY självbalanserande ett hjul fordon: Intresserad av några av trenden med självbalanserande produkter som segway och solowheel.yes, du kan gå vart som helst genom att köra på ditt hjul utan att tröttna. men det är bra om du kan få det själv. Tja, låt oss bygga det
Självbalanserande Robo-riddare: 7 steg (med bilder)
Självbalanserande Robo-ridder: Videospel och brädspel är ett bra sätt att umgås med vänner och familj. Ibland känner du för att spendera tid offline och lägga undan all din elektronik, en annan gång dyker du in i den virtuella världen av sport, arkad eller kampspel