ich bin neu hier im Forum, und habe direkt mal eine Frage an euch
Zur Info - ich habe vor einer Woche mit Arduino angefangen und habe vorher auch noch nie viel mit solchen Dingen zu tun gehabt, habe also zur Zeit noch keine Ahnung was ich generell beachten muss.
Mein Ziel ist es zwei Schrittmotoren von Adafruit mit einem SainSmart motor shield und Arduino Uno R3 zu betreiben.
Was genau muss ich beachten, um meinen Laptop und seine USB-Buchsen zu schützen?
Das Arduino kann ein Netzteil nutzen, und das Shield hat anscheinend auch Strombuchsen. Reicht es ein Netzteil an das Arduino anzuschließen, um beide Boards zu versorgen, oder benötigt jedes seine eigene Stromversorgung?
Welches Netzteil würdet ihr mir empfehlen?
Ich hoffe ihr könnt mir irgendwie helfen
Schonmal vielen Dank und liebe Grüße,
Alvaro
Die Motore kannst Du nicht duch die USB-Buchse des Computers versorgen.
Ich weiß nicht wieso das Shield nur für 10V beschrieben ist.
Darum brauchen der Motor und das Motor-Board 9V und ca 1,2A.
Du kannst das Motorshield mit 9V versorgen und den Arduino über USB oder das Shield und den Motor durch das 9V Netzteil und über den PWR Jumper auch den Arduino mit den 9V.
hmmm, erstmal benötigt dein Motor mehr Spannung (12V) als das Shield liefern kann (10V).
Wie das Shield arbeitet, weiß ich nicht genau, aber oft werden Stepper deutlich mehr Spannung zur Verfügung gestellt, als bei denen drauf steht. Man (also der Treiber) muss dann dafür sorgen, dass der Strom begrenzt wird, weil die Motoren sonst heiß laufen.
Bei zuwenig Spannung als der Motor benötigt, kann er ev. seine Schritte nicht mehr richtig einstellen oder dreht gar nicht.
phthalo:
hmmm, erstmal benötigt dein Motor mehr Spannung (12V) als das Shield liefern kann (10V).
Wie das Shield arbeitet, weiß ich nicht genau, aber oft werden Stepper deutlich mehr Spannung zur Verfügung gestellt, als bei denen drauf steht. Man (also der Treiber) muss dann dafür sorgen, dass der Strom begrenzt wird, weil die Motoren sonst heiß laufen.
Bei zuwenig Spannung als der Motor benötigt, kann er ev. seine Schritte nicht mehr richtig einstellen oder dreht gar nicht.
Der L293D ist ein Spannungstreiber. Der Motor muß mit Nennspannung betrieben werden. Wenn man den Motor mit weniger Spannnung betreibt hat er weniger Dehmoment (Kraft). Jetzt kommt es auf die Anwendung an ob das ein Problem ist oder nicht.
@Guppinator Was willst Du mit den Motoren machen?
@Serenifly Ja, ich weiß daß der L293D mehr als 10V vertägt, darum verstehe ich nicht wieso dieses Limit in der Beschreibung steht.
Das ganze verwirrt mich ein wenig Also ist es bei meinem Shield doch möglich ohne Bedenken ein 12V Netzteil anzuschließen mit 1,2A wenn ich das richtig verstanden habe?
@uwefed ein Handy soll horizontal und vertikal in bestimmten Winkeln gedreht werden. Als Beispiel:
10° Abschnitte horizontal bis 360° erreicht sind. Dann 45° vertikal bewegen und dann wieder in 10° Winkeln horizontal bis 360°. Sind jetzt fiktionale Werte, aber das habe ich so in etwa vor.
Sollte eigentlich gehen. Dein Shield ist zwar von Sainsmart, aber das ist das Design von Adafruit.
Hier ist es auch erklärt:
If you would like to have the Arduino powered off of USB and the motors powered off of a DC power supply, plug in the USB cable. Then connect the motor supply to the PWR_EXT block on the shield. Do not place the jumper on the shield.
Der Jumper verbindet die Versorgungsspannungs-Leitung des Shields mit Vin vom Arduino. Also unbedingt entfernen wenn man das extern versorgt und USB oder ein Netzteil am Arduino angeschlossen ist. Sonst liegt die Motorspannung am Eingang des Spannungsreglers.
Wie kann man denn am besten testen, ob das Shield die 12V und 1,2A verträgt ohne die Funktion des Shields aufs Spiel zu setzen? Oder muss ich einfach hoffen, dass es funktioniert?
Edit: Habe hier gerade noch ein Netzteil mit 12V und 1,5A gefunden, traue mich aber noch nicht das auszuprobieren
Serenifly:
Der Jumper verbindet die Versorgungsspannungs-Leitung des Shields mit Vin vom Arduino. Also unbedingt entfernen wenn man das extern versorgt und USB oder ein Netzteil am Arduino angeschlossen ist. Sonst liegt die Motorspannung am Eingang des Spannungsreglers.
Haben die meisten Arduino's, wie auch der Arduino Uno R3, nicht eine automatische Versorgungspannungsumschaltung die genau in diesem Fall Vin vorziehen, wenn sie größe als 6,6V ist??
Also ein vorgesehener Fall in dem die Versorgungsspannung, wenn groß genug, vorgezogen wird.
Guppinator:
Wie kann man denn am besten testen, ob das Shield die 12V und 1,2A verträgt ohne die Funktion des Shields aufs Spiel zu setzen? Oder muss ich einfach hoffen, dass es funktioniert?
Edit: Habe hier gerade noch ein Netzteil mit 12V und 1,5A gefunden, traue mich aber noch nicht das auszuprobieren
Der einzige Grund wieso etwas auf dem Motorshield kaputtgehen könnte ist, daß die verwendeten Elektrolytkondensatoren die Spannung nicht vertragen. Auf den Fotos kann ich nicht erkennen für welche Spannung diese bemessen sind. Für welche Spannung sind diese?
uwefed:
Haben die meisten Arduino's, wie auch der Arduino Uno R3, nicht eine automatische Versorgungspannungsumschaltung die genau in diesem Fall Vin vorziehen, wenn sie größe als 6,6V ist??
Also ein vorgesehener Fall in dem die Versorgungsspannung, wenn groß genug, vorgezogen wird.
Der einzige Grund wieso etwas auf dem Motorshield kaputtgehen könnte ist, daß die verwendeten Elektrolytkondensatoren die Spannung nicht vertragen. Auf den Fotos kann ich nicht erkennen für welche Spannung diese bemessen sind. Für welche Spannung sind diese?
Grüße Uwe
Die schwarzen zylindrischen Elemente auf der Platine? Auf denen ist 16V 100uF aufgedruckt.
LG
So, ich habe das ganze gerade einmal ausprobiert. Mein Vorgehen:
Kabelpaare des Motors durch aneinander halten getestet
Kabelpaare an M3 & M4 des Shields angeschlossen
Arduino mit aufgestecktem Shield und angeschlossenem Motor ohne Jumper an den Laptop gesteckt und den Upload gestartet.
USB-Kabel entfernt und ein 12V 1,5A Netzteil an die Energieversorgung des Shields angeschlossen.
Jumper aufgesteckt
Alle LED's fangen an zu leuchten, sowohl vom Shield als auch vom Arduino, der Motor ist schwer per Hand zu drehen, nur mehr passiert auch nicht - der Motor bewegt sich kein Stück.
Weiß jemand woran das liegen kann?
Diesen Code habe ich auf das Arduino gespielt:
// Adafruit Motor shield library
// copyright Adafruit Industries LLC, 2009
// this code is public domain, enjoy!
#include <AFMotor.h>
// to motor port #2 (M3 and M4)
AF_Stepper motor(200, 2);
void setup() {
Serial.begin(9600);
Serial.println("Stepper test!");
motor.setSpeed(10); // 10 rpm
}
void loop() {
Serial.println("Single coil steps");
motor.step(100, FORWARD, SINGLE);
motor.step(100, BACKWARD, SINGLE);
}
Also evtl. lag es daran, dass das Shield nicht korrekt aufgesetzt war Es funktionierte ohne Probleme, nachdem ich die beiden Platten einmal richtig fest zusammen gedrückt habe
Vielen Dank für die Tolle Hilfe hier!