Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 Basic Fragen: Schrittmotor, Netzteil, TTL
Hallo liebe Roboternetz-Gemeinde,
dies ist mein erster Post hier. Es geht um ein Projekt, bei dem ich eine Schrittmotorsteurung bauen soll.
Mein Mentor meinte, ich solle mich in Netzteile und TTL's einarbeiten (die Ansteurung erfolgt vmtl. über nen ArduinoBoard oder Labview).
Zum Netzteil:
Ich versteh glaube ich garnicht so recht wofür das Netzteil sein soll. Brauche ich das, weil das Signal vom mc beispielsweise zu schwach ist um den Motor alleine zu betreiben? Ich soll ein basic-Netzteil selber löten, zum üben. Was aber ist so ein einfaches Netzteil? Ich habe unzaehlige Schaltpläne in beliebiger Komplexität dazu gefunden. Habt ihr da einen Tipp?
Zu TTL:
Nachdem ich mir 1-2 Bücher angesehen habe (und immernoch nich so wirklich anschaulich verstanden habe wie ein Transistor funktioniert) , denke ich verstanden zu haben, dass damit die Grundlogik-Schaltungen realisieren kann. Meine Frage: kann sich jemand von euch vorstellen, wozu man TTL Schaltungen bei ner einfachen Schrittmotoransteuerung benötigt?
Vielen Dank für eure Hilfe.
Beste Grüße, jay
Die Stromregelung eines Schrittmotors funktioniert ähnlich der eines Schaltnetzteils (Chopper-Regelung) Grundlagen gibt es hier (http://www.obonic.de/schrittmotor-ansteuerung-schrittmotortreiber/).
Ich vermute er will darauf hinaus, dass du die Regelung erst ein mal verstehst, bevor du dich an einen Schrittmotor wagst.
Die TTL Logik-gatter finden zum einen in der Stromregelung (RS-FlipFlop) als auch zur Kontroller der H-Brücke (AND und OR) zum verhindern eines Kurzschlusses und als Enable Einsatz. Letzteres ist aber meist schon in entsprechenden Brückentreibern wie zB. dem L298 oder vielen Mosfet-Treibern enthalten. Für die Stromregelung solltest du auf TTL zurückgreifen, da es a) wesentlich schneller reagieren kann als ein µC und b) dir keine Software dabei abschmieren kann und der Motor dadurch kaputt geht.
Hoffe das hilft dir weiter.
nikolaus10
26.11.2013, 13:26
Hallo
Mit TTL ist wahrscheinlich der Logikpegel gemeint.
In deinem Projekt ist alles andere Schnee von gestern.
Also konzentriere dich bei TTL nur auf die Pegel.
Bei deinem Kenntnisstand wuerde ich dir ausserdem raten konzentriere dich auf herkoemliche lineare Netzteile.
KR
Außerdem würde ich TTL als etwas...veraltet bezeichnen. Wenn du schon direkt selber logische Schaltfunktionen aufbauen willst, nimm lieber fertige ICs mit der Schaltfunktion. Diese implementieren Schaltfunktion meist in CMOS oder Bi-CMOS Technik. (Sofern dir nicht vorgeschrieben wird, das ganze selber mit Transistoren diskret aufzubauen)
Was genau ist dir denn eigentlich an der Funktionsweise eines Transistors nicht klar ?
Danke nikolaus und robin. Schonmal ein paar Anhaltspunkte, sehr schön.
@shedepe: Ja das weiss ich selber nich so genau. Also wenn ich nen Transistor in einem Schaltplan sehe, habe ich eigentlich überhaupt keine Ahnung was er da tut.
Vorallem gibt es ja soweit ich weiss, Basis, Emitter und Collector Schaltungen. In Emitterschaltung habe ich denke ich das Kennlinienfeld kapiert und auch wie er als einfacher Verstärker bzw logischer Schalter funktioniert,,, aber das wars schon. Habt ihr die immer alles im Kopf?
Hey, schau dir mal die folgende Übersicht an, stammt vom Elektronikkompendium
http://www.elektronik-kompendium.de/sites/slt/0205081.htm
Schaltung
Emitterschaltung
Basisschaltung
Kollektorschaltung
Eingangswiderstand re
100 Ω ... 10 kΩ
10 Ω ... 100 Ω
10 kΩ ... 100 kΩ
Ausganswiderstand ra
1 kΩ ... 10 kΩ
10 kΩ ... 100 kΩ
10 Ω ... 100 Ω
Spannungsverstärkung Vu
20 ... 100 fach
100 ... 1000 fach
<=1
Gleichstromverstärkung B
10 ... 50 fach
<=1
10 ... 4000 fach
Phasendrehung
180°
0°
0°
Temperaturabhängigkeit
groß
klein
klein
Leistungsverstärkung Vp
sehr groß
mittel
klein
Grenzfrequenz fg
niedrig
hoch
niedrig
Anwendungen
NF- und HF-Verstärker,
Leistungsverstärker,
Schalter
HF-Verstärker
Anpassungsstufen,
Impedanzwandler
Allgemein kann man beim bipolar Transistor sagen, dass man den Strom in der Kollektor Emiter Strecke durch den Strom der in die Basis fließt steuern kann. Also Ic = B * Ib , sofern dieser im Verstärkungsbereich betrieben wird.
In Logikschaltungen wird der Transistor jedoch oftmals auch im Sättigungsbereich bzw. Sperrbereich ohne Ausnutzen der Verstärkenden Eigenschaften, als elektronischer Schalter betrieben. Darf ich fragen welche Bücher du bereits gelesen hast, da die Funktionsweise eines Transistors eigentlich etwas recht grundlegendes ist, was man in vielen Büchern finden können sollte ?
Also ich habe mir etwas zurechtgelegt und würde gerne euer feed-back dazu hören.
Der Motor soll folgender sein: http://docs-europe.electrocomponents.com/webdocs/07e2/0900766b807e28a1.pdf.
Ich würde ihn gerne über ne l297/8 Kombination ansteuern. Allerdings habe ich öfter gelesen, dass die IC's nur bis 2A gehen.
Liege ich da falsch, wenn ich denke dass der Motor mit 2.8A rated current trotzdem gut damit funktionieren kann, weil ich ja :
(a) die strombegrenzung einstellen kann
(b) ne höhere Spannung als die rated voltage von 3.2V nehme
(c) (wie groß sollte die denn sein, so groß wie möglich oder? hängt das damit zusammen wie schnell ich die PWM pulse gebe, wegen zeitkonstante induktivität usw?)
a) ja, das wird klappen, du bekommst aber ein geringeres Drehmoment des Motors, da das Drehmoment direkt vom Strom abhängt
b) eine höhere Spannung macht dem Motor nichts, da du ja den Strom begrenzt. Die 3.2V gelte n nur, wenn du keine Stromregelung benutzt, da sich der Strom dann über den Widerstand der spule einstellt.
c) Eine höhere Spannung bewirkt einen schnelleren Stromanstieg in der Spule. Dadurch bekommst du bei größeren Drehzahlen mehr Kraft, je mehr, desto besser. Hier begrenzt eigentlich nur der L298 (der kann wenn ich mich rech erinnere) bis zu 30V, solltest du im Datenblatt nachlesen ;)
Ich würde halt auf eine verbreitete Spannung zurück greifen, zB. 12 oder 24V, da findet man günstigere Netzteile
PS: ich würde bei dem Motor wohl auf zwei L6203 anstelle des l298 setzen. Die können bis zu 4A treiben und bleiben dank Mosfets kühler als der L298. Der Schaltplan in Kombination mit dem L297 ist sogar im Datenblatt zu finden ;)
Deinem Rat Robin, mit L6203+l298 bin ich gefolgt :-)
Ich habe das Setup wie du gesagt hast,nach Datenblatt, nach meinem Gutdünken auf einem Steckbrett aufgebaut. Leider habe ich versehentlich den L6202 bestellt und übersehen, dass der DIP weniger Ampere kann als der Multiwatt, aber naja erstmal egal.
Ich bin mir unsicher, wie ich die Schaltung nun testen kann (der Motor ist noch nicht da). Kann ich nen Oszi an die Ausänge vom L6202 hängen? Und den Strom, kann ich den mit nem Multimeter auch am Ausgang messen , warscheinlich nicht oder? Eher besser an den Sense-Resistors oder?
Obwohl der Eingangswiderstand vom MM/Oszi so hoch ist, dass wenn ich die Schaltung mit 30-40v betreibe der Strom so klein ist, dass es egal ist wo ich messe oder?
Noch etwas, der L6202 hat 6 Gnd Pins. Kann reicht das einen mit GND zu verbinden und den Rest unbelegt zu lassen?
Zum Testen einer Schrittmotorsteuerung sollte man immer eine Spule verwenden, da das verhalten einer Spule, dass sich der Strom langsam aufbaut, zur Stromregelung genutzt wird.
Willst du nur testen, ob sich die Schaltzustände richtig ändern, würde auch zwei antiparallele LEDs pro Phase reichen, mit entsprechend großem Vorwiderstand. Dann wird aber nicht die Stromabschaltung mit getestet.
Zum GND: Ich weiß nicht, ob alle Pins intern mit einander verschalten sind oder nicht, da aber der Spulenstrom über die GND-Pins abfließt, würde ich alle verbinden. Eine gute Verbindung an GND ist nie verkehrt. Die Pins werden uU. sogar zur Kühlung des ICs verwendet.
PS: Du meinst doch L6203+l297 ;)
Klar, l297 :)
Danke, das mit den LED's hat super geklappt !
Nun ist der Motor da, und wie kann ich denn die Stromabschaltung Testen. Mein vorgehen wäre gewesen, ein Spulenende ans Multimeter zu packen und dann am Vref beim l297 mit nem Poti rumspielen und mal schauen ob ich damit verschiedene Imax-Werte regeln kann?
Du kannst auch mit einem Oszi die Spannung an deinem Messwiderstand messen. Der Strom fließt hier allerdings nicht dauerhaft (siehe Link unten)
Oder einen Sense Widerstand in Reihe zu einer der Spulen hängen, bzw. mit dem MM eine Strommessung in reihe zur Spule machen.
Vllt ist das interessant für dich:
http://www.obonic.de/schrittmotor-ansteuerung-schrittmotortreiber/
Habe den link gelesen.
1: Habe ich das richtig verstanden, dass der Chopper die Spannung immer so ausstellt, dass der Strom runter und wieder auf Sollwert und wieder runter usw, geht, in einer "Wellenform" die so aussieht wie die Auf- bzw Entladekurve der Spule
2: Das ganze passiert mit der Chopperfrequenz, die deutlich größer als die Umpolungsfrequenz, also Schritt-Takt-Trequenz des Motors, sein sollte?
3: Da der Strom eben nicht die ganze Zeit anliegt,,, macht es überhaupt sinn im DC mode des MM zu messen bei so kurzen anzeiten?
4: Verständnis: Auf Grund des Widerstands der Spule, sollte sich bei nomineller Spannung (bei mir U=2.5 Rcoil=0.9) nach Ohm, doch auch immer der nominelle Strom von 2.8A einstellen und ich könnte auf eine Stromregelung verzichten. (Aber wegen der Leistung bei hohen Drehzahlen sollte man U größer wählen )
5: Also der Motor läuft eher schlecht als recht. Richtung, half-stepp, usw funktionieren. Aber... Habe den Strom am Netzteil bei 24V zB auf 1.5Amax zum testen gestellt.
Wenn ich das Poti an Vref auf 0 drehe. passiert nichts. Soweit ganz gut. Wenn ich dann aber das Poti aufdrehe und versuche Schrittweise auf 1.5A zu Regeln,,, dann quietscht er wie sau.
Bis halt die Strombegrenzug des Netzteils angeht und die Spannung auf 6-7V fällt..
6: Ich habe mal Rsense 1Ohm genommen. Irgendwie bekomm ich für einen von den l6203 da nen Kurzschluss...
Habe den link gelesen.
1: Habe ich das richtig verstanden, dass der Chopper die Spannung immer so ausstellt, dass der Strom runter und wieder auf Sollwert und wieder runter usw, geht, in einer "Wellenform" die so aussieht wie die Auf- bzw Entladekurve der Spule
2: Das ganze passiert mit der Chopperfrequenz, die deutlich größer als die Umpolungsfrequenz, also Schritt-Takt-Trequenz des Motors, sein sollte?
3: Da der Strom eben nicht die ganze Zeit anliegt,,, macht es überhaupt sinn im DC mode des MM zu messen bei so kurzen anzeiten?
4: Verständnis: Auf Grund des Widerstands der Spule, sollte sich bei nomineller Spannung (bei mir U=2.5 Rcoil=0.9) nach Ohm, doch auch immer der nominelle Strom von 2.8A einstellen und ich könnte auf eine Stromregelung verzichten. (Aber wegen der Leistung bei hohen Drehzahlen sollte man U größer wählen )
5: Also der Motor läuft eher schlecht als recht. Richtung, half-stepp, usw funktionieren. Aber... Habe den Strom am Netzteil bei 24V zB auf 1.5Amax zum testen gestellt.
Wenn ich das Poti an Vref auf 0 drehe. passiert nichts. Soweit ganz gut. Wenn ich dann aber das Poti aufdrehe und versuche Schrittweise auf 1.5A zu Regeln,,, dann quietscht er wie sau.
Bis halt die Strombegrenzug des Netzteils angeht und die Spannung auf 6-7V fällt..
zu 1. Ja
zu 2. Ja
zu 3. richtig, es macht keinen Sinn, mit einem Multimeter zu messen, weder im DC-Modus da es nicht DC ist, noch im AC-Modus da es kein Sinus ist und die Frequenz weit von 50 Hz entfernt liegt.
zu 4. Mal unabhängig von Effekten durch das Drehen des Motors: der Strom braucht wegen der Induktivität eine gewisse Zeit, bis der Nennwert erreicht wird. Wenn ich aber den Strom dauernd umschalte, und das ist der Sinn bei einem solchen Motor, erreicht er den Nennwert erst spät oder garnicht. Und da der Strom das Magnetfeld und damit die Kraft bzw. das Drehmoment erzeugt, ist er so angesteuert schwach.
MfG Klebwax
Zu 3. DC kannst du messen, aber wie du erkannt hast nicht am Rsense. Hierfür müsstest du in reihe zu einer der Motorspulen messen, hier fließt der Strom dauerhaft. Hier hast du dann die "Wellenform" (lade/entlade kurven) die durch die DC Messung gemittelt werden sollte.
zu 5. Wenn der Motor Quietscht, liegt das an einer zu kleinen Chopperfrequenz (<20kHz) die wir höhren können. Das kommt von Schwingungen des Motors und ist immer da. Du kannst es aber mit einer höheren Chopperfrequenz in den für menschen nicht wahrnehmbaren Bereich bringen.
Zu 6. versteh ich nicht, sollte nicht vorkommen, ... poste mal deinen Schaltplan/Aufbau
Herzlichen Dank Klebwachs.
Also robin, aber auch nur wenn der Motor im Haltemodus ist, liegt in Serie der Strom an, während des Steppens wechselt er oder?
Ich glaube ich habe doch nicht verstanden was an Rsens für ein Strom fließt. Im Datenblatt gibt es Formeln wie mann Vref mit Poti und Rsens einstellt. Da steht angegeben Vref=Iload*Rsense. .
Also den Schaltplan posten dauert noch 1 Tag, arbteite mich gerade in Eagle ein. Aber ich habe mich, deinem Hinweis folgend, an den Aufbau aus der Datenblatt zu l297+L6203 gehalten.
Rsense 1Ohm, und an Vref nen Poti, sonst alles wie Quantitaiv im Datenblatt. Ausser das Stubber-RC-Network, parallel zur Spule, kann ich gerade nicht nachsehen welche RC werte.
Sonst hattte ich inhibit chopping und den reset auf +5v, home+sync unbelegt.
Mit dem Quietschen war es so: Netzspannung 24v, Imax ~1.5 (also Netzteil Stromregelung)(ich hatte immernoch die l2602 statt 3er drin).
Ich wollte dann mit dem Poti Vref langsam öffnen und mich in Schritten auf die 1.5A hochregeln. Je höher ich geregelt habe um so höher das Quietschen im Ton. Bei ca. 1A hat dann Schlagartig der Strom auf 1.5 zugenommen, Netzspannung fiel auf irgrendwas bei 6-8 Volt und das quietschen war weg. Nachdem ich das dann 3-4 erlebt hatte war ein l6202 kaputt (habe ich durch austauschen mit test LEDs rausbekommen).
Während des Quietschens hat aber alles sonst funktioniert. Vor, zurück, half usw..... deswewgen,,, die Spulen kann man doch nich falschherum anschließen, solange man nich 2 Strippen von verschiedenen Spulen erwischt oder?
Das Quietschen kommt wie gesagt von einer zu geringen Chopperfrequenz. Die Frequenz wird durch den R und das C unten Links in dem Schaltplan (OSC-Pin des L297) eingestellt. Sollte über 20kHz liegen, damit Menschen es nicht hören. Die Formel dazu steht im Datenblatt des L297.
Das er bei 1A den geist aufgibt, könnte daran liegen, dass du durch die Halbschritte die hälfte der Zeit beide Spulen mit 1A versorgst. Die 1A sind ja nicht der Motor-, sondern der Spulenstrom. Das heißt, dein Netzteil muss bei einer Rotation 50% der Zeit 1A und 50% der Zeit 2A liefern, macht im Mittel 1,5A, also der Maximalstrom des NT. Bleibt der Motor bei 1A in einem Halbschritt stehen, müsste der selbe Effekt eintreten, wären dann ja 2A Verbrauch.
Also entweder Halfstep abschalten oder aktuell mit max. 0,75A fahren.
Kaputt gegangen ist der L6202 dann vermutlich an der zu geringen Versorgungsspannung. (Er braucht laut Datasheet min. 12V) Ich gehe davon aus, dass die MosFets dann nicht mehr richtig geschalten haben und sich durch den zu großen Innenwiderstand dann Aufgeheizt haben, bis zum Exitus. Wie gesagt nur eine Vermutung, wird man wohl nie Feststellen können.
Das Netzteil ist halt etwas zu klein für den Motor, ... Zum Motor Testen und sich in das Thema einarbeiten ist es ausreichend, wenn du den Motor halt ausreizen willst, müsste was größeres her.
PS: klar bleibt der Strom nur (relativ) Konstant, wenn der Motor auch in einem Schritt verharrt, bewegt er sich springt der Strom immer zwischen -1A, 0A und 1A
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.