Ansteuerung Steppermotor ??

M

Martin Jahn

Guest
Hallo NG,

für ein Modellprojekt habe ich mit Hilfe von bipolaren 1,8 Grad
Steppermotoren Torschranken nachgebildet. Direkt auf der Motorachse ist ein
10 cm langer Schrankenbaum (Alurohr) montiert. Der Bewegungswinkel der
Schranke beträgt 90 Grad wobei in "Auf" Stellung ein mechanischer Anschlag
ist. Angesteuert wird der Motor von einem MC 3479 im Halbschrittmodus und
einem vorgeschalteten 16F84. Meine Absicht war das Modell komplett ohne
Endlagenerkennung betreiben zu können. Beim Einschalten der Spannung führt
der uC zunächst eine Inititialisierungsroutine durch wobei alle Antriebe
gegen den oberen Anschlag gefahren werden. Die weiteren Öffnungs - und
Schließvorgänge werden dann über Impulszählung gesteuert. Das klappt auch
alles nur beim Initialisieren nimmt der Schrankenbaum unterschiedliche Lagen
ein, er springt quasi am Anschlag hin und her hierdurch entsteht ein, wenn
auch minimaler, Winkelversatz welcher jedoch gerade bei zwei sich
gegenüberstehenden Schranken extrem unschön ist. Alle Versuche das mit
Veränderung der Ansteuerfrequenz oder mechanischer Bedämpfung des Motors in
den Griff zu kriegen waren bislang erfolglos. Das Magnetfeld in dem der
Stepper einrastet scheint irgendwie zu wandern. Wenn man die Initialisierung
solange manuell ausführt bis es passt kommt es beim weiteren Betrieb auch zu
keinem Versatz mehr aber genau das soll ja eigentlich beim Einschalten
automatisch erfolgen. Ist das irgendwie (ohne mech. Endlagenerkennung !) in
den Griff zu kriegen ????

Gruß
Martin
 
"Martin Jahn" <jahn.martin@t-online.de> schrieb:
für ein Modellprojekt habe ich mit Hilfe von bipolaren 1,8 Grad
Steppermotoren Torschranken nachgebildet. Direkt auf der Motorachse
ist ein
10 cm langer Schrankenbaum (Alurohr) montiert. Der Bewegungswinkel der
Schranke beträgt 90 Grad wobei in "Auf" Stellung ein mechanischer
Anschlag
ist. Angesteuert wird der Motor von einem MC 3479 im Halbschrittmodus
und
einem vorgeschalteten 16F84. Meine Absicht war das Modell komplett
ohne
Endlagenerkennung betreiben zu können. Beim Einschalten der Spannung
führt
der uC zunächst eine Inititialisierungsroutine durch wobei alle
Antriebe
gegen den oberen Anschlag gefahren werden. Die weiteren Öffnungs - und
Schließvorgänge werden dann über Impulszählung gesteuert. Das klappt
auch
alles nur beim Initialisieren nimmt der Schrankenbaum unterschiedliche
Lagen
ein, er springt quasi am Anschlag hin und her hierdurch entsteht ein,
wenn
auch minimaler, Winkelversatz welcher jedoch gerade bei zwei sich
gegenüberstehenden Schranken extrem unschön ist. Alle Versuche das mit
Veränderung der Ansteuerfrequenz oder mechanischer Bedämpfung des
Motors in
den Griff zu kriegen waren bislang erfolglos. Das Magnetfeld in dem
der
Stepper einrastet scheint irgendwie zu wandern. Wenn man die
Initialisierung
solange manuell ausführt bis es passt kommt es beim weiteren Betrieb
auch zu
keinem Versatz mehr aber genau das soll ja eigentlich beim Einschalten
automatisch erfolgen. Ist das irgendwie (ohne mech. Endlagenerkennung
!) in
den Griff zu kriegen ????
Hi!

Du hast 8 verscheidene Bestromungsmuster im HS-Betrieb, sorge dafür, das
beim
Ende der Init-Routine alle Motoren das gleiche Muster haben, und
befestige die
Schranken alle in der gleichen Rotorposition (Idealerweise ein Muster
_vor_
Endlage).

Dann müssten die Winkelversätze weg sein.

Michael.
 
Danke schon mal für den Tipp, aber wie soll ich auf das Bestromungsmuster
Einfluss nehmen. Der MC 3479 kriegt vom uC lediglich Impulse für jeden Step
und ein H oder L für die Laufrichtung und noch mal H oder L für Fullstep
oder Halfstepmode. Das ist aber bei allen Antrieben synchron, die
Initialisierung startet zeitgleich und die Anzahl der Impulse ist identisch
somit müsste sich am Ende der Initialisierung auch ein einheitliches
Bestromungsmuster an den Steppern befinden oder ???
Gruß
Martin
 
"Martin Jahn" <jahn.martin@t-online.de> schrieb:
Danke schon mal für den Tipp, aber wie soll ich auf das
Bestromungsmuster
Einfluss nehmen. Der MC 3479 kriegt vom uC lediglich Impulse für jeden
Step
und ein H oder L für die Laufrichtung und noch mal H oder L für
Fullstep
oder Halfstepmode. Das ist aber bei allen Antrieben synchron, die
Initialisierung startet zeitgleich und die Anzahl der Impulse ist
identisch
somit müsste sich am Ende der Initialisierung auch ein einheitliches
Bestromungsmuster an den Steppern befinden oder ???
Hmm, gerade geschaut....

Die MCs haben keinen Reset....

Theoretisch kanns dann nur noch an unterschiedlicher Rotorposition
liegen.

Eine Variante wären noch Endschalter in Offener Stellung, die (alle in
Reihe)
an einen Pin des MC gehen und bei der Initialisierung wird immer nur 1
Motor
bis zum Schaltpunkt gefahren, und dann einen Step zurück.
Oder man lässt die Schalter einfach das Taktsignal totlegen, so daß
bei Endposition und weiter 'auf' drehen kein takt mehr an den MCs
anliegt.

Michael.
 
"Michael Buchholz" <cylly@wtal.de> schrieb:

Ich sehe gerade, das war missverständlich:

Eine Variante wären noch Endschalter in Offener Stellung, die (alle in
Reihe)an einen Pin des MC gehen und bei der Initialisierung wird
immer nur 1 Motor
Hier war mit MC der Microcontroller gemeint.


bis zum Schaltpunkt gefahren, und dann einen Step zurück.
Oder man lässt die Schalter einfach das Taktsignal totlegen, so daß
bei Endposition und weiter 'auf' drehen kein takt mehr an den MCs
anliegt.
Hier war mit MC der Steppercontrollerchip gemeint.

Michael Buchholz.
 
"Michael Buchholz" <cylly@wtal.de> schrieb:

Ich sehe gerade, das war missverständlich:

Eine Variante wären noch Endschalter in Offener Stellung, die (alle in
Reihe)an einen Pin des MC gehen und bei der Initialisierung wird
immer nur 1 Motor
Hier war mit MC der Microcontroller gemeint.
Mechnisch mit Endschaltern ist da nichts mehr möglich, weil das Modell schon
soweit fertigestellt ist und soll auch nicht sein.
bis zum Schaltpunkt gefahren, und dann einen Step zurück.
Hier liegt schon das Problem, weil sich das Rasten im Magnetfeld des Motors
verschiebt und hierdurch der Winkelversatz auftritt.

Gruß
Martin
 
"Martin Jahn" <jahn.martin@t-online.de> schrieb:
Mechnisch mit Endschaltern ist da nichts mehr möglich, weil das Modell
schon
soweit fertigestellt ist und soll auch nicht sein.


bis zum Schaltpunkt gefahren, und dann einen Step zurück.

Hier liegt schon das Problem, weil sich das Rasten im Magnetfeld des
Motors
verschiebt und hierdurch der Winkelversatz auftritt.
Hi!
Da verschiebt sich nichts mechanisch, das ist die
Bestromungsreihenfolge.
Eine Idee wäre noch, den Phase A-Ausgang des steppercontrollers zu
nutzen...
einfach 100grad zurücklaufen lassen, und dann noch solange, bis der
entsprechende Motorcontroller PhaseA meldet (Nullage).

Wo Du gerade von verschieben redest:
Hast Du die Möglichkeit, die Schranke gebremst auf der Motorwelle
zu befestigen? so daß sie zwar mit dem Motor mitdreht, am Anschlag
aber durchrutscht?

Dann nüsste der Fehler auch weg sein, da der Moter nicht immer 3 Steps
zu-
rück springen kann.

Michael Buchholz.
 
In article <buebg0$u50$04$1@news.t-online.com>,
"Martin Jahn" <jahn.martin@t-online.de> writes:
und ein H oder L für die Laufrichtung und noch mal H oder L für Fullstep
oder Halfstepmode. Das ist aber bei allen Antrieben synchron, die
Initialisierung startet zeitgleich und die Anzahl der Impulse ist identisch
somit müsste sich am Ende der Initialisierung auch ein einheitliches
Bestromungsmuster an den Steppern befinden oder ???

Anscheinend nicht.
So wie ich das sehe mußt du den Chip resetten bevor du zu zählrn beginnst.
Laut Datenblatt:

8 6 Bias/Set B/S This pin is typically 0.7 volts below V M . The current out of this pin (through
a resistor to ground) determines the maximum output sink current. If the pin
is opened (I BS < 5.0 A) the outputs assume a high impedance condition,
while the internal logic presets to a Phase A condition.
---------------------------------------------

--
MFG Gernot
 
"Gernot Fink" <G.Fink@gmx.net> schrieb:
Anscheinend nicht.
So wie ich das sehe mußt du den Chip resetten bevor du zu zählrn
beginnst.
Laut Datenblatt:

8 6 Bias/Set B/S This pin is typically 0.7 volts below V M . The
current
out of this pin (through a resistor to ground) determines the maximum
output sink current. If the pin is opened (I BS < 5.0 A) the outputs
assume a high impedance condition,
while the internal logic presets to a Phase A condition.
---------------------------------------------
Hi!

Hmm, das kommt davon, wenn man das Datenblatt nur überfliegt!

Das ist natürlich noch schöner als lösung....
Alle Schranken auf anschlag, und dann einmal Reset an den
Steppercontrollern...

Michael Buchholz.
 
In article <buel01$3cg$05$1@news.t-online.com>,
"Michael Buchholz" <cylly@wtal.de> writes:
"Gernot Fink" <G.Fink@gmx.net> schrieb:
Anscheinend nicht.
So wie ich das sehe mußt du den Chip resetten bevor du zu zählrn
beginnst.
Laut Datenblatt:

8 6 Bias/Set B/S This pin is typically 0.7 volts below V M . The
current
out of this pin (through a resistor to ground) determines the maximum
output sink current. If the pin is opened (I BS < 5.0 A) the outputs
assume a high impedance condition,
while the internal logic presets to a Phase A condition.
---------------------------------------------

Hi!

Hmm, das kommt davon, wenn man das Datenblatt nur überfliegt!

Das ist natürlich noch schöner als lösung....
Alle Schranken auf anschlag, und dann einmal Reset an den
Steppercontrollern...

Das ist keine gute Idee. Damit rundest du praktisch auf 0,5.
Besser erst resetten dann auf Anschlag fahren und dann den Anschlag
einmalig mechanisch genau justieren.

--
MFG Gernot
 
Hallo und reichlichen Dank euch beiden......

"Michael Buchholz" <cylly@wtal.de> schrieb im Newsbeitrag
news:buel01$3cg$05$1@news.t-online.com...
"Gernot Fink" <G.Fink@gmx.net> schrieb:
Anscheinend nicht.
So wie ich das sehe mußt du den Chip resetten bevor du zu zählrn
beginnst.
Genau so ist es, je nach Startposition ist die Stellung nach der
Initialisierung nicht Phase A sondern sonstwo.
Ein low an Pin 6 nach der Init löst dieses Problem das habe ich gerade
ausgetestet.


Laut Datenblatt:

8 6 Bias/Set B/S This pin is typically 0.7 volts below V M . The
current
out of this pin (through a resistor to ground) determines the maximum
output sink current. If the pin is opened (I BS < 5.0 A) the outputs
assume a high impedance condition,
while the internal logic presets to a Phase A condition.
---------------------------------------------

Hi!

Hmm, das kommt davon, wenn man das Datenblatt nur überfliegt!

Das ist natürlich noch schöner als lösung....
Alle Schranken auf anschlag, und dann einmal Reset an den
Steppercontrollern...

Michael Buchholz.
Du hast natürlich völlig recht, das liegt an der "elektrischen Stellung" des
Magnetfelds resultierend aus der aktuellen Bestromung.

somit dürfte das Problem mit einem zusätzlichen Draht auf der Leiterplatte
und einer kleinen Erweiterung der Soft zu lösen sein.

nochmals Dank und beste Grüße

Martin
 

Welcome to EDABoard.com

Sponsor

Back
Top