Forum: Mikrocontroller und Digitale Elektronik Schrittmotor zweiter Versuch ;-)


von Heinidererste (Gast)


Lesenswert?

Hallo,
ich hatte schon einen Beitrag geschrieben und gefragt ob mir evtl.
jemand helfen kann einen Microcontroller zu finden, mit dem ich eine
Endstufe ansteuern kann.
Ich habe bereits eine Steuerung aufgebaut, mit der ich Bipolare
Schritt-Motoren fahren kann (bis 4A phasenstrom). Aber leider nur
max.im Halbschrittmodus.
Ich würde gern die Ansteuerung der Endstufe mit einem MC ausführen, da
ich denke, dass die Möglichkeiten einfach größer sind.

Mir gefällt besonders die Möglichkeit der hohen Schrittauflösung und
evtl. ist auch die gesammte Schaltung zu vereinfachen (weniger Bauteile
als jetzt)?!

Wenn jemand mir weiter helfen kann würde ich micht freuen!
Auf meinen ersten Beitrag gab es leider keine Antworten :-( verstehe
ich ehrlich gesagt nicht ganz......

Ich m,öchte aber nicht verschweigen, dass ich keine Ahnung von MC habe,
aber ich habe Ideen und möchte etwas selber auf die Beine stellen,
kaufen kann jeder!

Im Netz hatte ich auf der Seite von
http://www.microchip.com/download/appnote/pic16/00822a.pdf
einen Kontroller gefunden, der mir eigentlich gut gefällt, es ist eine
Beispielschaltung dabei und eine Software (als geschriebener text).
Ich besitze weder die Möglichkeit diese Software auf den PIC zu
bekommen, noch habe ich einen Schimmer davon wie man dass macht??
Aber ich möchte es lernen!!!


Wie gesagt, ich hoffe es ist hier jemand der mir dabei zur Seite steht
:-)

Tschüß
Jens

von Torsten (Gast)


Lesenswert?

Hallo,

erstmal folgendes: Die Endstufe geht mit dem Mikrocontroller nicht zu
machen. Dafür braucht man Transistoren.

Halbschritt reicht nicht? Dann gäbe es noch den TCA3727 von ?. Der kann
Achtelschrittbetrieb.
Alles was mehr in richtung Mikroschrittbetrieb geht, wird echt
aufwendig (softwaremässig). Dort wird jede Windung stromgesteuert. Das
macht man im Normalfall mit einer PWM. Wie das im detail geht kann ich
dir leider auch nicht sagen.

Aber mal ein Paar google Tipps:
Jones on stepping motors - Grundwissen über Stepper
"mel bartels" der hat eine Mikroschrittsteuerung für Teleskopantriebe
gebaut. Dafür ist der Code frei verfügbar, evtl. kannst du dir dort was
abgucken...

Für den PIC musste auch googlen, ich kenn nur AVR´s ;-)

MfG Torsten

von Gast (Gast)


Lesenswert?

Soweit ich weiss gibt es für bipolare Motoren diverse
Treiberschaltkreise. Hierfür müsste man lediglich google bemühen. Ein
solcher kann dann an die Pins des MC angeschlossen werden. Hier muss
man einfach anhand einer Schalttabelle die Pins "durchklappern" und
der Rotor dreht sich.
Hoffe, ich konnte helfen :-)

von Heinidererste (Gast)


Lesenswert?

Moin....
erst mal Danke für Eure info !
Aber was mein Kernproblem ist, ist die Umsetzung der Signalweitergabe
vom PC zum L298 über den Controller.
Wie gesagt, eine "normale" Schaltung ist nicht das Problem, ich
beschäftige mich damit schon lange und habe auch schon dieverse
Schaltungen gebaut (u.a. betreibe ich eine 3 Achsen Fräse und eine
Drehbank damit und fahre diese mit einem CNC Progi).

Der Controller ist halt der Knackpunkt.......

Ich würde gerne mit dem PIC ein bischen probieren, das scheitert aber
daran, dass ich das Teil nicht programieren kann.
Es gibt ja in der Produktbeschreibung ein Seitenlanges Programm, ich
denke zumindest das es ein Programm ist ?!....
Und wenn ja, bekomme ich es da nicht rein, also kann ich auch nicht
probieren....
ich habe keinen Schreiber für den PIC und null Erfahrungen wie man dass
macht...

Hat evtl. jemand von Euch mal Lust sich das anzusehen und falls ich
richtig liege, mir das in den PIC zu laden? Ich würde den dann besorgen
und zuschicken. Den Weitern Aufbau der Platine wird nicht das Problem
werden.

Evtl. Denke ich da auch in eine völlig falsche Richtung und es gibt
heute andere MC , die die gleiche Arbeit übernehmen können wie der PIC
aber weitaus einfachen in der Handhabung sind?????


Die Idee mit dem 3727 geht leider nicht, da die Phasenströme nur 750mA
betragen, der würde gleich abrauchen, ich fahre bis 4A pro Phase. Meine
letzte 4A Steuerung habe ich mit L6203 Endstufen gebaut, die laufen
super, aber der Teileaufwand ist recht hoch und ich bin durch den L297
mit der Schrittauflösung begrenzt.

Mel Bartels beschreibt auf seiner Page einen recht einfachen
Steuerungsaufbau, der wird aber nicht mit einem MC gesteuert sonder
ernfährt sein Teleskop mit einem Handpad.

Wie gesagt, ich würde mich über jede Hilfe freuen!!

Tschau
Heini

von Rahul (Gast)


Lesenswert?

Hallo Heini!
Da Du keine Möglichkeit hast, einen PIC zu brennen, würde ich
vorschlagen, das Ding gleich zu lassen und zum AVR zu wechseln. Für den
gibt es eine grosse Auswahl an Programmern ("Schreiber") für den
Selbstbau (u.a. hier auf der Seite) und hier im Forum gibt es eine
ganze Menge Leute, die mehr vom AVR als vom PIC verstehen.
Das "Programm" vom PIC müsste man sich ansehen, die Struktur
verstehen und dann "einfach" auf den AVR übertragen.

So wie ich dein Anliegen verstehe, suchst du einen Controller, um den
Stepper nicht mehr direkt über den PC zu steuern. Sprich, man überträgt
vom PC eine Schrittweite und die Anzahl, der Motor wird entsprechend
bewegt und der Controller meldet das Erreichen der Postion an den PC
zurück. Sehe ich das in etwa richtig?

Jetzt würde mich noch deine Fräse interessieren. Ist das ein Selbstbau?
Wieviele Achsen hat sie?

Schönen Gruß
Rahul

von Christian Kreuzer (Gast)


Lesenswert?

Hallo,

schau mal bei Nanotec (www.nanotec.de) auf der Homepage, die haben
super Schrittmotortreiber die leit zum ansteuern sind.

Viele Grüße,
Christian

von Heinidererste (Gast)


Lesenswert?

Also.............
Das Problem ist weniger den PC außen vor zu lassen, das Ziel soll sein,
mit dem Kontroller eine höhere Schrittauflösung zu erreichen.
Es ist sehr schwierig ohne einen MC eine Schrittauflösung größer
halbschritt zu realisieren.
Gerade wenn es um hohe Phasenströme (größer 2A) geht.
Eine Schaltung mit L297/298N oder einem L6203 ist kein Problem für
mich. Ich habe diese Schaltungen schon mehrfach gebaut und sie laufen
perfekt.
Ich möchte eigentlich mehr flexiebilität erreichen gerade im Bezug auf
die Schrittauflösung.....
Je höher die Auflösung desto besser und runder laufen die Motoren.
Nanotec ist eine Variante aber zu teuer, ich möchte lieber etwas selber
bauen, das macht mehr Spaß und ich lerne etwas dabei!

Die Frage ist, ist es überhaupt möglich mit einem AVR die features des
PIC zu ersetzen? Da sind halt die Profis hier im Forum gefragt.

Ich möchte weiterhin die Schritt/Richtungsbefehle über den PC an die
Steuerung geben ( also pc-mc-l297/298 oder L297-L6203 z.B), da ich das
CNC Progi Mach2 nutze.

Was ich eben nicht mit der herkömlichen Schaltung e( so wie sie in der
Techn. Doku vom L297, L298 abgebildet ist) ist eine Microschritt
auflösung kleiner halbschritt!
Es gibt zwar IC für 8tel Schritt aber die haben max. 750mA Leistung,
das is dann ca. 1.25 bzw. 3.25A zu wenig.

Auch ist die Ansteuerung über ein art Hand-pad einfacher über einen MC
zu realisieren als über eine herkömliche "Hardwareschaltung"..


Das Eregebniss ist dann halt der Umweg über den MC.......
Das ist das Problem.....

Noch kurz zur Fräse, es ist eine HBM 45, mit 3 Achsen (Gewicht ca
280KG).
Die läuft jetzt mit Vexta Schrittmotoren PK 299 (6Nm Haltemoment) und
per CNC Progi von Mach2 über einen normalen PC.
Das Progi gibt es auf der Arcsoft page gratis....

Tschau
Heini

von Michael (Gast)


Lesenswert?

...Ich m,öchte aber nicht verschweigen, dass ich keine Ahnung von MC
habe.

Das ist der Punkt, warum Dir einige Leute nicht antworten können/werden
!

Es gäbe eine Möglichkeit mit 6506 + 2 x L6203. Über REF1 + REF2 am 6506
lassen sich die Phasenströme einstellen; hier gilt es allerdings die
unteren Stromgrenzen zu berücksichtigen. Die Einstellung kann mit PWM
oder ext. DA-Wandler erfolgen. Ein Mikroschrittbetrieb scheint mir nur
im unteren Drehzahlbereich sinnvoll, wo die Eingschwingzeit eines
PWM-Ausgangs reichen könnte. Sicherer wäre es, pro Phase einen ganzen
Port zu verwenden, dessen oberstes Bit die Phase bestimmt und die
unteren Bits über ein R-2R-Widerstandsnetzwerk den Phasenstrom
vorgeben. Das Bitmuster liegt dann in einer Tabelle, aus der jeweils
Ph-A und Ph-B 90° phasenverschoben ausgelesen werden.

Mit einem ATmega16 und 16MHz kann die max. Schrittfrequenz ca. 20-30kHz
betragen, wenn nicht sogar noch mehr.
Da Dir keiner eine fertige Schaltung nebst Programm liefern wird,
müßtest Du wohl doch nach einem fertigen Baustein Ausschau halten, auch
wenn es Geld kostet.

von Rahul (Gast)


Lesenswert?

Hallo Heini!
Ich habe gerade mal einen Blick auf das PIC-Programm geworfen und würde
sagen, dass man das alles auch mit einem AVR machen kann, da viele
Typen PWM-Generatoren und AD-Wandler besitzen.
So wie ich das Programm verstanden habe, wird über ein Poti am
AD-Wandler die Geschwindigkeit und über DIP-Schalter der Stepper-Modus
(?) eingestellt. Der PC gibt über die serielle Schnittstelle
Drehrichtung und Schrittanzahl an. Die Werte für die PWM liest der
Controller aus einer Tabelle, die je nach Schrittweite und Drehrichtung
ausgelesen wird.
Klingt nach einem interessanten Projekt...

Gruß Rahul

von Michael (Gast)


Lesenswert?

@Rahul

"The feedbacks are connected to AN1 (Pin 3) and AN3 (Pin 5)."

Hast Du die Stelle gefunden, wo diese Signale im Programm verwendet
werden ? Ich glaube, das hat man sich genialerweise geschenkt, obwohl
das die interessante Stelle in der ganzen Schaltung ist. Ohne
Gegenkopplung ist die Steuerung nur für statischen oder langsamen
Betrieb nützlich, wobei entweder die Versorgungsspannung =
Motorspannung sein muß, oder ein Vorwiderstand in Reihe zur Wicklung
liegen muß. Da könnte man auch gleich die PWM auf Enable legen und ohne
Zusatzlogik die Phasenlage vorgeben.

Die Stromsteuerung wird in der Regel mit Komparatoren realisiert, die
im µs-Bereich schalten und möglichst nicht auf Störsignale reagieren
sollten. Ein ADC ist m.E. zu langsam dafür, die Mikroschritte auch in
der gewünschten Genauigkeit auszuführen.

Liegt in Kiel noch Schnee oder scheint heute 'mal die Sonne ? Gruß aus
der Hauptstadt :-)

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.