Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Att följa linjen på marken är för tråkigt!
Vi har försökt titta på en annan vinkel på linjeföljare och föra dem till ett annat plan - till skolans whiteboard.
Se vad som kom ut av det!
Steg 1: Vad behöver du?
För en racerobot:
Mekanik:
1 x 2WD miniQ Robotchassi; Det är en multifunktionell plattform för att skapa enkla tvåhjuliga robotar
2 x 6V mikroväxelmotor med 1: 150 reduktionsförhållande; Växelmotorer som ingår i miniQ -robotplattformen har ett utväxlingsförhållande på 1:50 och är för snabba. De bör bytas ut mot starkare motorer, till exempel med 1: 150 eller högre utväxling. Ju högre växelförhållande desto långsammare robotar åker på whiteboardtavlan men desto mindre är chansen att hjulen glider
4 x Neodymium magnet; Du behöver små 3 mm tjocklek magneter med 12 mm diameter (för dem med en rund form) eller med 12 mm sidan (för dem med en fyrkantig form). Magneter bör också ha ett hål för maskinskruven med ett försänkt huvud vanligtvis för M3. Ibland anger tillverkarna styrkan på magnetkopplingen. Det bör vara i intervallet 2 kg till 2,4 kg
Elektronik:
1 x Arduino UNO; Kördatorn. Den mest populära prototypplattformen
1 x Octoliner -modul; Ögon och strålkastare på din racingbot. Octoliner är en cool line -sensor som består av 8 separata infraröda sensorer som styrs via ett I2C -gränssnitt
1 x motorskydd; Nästan vilken modul som helst passar dig. Jag använde denna analoga baserad på L298p -chip
1 x 2-cell 7,4V LiPo-batteri; Det kan ge en stor ström som motorer behöver för att övervinna attraktionerna hos magneterna. Det 2-celliga batteriet har en spänning i intervallet 7,4V till 8,4V. Det räcker för 6V-motorer och den inbyggda spänningsregulatorn på Arduino-kortet. Vilken kapacitet som helst kan väljas. Ju rymligt batteriet är, desto längre kör roboten men observera att för stort batteri kan vara tungt. Kapaciteten i intervallet 800mAh till 1300mAh är optimal
Diverse:
4 x Man-Kvinna tråd;
4 x M3-distans eller Man-Female standoff med 10 mm längd;
3 x M3-distans eller Man-Female standoff med 25 mm längd eller mer;
4 x M3x8 försänkt plattskruv;
1 x M3 nylonskruv;
1 x M3 Nylon sexkantmutter;
Eventuella M3 -skruvar och sexkantmuttrar
För ett klassrum:
Magnetisk whiteboardtavla som hänger på väggen;
Tjocka svarta magnetiska brädmarkörer;
Speciell LiPo batteriladdare eller flera laddare om du vill göra många robotar och ladda dem separat
Steg 2: Hur man monterar? Montera chassi
Till en början måste du montera miniQ-chassiplattformen som förbyter motorer från satsen med kraftfullare med 1: 150-utväxlingen. Glöm inte att löda kablarna till motorns kontakter!
Steg 3: Hur man monterar? Installera magneter
Installera magneterna på miniQ -plattformen. Använd M3x10 distans, M3x8 eller M3x6 platta försänkta skruvar och M3 muttrar. Obligatoriska installationshål visas på bilden.
Det är viktigt!
Längden på avstånden ska vara exakt 10 mm. Efter att ha installerat magneterna, testa plattformen på whiteboardtavlan. Alla fyra magneterna ska ligga intill magnetbrädet och gummidäcken på miniQ -plattformens hjul bör vara förladdade och ge lite friktion med brädytan.
Flytta roboten manuellt över hela linjen. Under resan ska magneterna inte komma av brädan. Om någon magnet släpps betyder det att gummidäcken på hjulen laddas maximalt. I det här fallet, öka 10 mm avståndet för alla avstånd med 1 eller 2 mm genom att lägga till ett par M3 brickor och försök igen.
Steg 4: Hur man monterar? Lägg till elektronik
Montera Arduino UNO -kortet på plattformen med M3x25 -avstånd, M3 -skruvar och M3 -muttrar. Använd inte korta avstånd, lämna lite utrymme under Arduino -kortet för ledningar och batteri.
Installera motorskyddet på Arduino UNO -kortet.
Installera Octoliner -modulen. Pressa den mot plattformen med en nylon M3 -skruv och mutter.
Det är viktigt!
Använd inte metallfästen för att montera Octoliner. Vissa monteringshål på brytskivan är lödda och används som IO -stift. För att förhindra kortslutning, använd plastfäste, till exempel nylon.
Steg 5: Hur man monterar? Kabeldragning
Länka alla elektroniska komponenter som visas i diagrammet. Octoliner -modulen är ansluten via 4 ledningar (GND, 5V, SDA, SCL) till Arduino UNO. Anslut motorer till motorskyddet. LiPo -batteriet är kopplat till kontaktdynorna på den externa strömförsörjningen på motorskyddet samt till VIN -stiftet på Arduino -kortet. Istället för att använda VIN -stiftet kan du använda 5,5 mm x 2,1 mm strömkontakt på kortet.
Det är viktigt!
När du använder motorskyddet behövs inga kablar. Två motorkanaler styrs av 4 stift. 2 PWM -stift ansvarar för rotationshastigheten medan 2 DIR -stift för rotationsriktningen. Vanligtvis är de redan kopplade till specifika Arduino Board -stift och deras indexnummer kan variera beroende på tillverkaren av skölden. Till exempel, för min motorsköld är siffrorna D4 D5 (DIR och PWM för den första kanalen) och D7 D6 (DIR och PWM för den andra kanalen). För den ursprungliga Arduino -motorskärmen motsvarar stiftnumren D12 D3 (DIR och PWM för den första kanalen) och D13 D11 (DIR och PWM för den andra kanalen).
Det är viktigt!
Hobby LiPo -batterier har inte ett skydd mot omvänd polaritet! Oavsiktlig kortslutning av de positiva och negativa kontakterna kommer att leda till permanent batterifel eller brand.
Steg 6: Hur programmerar jag? XOD
Att göra ett program för en sådan racerobot är ännu enklare än att montera den.
I alla mina projekt använder jag XOD visuell programmeringsmiljö som gör att jag kan skapa Arduino -program grafiskt utan att skriva kod. Denna miljö är idealisk för snabb prototypning av enheter eller inlärning av programmeringsalgoritmer. Följ XOD -dokumentationswebbsidan för att läsa mer.
För att programmera den här roboten måste du bara lägga till en biblioteks amperka/oktoliner i din XOD -arbetsyta. Det är nödvändigt för arbete med en åttakanals linjesensor.
Steg 7: Hur programmerar jag? Lappa
Programmet är baserat på principen för en PID-styrdrift. Om du vill veta vad PID-regulatorn är och hur den fungerar kan du läsa en annan artikel om detta ämne.
Ta en titt på lappen med robotprogrammet. Låt oss se vilka noder som finns på den och hur det fungerar.
oktoliner-linje
Det är en snabbstartsnod från amperka/octoliner XOD-biblioteket som representerar Octoliner-modulen som spårar linjen. Den matar ut "linjespårningsvärdet" som ligger i intervallet -1 till 1. Värdet 0 visar att linjen är i mittläge relativt de infraröda sensorerna på Octoliner -kortet (mellan CH3 och CH4). -1 -värdet motsvarar positionen extrem vänster (CH0) medan 1 till extrem höger (CH1). Vid startnod initierar optokopplingssensorerna och ställer in standardparametrar för ljusstyrka och känslighet. Ingångarna för denna nod är enhetens I2C -adress (ADDR för Octoliner -kortet är 0x1A) och uppdateringshastigheten för linjespårningsvärde (UPD), jag ställer in den kontinuerligt.
Linjespårningsvärden matas direkt till pid-controller-noden.
pid-controller
Denna nod som implementerar PID-styrenhetens arbete i XOD. Målvärdet (TARG) för det är 0. Det är tillståndet när linjen är exakt i mitten under roboten. Om linjespårningsvärdet är 0, återställs PID-styrenheten via RST-stift. Om linjespårningsvärdet skiljer sig från 0 omvandlar PID-styrenheten det med hjälp av Kp, Ki, Kd koefficienter till motorvarvtalets värden. Koefficientvärdena valdes experimentellt och lika med 1, 0,2 respektive 0,5. Uppdateringshastigheten (UPD) för PID-styrenheten är inställd på kontinuerlig.
Det bearbetade värdet för PID-regulatorn subtraheras från 1 och läggs till i 1. Det görs för att desynkronisera motorer, för att få dem att rotera i motsatta riktningar när linjen går förlorad. Värdet 1 i dessa noder representerar motorernas maximala hastighet. Du kan minska hastigheten genom att ange det lägre värdet.
h-bridge-dc-motor
Ett par av dessa noder är ansvariga för att styra vänster och höger robotmotorer. Här ställer du in de PWM- och DIR -stiftvärden genom vilka din motorskydd fungerar.
Blixta plåstret och testa din racingbot. Om du exakt följer monteringsanvisningarna behöver du inte byta patch eller justera PID-regulatorn. De angivna inställningarna är ganska optimala.
Det färdiga programmet finns i bibliotekets gabbapeople/whiteboard-lopp