Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotor Steuerung mit Mosfets
HI,
also ich benutze zur zeit die guten alten Pollin Karten zum betreiben der 3 Schrittmotoren meiner Käsefräse ;P.
Das ding hat jetzt ein Kumpel von mir gesehn und beschlossen auch eine zu bauen ;P. Allerdings mit wesentlich größeren Motoren die er noch rumliegen hatte. Motor: 200s/u ;10V 6,7A ca 1.74Nm
Also schon was nettes ^^.
Das problem ist nunmal das die Pollin Karten das nciht schaffen. Heist ich brauche eine stärkere Endstufe.
Dummerweise kenn ich keine die
1. genug Strom schalten kann
2. noch einigermaßen günstig ist.
Da ich gerne die L297/L298 Schaltung verwenden würde dachte ich mir das ich einfach den Chip L298 ersetzen kann.
Dazu hab ich mal ien wenig im Forum rumgesucht und auch etwas nettes gefunden:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=15237&highlight=4a+schrittmotor
arg anderer link weg -_- egal
Spielereien mit Microstep betrieb usw wollte ich nicht einplanen da mir das zu ünnötig kompliziert aussieht.
Frage hier am Rande: Wie funktioniert das MIcrostepping eigentlich ? Also ich hab das so verstanden das zwischen jedem Vollschritt, z.b. 16 einzelschritte gemacht werden. Das erhöht zwar nicht die genauigkeit (oder doch?) dafür aber die laufruhe.
Wie das funktioniert habe ich nicht verstanden ;P ?
mal ein Beispiel
http://de.nanotec.com/schrittmotor_steuerungen_smc11.html
Aber zurück zum Thema.
Nach dem langen lesen in vielen vielen Threads hier bin ich auf den entschluss gekommen das Ganze mit 2H-Brücken aus Mosfets zu machen.
Im Grunde besteht ein L298 ja auch aus nichts anderem nur eben noch mit Steinzeit Transistoren ;P.
Diverse Treiber mit MOsfets habe ich gesehn allerdings sind die entweder sehr teuer oder einfach nciht aufzutreiben, falls jemand einen parrat hat wäre ich nicht abgeneigt ^^.
Also habe ich mir vollgendes zusammengereimt:
Ich baue einfach die schaltung des L298 nach. Also bräuchte ich 8 Mosfets mit jeweils einem Mosfet treiber.
Bei den MOsfets ist dieser hie vorgesehn: http://www2.produktinfo.conrad.com/datenblaetter/150000-174999/162742-da-01-en-IRFZ_34_N.pdf
Über den Treiber lässt sich streiten bzw ich hab keine Ahnung welchen ich nehmen soll?
Am idealsten wäre ein full-bridge-Mosfet driver, allerdgins sind diese malwieder nicht gerade einfach zu finden bzw recht teuer.
Also wäre am idealsten ein high/low-side mosfet driver, vorteil wäre das ich Pro H-Brücke nur 2 bräuchte und dazu N-Kanal Mosfets benutzen kann.
P-Kanal MFs haben den nachteil das sie im vergleich sehr wenig Strom schalten können.
Nun stellt sich die frage ?welcher ??
Ich habe mir mal ein paar treiber angeschaut und kann mich nicht wirklich entscheiden welcher. Deswegen wäre es genail wenn jemand einen vorschlagen könnte.
Wenn ich einfache MF treiber benutze werde ich wohl die logik ersetzen müssen was ich mit Bausteinen der 74er reihe realisieren wollte.
Falls ich ein brücken treiber verwenden kann fällt dies natürlich weg.
Würde diese grobe überlegung eigentlich funktionieren auch mit der Stromregelung usw ?
mfg
Hallo,
Brückentreiber könnte man z.B. was von IR nehmen. Ich habe z.B. mir schon mal ein Paar IR2104 Halfbridgedriver beiseitegelegt. Gibt es beim großen C, sind aber auch nicht wirklich günstig (war auch nicht anders zu erwarten bei der Quelle ;) )
Ansonsten sollte man das "Grobe", wie die Stromregelung usw. übernehmen können. Ev. muss man die Strommessung noch über einen OP verstärken, da die Verlustleistung der Messwiderstände bei hohen Referenzspannungen recht hoch wird.
Ich tippe aber mal schwer darauf, dass das Layout nicht ganz trivial wird. Die hohen geschalteten Ströme streuen gern in die Signale und Referenz- bzw. Messspannung ein, was zu Fehlfunktionen der Stromregelung führen kann. Eine gute, starke Masse sollte auf alle Fälle berücksichtigt werden.
Mikroschritt ist eigendlich recht einfach. Zwischen den Vollschrittpositionen wird die Referenzspannung entsprechend Sin/Cos Funktionen variiert. Je feiner man auflöst (näher an der Sinusform), desto mehr Mikroschritte bekommt man.
Wirklich genau sind aber eigendlich nur die Positionen des Voll/Halbschrittes. In den Mikroschrittpositionen kann es zu Abweichungen kommen, z.B. durch die Rastmoment des Motors. Mit einer Fräse könnte man mittels Mikroschritt schon genauer arbeiten. Die Laufruhe wird auf alle Fälle besser, da Resonanzen nicht so stark angeregt werden. Man muss aber damit rechnen, dass die Motoren langsamer laufen als mit Voll-/modifizierten Halbschritt, da der rms Wert des Stromes, wenn man den gleichen Spitzenwert vorraussetzt, geringer wird.
MfG
Manu
Deppenfrage:
Kannst du nicht die "schwache" Pollin-Steuerung bzw die 297/298 Kombi benutzen um damit Power-Fets anzutakten?
paar dioden+widerstände und das sollte fertig sein. Nicht schön, Strommessung und sowas fehlt dann, aber....
Danke für die antworten ;P
Also so wie ich das sehe ist Microstep schön und gut aber im grunde braucht man es garnicht ;P. Außer man möchte sehr laufruhige Motoren haben aber das ist nicht so von nöten bzw wenn ich mal ganz viel zeit und ganz viel geld habe werde ich mich mal ran hocken ^^ danke für die leicht verständliche erklärung ;P.
Also die Ausgänge vom L298 zu benutzen stelle ich mir recht unpraktisch vor da diese ja so gesehn eine Wechselspannung erzeugen die dann wieder aufgeteilt werden muss damit die MF's nicht durch falschpolung kaputt gehen, bzw das du sie überhaupt ansteuern kannst.
2. Nachteil: man müsste ja p und n kanal MF's benutzen und nicht nur n-Kanal.
Den gedanken hatte ich auch aber hab ihn schnell verworfen ^^, aber gut das du es mal angesprochen hast ;P.
Treiber:
Ich habe mal im Datenblatt des IR2104 geschmökert und würde mal sagen das dieser eigentlich ganz gut geeignet wäre, wenn da nicht der C gerechte Preis wäre -_-.
Also weiter gesucht un einen Hi-Lo Driver IC gefunden:
http://www2.produktinfo.conrad.com/datenblaetter/150000-174999/164315-da-01-en-IR2010.pdf
Der kostet zwar ein paar Cent mehr aber kann 3A ausgangsstrom Oo.
Ich glaube der Unterschied zwischen Half-bridge und Hi/LO driver ist einfach das die beim Half,.. gegenseitig verriegelt sind und beim HI/LO eben nicht. Das würde ich mal aus dem Blockschaltbild schließen.
Wenn ich mich irre bitte korrigieren.
Reicht der IR2104? schließlich hat dieser nur 130-270mA ladestrom?
Was bedeutet eigentlich "to load" zwischen den MF'S ? Dort sollte ja dann die 1. Motorwicklung dran (wie bei einer ganz normalen H-Brücke ;P)
Mit welcher Frequenz arbeitet die PWM des L297 eigentlich ?
Im Datenblatt habe ich nichts dazu gefunden bzw einfach übersehn.
mfg
PWM Frequenz sollte im nicht hörbaren Bereich, also bei ca. 20kHz, liegen. Niediger gibt garantiert Pfeifgeräusche, höher führt zu größeren Schaltverlusten. Ev. muss man etwas damit spielen.
MfG
Manu
So das war der richtige xD
Moin,
Erstmal Frohes Fest und Guten rutsch! ;P
Lang hats gedauert aber ich hab doch Zeit gefunden an der Schrittkarte weiter zu bateln. Nach einer mehr oder weniger kurzen einarbeitszeit in Eagle 5 habe ich mal einen Schaltplan gezeichnet. Verzeit mir Schönheitsfehler im PLan immerhin ist es mein erster selbsterstellter in diesem Programm ;P.
Also ich hab mir folgendes gedacht:
Der Plan ist hauptsächlich aus diesem hier übernommen worden:
https://www.roboternetz.de/wissen/index.php/Bild:Schaltungstep298.gif
Meiner sieht nun so aus:
http://www.abload.de/img/schaltplanschrittmotorngp3.png
Also die 2. H Brücke sieht genau gleich aus deswegen habe ich diese auch nicht gezeichnet. Spannungsversorgung wie 5V und 12V werden über Spannungsregler bzw über das Netzteil realisiert. Die "Charge Pump" wird nur optional iengebaut deswegen ist diese auch noch nicht drin.
Aber nochmal zum plan selbst ;P
So gesehn ist es ja nichts anderes als die normale L297 & L298 Schaltung wo der L298 einfach durch Mosfets ersetzt wurde.
Der verwendete "Half Bridge Mosfet Driver" ist der IR2111S
Datenblatt:
http://www.datasheetcatalog.org/datasheet/irf/ir2111.pdf
Je H-Brücke werden also 2 verwendet.
Aber ein paar Fragen hätte ich noch
Frequenz ?
Die Frequenz die ja ausschlaggebend für die PWM und somit auch für die Lautstärke des Motors ist sollte ja ca 25kHz betragen. Aber wie bestimmte ich diese genau ? Laut Datenblatt macht das der eingang OSC woran laut RN-Wissen ein Kondensator kommt (C10 & R14) aber wie macht er das ? bzw wie rechne ich das ?.
OP's?
Den Teil mit den OpAmp habe ich mir vorher schon überlegt um die sehr geringe Spannung vom Shunt zu erhöhen. Somit bin ich auf diesen Thread gestoßen:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=367516#367516
Sehr intressant muss man sagen ;P. Aber für was ist der Tiefpass
am OpAmp der zum L6506 geht (C12 & R45) und vorallem reicht dieser aus ?
Sowie ich das verstanden habe ist es zum ausgleichen von Störungen im hohen Frequenzbereich also vom OPamp selbst.
Oder? ^^
PWM?
Der L297 macht ja seine Stromregelung über die INH1 & INH2 Leitungen.
Dummerweise habe ich ja garkeine Enable Leitung wie beim L298 also habe ich 2 NOR Bausteine eingesetzt die das Enable ersetzen sollen.
NOR weil durch den Transistor am eingang des IR2111S ist das eingang signal invertiert. Mir ist malwieder erst zuspät aufgefallen das der IR2111S garnicht TTL kompatibel ist, um das auszugleichen schalte ich einfach einen Transistor durch.
Ich stell mir das so vor das wenn Enable auf 1 springt die beiden unteren Mosfets angesteuert werden und somit die Spule kurzschließen.
Phase Chopping oder so ;P.
Zu denken macht mir nur der Vmax Wert am INH1 denn Vmax = 3,9V reicht das für TTL ? oder sollte ich gleich auf Dioden umsteigen und mir so ein NOr basteln?
Neija soweit sogut sollte mal ins Bett um 4 ist die nacht rum ;P
mfg
Besserwessi
22.12.2008, 00:33
Mit dem L297 wird man wohl noch extra Logic brauchen, wenns sonst von der Logic paßt sollte man den L6506 erwägen.
Für die Frequenz sollte da irgendwo im Datenblatt eine Formel drinstehen. Irgendsowas wie f = const. / (r*c). Beim L6506 ist der ungefähre Wert der Constante etwa 1/0.69 = 1.4. Für den Widerstand sollte es dann eine zulässigen Bereich geben. Man kann sich dann eine passende Kombination aussuchen. Den Groben Bereich macht der Kondensator, der Widerstand fürs feine.
Die Freuqenz braucht nur knapp über der Hörgrenze liegen, 25 kHz sind da schon eher hoch.
Der Tiefpass in dem anderen Thread ist eher zu niederohmig dimensioniert. Ob man den wirklich braucht hängt vom Layout und den Teilen ab, aber auf der Platine sollte man sowas vorsehen, um ganz schnelle Störungen ggf. unterdrücken zu können. Ob man den Kondensator dannauch wirklich bestückt hängt von Messungen ab.
Der OP07 ist auch keine gute Wahl, da wird man einen deulich schnellern OP brauchen (z.B. TLC272). Durch die kleinen Spannungen ist die Masseführung um den OP sehr wichtig.
Wenn man den L6506 nutzt ist da die Logic fürs PWM eigentlich schon drin. Man braucht nur die Ausgänge der L6506 and die Gate Treiber schicken. Je ein Ausgang einen IR2111, ggf. auch invertiert(müßte man nachsehen).
Die Ausgangspegel des L6506 werden aber nicht direkt für den IR2111 reichen.
HI,
Also mit der Frequenz hattest du recht hab den Wert total überlesen -_-
Der L297 funktioniert in dieser hinsicht genauso wie der L6506: "f = 1/0.69 RC" ;P. Danke soweit ^^.
OP:
Also der OP07 ist zu langsam ok aber ich benutze den LM358 zum Spannungsverstärken reicht dieser aus oder sollte ich doch den TLC272 verwenden ?
Logik:
Was meinst du mit extra logik ?. Laut Blockschaltbild des L6506 schaltet dieser die Leitungen OUt 1&2 sowie Out3&4 einfach aus wenn der Strom zu groß wird.
Bei einer Halbbrückensteuerun wie es der IR2111 ist kann dieser alle Mosfets garnicht abschalten da immer einer der beiden durchgeschalten ist. Oder sehe ich das falsch ?
Besserwessi
22.12.2008, 16:52
Zur PWM Steuerung kann man die eine Brückenseite ganz ausschalten oder halt umschalten. Beim umschalten braucht man etwas mehr Energie um den 2 ten Fet ein und Auszuschalten, dafür fließt der Strom dann über den FET statt über die Freilaufdioden und da kann man wieder etwas sparen. Es geht also auch mit den Halbbrückentreibern.
Der LM358 ist schon etwa schneller als der OP07, aber nicht viel. Wenn man die DIP Version nimmt, macht das erst mal auch noch nichts, denn praktisch alle 2-fach OPs sind Pinkompatibel. Man kann also später einfach den schnelleren OP reintun, wenn mans braucht. Der TLC272 ist schon noch einiges (etwa 2 mal) schneller, darf aber keine so hohe Versorgungsspannung haben. Ein Schwierigkeit mit der Wahl des OPs ist, dass man wohl einen brauchen wird, der am Eingang bis GND runter geht, damit man sich eine negative Versorgung sparen kann.
HI,
OK also ich werde die Schaltung einfach mal ausprobieren in der Hofnung das sie funktioniet ;P.
Den OP habe ich heutem ittag mal ausprobiert ob dieser auch wirklich die Spannung richtig verstärkt bzw auch bis 0V runter geht und siehe da es klappt einwandfrei ;P. Also mit der Spannung vom OP mache ich mir keine sorgen nur über die geschw. Aber wie du schon erwähnt hast kann man diesn ja ggf austauschen ^^, zur not wird dieser einfach an die 5V Spannung gehängt. Das ist der vorteil wenn man alles mit Lochraster macht ;P.
mfg
Besserwessi
23.12.2008, 00:25
der Lm358 und TLC272 sind schon so ausgesucht das man mit Spannungen um GND arbeiten kann. Die Auswahl an schnelleren ist nur eher gering. Am ehesten wüßte ich da ein paar Rail-Rail Typen, die dann aber nur für 5 V Versorgungs sind. Bis auf ganz kleine Ströme sollte der LM358 aber auch gehen. Der TLC272 sollte dann bis etwa zum halben Strom gehen, weil er doppelt so schnell abschalten kann.
Ich habe den LM358 sowieso nur gewählt weil dieser in der Schrittmotor Karte von Pollin verbaut ist und ich das Thema Stromregelung sehr intressant finde. Also warum das Rad neu erfinden ;P.
Unter einer Stromregelung verstehe ich das egal welche Spannung angelegt wird (min...max) und egal was für ein Lastwiderstand anliegt, immer der gleiche Strom fließt.
Der Witz ist, bei der Pollin Karte funktioniert das zwar auch aber nicht sooo schön wie erhofft. Wenn die Spannung erhöht wird macht das auch der Strom. Also man kann sagen eine sehr grobe Regelung.
Eine Stromregelung funktioniert immernoch am allereinfachsten mit Transistoren oder Leistungs OP's. Mit Mosfets braucht man mehr aufwand. Darum der L297 der schon alles kann ;P.
mfg und guten Rutsch ins neue Jahr ;P
Besserwessi
26.12.2008, 12:40
Eine grobe Stromregelung (passend für Schrittmotoren) geht auch mit MOSFETs ganz einfach, denn da stellt die Gate Spannung den Strom ein. Allerdings ist das die Version mit heißem MOSFETs. Normal nimmt man PWM und das macht dann der L297 (oder L6506), wobei dann egal ist ob ein L293,L298,L6503 oder einzeln Transistoren oder Mosfets dahinter sind.
Die Frage die sich noch stell ist, ob man einen festen Strom oder einen Variablen für Mikroschritte braucht.
Für die noch relativ einfache PWM Stromregelung ala 297 wird sonst ein Komparator, ein FlipFlop und ein Frequenzgenerator benötigt. Komparator vergleicht Referenzspannung und Messspannung und setzt bei Übereinstimmung das FlipFlop. Mit dem Setzten des FlipFlops wird die Endstufe abgeschaltet. Das Einschalten erfolgt über den nächsten Impuls des Frequenzgenerators. Dann fängt das Spiel von vorne an. Ist prinzipell noch eine relativ einfache Regelung.
Mit dem L6506 ist auch Mikroschritt möglich, da hier die Referenzspannungen der einzelnen Phasen getrennt einstellbar sind. Dafür ist der L6506 nur Stromregler ohne Schrittdekoder. Die entsprechende Ansteuerung der Brücken bräuchte man dann noch zusätzlich.
MfG
Manu
HI, der sinn der sache ist ja eine Schrittmotorsteuerung ala L297 / L298 "nachzubauen" die einfach wesentlich mehr Strom kann als 2A. Microschritt ist nicht benötigt. Also soweit ich das vertsanden habe müsste das ja soweit funktionieren.
Erste Tests mit einer H-Brücke einer Spule und einem Microcontroller der einfach nur eine PWM rausgiebt, haben die Mosfet Treiber wunderbar bestanden ;P (3A dauerhaft) .
Also die Treiber funktionieren einwandfrei.
Tests mit dem L297 habe ich bis jetzt noch nicht gemacht da mir einfach die Zeit fehlte ;P Weihnachten halt ^^
Aber wie schon erwähnt wurde müsste das ja funktionieren. ;P
Werd das ganze mal in den nächsten Tagen ausprobieren.
mfg
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.