GOduino - den Arduino Uno + Motor Driver klon
4/4/2012: den pcb versionen med variabelt varvtal, GOduino II, är på min blogg http://techbitar.blogspot.com/2012/04/goduino-ii-motor-driver-arduino-uno.html och här
29/3/2012: rättelser till motor belastning beräkningar avsnitt.
14/3/2012: Jag har lagt till en 100 uF elektrolytisk kondensator mellan motor strömförsörjning (stift 8 på L293D) och GND. Fritzing diagrammet visar tillägget av denna kondensator, men bilderna fortfarande inte. Jag har också fast några stavfel.
INTRODUKTION
Jag har designat några robotar använder Arduino Uno och Adafruit Motor sköld. Båda är bra för prototyper. Men jag fann mig ta min robotar isär varje gång jag behövde för att bygga en annan robot. Det är inte kostnadseffektivt att köpa mer Arduino microcontrollers och motor sköldar för varje ny robot projekt.
Så jag bestämde mig till design en låg kostnad "körning" GOduino robot controller som kombinerar funktionen Arduino Uno och, i viss mån, motor sköld. För denna guide, jag har använt ett bakbord men kunde också ha lödda GOduino på en PCB.
Jag har köpt ett par ATmega328p (dopp) ICs med Arduino starthanteraren pre brände, men du kan köpa den tomma ATmega328 sedan bränner Arduino-starthanteraren dig. Arduino folk har föreslagit några sätt att göra detta: http://arduino.cc/en/Hacking/Bootloader
Nu kommer att snart som jag gjort bygga och testa en ny robot, jag ersätta den Arduino Uno och motor sköld combo med GOduino. Naturligtvis bör den Arduino skissen ändras för att ta hänsyn till att jag inte längre använder den programmering bibliotek som kommer med motor sköld.
Kontrollera kommer enkelt test koden tillhandahålls av Guilherme Martins (nedan) och du se att det inte är så svårt att port din motor sköld skiss i GOduino miljön.
För att bygga GOduino, kombinerade jag dessa två projekt:
I) bygga en Arduino på en skärbräda av David A. Mellis
http://Arduino.cc/en/main/standalone
II) styra din motors med L293D och Arduino av Guilherme Martins
Jag skall inte upprepa ovanstående guider som författarna gjorde ett bra jobb med dokumentation och illustrationer. Jag kommer att ge visuella instruktioner för att förstå hur de två projekten kombineras till GOduino.
När det gäller programmering i ATmega328, använde jag Arduino IDE 1.0 för att programmera mikrokontroller medan fortfarande in i uttaget Arduino Uno dopp. När IDE klar uppladdning min robot skiss, jag helt enkelt bort ATmega328 från Arduino Uno sedan infogas i bakbord.
Så är min nästa uppgift att eftermontera min Faz3a II linje-efter roboten med GOduino medan jag bygger en annan robot med Arduino Uno och motor sköld.
MOTORISKA BELASTNING BERÄKNINGAR
Totalt max lasten (stall/peak load) för varje motor bör inte överstiga 600mA för maximalt 1.2a för två motorer. Du kan hitta max/topp/stall strömmen av din motor från databladet eller genom att testa med en multimeter. Detta är vad L293D stöder. Motorerna på min linje-efter roboten är väl inom dessa spänner (360mA varje på max/topp/stall). Men det finns ett sätt att nästan dubbla styrkan i L293D.
Det är möjligt att kombitrafik två L293D marker nästan fördubbling av deras nuvarande. En enda L293D kan leverera 1.2a för båda motorer. Det är ungefär 600mA per motor. Piggyback klarar en andra L293D och combo 1.2a per motor och 2.4A för båda motorer kombinerat.
SN754410 är pin-kompatibel med L293D och kan ge 1A för varje motor för totalt 2A för 2 motorer. Det är också möjligt att kombitrafik SN754410 för 2A per motor och 4A för 2 motorer.
L293D har kickback-skydd dioder för när motorerna omvänd riktning, därav D suffix men inte SN754410. Det är en trade off.
RESERVDELSLISTA
MASKINVARUKOMPONENTER
-ATmega328p (dopp) med Arduino-starthanteraren brändes för bekvämlighet
-L293D H-bridge (dopp)
-7805 spänningsregulator
-16 MHz klocka crystal
-LED
-220 Ohm motstånd
-10K Ohm motstånd
-Kondensatorer: 100 uF elektrolytisk, 2 x 10 uF elektrolytisk, 2 x 0,1 uF keramik, 2 x 22 pF keramik
-Arduino Uno w/dopp ATmega328p (för att programmera bara)
-Brödunderläggen och ledningar
-2 x likströmsmotorer (varje < 600mA löpning och < 1.2a peak/stall)
PROGRAMVARA
-Arduino IDE 1.0
Som med mina andra guider, är feedback och rättelser hjärtligt välkomna.