Forum: Mikrocontroller und Digitale Elektronik Schrittmotor Chopper-Betrieb mit Software


von Daniel (Gast)


Lesenswert?

Hallo :-)

Ich experimentiere seit ein paar Tagen mit einem Schrittmotor aus einem 
alten Scanner. Da auf dem Motor keine Aussagekräftigen Daten stehen, 
wollte ich mich an den gemessenen Werten orientieren.

Anfangs habe ich geglaubt, die Spannungsversorgung liegt bei 12V. Das 
ist nämlich die Spannung, die am nicht laufenden Motor anliegt, wenn ich 
gegen Masse messe. Im Betrieb sinkt die Spannung wegen eines 10 Ohm 
Widerstands auf knapp 10V ab, der gemessene Strom beträgt 200mA.

Soweit so gut, dachte ich mir, der Strom bleibt bei langsamen und 
schnellen Lauf gleich, also hatte ich mir aus einem MC34063 und LM358 
eine Konstantstromquelle gebaut. Nur hat mir die KSQ die Spannung auf 
6,5V runtergeregelt bei 200mA, was ja auch korrekt ist. Nur läuft der 
Motor damit nicht mehr, erst ab knapp 250mA wollte er dann. Auch mit 
einer Konstanten Spannung von 10V hab ich mein Ziel nicht erreicht, da 
komme ich auf über 400mA, eher 500mA.
Soweit zu meinen Fehlschlägen... Versuch macht halt klug.

Nun denke ich hab ich das Prinzip verstanden und wollte mir mal Rat von 
euch holen.
Ich muss nicht die Spannung oder Strom auf der Plusseite regeln, sondern 
ich muss den Strom über die Ansteuerung regeln.
Nun dachte ich mir, ich könnte einen Timerinterrupt einrichten, indem 
ich über den ADC eine an einem Messwiderstand abfallende Spannung messe, 
und mit einem Maximalwert vergleiche. Ist dieser Zutreffend, wird der 
Port auf 0 gesetzt und nicht mehr angesteuert.
In der nächsten ISR wird der letzte Ansteuerwert wieder ausgegeben.
Das ganze würde dann eine Art PWM ergeben.

Anders könnte man auch PWM nehmen, Dutycycle 50% und dann immer wieder 
mal vergleichen, ob an dem Messwiderstand die richtige Spannung abfällt, 
sonst am PWM Plus/Minus vornehmen.
Muss ich nur mal gucken, ob das auf einem halben Port klappt.

Was würdet ihr sagen?

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Ich würde sagen, das ich deine Frage nicht verstehe. Die Ansteuerung von 
Schrittmotoren ist nicht erst gestern erfunden worden, das Netz ist voll 
mit guten und weniger guten Erklärungen und Schaltungsvorschlägen.

Was du suchst ist ein Schrittmotor-Treiber mit Stromregelung. Schau 
erstmal, was auf der ursprünglichen Steuerplatine drauf war und lies dir 
das Datenblatt zu dem Chip durch. Dann kannst du überlegen, ob es ggf. 
einen moderneren Treiber gibt, den du verwenden kannst (z.B. von Allegro 
oder TI).

Natürlich kannst du die Sollwerterzeugung für eine 
Mikroschrittansteuerung auch per DAC selbst machen, auf einen L6506 
geben und einen L298 oder L6203 dahinter hängen. Das habe ich um die 
Jahrtausendwende auch so gemacht [1]. Heute macht das aber keinen Sinn 
mehr, nur viel Arbeit. Moderne Chips liefern das für wenige EUR alles 
fix und fertig in Hardware mit.

Mit freundlichen Grüßen
Thorsten Ostermann

[1] http://ostermann-net.de/electronic/schritt/sm_hpstep.htm

von Daniel (Gast)


Lesenswert?

Hallo. Danke erstmal für die Antwort.
Ja, sowas suche ich. Die Steuerplatinen habe ich bereits untersucht und 
mir auch einen Schaltplan aus den Platinen gezeichnet, um eben dahinter 
steigen zu können. Prinzipiell sind das Zwei Platinen, eine für 
Spannungsversorgung und eine für die Steuerung.
Auf der Spannungsplatine ist ein MC34063 als Stepdown Wandler mit 
PNP-Tranistor. Der regelt die Spannung von 23,5 auf 12V runter.
Desweiteren Sind zwei ULN2003A, an welche jeweils zwei der 
Motorwicklungen angeschlossen sind vorhanden.
Zwischen Masseanschluss und ULN´s sind jeweils ein 2,1 Ohm Widerstand, 
von dem ich mittlerweile ausgehe, das mit denen der Stromfluss 
Low-seitig gemessen wird.

Diese Regelung des Stromes wird mit großer Wahrscheinlichkeit von dem 
Microcontroller LM9832 (Scannertreiber) übernommen. Der hat jeweils zwei 
Sense Eingänge für Schrittmotorregelung. Dann sind noch zwei weitere 
IC´s verbaut, einmal RAM und die Leseeinheit mit dem Fenster.
Hab mir bisher nicht das komplette Datenblatt durchgelesen, aber 
Softwareseitig sollte sowas doch möglich sein?
Ein ATmega88 kann doch fast alles ;-) Nur ich eben noch nicht^^

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Klar kann man das in einem µC unterbringen. Da muss man sich dann aber 
auch gut überlegen, wie man das System in einen sicheren Zustand bringt, 
wenn der Controller im Reset ist oder abstürzt.

Also nochmal: Warum soll man sich das antun, wenn es das fix und fertig 
für wenig Geld zu kaufen gibt? So gut wie das moderne Treiber machen, 
z.B. mit mixed decay [1], autotuning usw. bekommt man das selbst kaum 
hin.

Mit freundlichen Grüßen
Thorsten Ostermann

[1] 
http://www.schrittmotor-blog.de/stromregelung-von-schrittmotoren-auf-das-abschalten-kommt-es-an/

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.