Ich habe mich mit eurer großartigen Hilfe :) in die
Schrittmotorsteuerung eingelesen und weiß nun in etwa, wie man so einen
Motor zum Laufen bringt. Ein paar Details verstehe ich leider noch nicht
ganz bzw. weiß nicht, wo ich die passenden Werte "herzaubern" soll.
Der Einfachkeit halber verwende ich für die Versuche einen Arduino. Wenn
alles funzt, portiere ich wahrscheinlich auf ATMega. Eine Platine muss
ich sowieso bauen.
Noch geht es aber um ARDUINO.
Anbei ein Beispielskript für die Steuerung eines Schrittmotors.
Das Skript ist von hier:
https://www.arduino-tutorial.de/motorsteuerung-eines-schrittmotors-stepper-motor/
1
/* STEPS muss auf die Anzahl der Stepps des verwendeten Motors angepasst werden */
2
#define STEPS 100
3
4
// eine Instanz aus der Klasse Stepper wird erzeugt
5
// sie bekommt die Anzahl der Steps und die Pins, an die der Schrittmotor
6
// angeschlossen ist übermittelt
7
Stepper stepper(STEPS, 8, 9, 10, 11);
8
9
int previous = 0;
10
11
void setup(){
12
stepper.setSpeed(30); // setzt die Geschwindigkeit des Motors in Umdrehungen pro Minute
13
}
14
15
void loop(){
16
int val = analogRead(0);
17
// dreht den Motor ja nach Sensorwert (Potentiometer)
18
stepper.step(val - previous);
19
previous = val;
20
}
Meine beiden Fragen:
1.
1
#define STEPS 100
Woher kriege ich den Initialwert der Konstante STEPS ?
2.
Die Daten erhält man in der Regel aus dem Datenblatt des Motors.
Bei ausgeschlachteten Bauteilen aus Consumer-Produkten erhält man aber
fast nie Datenblätter.
Dann bleibt nur: selbst messen.
Roth schrieb:> Woher kriege ich den Initialwert der Konstante STEPS ?
Aus der Produktbeschreibung bzw. Datenblatt des Motors.
> 'setSpeed' ist doch vom Motor abhängig, wenn ich es richtig verstehe.> Wenn der Wert zu hoch ist, müsste es zu Fehlfunktionen kommen, oder> nicht? Wie finde ich den richtigen Wert heraus?
Aus der Produktbeschreibung bzw. Datenblatt des Motors.
Wenn das da nicht drin steht, frage den Hersteller. Wenn der Hersteller
nicht erreichbar ist und die Doku fehlt, dann ist der Motor bestenfalls
zum Experimentieren (ausprobieren) geeignet, aber nicht für gezielte
Konstruktion.
Nun müssen wir beachten, dass dies hier kein handelsüblicher Motor ist,
sondern ein Ersatzteil für Autos. An die technischen Daten wirst du
eventuell gar nicht heran kommen und der Hersteller wird sie womöglich
als Betriebsgeheimnis bewahren.
Roth schrieb:> 'setSpeed' ist doch vom Motor abhängig, wenn ich es richtig verstehe.
Nicht nur vom Motor, sondern auch von deinem
Schrittmotortreiber/Versorgungsspannung und dem im Treiber gewählten
Schrittmode, i.e. Vollschritt/Halbschritt/Viertelschritt/...
Um den Motor auf seine Zielgeschwindungkeit zu bringen und wieder auf
eine Zielposition abzubremsen, brauchst du meist auch eine
Beschleunigungs-/Bremsrampe.
Also muss ich am Mo. doch zum VDO-Händler. Die haben da einen Spezi. Ich
hoffe, der weiß das.
Gibt es irgendwelche Über-den-Daumen-Werte, welche die Profis bei dem
VDO-Schrittmotor als halbwegs funktionell ansehen würden? Ich habe damit
nichs großes vor. Lediglich ein kleiner Zeiger soll um max 180° bewegt
werden. So wie im Cockpit eines Autos, wozu diese Schrittmotoren von VDO
ja gedacht sind.
Roth schrieb:> Woher kriege ich den Initialwert der Konstante STEPS ?
Das ist die Anzahl der Schritte pro Umdrehung.
Ob des Motors alleine oder des Motors inklusive angeflanschtem Getriebe
liegt an die, ob du die Drehzahl des Mtors oder der Antriebswelle
vorgeben willst, das kann der treiber-Schreiber nicht wissen.
> 2.stepper.setSpeed(30)'setSpeed' ist doch vom Motor abhängig, wenn ich> es richtig verstehe.
Nein, von deinem ganzen Aufbau. Wenn der Motor was Schweres anzutreiben
hat, wird ihm das nicht so schnell gelingen. Auch hier kann der
Treiber-Schreiber nicht wissen wie dein Aufbau ist.
Man kann mit Drehmomentkurve des Motors und träger Masse und
Reibungswerten des bewegten Teils was vorher ausrechnen, aber all das
hast du nicht.
> Wenn der Wert zu hoch ist, müsste es zu Fehlfunktionen kommen, oder> nicht?
Richtig.
> Wie finde ich den richtigen Wert heraus?
Probieren ?
Roth schrieb:> Gibt es irgendwelche Über-den-Daumen-Werte, welche die Profis bei dem> VDO-Schrittmotor als halbwegs funktionell ansehen würden?
Der Motor darf bei voller Bestromung gut handwarm werden. Bei so einem
Billigmotor kann es gut sein, dass der für 12V Nennspannung ausgelegt
ist.
Du könntest den Widerstand der Wicklungen messen.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang