Schrittmotor-Daten für Software WOHER nehmen? (Arduino, stepper.h)

Gast #5557132
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
Gast #5557163
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.
Gast #5557178
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.
Gast #5557197
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.
#5557203
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 ?
Gast #5557300
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren