Stap 9: De Motor Driver sectie testen
1. turns motor een in één richting gedurende 3 seconden bij lage snelheid
2. keert motor A 3 seconden bij lage snelheid
3. bochten motor A in de andere richting gedurende 3 seconden op volle snelheid
4. keert motor A 3 seconden op volle snelheid
5. stopt motor A
6. Herhaal de stappen 1. -5. met motor B
7. begint helemaal
De schets is hieronder weergegeven en kan worden gebruikt voor het testen van bestuur versies 2 – 5. Merk op dat de motor bestuur stuurprogrammaversies die een variabele snelheid-optie niet hebben werkt altijd op volle snelheid.
Voor het testen van de Raad van bestuur, I:
a) de DIYduino in verband met Rx, Tx, GND, en terug naar mijn Arduino Uno als aangegeven in stap 7 "Testen de DIYduino sectie". U kunt ook een USB naar seriële programmeur als je er een hebt.
b) aangesloten mijn gekozen motor voedingsspanning Vcc = 12V tot de macht van de DIYduino ingang.
c) aangesloten een voltmeter op de motor output van de Raad van bestuur. Dit bord gebruikt slechts één uitgang.
c) Uploaded de schets ' schets voor Testing 3-in-1 DIYduino' hieronder.
d) zag de voltmeter en geverifieerd dat de voedingsspanning aan de motor was:
(i) ingeschakeld
(ii) omgekeerd
(iii) ingeschakeld
(iv) omgekeerd
(v) uitgeschakeld
in 3, 3, 3, 3 en 12 seconden, respectievelijk.
Voor variabele snelheid motor drivers (versie 3 en versie 5) de eerste twee stappen moeten resulteren in een spanning uitgang < Vcc. De laatste twee stappen moeten uitgang Vcc.
Voor vaste snelheid motor drivers (versie 2 en versie 4) moet de output altijd Vcc.
e) als u een 2-kanaals bord gemaakt, verplaatsen dat de test van uw voltmeter leidt tot het andere kanaal. U moet hetzelfde patroon waarnemen.
Dit concludeert dit instructable.
Goed geluk met uw robots.
Als je toevallig te bouwen en een van deze platen te gebruiken in uw ontwerpen, zou ik graag zien. Upload enkele foto's.
Schets voor het testen van de 3-in-1 DIYduino:
/ *---(Declareer variabelen)---* /
int dir1PinA = 7; richting 1 pincode instellen voor Motor A naar pin 6
int dir2PinA = 8; richting 2 pincode instellen voor Motor A tot en met pin 5
int speedPinA = 9; controle snelheid PWM pincode instellen voor Motor A tot en met pin 9
int dir1PinB = 12; richting 1 pincode instellen voor Motor B tot en met pin 12
int dir2PinB = 13; richting 2 pin voor Motor B ingesteld op pin 13
int speedPinB = 6; controle snelheid PWM pincode instellen voor Motor B tot en met pin 6
void setup / *** SETUP: loopt eenmaal *** /
{
set pin modi
pinMode (dir1PinA, OUTPUT); voor motor A controle richting
pinMode (dir2PinA, OUTPUT); voor motor A controle richting
pinMode (speedPinA, OUTPUT); voor motor een snelheid controle
pinMode (dir1PinB, OUTPUT); voor de richting van de controle van de motor B
pinMode (dir2PinB, OUTPUT); voor de richting van de controle van de motor B
pinMode (speedPinB, OUTPUT); voor motor B controle van snelheid
starten met gestopt motoren:
Motor A
digitalWrite (dir1PinA, laag);
digitalWrite (dir2PinA, laag);
Motor B
digitalWrite (dir1PinB, laag);
digitalWrite (dir2PinB, laag);
} //--(end setup)---
void loop / *** lus: loopt voortdurend *** /
{
Afslaan motor een in eerste richting met snelheid 100 op een schaal maximaal 255
analogWrite (speedPinA, 100);
digitalWrite (dir1PinA, hoge);
digitalWrite (dir2PinA, laag);
Wacht 3 seconden
delay(3000);
Afslaan motor een in tweede richting met snelheid 100 op een schaal maximaal 255
analogWrite (speedPinA, 100);
digitalWrite (dir1PinA, laag);
digitalWrite (dir2PinA, hoge);
Wacht 3 seconden
delay(3000);
Afslaan motor een in eerste richting met snelheid 255 op een schaal maximaal 255
analogWrite (speedPinA, 255);
digitalWrite (dir1PinA, hoge);
digitalWrite (dir2PinA, laag);
Wacht 3 seconden
delay(3000);
Afslaan motor een in tweede richting met snelheid 100 op een schaal maximaal 255
analogWrite (speedPinA, 255);
digitalWrite (dir1PinA, laag);
digitalWrite (dir2PinA, hoge);
Wacht 3 seconden
delay(3000);
Stop motor A
digitalWrite (dir1PinA, laag);
digitalWrite (dir2PinA, laag);
Beurt motor B in eerste richting met snelheid 100 op een schaal maximaal 255
analogWrite (speedPinB, 100);
digitalWrite (dir1PinB, hoge);
digitalWrite (dir2PinB, laag);
Wacht 3 seconden
delay(3000);
Beurt motor B in tweede richting met snelheid 100 op een schaal maximaal 255
analogWrite (speedPinB, 100);
digitalWrite (dir1PinB, laag);
digitalWrite (dir2PinB, hoge);
Wacht 3 seconden
delay(3000);
Beurt motor B in eerste richting met snelheid 255 op een schaal maximaal 255
analogWrite (speedPinB, 255);
digitalWrite (dir1PinB, hoge);
digitalWrite (dir2PinB, laag);
Wacht 3 seconden
delay(3000);
Beurt motor B in tweede richting met snelheid 100 op een schaal maximaal 255
analogWrite (speedPinB, 255);
digitalWrite (dir1PinB, laag);
digitalWrite (dir2PinB, hoge);
Wacht 3 seconden
delay(3000);
Stop motor B
digitalWrite (dir1PinB, laag);
digitalWrite (dir2PinB, laag);
} //--(end hoofdlus)---