Stap 2: Import TankDrive code
De mbed IDE, selecteer Import en 'Klik hier' als u wilt importeren door een URL.
Voer https://developer.mbed.org/users/Mr_What/code/Tank... voor het TankDrive-programma.
Compileer en downloaden het beeld van deze code. Op beginstand zetten, moet het programma de set van alle primaire en gratis primaire kleuren flits in volgorde. Als u deze volgorde ziet, wordt de code uitgevoerd.
Test de code voor int main() in main.cpp om ervoor te zorgen dat Bluetooth-communicatie is ingesteld op uw snelheid.
Ook om te controleren dat u de zelfde pinnen riep in de wereldwijde constructors van de motor in de buurt van de top van main.cpp gebruikt. Als u verschillende pinnen hebt geselecteerd, stel hun namen op passende wijze in de wereldwijde constructors voor de objecten van de motor in de preambule van de main.cpp.
Veel hogere macht motorische controlemodules, dergelijke advertentie de DBH-1 x serie, een max PWM-instelling hebben. Dit is in het geval van de DBH-1A 98%. Ik ben niet zeker waarom. Zij waarschuwen voor transistor burn-out wanneer uitvoert op de taakcyclus van 100%. Het kan zijn dat zij een lading pomp voor N-kanaal MOSFETS aan de hoge kant gebruiken, en als deze lading pomp wegloopt, de transistor mogelijk niet volledig "on", die zou leiden tot het aan hitte omhoog. Om zeker te zijn, ik gebruikte PWM pinnen voor de motor rijbewijs richting ingangen en zetten een max PWM-percentage van 98% op deze lijnen. Ik controle snelheid voornamelijk met PWM op de nl-pin, maar met behulp van een taakcyclus van 98% PWM op de richting pinnen zorgt ervoor dat ik meed de aanbevelingen voor het gebruik van de DBH-1 x module.
De gemeenschappelijke L298N-chip heeft deze beperking niet. Als u een L298N-module gebruikt, commentaar uit de #define DBH1 -regel in de preambule van de main.cpp. Voor het L298N-stuurprogramma moet u niet PWM staat pinnen voor de IN1/IN2 signalen. Ze kunnen eenvoudig digitale I/O kan pinnen. U zult ook opmerking dat de L298N versie van dit stuurprogramma slechts 3 heeft ingangen aan de constructor, aangezien er geen huidige-sense uitvoer beschikbaar op de meeste L298N modules.
Voor het testen bedraad ik de motorische controle signalen aan een uitbraak op een breadboard. Elk van deze signalen werd vastgemaakt aan een versterkte logica sonde die een LED verlicht. Ik vrees dat u niet kundig voor rijden regelmatig 2v, 20mA LED's betrouwbaar uit een ARM digitale I/O output zitten mei, vooral wanneer ze worden gedeeld met een TTL van de 5v ingang. De bouw van deze versterkte logica indicatoren kan deel uitmaken van een toekomstige Instructable. Weergegeven trekt over .3mA van de digitale I/O pin, en dit versterkt met een NPN Darlington tot verlichting van de LED van een 5V-bron. Ik heb sindsdien een zak van 2N7000 kleine-signaal MOSFETs besteld voor dit doel. Ze moeten kunnen om te schakelen zonder de noodzaak voor de huidige beperkende basis weerstand, en tekenen van bijna 0A om te rijden van het licht. (Een kleine hoeveelheid stroom die nodig is om over te schakelen van de staat, maar zodra de transistor staat is ingesteld, huidige draw druppels op nb of minder)
Als u dit niet doet die om te bouwen van een testen breakout, dat is prima. Nu dat de code is getest, moet u zitten kundig voor testen direct op DC-motoren.