Forum: Mikrocontroller und Digitale Elektronik Richtige Motorauswahl treffen


von Sören K. (foxalem)


Lesenswert?

Moin,
ich bin gerade am überlegen ob ich einen Schrittmotor oder einen 
DC-Motor für das folgende Projekt nehmen soll.
Nachdem ich es nun endlich mal geschafft habe meinen Schrittmotor 
anzusteuern über einen L298 und meinen uC, fällt mir auf, dass dieser 
viele "aussetzer" hat (was allerdings wohl an meiner Schaltung liegt, 
bzw. weil ich keine rampe in der PWM drin habe.)

Deswegen habe ich mich gefragt ob es nicht doch besser wäre, einen 
einfachen DC-Motor mit einem Inkrementalgeber zu nehmen, falls es sowas 
in klein gibt.

Der Motor soll mir einen Schlitten bewegen. Dieser Schlitten ist auf 
einer Stange aufgehängt und wird mit einem Zahnriehmen über ein Zahnrad 
bewegt (Schlitten aus einem Scanner ausgebaut).

Nun weiß ich nicht was ich tun soll. Mich weiter mit Schrittmotoren 
beschäftigen, weil diese einfach besser sind (?) oder doch zu einem 
anderem Motor übergehen?

Danke für eure Anregungen.

von motto (Gast)


Lesenswert?

Sören Kleer schrieb:
> anzusteuern über einen L298 und meinen uC, fällt mir auf, dass dieser
> viele "aussetzer" hat (was allerdings wohl an meiner Schaltung liegt,
> bzw. weil ich keine rampe in der PWM drin habe.)

Solltest dem Problem auf den Grund gehen. Treiber für Schrittmotoren 
werden mit einem Takt angesteuert. PWM ist der falsche Weg.

> Der Motor soll mir einen Schlitten bewegen. Dieser Schlitten ist auf
> einer Stange aufgehängt und wird mit einem Zahnriehmen über ein Zahnrad
> bewegt (Schlitten aus einem Scanner ausgebaut).
>
> Nun weiß ich nicht was ich tun soll. Mich weiter mit Schrittmotoren
> beschäftigen, weil diese einfach besser sind (?) oder doch zu einem
> anderem Motor übergehen?

Wenn der Schlitten, ohne genau positioniert werden zu müssen, nur bewegt 
werden muß, ist DC Motor einfacher.

Um ihn genau zu positionieren ist Schrittmotor besser.

von Dominik S. (dasd)


Lesenswert?

> Nachdem ich es nun endlich mal geschafft habe meinen Schrittmotor
> anzusteuern über einen L298 und meinen uC, fällt mir auf, dass dieser
> viele "aussetzer" hat (was allerdings wohl an meiner Schaltung liegt,
> bzw. weil ich keine rampe in der PWM drin habe.)

Vielleicht ist der Motor auch einfach zu schwächlich?
Was hindert dich daran die Software anzupassen und zu sehen, ob es 
besser wird?

> Der Motor soll mir einen Schlitten bewegen. Dieser Schlitten ist auf
> einer Stange aufgehängt und wird mit einem Zahnriehmen über ein Zahnrad
> bewegt (Schlitten aus einem Scanner ausgebaut).
> Nun weiß ich nicht was ich tun soll. Mich weiter mit Schrittmotoren
> beschäftigen, weil diese einfach besser sind (?) oder doch zu einem
> anderem Motor übergehen?

Antreiben kann man das ganze sicher auch per DC-Motor, wenn es sich 
einfach nur bewegen soll.
Fraglich ist, was du überhaupt mit dem Schlitten machen willst.
Wenn es um Genauigkeit und vor allem Reproduzierbarkeit beim Ausrichten 
geht wirst du mit einem DC-Motor nicht glücklich werden.

von abc.def (Gast)


Lesenswert?

Grundsätzlich kommt es drauf an, was Du willst, und das weiß man hier 
noch nicht.
Es ist für Dich ohne Erfahrung schwer, zu unterscheiden was besser ist: 
Schrittmotor mit Schaltung, die schlecht funktioniert oder Hirngespinst 
(funktioniert immer, virtuell).
Schrittmotor: Rampen sollten realisiert sein, hält die Mechanik auch im 
Stillstand. Einfache Positionierung, sofern keine Schrittverluste 
auftreten.
DC-Motor mit Geber, auch Servomotor genannt: Brauchst einen Regler, der 
das auf Sollwert hält. Bei industriellen Anwendungen sind dann mehrere 
Regelkreise verschachtelt damit es zuverlässig und genau geht. Ich wäre 
skeptisch ob das für einen Bastler mit vertretbarem Aufwand klappt.

von Udo S. (urschmitt)


Lesenswert?

Sören Kleer schrieb:
> Nun weiß ich nicht was ich tun soll. Mich weiter mit Schrittmotoren
> beschäftigen, weil diese einfach besser sind (?) oder doch zu einem
> anderem Motor übergehen?

Der ursprüngliche Antrieb war doch auch ein Schrittmotor.
Wenn du die Technologie wechselst, wechsel auch die Probleme.
Besser wäre es die eigentlichen Probleme zu beseitigen:

Sören Kleer schrieb:
> fällt mir auf, dass dieser
> viele "aussetzer" hat (was allerdings wohl an meiner Schaltung liegt,
> bzw. weil ich keine rampe in der PWM drin habe.)

Meinst du den Incrementalgeber sauber auszulesen (0-Punkt ermitteln, 
entprellen) und dann den Motor analog anzusteuern und stabil zu regeln 
ist einfacher?

Vieleicht ist die Last auch zu groß.

Und auch an einen Schrittmotor kann man einen Incrementalgeber machen.

von Sören K. (foxalem)


Lesenswert?

Danke für die Antworten

motto schrieb:
> Solltest dem Problem auf den Grund gehen. Treiber für Schrittmotoren
> werden mit einem Takt angesteuert. PWM ist der falsche Weg.

Vielleicht hab ich mich falsch ausgedrückt. Auf jeden fall kommt aus 
meinem uC die Signale 1010, 1001, 0101, 0110, welche die eingänge IN1 - 
IN4 vom L298 beschaltet. (über einen Transistor)

Der Schlitten muss genau und reproduzierbar positioniert werden, also 
fällt der DC-Motor wohl weg, wie ich befürchtet habe, aber...

Udo Schmitt schrieb:
> Meinst du den Incrementalgeber sauber auszulesen (0-Punkt ermitteln,
> entprellen) und dann den Motor analog anzusteuern und stabil zu regeln
> ist einfacher?

das klingt auch nicht einfacher.

Ich habe die Rampe noch nicht programmiert weil ich bisher keine Zeit 
hatte und mir nicht irgendwas aus dem Internet ziehen möchte, denn dabei 
lern ich nichts ;) ich mach das lieber selbst, auch wenn es länger 
dauert und dabei Fehler auftreten, daraus lernt man schließlich.
Ich denke ich sollte dann meine Freilaufdioden ersetzen, denn zzt nutze 
ich 8 x 1N4004, weil ich keine anderen hier habe.

Können die Dioden verhindern, das der Motor schneller läuft da ja die 
Induktionsspannung nicht schnell genug abgebaut werden kann? Bzw. mit 
anderen Worten, der Motor hat aussetzer und Bewegt sich bei 
"eingestellten" 16 Steps nur 14 Steps. Dies macht er im Leerlauf, wenn 
ich mit dem Finger auf die Welle drücke läuft er allerdings sauberer.

von motto (Gast)


Lesenswert?

Sören Kleer schrieb:
> Ich denke ich sollte dann meine Freilaufdioden ersetzen, denn zzt nutze
> ich 8 x 1N4004, weil ich keine anderen hier habe.
>
> Können die Dioden verhindern, das der Motor schneller läuft da ja die
> Induktionsspannung nicht schnell genug abgebaut werden kann? Bzw. mit
> anderen Worten, der Motor hat aussetzer und Bewegt sich bei
> "eingestellten" 16 Steps nur 14 Steps. Dies macht er im Leerlauf, wenn
> ich mit dem Finger auf die Welle drücke läuft er allerdings sauberer.

Man weis nicht was für technische Daten der Motor hat, ob dein Programm 
stimmt, die Schaltung kennt man nicht - Stromversorgung? Stromregelung 
für den Motor vorhanden und funktioniert sie? Der Typ der Freilaufdioden 
wird wohl als letztes die Fehlerquelle sein.

von Electronics'nStuff (Gast)


Lesenswert?

Naja.. wenn du schon die Hardware änderst, dann würde ich mir einen 
Schrittmotorentreiber besorgen.

Passend zum L298 wäre z.B. der L297.
Rampe musst du trotzdem programmieren.. geht aber in den einfachsten 
Fällen auch mit ein paar unterschiedlichen Delays zwischen den Steps.

von Sören K. (foxalem)


Lesenswert?

Ich benutze einen RD57 von Berger-Lahm (30ohm, max 375mA, 10V). 
Schaltpläne liefer ich später nach, stromregelung gibt es keine.
In einem anderem thread habe ich eine Problematik beschrieben die glaube 
ich immer noch nicht ganz behoben ist, ,auch diese Aussetzer auftreten 
könnten
Beitrag "L298 mit Atmel-uC und Schrittmotor Berger-Lahr RDM57"

Was macht denn der L297 was ich mit einem uC nicht machen könnte?  Im 
Moment besteht mein Programm nur daraus, dass es an die angeschlossenen 
Pins die vier wechselnden Signale in einem Abstand von jeweils ca. 20 
ms.

Korrigiert mich bitte wenn ich falsch liege, aber eine Rampe is doch 
nichts anderes als diesen Abstand periodisch zu verkürzen.  Z.b. von 
30ms auf 10ms.

von Stepper (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Und auch an einen Schrittmotor kann man einen Incrementalgeber machen.

Das ist wie eine Angst-Sicherung hinter einer Konstantstromquelle.
Wenn man nicht in der Lage ist, den Schrittmotor richtig zu 
dimensionieren und anzusteuern, hilft ein zusätzlicher Positionssensor.

Wenn dein Schrittmotor nicht läuft, liegt es entweder an falscher 
Ansteuerung oder zu hoher Last/fehlende Untersetzung. Die übliche 
Methoden sind, saubere Stromregelung, reichlich Überspannung, begrenzte 
Beschleinigung, Mikroschrittbetrieb.

Ein überlasteter DC-Motor wird auch nicht besser laufen.

von Wolfgang (Gast)


Lesenswert?

Sören Kleer schrieb:
> stromregelung gibt es keine

Damit fangen deine Probleme an.

> Was macht denn der L297 was ich mit einem uC nicht machen könnte?

Die Signale der Sens-Anschlüsse richtig verarbeiten. Mit einem µC wirst 
du dich da etwas schwer tun. Mikroschrittbetrieb zur Vermeidung von 
Beschleunigungsspitzen funktioniert allerdings weder mit der 
L297/L298-Kombination noch mit µC/L298 weil die Phasenströme nicht 
getrennt steuerbar sind.

von Sören K. (foxalem)


Lesenswert?

Habe mich nun mal wieder mit meiner Schaltung befassen können. Habe mal 
Filterkondensatoren eingesetzt (hatte ich vorher ganz vergessen) und mit 
einer anständigen Geschwindigkeit habe ich auch keine aussetzer mehr, 
der Wechsel der Signale war wohl schlicht und ergreifend einfach zu 
langsam, sodass sich ab und zu die Trägheit des Motors bemerktbar 
gemacht hat. Bei einem Wechsel von allen 7,7ms läuft der Motor schön 
rund und ohne aussetzer (ist allerdings ein Motor welchen ich aus einem 
Drucker ausgebaut habe, Daten sind mir nicht bekannt und ich betreibe 
ihn momentan mit 5V).

Auch mein Motor von Berger-Lahm läuft ohne aussetzer bei einer Spannung 
von 12V. Werde nun noch eine Rampe dazu programmieren und dann mal 
weitersehen.

Danke für eure Antworten bisher

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.