Hallo, erstmal ein gesundens neues Jahr 2009...
Ich hab auch gleich mal nen kleines Problem.
Ich wollt gerne einen bipolaren Schrittmotor M42SP-6NK mit einen
Motortreiber L293D betreiben. Der Motor sollte die Möglichkeit von
Rechts/Linkslauf haben. Der Schrittmotor benötigt 12V die hab ich am
Treiber auf Pin 8 u. 16 gelegt. Die Logikansteuerung sollte über einen
Gal erfolgen, die Logikeingänge habe ich mit 5V auf Pin 15,10,2,7
gelegt.
Da der Motor relativ langsam laufen soll habe ich die Enabeleingäne Pin
1 u.9 gebrückt und mit einen NE555 verbunden der mir 5V Rechtecksignal
liefert. (suche noch nach einer anderen Möglichkeit, den Motor langsamer
zu machen)
Aber so gehts nicht, der Treiber ist total heiß und bringt über all nur
12V. Ich glaub den hab ich geschafft. Ich bin aber total ratlos was ich
falsch gemacht habe. Ich hab auch keine richtige Wahrheitstabelle, das
wollt ich mit versuchen rausbekommen...
Hat jemand ne Idee?
Wenn der Motor nicht zuviel Strom sieht, ist es im groben OK.
Du solltest nur die Logikspannung (Pin16) an 5V legen, wenn du die
Logikeingänge mit 5V betreibst.
Ein paar Kondensatoren an den Vcc Anschlüssen schaden aber auch nicht.
Hey Benedikt, danke für deine schnelle Antwort.
Die 5V meineste die als Rechtecksignal oder Dauer 5V?
Was meinsten wenn das Ding kochend heiß war und über all nur noch 12V
bringt ob das Ding im Eimer ist? kann man das prüfen?
Beginner wrote:
> Die 5V meineste die als Rechtecksignal oder Dauer 5V?
Dauer, denn Pin16 ist die Betriebsspannung für die Logikfunktionen vom
L293.
> Was meinsten wenn das Ding kochend heiß war und über all nur noch 12V> bringt ob das Ding im Eimer ist? kann man das prüfen?
Leg mal die 4 Eingänge a-d an GND. wenn dann immer noch 12V rauskommen
und die der Aufbau der Schaltung entspricht -> L293 kaputt
Dankeschön, ich überprüfe das gleich mal. Die Kondensatoren an Vcc1 und
Vcc2 von den du gesprochen hast, für was sind die gut und wie groß
sollten die sein? Gibt es noch eine Möglichkeit, außer ne NE555um den
Stepper langsamer laufen zu lassen?
> Gibt es noch eine Möglichkeit, außer ne NE555um den> Stepper langsamer laufen zu lassen?
Was willst du mit diesem Satz eigentlich sagen? Der Schrittmotor macht
jedesmal dann genau EINEN Schritt, wenn am Takteingang EIN Impuls
eingeht. Wie du den Takt erzeugst, liegt doch ganz allein bei dir. Du
kannst auch mit einem entprellten Taster den Motor per Hand schrittweise
drehen lassen, wenn es denn sein soll mit einer Umdrehung pro Tag oder
was auch immer.
Irgendwas verstehe ich falsch, die Logik also PIN 2,7,15,10 kommt von
nen GAL. Da der GAL die Logik relativ schnell schaltet dachte ich, ich
kann mit den Enableeingängen die Taktgeschwindikeit vorgeben. Meinst du
mit Takteingängen die Enableeingänge? Wie kann ich eigendlich die
Frequenz die an Enable notwendig ist berechnen wenn z.B. der Motor
50Umdrehung je Minute machen soll?
> die Logik also PIN 2,7,15,10 kommt von nen GAL
Ja eben, dieser GAL sollte doch zumindest zwei Steuereingänge haben,
einen für Takt und einen für die Drehrichtung. Die Enable-Eingänge am
L293 dienen nur zum Ein- oder Ausschalten bzw. zum Regeln des
Spulenstroms per PWM und nicht für die Motorsteuerung. Drehrichtung und
-Geschwindigkeit hängen bloss von den Logikeingängen ab, die von deinem
GAL gesteuert werden.
> Da der GAL die Logik relativ schnell schaltet
Wie darf man das jetzt verstehen? Schaltet der GAL die Logikeingänge des
L293 pausenlos weiter und du willst mit den Enable-Eingängen die
Geschwindigkeit steuern?
Wenn du mit einem Auto fährst, lässt du dann den Motor dauernd auf
Vollgas laufen und steuerst die Geschwindigkeit nur mit der Kupplung und
der Bremse, oder wie?
Sinusgeek wrote:
> Ist es nicht so, dass man mit den 4 Eingängen die Schrittfolge (also die> Drehzahl) steuert und mit den Enable-Eingängen die Bestromung pulst?
Im Vollschrittmodus: Ja
Im Halbschrittmodus benötigt man auch die Enable Eingänge für die
Schrittfolge.
>Im Halbschrittmodus benötigt man auch die Enable Eingänge für die>Schrittfolge.
Nö. Im Halbschrittbetrieb "überschneiden" sich die Muster des
Vollschrittbetriebes. Die Enable-Eingänge braucht man nur, wenn man
einen DC-Motor per PWM betreiben will und nur dessen Drehzahl regelt.
STK500-Besitzer wrote:
>>Im Halbschrittmodus benötigt man auch die Enable Eingänge für die>>Schrittfolge.>> Nö. Im Halbschrittbetrieb "überschneiden" sich die Muster des> Vollschrittbetriebes.
Es gibt im Halbschrittbetrieb auch Zustände an denen keine Spannung an
den Windungen anliegt. Das wird über die Enable Eingänge gemacht, schau
z.B. mal ins L297 Datenblatt unter MOTOR DRIVING PHASE SEQUENCES, da
sieht man das schön, dass beim Wave drive und beim Half step drive INH\
geschaltet wird. Klar, man kann auch beide Anschlüsse auf das selbe
Potential schalten, was die Wicklung kurzschließt, aber spätestens bei
höheren Drehzahlen wird das nichtmehr gehen, da sich dann das Magnetfeld
nicht ausreichend schnell abbauen kann.
>Es gibt im Halbschrittbetrieb auch Zustände an denen keine Spannung an>den Windungen anliegt.
Den Sinn dahinter muß ich nicht verstehen, oder?
In dem Moment, wo keine Spannung an den Windungen anliegt, fließt auch
keine Strom. Wenn kein Strom fließt gibt es kein Drehmoment. Das würde
dazu führen, dass man den Motor durch eine äussere Kraft verstellen
kann.
Wenn man sich die rafik zum HALF STEP MODE anguckt, stellt man fest,
dass die INH-Eingänge zwischen zwei Eingangs-Zuständen auf Low gezogen
werden. Da würde ich vermuten, dass es sich dabei um eine
"Schutzmaßnahme" für den L297 handelt.
Ich habe inzwischen genug Schrittmotoren betrieben, um mir sicher zu
sein, dass die IHN-Eingänge dafür nicht nötig sind.
Hi
Dein Motor hat einen Strangwiderstand von 5 Ohm. Das macht theoretisch
einen Maximalstrom von 2,4 A bei 12V. Für den Motor ist ein Strangstrom
von 400mA angegeben. Die Betriebsparameter sind eigentlich nur im
Chopperbetrieb sinnvoll zu erreichen. Persönlich wundert es mich
eigentlich nicht, das dein Treiber heiss wird.
MfG Spess
> Widerstand rein - Spannung runter
Dann fehlt aber bei höherer Drehzahl die Kraft, äähhh das Drehmoment. Es
bleibt nur Chopperbetrieb über die Freigabeeingänge. Also abschalten,
kurz bevor die Spule in die magnetische Sättigung geht, dann wieder
einschalten, kurz bevor der durch Selbstinduktion verursachte Strom
abreist.
~
Der Motor soll im Vollschrittmodus laufen und es ist auch kein hoher
Drehmoment notwendig, der Motor soll 7 Umdrehung machen und dann wird er
über einen Endschalter abgeschalten. Aber er soll für die 7 Umdrehung
ca. 7sek. benötigen. Wird die Geschwindigkeit nicht über die Enable
Eingänge vorgegeben, wo ich ein Rechtecksignal mit ca. 1Hz anlege, die
ich mit einen SE555 erzeugen wollte. Die Logikeingänge geben mir ja nur
die Schrittfolge vor, dies hat ja nichts mit der Drehzahl zu tun. Da der
Motor kein hohe Leistung abgibt, dürfte der Treiber eigendlich sich auch
nicht erhitzen. Für die 2. notwndigen Kondensatoren habe ich an 30pF
gedacht.
> Die Logikeingänge geben mir ja nur> die Schrittfolge vor, dies hat ja nichts mit der Drehzahl zu tun.
Diesen Satz solltest Du noch mal gründlich überdenken.
Die Drehzahl ergibt sich ja aus dem Tempo der Schrittfolge. Also
steuerst Du die Drehzahl primär durch die Verzögerung bei der
Schrittfolge.
Bei schneller Schrittfolge (hoher Drehzahl) wird der Strom durch die
Induktivität der Motorspulen begrenzt, ehe der Kern in die Sättigung
geht, ist bereits der nächste Schritt aktiv.
Bei langsamer Drehzahl wird aber der Strom nur noch durch den Ohmschen
Widerstand der Spule begrenzt, das heizt Motor und Treiber-IC durch
Überlastung auf.
Du hast nun die Wahl: Entweder die Motorspannung so weit reduzieren,
dass der Nennstrom (0,6A beim L293D) auch bei langsamer Drehzahl
eingehalten wird, oder durch Pulsen der Freigabe-Eingänge dafür sorgen,
dass der Strom durch die induktive Komponente des Motors begrenzt wird.
~
Ich habe nochmal drüber nachgedacht, du hast Recht die Motorendrehzahl
wird nur durch die Geschwindigkeit der Logikeingänge (PIN 2,7,3,10)
bestimmt. Das bedeutet aber wenn der Motor nur jede Sekunde eine
Umdrehung machen soll und der GAl der die Logik vorgibt bedeutend
schneller schaltet das das garnicht funktioniert. Oder liege ich da
jetzt falsch?
> wenn der Motor nur jede Sekunde eine Umdrehung machen soll
Dann musst Du erstmal wissen, wieviele Polpaare Dein Motor hat, also
wieviele Schritt-Zyklen Du für eine Umdrehung brauchst. Denn es gibt da
unterschiedliche Bauformen von Schrittmotoren.
> und der GAl der die Logik vorgibt bedeutend schneller schaltet
Dann must Du die Logik eben bremsen, also den GAL langsamer takten. Ich
kenne nun das Programm in Deinem GAL nicht, aber ich kann mir nicht
vorstellen, dass da jemand eine feste Drehzahl (Schrittfolgefrequenz)
vorgegeben hat.
> das das garnicht funktioniert.
Nee, sooooo funktioniert das nicht.
~