Hallo,
bisher haben mir die L293D ICs noch nie Probleme bereitet - aber bei
meiner neusten Schaltung war der Wurm drinnen; 3 Treiber sind mir
geplatzt.
Ich gehe mittlerweile davon aus, dass mein Fehler vielleicht sein
könnte, das ich bei dem Besagten Treiber eine Eingangsseite (EN, beide
Eingänge, beide Ausgänge) komplett unangeschlossen gelassen habe
(Hochohmig -> Logisch 1 -> Kurzschluss des Ausgangs, aaber: dieser ist
ja unbelegt, also dürfte auch kein Strom geflossen sein).
Jedenfalls will ich jetzt auch den zweiten L293 komplett mit diesem
ATmega48 ansprechen, als an PB3, welche leider sowohl MOSI als auch OC2A
ist.
Beim Programmieren wird ja erstmal Reset auf low gezogen. Dies hat zur
folge, dass alle Pins auf Eingang geschalten werden -> alle
Motoreingangpins sind hochohmig -> Logisch 1 (ist das denn eigentlich
nicht schlecht oder kann man das so lassen?).
Nun der Sonderfall: derjenige EN der auf OC2A liegt flackert munter
zwischen High und Low. Die Eingänge des L293D sind alle Hochohmig, also
haben den gleichen ("high") Pegel und dürften somit nichts zerstören,
oder?
Ich frage deshalb so ausführlich, weil bevor der Letzte L293D sein
zeitliches gesegnet hat, ich direkt am Sockel ohne IC mit dem Multimeter
gemessen habe, und imho alles gut und erwartungsgemäß war.
So, das war meine erste Frage - hier nochmal in kurz:
- Ist es schlimm, alle Eingänge auf High zu haben (sei es durch
angelegten Pegel, oder durch die Eigenschaft der TTL Logik wenn
Hochohmig)?
- Muss ich am besten Pulldown Widerstände an meine L293d-Pins setzen
(und wenn ja, einfach nur EN, weil dann ja nichts passiert (aber könnte
ISP stören) oder einfach beide Eingänge?)
Ausserdem hätte ich noch eine andere Frage zur Ansteuerung:
Sei Enable "e", die beiden Ausgänge "a" und "b".
Zustand sei e=1, a=1, b=0 -> vorwärts drehend:
1
e=0, a=0, b=0 -> bremsen für ein paar microsekunden
2
e=0, a=0, b=1 -> erst Richtung setzen und ein paar microsekunden warten
3
e=1, a=0, b=1 -> und rückwärts
richtig, oder auch
1
e=0, a=0, b=0 -> bremsen (so lange bei 12Mhz, wie die Portoperationen halt brauchen)
2
e=1, a=0, b=1 -> und rückwärts
ausreichend?
Zusammengefasst:
- Wie ist die "sicherste" Ansteuerungsabfolge für den Treiber?
- Ist es wichtig, dass EN auf Low ist wenn die Eingänge umgeschalten
werden?
Grüße Uli
Das der Treiber platzt ist schon komisch. Wiviel Strom zieht den dein
Motor?
Hast Du auch darauf geachtet den Treiber ausreichend zu kühlen?
ABSOLUTE MAXIMUM RATINGS beachtet laut Datenblatt?
Das Umschalten mit oder ohne EN auf Low würd ich sagen macht keine
Probleme aber ich lass mich gerne beleren.
Hallo,
das sind 3 simple RB35 Motoren von Conrad bei 13V. Wieviel Strom diese
gezogen haben weiß ich nicht, aber der Gesamtstrom der
Spannungsversorgung war nie über 500mA (wobei ich besonders starke Peaks
natürlich nicht mit einem Multimeter einwandfrei erkennen kann) und der
Treiber auf Sockel2, welcher 2 mal geplatzt ist war hat nur einen Motor
dran und das letzte mal passierte direkt nach dem einschalten der
Stromversorgung...
Gekühlt wird er über die Massefläche, welche aus Lötzinn besteht, und
sich über ca 2*10 Lochrasterpunkte erstreckt.
Grüße Uli
Mir kommt das eher so vor als ob Du auf einen oder mehreren Einganspin
bissel viel Dampf drauf hast.
Überprüf mal deine Platine auf Lötpatzer vor allem in den
zwischenräumen. Am besten ohne IC alle Leiterbahnen mit Durchgansprüfer
prüfen ob da nicht irgendwo sich ne Lötbrücke gebildet hat.
Wenn der IC schon nach dem Einschalten hoch geht, ist auf jedenfall was
Oberfaul.
Hast den IC auch richtig herum auf die Platine gelötet ( Anschluss + / -
) beachtet?
> Mir kommt das eher so vor als ob Du auf einen oder mehreren Einganspin> bissel viel Dampf drauf hast.
das habe ich auch einmal in Erwähnung gezogen, da hatte ich dann die
idee, Widerstände zum Strombegrenzen reinzumachen, aber da mein ATmega
eh auf 3,3V läuft und ich nicht weiß wie gut der L293d dann mit den
Pegeln klar kommen würde hab ichs nicht weiters verfolgt.
> Überprüf mal deine Platine auf Lötpatzer vor allem in den> zwischenräumen. Am besten ohne IC alle Leiterbahnen mit Durchgansprüfer> prüfen ob da nicht irgendwo sich ne Lötbrücke gebildet hat.
Hab ich schon alles gemacht, keinerlei Durchgang, wo es keinen geben
sollte (gemessen ohne L293D IC, direkt an den Sockeln)
> Wenn der IC schon nach dem Einschalten hoch geht, ist auf jedenfall was
Oberfaul.
> Hast den IC auch richtig herum auf die Platine gelötet ( Anschluss + / - )
beachtet?
Wenn du mit + und - die Stromanschlüsse VCC1 und GND meinst, ja. Auch
VCC2 ist korrekt verbunden.
Was mich schon stutzig gemacht hatte ist, dass der ATmega auf einmal
wenn ich den Timer2 über den Prescaler ausschalte in etwa 2,5V über den
PWM-Pin ausgibt - das konnte ich nicht weiters eingrenzen, sollte aber
auch nichts schaden und ich habe dann den Timer einfach immer
angelassen... früher hat der sich immer wie gewünscht Schlafengelegt -
vielleicht hat auch der ATmega nen Schuss...
Ich werde mal eine Testschaltung aufbauen, mit komplett neuen Bauteilen,
dass ich ausschließen kann, dass irgendein altes (fehlerhaftes)
reinspielt.
Hallo,
bis gestern lief alles gut, aber jetzt scheint wieder irgendwas zu
spinnen.
Die Treiber geben nur noch höchstens ca 1V auf die Ausgänge, bei einem
Schnelltest haben aber alle Pins die erwartete Spannung gehabt. (Ich
halte einen Kurzschluss Zwischen einem Ausgangspin und GND für möglich,
lediglich dadurch könnte ich mir derzeit dieses Verhalten erklären...)
Hatte da heute leider keine Zeit für das genauer zu verfolgen- werde das
morgen mal testen oder so.