Ansteuerung Steppermotor ??

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

Reply to
Martin Jahn
Loading thread data ...

"Martin Jahn" schrieb:

ist ein

Anschlag

und

ohne

führt

Antriebe

auch

Lagen

wenn

Motors in

der

Initialisierung

auch zu

!) in

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.

Reply to
Michael Buchholz

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

Reply to
Martin Jahn

"Martin Jahn" schrieb:

Bestromungsmuster

Step

Fullstep

identisch

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.

Reply to
Michael Buchholz

"Michael Buchholz" schrieb:

Ich sehe gerade, das war missverständlich:

Hier war mit MC der Microcontroller gemeint.

Hier war mit MC der Steppercontrollerchip gemeint.

Michael Buchholz.

Reply to
Michael Buchholz

Mechnisch mit Endschaltern ist da nichts mehr möglich, weil das Modell schon soweit fertigestellt ist und soll auch nicht sein.

Hier liegt schon das Problem, weil sich das Rasten im Magnetfeld des Motors verschiebt und hierdurch der Winkelversatz auftritt.

Gruß Martin

Reply to
Martin Jahn

"Martin Jahn" schrieb:

schon

Motors

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.

Reply to
Michael Buchholz

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
Reply to
Gernot Fink

"Gernot Fink" schrieb:

beginnst.

current

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.

Reply to
Michael Buchholz

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
Reply to
Gernot Fink

Hallo und reichlichen Dank euch beiden......

"Michael Buchholz" schrieb im Newsbeitrag news:buel01$3cg$05$ snipped-for-privacy@news.t-online.com...

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.

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

Reply to
Martin Jahn

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.