Zur Abwechslung mal wieder eine Frage von meiner Seite: Hat schonmal jemand gesehen, dass ein Schrittmotor direkt von einem Controller aus angesteuert wird, also ohne L297 o.ä., sondern nur mit zwei H-Brücken-Treibern & -Endstufen dazwischen. D.h. die PWM-Generierung macht der Controller. Angedacht ist das Messen des Stromes mit zwei schnellen Stromsensoren (0.01 Ohm und MAX4080, jeweils einer auf der 70V-Seite jeder Brücke, gleichzeitig als Kurzschlußsicherung). Die Schaltung soll große Stepper treiben (6-10A) bis 8 kHz Schrittfrequenz. µC wird mein allgeliebter DSP56F803 mit 80MHz sein. Für Asynchronmotoren gibt es ja genug Beispiele, ein Steppermotor ist nur ein "kleinwenig" anders anzusteuern. Haltet Ihr das für realisierbar?
>Zur Abwechslung mal wieder eine Frage von meiner Seite ...grins.... , das ich soetwas auch noch erleben durfte :) >Hat schonmal jemand gesehen, dass ein Schrittmotor direkt von einem >Controller aus angesteuert wird, also ohne L297 o.ä., sondern nur mit >zwei H-Brücken-Treibern & -Endstufen dazwischen gesehe habe ich's noch nicht, kann mir aber gut vorstellen, dass es realisierbar ist Worin siehst Du Bedenken oder Probleme? In der Hardware oder in der Software? >µC wird mein allgeliebter DSP56F803 mit 80MHz sein. Du machst mich neugierig auf diesen µC. Könntest Du etwas zum Nachlesen empfehlen?
...grins.... , das ich soetwas auch noch erleben durfte :) Wie meinst Du das jetzt, mal ehrlich? Ich denke an Hard- und SW. Zur HW: 70 V und 2x 10 A sind nicht wenig, es steht ein Prototyp und es hat schon etliche Siliziumschmelzen gegeben. Die Frage ist vor allem die Strommessung für das Choppen, die normal die Stepper-Chips machen. Das ganze soll bei 20 kHz stattfinden. Wenn der Stepper steht, fließt der Nennstrom (10A) durch beide Spulen. Bei Slow-Decay muss ich nur ganz kurz nachladen (z.B. mit einem PWM von 5%), um die ohmschen und wirbeligen Verluste auszugleichen. D.h. 20KHz / 0,05 = 1µs lang. Das kann ich ja mit fester Zeit machen. Aber: wenn der Motor dreht und mechanische Energie abgibt, muss ich länger nachladen, eben dynamisch solange, bis der Sollstrom erreicht ist, und dann wieder umschalten auf Slow-Decay. Die Frage ist, soll ich den Strom bei jedem PWM-Zyklus messen und regeln, oder den Durchschnittsstrom anpassen und das PWM damit modulieren. Der µC soll ja nebenbei auch noch was anderes tun außer AD-wandeln und vergleichen. Das andere ist, dass ich (mit der momentanen Schaltung) im Decay den Strom nicht messen kann, da dann nichts auf der 70V-Leitung fließt (außer ich mache bidirektionale Messung und Fast-Decay -->großer CurrentRipple --> große Verluste überall). Evtl. hilft hier Constant-Off-Time? Wie es z.B. der L6208 macht. Oder dynamisch die Off-Zeit wählen. Wonach? Habe auch schon daran gedacht, direkt den Spulenstrom zu messen, z.B. mit einem Hall-IC oder Magnetsensor (galvanische Trennung). Ist halt alles recht aufwendig. Das Ding soll auch noch möglichst klein werden. Ihr seht, noch viele Fragen... Ich bitte Euch um rege Diskussion.
>...grins.... , das ich soetwas auch noch erleben durfte :) >Wie meinst Du das jetzt, mal ehrlich? Bis jetzt hast Du, und ich möchte Dich jetzt nicht "Bauch-Pinseln", immer sehr gute Erklärungen und Ratschläge abgegeben. --------- PROBLEM HW: >Zur HW: 70 V und 2x 10 A sind nicht wenig, es steht ein Prototyp und >es hat schon etliche Siliziumschmelzen gegeben. Ich würde die HW so gestalten, dass bei jeden möglichen und unmöglichen Betriebszustand, die "Endstufen" und der Motor keinen Schaden nehmen. Ich könnte mir gut vorstellen, wenn ein Strom ununterbrochen länger als eine 10-tel Sekunde fließt (als Bsp), dann wird gnadenlos die Stromzufuhr gekappt. Wie hoch ist die Wicklungs-Induktivität? --------- PROBLEM SW: Im einfachsten Fall kann der Stepper, so habe ich's gerade gelesen http://www.forum.electronicwerkstatt.de/phpBB/topic36321_f34_bxtopic_timexDESC_by6_bz150_bs15.html mit "harten" Stromimpulsen, also ohne PWM gefahren werden, aber da sind die Bewegungen sehr ruckartig. Also kommt man nicht um die PWM herum. Zur Strommessung: Der Strom ist nicht konstant (Induktionsgesetz) und die Wirbelströme im Inneren machen das ganze nicht gerade berechnenbar. Ich denke, man wird sich mit einem Effektiv od. Mittelwert beknügen müssen. Gerade stell ich mir die Frage, muss überhaupt eine Strommessung vorgenommen werden? Der Motor wird mit einer PWM sanft angefahren, die Drehzahl ist nach meiner Meinung nicht von der Stromstärke abhängig, sondern nur sein Drehmoment wird durch die Stromstärke bestimmt, oder? Und wenn der Motor seine Drehzahl erreicht hat, dann kann das PWM-Signal eingefroren werden, ansonsten werden noch ein paar % draufgelegt. Wird eigentlich ermittelt, ob sich der Motor dreht? Was treibt dieser Motor an, sicherlich kein Diskettenlaufwerk? >µC wird mein allgeliebter DSP56F803 mit 80MHz sein. Du machst mich neugierig auf diesen µC. Könntest Du etwas zum Nachlesen empfehlen?
Wir choppern mit 400kHz (40kHz sind normalerweise Standard). Alles über FPGA...Zur Hardware kann ich nichts sagen.
Wie wäre es, einen L6506 zwischenzuschalten, den man dann im Betrieb vom µP anpaßt (timing, Schwellwerte) ? Auf einen 'Hardware-Copper' würde ich nicht verzichten, da ein Prozessor Stillstand alles abrauchen lassen könnte.
Sanyo Denki StepSyn 103-H8221-6241 | Sanyo Denki StepSyn 103-H8220-6340 | | Sanyo Denki StepSyn 103-H8223-6540 (103-H8223-6510) | | | Sanyo Denki StepSyn 103-H89222-6541 | | | | Sanyo Denki 103-H89223-6641(103-H89223-6611) | | | | | 1.8 1.8 1.8 1.8 1.8 (°) BASIC STEP ANGLE 6.0 6.0 9.0 10 12 (Amp) BIPOLAR CURRENT 0.3 0.35 0.2 0.16 0.16 (Ohm) RESISTANCE 1.65 2.7 1.4 1.9 2.0 (mH) INDUCTANCE 300 560 790 1620 2460 (Ncm) BIPOLAR HOLDING TORQUE 145 290 435 1465 2200 (Kgm² x 10E-6) ROTOR INERTIA 206 193 182 111 111 (100rad / sec.²) THEORETICAL ACCELERATION 50 93 88 162 205 (V/Krpm) BACK E.M.F. 1.5 2.5 3.5 7.0 11.0 (Kg) MASS IP43 IP43 IP43 IP43 IP43 PROTECTION DEGREE V V V V V LEAD CODE http://www.rta-deutschland.de/sites/images_d/pdfs/H82_d.pdf http://www.rta-deutschland.de/sites/images_d/pdfs/H89_d.pdf Bei 72V, 0.2 Ohm und 1,4mH wird klar, dass innerhalb weniger ms 350 A fließen. Es ist schon eine flotte elektronische Sicherung eingebaut, die bei 100A innerhalb 400ns abschaltet, das Problem ist nur, dass die FETs das nur überleben, wenn sie voll durchgeschaltet sind. Aber das sind sie nun mal nicht immer. @Michael: Platzproblem @Rahul: bei 400 kHz wären die Schaltverluste zu hoch. 20 kHz ist ausreichend. Warum choppst du so schnell? @Bernhard: "innerhalb einer 10-tel Sekunde " ist alles verdampft! Mechanik: Industrie-Antrieb über Getriebe. Stommessung brauche ich, da die mechanische Last nicht konstant ist. Also kann ich nicht konstant-PWM machen. DSP: auf der Freescale-Pages findet man gleich gar nichts mehr. ich suche was für Dich heraus.
...ich habe jetzt auch ein paar Tage über dieses Problem nachdenken
müssen, im Alter dauert manches etwas länger ;)
Ich würde grundsätzlich dafür sorgen, dass dem Steppermotor keinen
längeren Impuls als xx ms/µs zugefüht wird, denn in dieser Zeit ist die
Wicklungsinduktivität noch voll wirksam.
Der Wicklungsstrom steigt linear an, somit kann man schon vorher den
maximalen Stromfluss bestimmen.
>Stommessung brauche ich, da die mechanische Last nicht konstant ist.
Warum?
Selbst wenn Du den Stepper mit 100% laufen lässt, seine Drehzahl ist
nicht von der Stromstärke abhängig. Seit dem es entsteht ein Schlupf
zwischen Drehfeld und Rotor, oder?
Man könnte ihn sanft auf 100% hochfahren und anschließend den Strom
messen und bei Bedarf senken, oder?
Benhard
Die Drehzahl ist wirklich nicht von der Stromstärke abhängig, aber das
Drehmoment. Und bei wechselnder Last braucht man unterschiedliche
Drehmomente. Bie höherer Belastung ist auch das notwendige Drehmoment
und damit der notwendige Strom höher.
Würde man den Motor immer mit dem höchsten Strom beaufschlagen, auch
wenn die Belastung klein wäre, würde er sich irgendwann in seine
Bestandteile auflösen...
>Man könnte ihn sanft auf 100% hochfahren und anschließend den Strom
messen und bei Bedarf senken, oder?
Das nennt sich "eine Rampen fahren" zumindest bei der Drehzahl. Dabei
wird die Schrittfrequenz nach einer voher bestimmten Funktion stetig
erhöht.
Oder meinst du auf 100% Drehmoment ansteigen lassen? Das wird
schwierig, wenn das Getriebe nicht selbsthemmend ist (Schneckengetriebe
oder dergl.). Andererseits ist das natürlich das, was man mit der
Chopperfrequenz und der Strommessung erreicht: Der Motor hat Drehmoment
(in diesem Fall Haltemoment), und zerstört sich nicht selbst durch
Überhitzung.
@Profi: Kennst du "Das Handbuch für Kleinantriebe"?
Ich weiß gerade nicht von wem das ist, aber das Kapitel über
Schrittmotoren ist ziemlich interessant (bin immer noch nicht ganz
damit durch).
Übrigens weiß ich nicht, wieso wir hier die Motoren mit einer so hohen
Frequenz choppern. Das wurde eingeführt, als ich noch nicht in der
Firma war...
@Rahul >Oder meinst du auf 100% Drehmoment ansteigen lassen? ja, ich meine 100% Drehmoment >Das wird schwierig, wenn das Getriebe nicht selbsthemmend ist >(Schneckengetriebe oder dergl.). was versteht man unter selbsthemmendes Getriebe? >Andererseits ist das natürlich das, was man mit der >Chopperfrequenz und der Strommessung erreicht: >Der Motor hat Drehmoment(in diesem Fall Haltemoment), und zerstört >sich nicht selbst durch Überhitzung. Mit anderen Worten, der Motor würde sich bei permanent 100% Drehmoment zu sehr erhitzen. Kann ich nachvollziehen. Und wenn beim beschleunigen des Motors von 0 auf seine SOLL-Drehzahl für einige ms sanft auf 100% Drehmoment gefahren wird und anschließend der Strom gemessen und das Drehmoment zurückgefahren wird ? Hätte den Vorteil, dass der Strom nicht bei jeder PWM gemessen werden müsste, man könnte die Strommessung in aller Ruhe durchführen und das Drehmoment absenken. So schnell wird der Stepper keinen Schaden nehmen, oder? ^ Drehmement / PWM | | |<------ Strommessung |-- 100%---xxx | x x |<------ Strommessung | x xxxxxxxxxx | x x | x xxxxxxxxxxxxx |x |---------------------------------------------> Zeit Bernhard
>sanft auf 100% Drehmoment
Was ist an einem Schaltvorgang sanft?
Schrittmotoren werden von einem Schritt zu nächsten geschaltet.
Den sanften Anstieg hast du durch die Spule (sollte IMHO ein Tiefpass
sein). Deswegen ist auch ein Fehler in deinem Schema: Der Strom hat den
Verlauf einer e-Funktion.
@Rahul >Schrittmotoren werden von einem Schritt zu nächsten geschaltet. Sachlich richtig, aber es gibt zei Arten des Schaltens: A: Der Stepper bekommt knadenlos einen Impuls und springt in die neue Position B: Der Stepper bekommt für einen einzigen Schritt ein PWM-Signal angeboten, welches anfangs ein sehr niedrigen Tastgrad besitzt und innerhalb einiger ms/µs wird der Tastgrad vergrößert und anschließend vielleicht sanft wieder verringert. Damit läuft der Stepper ruhiger, ansonsten würde er quasi in jede neue Stellung regelrecht "springen". >Was ist an einem Schaltvorgang sanft? Verfahren B würde ich als "sanft-PWM" bezeichnen >Den sanften Anstieg hast du durch die Spule (sollte IMHO ein Tiefpass >sein). Genau, denn der Stromanstieg ist linear zur Zeit (Induktionsgesetz) >Deswegen ist auch ein Fehler in deinem Schema: Der Strom hat den >Verlauf einer e-Funktion. Beinhaltet meiner Menung nach kein gedanklichen Fehler. Ist eine Frage der Betrachtungsweise. Der Motor wird durch eine "Sanft-PWM" (variable PWM) bis 100% Drehmoment gespeist. D.h. er dreht auf jeden Fall (seit dem er kann aus anderen mechanischen Gründen nicht). Man gibt erstmal Vollgas um anschließend das Drehmoment zu drosseln. Ist nach meiner Meinung die schnellste Variante. Würde man mit einem niedrigen Drehmoment anfangen, weiss man nicht, ob der Motor sich überhaupt dreht. Oder habe ich etwas nicht bedacht? @Profi Wie erfolgt eine Messung, wenn überhaupt, ob sich der Motor dreht, bzw. ob er sein Ziel erreicht hat? Bernhard
Ich würde Verfahren B als "Microstepping" bezeichnen. Bei einem Schrittmotor kann sich der Rotor immer nur schrittweise bewegen (wie der Name ja schon andeutet). Somit würde eine PWM dazu führen, dass sich der Rotor zwischen zwei Vollschritten hin- und herwandert==> mircostep. >Man gibt erstmal Vollgas um anschließend das Drehmoment zu drosseln. Richtig! >Würde man mit einem niedrigen Drehmoment anfangen, weiss man nicht, ob der Motor sich überhaupt dreht. ... und damit Schritte verliert.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.