Seiten

Montag, 30. März 2015

Getting Started: Ardumoto-Shield

Mit diesem Anwendungsbeispiel können Sie die  Geschwindigkeit und Drehrichtung eines kleinen Gleichstrommotors (DC Motor) mit dem Ardumoto-Shield von sparkfun steuern.

Verwendete Teile:
1 Arduino UNO
1 Ardumoto Shield
1 DC Motor (12 V, 800mA)
2 Stiftleistenpaare
3 Schraubklemmen
1 USB Kabel
1 externe Spannungsversorgung



















Die beiden Stiftleistenpaare, so wie die Schraubklemmen werden in den Ardumoto Shield eingelötet.
Die beiden Schraubklemmen zum Anschluss für die Motoren (A: 1,2 und B: 2,3) müssen vor dem Einlöten zusammengesteckt werden. Die dritte Schraubklemme dient der externen Stromversorgung für den DC Motor. (+/-).
Alternativ kann zu den Schraubklemmen auch eine Stiftleiste verwendet werden.






















Versuchsaufbau:
Der fertig gelötete Ardumoto-Shield wird nun auf ein Arduino (z.B. UNO) aufgesteckt.
Der DC Motor wird an die Schraubklemme (A: 1,2) angeschlossen. Die externe Spannungsversorgung wird an die Schraubklemme (+/-) angeschlossen.
Die externe Spannungsversorgung muss an die Daten des Motors und den Ardumoto Shield angepasst werden. (Motorspannung nach Datenblatt von Motor einstellen, eventuell Strombegrenzung einstellen).
Mit dem Ardumoto-Shield können 2 Motoren bis 2A betrieben werden.





















Programmcode:

/*
Anwendungsbeispiel zur Motorsteuerung (Geschwindigkeit und Drehrichtung)
mit dem Ardumoto Shield, März 2011
www.physicalcomputing.at
 */
int vMotorA = 3;  //Pin zur Geschwindigkeitsregelung Motor A
int vMotorB = 11;  //Pin zur Geschwindigkeitsregelung Motor B
int RichtungA = 12;  //Pin zur Drehrichtungssteuerung Motor A
int RichtungB = 13;  //Pin zur Drehrichtungsstuerung Botor B


void setup()
{
  pinMode(vMotorA, OUTPUT);  
  pinMode(vMotorB, OUTPUT);
  pinMode(RichtungA, OUTPUT);
  pinMode(RichtungB, OUTPUT);
}
void loop()
{
  digitalWrite(RichtungA, LOW);  //Legt die Drehrichtung für Motor A fest
  digitalWrite(RichtungB, LOW);  //Legt die Drehrichtung für Motor B fest


  analogWrite(vMotorA, 85); 
  /*mittels Pulsweitenmodulation (anmalogWrite) kann die Geschwindigkeit des
   Motors zwischen 0 und 255 gesteuert werden*/
  delay (2000); // Motor läuft für 2 sec mit 1/3 Leistung
  analogWrite(vMotorA, 170); 
  delay (2000); // Motor läuft für 2 sec mit 2/3 Leistung
  analogWrite(vMotorA, 255); 
  delay (2000);// Motor läuft für 2 sec mit voller Leistung
  analogWrite (vMotorA, 0);
  delay (2000);// Motor wird für 2 sec ausgeschaltet


  digitalWrite (RichtungA, HIGH); // Drehrichtung für Motor A wird umgedreht


  ///////////gleicher Antrieb in andere Richtung/////////
  analogWrite(vMotorA, 85); 
  delay (2000); // Motor läuft für 2 sec mit 1/3 Leistung
  analogWrite(vMotorA, 170); 
  delay (2000); // Motor läuft für 2 sec mit 2/3 Leistung
  analogWrite(vMotorA, 255); 
  delay (2000);// Motor läuft für 2 sec mit voller Leistung
  analogWrite (vMotorA, 0);
  delay (2000);// Motor wird für 2 sec ausgeschaltet
}

erstellt 24.3.2011

Keine Kommentare:

Kommentar veröffentlichen

Hinweis: Nur ein Mitglied dieses Blogs kann Kommentare posten.