Forum: Mikrocontroller und Digitale Elektronik 2x L293D an Mega48 -> Pulldown nötig wg. MOSI/OC2A?


von uli (Gast)


Lesenswert?

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

von Klaus (Gast)


Lesenswert?

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.

von uli (Gast)


Lesenswert?

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

von Klaus (Gast)


Lesenswert?

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?

von uli (Gast)


Lesenswert?

> 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.

von uli (Gast)


Lesenswert?

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.

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
Noch kein Account? Hier anmelden.