Forum: Mikrocontroller und Digitale Elektronik 5Phasen-Schrittmotoransteuerung


von Pieter (Gast)


Angehängte Dateien:

Lesenswert?

moin moin,

nur mal als Anregung:
Zur Ansteuerung eines 5-Phasen-Schrittmotors habe ich die Schaltung im 
Anhang mal aufgebaut. Die Platine ist 60x60mm groß.

Mit Gruß
Pieter

von Fritz (Gast)


Lesenswert?

Ist die Schaltung eine Frage oder eine Antwort ?

Auf den ersten Blick stört der unzureichende Reset des 4051 und die 
Verwendung eines GAL. Viele andere hier würden lieber einen ATmega 8 
verwenden.

von Jack B. (jackbraun)


Lesenswert?

Der Reset ist völlig i.O.
Aber mich stört auch das GAL.

von Pieter (Gast)


Lesenswert?

moin moin,

was ist denn "schlimmes" an einem GAL???
Der Stromchopper läuft über den GAL, der Hardwareaufwand wäre sonst zu 
groß.
Über MC-Typen streite ich nicht, jerder soll den verwenden den er mag.

mfg
Pieter

von Jack B. (jackbraun)


Lesenswert?

Nichts schlimmes, nur das man halt einen GALEP oder sonstwas braucht.
Ich hab einen, aber viele anscheinend nicht.
Aber was anderes: Ist Dein Programm größer als 2k?

von Pieter (Gast)


Lesenswert?

moin moin,

zum GAL-Brennen verwende ich eine Minmalschaltung nach
http://www.geocities.com/mwinterhoff/program.htm
Der GAL ist eigendlich nur ein Dekoder 1aus20 zu 2x5Ausgänge mit 
Endlagen und Stromüberwachung.
Ein CPLD ist von der Gehäusebauform nicht brauchbar.
Das MC-Programm als Testversion sind nur 500 Bytes, ohne jede 
Optimierung.
Den 89C4051 verwende ich nur, weil der Preisunterschied zum 89C2051 
minimal ist.
Werden alle Bauteile gekauft, kostet die Ansteuerung ca 25EUR + ca 7EUR 
Leiterplatte.

mfg
Pieter

von Jack B. (jackbraun)


Lesenswert?

>Werden alle Bauteile gekauft, kostet die Ansteuerung ca 25EUR + ca 7EUR
>Leiterplatte.

Klingt gut, und notfalls auf Lochraster.
Jetzt bin ich schon gespannt auf das Programm.
Endlich mal wieder was mit einem 2051, immer diese AVRs ;-)
Hast Du schon mal den LP mit SPI programmiert?

von Fritz (Gast)


Lesenswert?

> Über MC-Typen streite ich nicht, jeder soll den verwenden den er mag.

Muß man ja auch nicht, wenn man akzeptiert, daß die Timer vom 4051 für 
diese Anwendung eher schlecht als recht sind und ein AVR deutlich höhere 
Schrittfrequenzen erlaubt.
Wieviel Schritte/Sek. brauchst Du denn ? 1000 oder 10000 ?
Ich glaube die ICL.... erlauben eine nicht zu hohe Versorgungsspannung; 
da würde ich zumindest 24V besser noch mehr anstreben. Gut, auch das 
hängt wieder von der max. Schrittfrequenz ab.

> Der Reset ist völlig i.O.
Stimmt, wenn man keine Ansprüche an die Zuverlässigkeit stellt.

von Jack B. (jackbraun)


Lesenswert?

>Stimmt, wenn man keine Ansprüche an die Zuverlässigkeit stellt.

Dazu muß man wissen, daß der 4051 intern einen Widerstand nach Gnd hat.
Irgendwas zwischen 10 und 30k. Da wärs ja Unsinn, einen weiteren
Widerstand parallel zu schalten.

von Fritz (Gast)


Lesenswert?

> Dazu muß man wissen, daß der 4051 intern einen Widerstand nach Gnd hat.

Oh, das ist völlig neu für mich. Aber gerne lerne ich dazu.
Aber was macht denn dieser Widerstand, wenn durch einen 
Versorgungsspannungswackler VCC auf sagen wir 3V absinkt und dann wieder 
ansteigt ?

von Pieter (Gast)


Angehängte Dateien:

Lesenswert?

moin moin,

also Lochraste ist ungünstig, die Platine dient gleichzeitig als 
"Kühlfläche".
Timer brauche ich nicht. Am Port wird einfach eine Zahl zwischen 0 und 
20 ausgegeben, den Rest erledigt der GAL.
Mit dieser Schaltung und endsprechendem GAL-Programm kann ein 
Schrittmotor mit 2 bis 5 Phasen angesteuert werden.
Anbei das GAL-Programm für 5Phasen Halbschrittbetrieb. Macht 1000 
Steps/Umdrehung. Mir reicht 1U/s, macht 1ms pro Schritt. Bei meinem 
Motor (2A, 0,3Ohm, 0,5mH) reichen 12V. Um 24V zur Versorgung nehmen zu 
können, müssen andere Treiber rein. Die maximale UGS von 20V wird sonst 
überschritten.
Zum RESET. Der 89Cx051 arbeitet von 3 bis 6V. Die Rohspannung wird 
direkt aus der Motorspannung gewonnen. Sollte doch mal so ein 
Spannungseinbruch vorkommen, bleibt der Motor stehen, da keine weitere 
Ansteuerung duch den MC erfolgt. Stromchopper läuft davon unabhängig 
über den GAL.
Das MC Programm im einfachsten Falle überwacht 2 Pins (Takt und 
Richtung) und zählt den Portausgang rauf oder runter. Die beiden anderen 
Pins könnten zur Antwort genutzt werden, so in Richtung "Step ok".
Ob serielle Ansteuerung besser ist muß ich erst noch prüfen. Ist aber 
auch kein Problem.

mfg
Pieter

von Jack B. (jackbraun)


Lesenswert?

Hallo Pieter,

Vielen Dank.
>Hast Du schon mal den LP mit SPI programmiert?

von Fritz (Gast)


Lesenswert?

Sei mir nicht böse, aber für so einfache Anforderungen stehen 
Kosten-Nutzen in keinem günstigen Verhältnis.
Diese Anforderungen können von einem unipolaren Stepper mit einfachster 
Ansteuerung (4xMOSFET) genausogut erledigt werden. Dafür braucht man 
keinen teuren 5-phasigen Motor.

von Pieter (Gast)


Lesenswert?

moin moin,

zu Kosten-Nutzen: Hatte in meiner "Kramkiste" einen kompletten 
Kugelgewindeantrieb mit 25mm Steigung und 5-Phasenschrittmotore liegen.
Mit der 1000der Auflösung habe ich ohne weiteren Aufwand 25µm je Stepp.
Andere Schrittmotore hätte ich neu kaufen müssen und Mircostepping ist 
auch nicht ganz ohne.

8051 habe ich noch nicht per SPI programmiert.
Meine Varianten sind:
-klassische HV-parallel Programmer
-seriell per COM (8051ED2)
-per USB (80C5131)

mfg
Pieter

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.