GOduino III - de breadboard-vriendelijke Arduino gebaseerde robot controller (2 / 6 stap)

Stap 2: Controle 2 borstelmotoren DC


De GOduino III maakt gebruik van de L293D h-brug (motor rijder) die is een robuuste en goedkope duik IC dat circuit ontwerp vereenvoudigt. Het heeft ingebouwde EMF bescherming en thermische shutdown ingeval motoren trekken teveel huidige die kan ook schade aan de L293D.

Een enkele L293D kunt 2 geborsteld gelijkstroommotoren met piek/kraam huidige tot 600mA per motor. Piek/kraam huidige is de stroom die de motor trekt wanneer verhinderd draaien terwijl nog aangedreven.

Als u twee L293D ICs meeliften, kunt u dubbele de stroom van de GOduino III tot 1.2a per motor. Dit is meer dan genoeg aan de macht van de meeste gelijkstroommotoren voor kleine robots.

Pololu en Solarbotic, bijvoorbeeld, bieden een brede selectie van motoren die goed binnen de huidige ratings van de L293D werken.

Het L293D logica circuit wordt gevoed via de GOduino III power regulator (7805) maar de L293D van motorische controle circuit rechtstreeks van de accu wordt aangedreven.

Elke motor wordt aangedreven van de L293D via een 2-pins mannelijke header (Motor 1 en 2 van de Motor). De volgorde van een motor palen verbinden met de 2-pins header beslist de draairichting van de motor. U kunt ook motor draairichting van de Arduino schets.

TIP: Soldeer een 0.1uF keramische condensator over de pijlers van uw DC borstelmotor voor toegevoegde circuit stabiliteit. Het verkorten van de leads op de condensator zoveel mogelijk voor betere respons en te voorkomen dat per ongeluk elektrische shorts.

De GOduino III ATmega328 pinnen zijn toegewezen aan de L293D h-brug op deze manier (met behulp van de Arduino pin nummering):

Motor 1 Pole1---> Arduino Pin 4
Motor 1 paal 2---> Arduino Pin 2
Motor 1 inschakelen---> Arduion Pin 5 (PWM)

Motor 2 Pole1---> Arduino Pin 7
Motor 2 competentiepolen2---> Arduino Pin 8
Motor 2 inschakelen---> Arduion Pin 6 (PWM)

DE SOFTWAREBIBLIOTHEEK

Ik schreef de Goduino motor bibliotheek om te elimineren de behoefte om te onthouden van het hoge, lage pin uitgang sequenties moest zetten of stoppen van een motor.

Er zijn 4 functies in de Goduino motor bibliotheek:

  • de snelheid van de verzamelingen van het motorSpeed (mot1speed, mot2speed) voor beide motoren.
  • motorStop(motorNum) stopt een motor.
  • motorForward(motorNum) draait een motor in één richting.
  • motorBack(motorNum) draait een motor in de omgekeerde richting.

PARAMETERS

Er zijn twee 2-pins mannelijke koppen op de GOduino III PCB: Motor 1 en Motor 2. Alle functies in de motor Goduino-bibliotheek die een enkele parameter, het is 1 voor Motor 1 of 2 voor Motor 2.

De enige functie die twee parameters is de motorSpeed() functie. De eerste parameter stelt snelheid voor Motor 1 en de tweede sets snelheid voor Motor 2. De maximumsnelheid is 1023. Dit betekent dat uw motor de max snelheid kan worden vergroot of verkleind met 1023 stappen.

De GOduino III-bibliotheek en andere ondersteunende bestanden kunnen worden gedownload van Github:
https://github.com/techbitar/goduino

U kunt de voorbeeldcode (motortest.ino) opgenomen in de bibliotheek van de Goduino onder de map examples te testen en te synchroniseren motor draairichting. De video toont de GOduino III met de test-routine. De Arduino IDE open:

Bestanden/Examples/Goduino/motortest

Opmerking: Ik heb vermeden met behulp van Arduino Uno pin 3 en 11, omdat ze worden gebruikt door de Arduino tone() functie. Dus nu kan ik het opbouwen van een robot die lawaai maakt.  (Applaus).

Dit is de test code wordt gebruikt in de video. Controleer mijn Github voor updates en bugfixes:

/*
Bestand: motortest.ino - voorbeeld sketch om te testen de GOduino III robot controller.
Gemaakt door: Hazim Bitar (techbitar op gmail dot com)
Datum: 23 augustus 20012.
Versie: 0.11 beta
Licentie: Vrijgegeven in het publieke domein.
*/

#include < Goduino.h >

Goduino myrobot;

VOID Setup {}
Serial.begin(9600);
Serial.println ("ingestelde snelheid van beide motoren tot 100 (max 1024)");
myrobot.motorSpeed(50,50);
}

void loop {}

Serial.println ("TESTFASE I - beide motoren samen IN dezelfde richting draaien");
delay(3000);

Serial.println ("Spin beide motoren in één richting (3 sec)");
myrobot.motorForward(1);
myrobot.motorForward(2);
delay(3000);

Serial.println ("Stop beide motoren voor 1 sec");
myrobot.motorStop(1);
myrobot.motorStop(2);
delay(1000);

Serial.println ("Spin beide motoren in tegengestelde richting (3 sec)");
myrobot.motorBack(1);
myrobot.motorBack(2);
delay(3000);

Serial.println ("Stop beide motoren voor 1 sec");
myrobot.motorStop(1);
myrobot.motorStop(2);
delay(1000);

//=================================================================================

Serial.println ("TEST fase II - SPIN elke MOTOR OPPOSTE van de andere");
delay(3000);

Serial.println ("Spin motor 1 in één richting, terwijl motor 2 in tegengestelde richting (3 sec)");
myrobot.motorForward(1);
myrobot.motorBack(2);
delay(3000);

Serial.println ("Stop beide motoren voor 1 sec");
myrobot.motorStop(1);
myrobot.motorStop(2);
delay(1000);

Serial.println ("Spin motor 2 in één richting, terwijl 1 motor in tegengestelde richting (3 sec)");
myrobot.motorBack(1);
myrobot.motorForward(2);
delay(3000);

Serial.println ("Stop beide motoren voor 1 sec");
myrobot.motorStop(1);
myrobot.motorStop(2);
delay(1000);

//=================================================================================

Serial.println ("TEST fase III - elke MOTOR draaien terwijl de andere IS gestopt");
delay(3000);

Serial.println ("Spin motor 1 in één richting terwijl motor 2 is gestopt (3 sec)");
myrobot.motorForward(1);
myrobot.motorStop(2);
delay(3000);

Serial.println ("Stop beide motoren voor 1 sec");
myrobot.motorStop(1);
myrobot.motorStop(2);
delay(1000);

Serial.println ("Spin motor 2 in één richting terwijl motor 1 is gestopt (3 sec)");
myrobot.motorForward(2);
myrobot.motorStop(1);
delay(3000);

Serial.println ("Stop beide motoren voor 1 sec");
myrobot.motorStop(1);
myrobot.motorStop(2);
delay(1000);

Serial.println ("Spin motor 1 in omgekeerde richting terwijl motor 2 is gestopt (3 sec)");
myrobot.motorBack(1);
myrobot.motorStop(2);
delay(3000);

Serial.println ("Stop beide motoren voor 1 sec");
myrobot.motorStop(1);
myrobot.motorStop(2);
delay(1000);

Serial.println ("Spin motor 2 in omgekeerde richting terwijl motor 1 is gestopt (3 sec)");
myrobot.motorBack(2);
myrobot.motorStop(1);
delay(3000);

Serial.println ("Stop beide motoren voor 1 sec");
myrobot.motorStop(1);
myrobot.motorStop(2);
delay(1000);

}

Gerelateerde Artikelen

Arduino gebaseerd Robotic Car(wireless controls+Autonomous)

Arduino gebaseerd Robotic Car(wireless controls+Autonomous)

Dit instructable is over een Arduino gebaseerd Robotic auto die gebruik maakt van Arduino Arduino,, Arduino programmeertaal, motor bestuurder, een LCD-scherm te zien wat de huidige status van de auto en zelfs een Bluetooth-module voor draadloze commu
Arduino gebaseerde robot met IR radar

Arduino gebaseerde robot met IR radar

het prototype van de robot in dit Instructable is mijn tweede Arduino gebaseerde "slumbot" die een autonome robot is. Samen met huishoudelijke artikelen en kladjes vastzit. De robot ziet"" met een IR sensor gedraaid door een servo scan
Goedkope arduino gebaseerd robotic claw prostetic hand

Goedkope arduino gebaseerd robotic claw prostetic hand

Dit project kwam voor de geest na ingelicht dat Medicare niet betalen voor een hand, alleen de haak. dus heb ik besloten om te proberen om een robotic hand te maken. De totale partscost is goed onder $100.servo https://www.Sparkfun.com/products/10333
Onder volgeling Arduino gebaseerde Robot

Onder volgeling Arduino gebaseerde Robot

dit is mijn allereerste robot, een volgeling van onder Robot1. Tamiya caterpillar kit2. Tamiya twin versnellingsbak3. Arduino Diecimila4. H brug L293e5. 8 diodes6. brood bord7. 2 foto weerstand8 veel dradende broncode:int pinMotorL1 = 2;int pinMotorL
Arduino gebaseerde Robot Manipulator

Arduino gebaseerde Robot Manipulator

dit is mijn eerste prototype van een robot manipulator. Tot nu toe, heb ik echt gericht op het physic aspect van de arm dus ik heb niet veel aan het aspect van het programma gewerkt. Het huidige doel van dit project is het creëren van een solide basi
Adil Controller, Arduino gebaseerde draadloze controller

Adil Controller, Arduino gebaseerde draadloze controller

een nieuw project van multifunctionele afstandsbediening. Het zal worden gebruikt om verschillende robot-modellen met inbegrip van een op maat gemaakte quadcopter. Het is gebaseerd op de ArduinoMega2560 microcontroller. Links-naar-rechts met een 1200
Dual Core Arduino / Atemga328 - Robot Controller & audiospeler

Dual Core Arduino / Atemga328 - Robot Controller & audiospeler

Hallo daar collega beleidsmakers,Ik wil enkele ervaringen die ik heb opgedaan tijdens het werken aan mijn
Sla voor Life - 101 Arduino gebaseerd geautomatiseerd Controller voor Aeroponics, Aquaponics, hydrocultuur, enz.  Intel Curie

Sla voor Life - 101 Arduino gebaseerd geautomatiseerd Controller voor Aeroponics, Aquaponics, hydrocultuur, enz. Intel Curie

SAMENVATTINGEen apparaat dat kan worden gebruikt voor het besturen van tot 4 verschillende Hydroponic/Aeroponic systemen tegelijk. Het apparaat zal bepalen van de componenten van het systeem en zal melding naar een LCD-scherm weergegeven en kan de ge
ARDUINO gebaseerd IR afstandsbediening robot

ARDUINO gebaseerd IR afstandsbediening robot

Hallo iedereen. Dit mijn nieuwe project IR afstandsbediening robot met behulp van arduino. Dit is een eenvoudig ontwerp robot die kunt u gemakkelijk bouwen.Stap 1: vereisten:Projecteisen:Arduino uno Tsop1738 (ir ontvanger)H brug ic (L293D)Twee gelijk
Arduino gebaseerd 4WD Bluetooth Microbot

Arduino gebaseerd 4WD Bluetooth Microbot

Deze microbot is geïnspireerd door Arduino-Nano-gebaseerd-Microbot. In plaats van 2 servo's, wordt deze robot aangedreven door 4, eliminerend de behoefte aan nummers.De micro controller die ik gebruik is Bluno kever, die een kleine Arduino gebaseerd-
BOBO Arduino gebaseerde semi-autonome RC auto

BOBO Arduino gebaseerde semi-autonome RC auto

Hallo Instructables!,BOBO, is mijn poging om een arduino gebaseerd, autonome robot-platform. De kleine man is gebaseerd op een arduino mega, hoewel de basis staat zou poging tot op een Arduino Uno of soortgelijk. Hij heeft 4 onafhankelijke motoren be
Hoe te gebruiken grafische programmeersoftware programma Arduino en robots?

Hoe te gebruiken grafische programmeersoftware programma Arduino en robots?

Hallo iedereen, laatste keer dat ik zag een grappige robot om kinderen te leren robotica (u kunt meer informatie krijgen over hun Kickstarter pagina). Maar ik ben meer geïnteresseerd in het grafische programmering taal mBlock. Het schijt een gratis g
Arduino gebaseerde Smart Home IOT systeem

Arduino gebaseerde Smart Home IOT systeem

Hallo, ik ben Michalis Vasilakis uit Ardumotive.com en in deze handleiding Instructables zal ik u tonen hoe kunt u gemakkelijk maken uw eigen smart home systeem op basis van Arduino uno en een Ethernet-module (of schild).U zal zitten kundig voor gebr
Zeven Segment Display Thermometer - Arduino gebaseerd

Zeven Segment Display Thermometer - Arduino gebaseerd

Vandaag zal ik u tonen hoe te maken van uw eigen 7 segment - 2 digit - thermometer met Arduino uno en DS18B20 temperatuursensor.Ik verkies om te bouwen van mijn eigen arduino gebaseerd circuit met behulp van de ATmega328p uno bezitter, maar dit is op