4/4/2012: de versie van de pcb met variabele motorsnelheid, GOduino II, is op mijn blog http://techbitar.blogspot.com/2012/04/goduino-ii-motor-driver-arduino-uno.html en hier
29/3/2012: correcties aan motor belasting berekeningen sectie.
14/3/2012: Ik heb een elektrolytische condensator van 100 uF tussen motor voeding (pin 8 op de L293D) en GND. Het Fritzing diagram toont de toevoeging van deze condensator, maar de foto's nog steeds niet. Ik heb ook een paar typefouten vast.
INTRODUCTIE
Ik heb een paar robots met behulp van de Arduino Uno en de Motor Shield van Adafruit ontworpen. Beide zijn geweldig voor prototyping. Maar ik vond mezelf nemen mijn robots naast elke keer dat ik nodig had om een andere robot te bouwen. Het is niet kosteneffectief te kopen meer Arduino microcontrollers en motor schilden voor elk nieuw project van de robot.
Dus besloten heb ik om ontwerp een low-cost "run-time" GOduino robot controller die de functionaliteit van de Arduino Uno combineert en, tot op zekere hoogte, de motor shield. Voor deze gids, ik heb gebruikt een breadboard maar kon hebben evenals gesoldeerd aan de GOduino op een PCB.
Ik heb gekocht een paar ATmega328p (DIP) ICs met de Arduino boot-loader vooraf verbrand, maar kunt u de lege ATmega328 kopen en vervolgens branden van de Arduino boot-loader zelf. De Arduino mensen hebben gesuggereerd een paar manieren om dit te doen: http://arduino.cc/en/Hacking/Bootloader
Van nu af aan, zal snel als ik klaar ben met het bouwen en testen van een nieuwe robot, ik vervangen de Arduino Uno en motor shield combo met de GOduino. Natuurlijk moet de Arduino schets worden aangepast rekening houdend met het feit dat ik ben niet meer de programmeerbibliotheek die wordt geleverd met de motor shield gebruikt.
Controleer zult de code van de eenvoudige test die door Guilherme Martins (zie hieronder) en u zien dat het is niet zo moeilijk om uw motor shield schets poort in het GOduino milieu.
Ik gecombineerd om te bouwen van de GOduino, deze twee projecten:
I) kapitaliseren een Arduino op een Breadboard door David A. Mellis
http://Arduino.CC/en/Main/standalone
II) controle van uw motoren met L293D en Arduino door Guilherme Martins
Ik zal niet herhalen van de bovenstaande gidsen, zoals de auteurs een fijne baan met documentatie en illustraties heeft. Ik zal het verstrekken van visuele instructies om te helpen begrijpen hoe de twee projecten worden gecombineerd in de GOduino.
Wat betreft de ATmega328 programmering, gebruikte ik de Arduino IDE 1.0 voor het programmeren van de microcontroller terwijl nog steeds ingevoegd in de Arduino Uno DIP socket. Zodra de IDE klaar bent met het uploaden van de schets van mijn robot, ik gewoon de ATmega328 verwijderd uit de Arduino Uno dan ingevoegd in het breadboard.
Dus is mijn volgende taak om de Ombouwset voor mijn Faz3a II lijn-volgende robot met de GOduino terwijl ik een andere robot met de Arduino Uno en motor schild bouwen.
MOTOR BELASTING BEREKENINGEN
De totale maximum belasting (kraam/piekbelasting) voor elke motor mag niet meer dan 600mA voor een maximum van 1.2a voor twee motoren. U vindt de huidige max/piek/kraam van uw motor uit het gegevensblad of te testen met een multimeter. Dit is wat de L293D ondersteunt. De motoren op mijn lijn-volgende robot zijn goed binnen deze marges (360mA elk op max/piek/kraam). Maar er een manier is om bijna het dubbele van de sterkte van de L293D.
Het is mogelijk om twee L293D-chips voor bijna verdubbeling van hun huidige meeliften. Een enkele L293D kan 1.2a voor beide motoren leveren. Dat is ongeveer 600mA per motor. Piggyback aankan een tweede L293D en de combo 1.2a per motor en 2.4A voor beide motoren gecombineerd.
De SN754410 is compatibel met de L293D pin en 1A kan bieden voor elke motor voor een totaal van 2A voor 2 motoren. Het is ook mogelijk om de SN754410 voor 2A per motor en 4A voor 2 motoren meeliften.
De L293D heeft een terugslag-bescherming dioden voor wanneer de motoren richting omkeren, vandaar de D achtervoegsel maar niet de SN754410. Het is een afweging.
ONDERDELENLIJST
HARDWAREONDERDELEN
-ATmega328p (DIP) met de Arduino boot-loader verbrand voor gemak
-L293D H-brug (DIP)
-7805 spanningsregelaar
-16 MHz klok kristal
-LED
-220 Ohm weerstand
-10K Ohm weerstand
-Condensatoren: 100 uF elektrolytische 2 x 10 uF elektrolytische, 2 x 0.1 uF keramische, 2 x 22 pF keramische
-Arduino Uno w/DIP ATmega328p (voor het programmeren van alleen)
-Breadboard en draden
-2 x gelijkstroommotoren (elke < 600mA lopen en < 1.2a piek/kraam)
SOFTWARE
-Arduino IDE 1.0
Net als bij mijn andere gidsen, zijn feedback en correcties welkom.