Forum: Mikrocontroller und Digitale Elektronik Schrittmotor-Daten für Software WOHER nehmen? (Arduino, stepper.h)


von Roth (Gast)


Lesenswert?

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.
1
stepper.setSpeed(30)
'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?

Es geht um diesen Schrittmotor:
Schrittmotor 91255008 für VDO Kombiinstrument VW
http://www.xenone.de/Schrittmotoren/Schrittmotor-91255008-fuer-VDO-Kombiinstrument-VW-Audi-Seat-Skoda::1153.html

von Theor (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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.

von Roth (Gast)


Lesenswert?

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.

von Michael B. (laberkopp)


Lesenswert?

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 ?

von Wolfgang (Gast)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.