Grundläggande tank-drive robot kontroll över Bluetooth med mbed med Freescale K64F (2 / 5 steg)
Steg 2: Importera TankDrive kod
Välj Importera mbed IDE, och "Klicka här" om du vill importera av URL.
Ange https://developer.mbed.org/users/Mr_What/code/Tank... för TankDrive programmet.
Kompilera och ladda ner bilden från denna kod. På reset, bör programmet flash uppsättningen av alla primära och kostnadsfria primära färger i sekvens. Om du ser denna sekvens, körs koden.
Granska koden för int main () i main.cpp att se till att Bluetooth-kommunikation är inställd på din hastighet.
Kontrollera även att du använt samma stiften kallas i de globala MotorDrive konstruktörerna nära toppen av main.cpp. Om du valde olika stift, som deras namn på lämpligt sätt i de globala konstruktörerna för MotorDrive objekt i ingressen till main.cpp.
Många högre motorstyrning kraftmoduler, sådan ad DBH-1 x-serien, har en max PWM inställning. När det gäller DBH-1A är detta 98%. Jag vet inte varför. De varnar för transistor bränna ut när kör vid 100% intermittens. Det kan vara att de använder en avgift pump för N-kanal MOSFETS i överkant, och om denna avgift pump avrinningar, transistorn kanske inte helt "på", vilket skulle orsaka det att värma upp. För att vara säker, jag använde PWM stift för motor förarens riktning ingångar och sätta en max PWM skattesats på 98% på dessa linjer. Jag kontrollera hastighet främst med PWM på EN PIN-koden, men använder 98% intermittensfaktor PWM på riktning stiften ser till att jag meed rekommendationerna för använda DBH-1 x modul.
Den gemensamma L298N chipet har inte denna begränsning. Om du använder en L298N modul, kommentera ut raden #define DBH1 i ingressen till main.cpp. För L298N föraren behöver du inte klarar PWM stift för IN1/IN2 signaler. De kan vara enkla digitala I/O kan stift. Du kommer också notera att den L298N versionen av den här drivrutinen har endast 3 ingångar till konstruktören, eftersom det finns ingen ström-sense utgång som finns på de flesta L298N moduler.
För att testa fast jag motor styrsignaler till en breakout på en skärbräda. Var och en av dessa signaler fästes till en förstärkt logik sond som lyser upp en LED. Jag är rädd att du inte kanske att köra regelbundna 2v, 20mA lysdioder på ett tillförlitligt sätt från en ARM digital I/O utgång, särskilt när de är delade med en 5v TTL-ingång. Byggandet av dessa förstärkta logik indikatorer kan vara föremål för en framtida Instructable. Det som visas ritas om .3mA från den digitala i/o pin och förstärker detta med en NPN Darlington att belysa LED från en 5V källa. Jag har sedan beställt en påse med 2N7000 små-signal MOSFETs för detta ändamål. De bör kunna växla utan att det bas strömbegränsande motståndet och drar nästan 0A för att driva ljuset. (En liten mängd ström behövs för att växla staten, men när transistorn staten har angetts, strömförbrukning droppar till nA eller mindre)
Om du inte att bygga en provning breakout, det är bra. Nu när koden är testat, bör du kunna testa direkt på DC-motorer.