PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit L293D: An den Ausgängen ist totaler Quatsch!!!



Jacob2
11.09.2009, 17:42
Hi,
ich hab keine ahnung, was ich falsch gemacht habe. Meine Schaltung ist folgendermaßen:
http://www2.pic-upload.de/12.09.09/k9ylaec4y1d.jpg (http://www.pic-upload.de/view-3076105/L293DSchaltung.jpg.html)
Wenn VCC1 und die Enables nicht angeschlossen sind, kann ich an den Inputs schön mein Bitmuster messen (Schrittmotor tut logischerweise nichts). Wenn sie angeschlossen sind messe ich aber konstante 3V an den Inputs, auch wenn die Leitungen zum µC weg sind. Ist der L293D kaputt?
Wenn ich die µC-Leitungen anschließe wird das Bitmuster anscheinend durch die konstanten 3V "geschluckt". Jedenfalls tut sich nichts!

Horstel
11.09.2009, 18:07
Du musst alle GND's mit GND verbinden einer reicht nicht soweit ich weiß.
Man sollte nicht davon ausgehen das die intern verbunden sind.

Jacob2
11.09.2009, 18:23
Hatte ich vorher durchgemessen...hab jetzt aber doch alle verbunden.
Und...Es geht leider immer noch nicht!

PICture
11.09.2009, 18:35
Hallo!

@ Jacob2

Versuche, bitte, an Eingänge pull-ups um 10k an VCC1 anzuschliessen und messen.

MfG

Jacob2
11.09.2009, 18:51
Sind 22k zuviel? Ich muss nämlich peinlicherweise eingestehen, dass ich den 0815 Widerstand 10k grad net hab...

PICture
11.09.2009, 19:03
Es ist normaleweise nicht kritish. Du kansst auch, wenn es zu viel wäre, jeweils zwei paralell schalten.

MfG

Jacob2
11.09.2009, 19:17
Also jetzt (mit 22k pull-up) mess ich an den Inputs (wenn die µC leitungen dran sind) konstant 4,4V.

Ich denke ich werde das morgen nochmal ordentlicher aufbauen, vielleicht ist es dann nur einer der Fehler, die man Abends ums ver**cken nicht finden will.
Aber eigentlich darf doch an einem Input keine Spannung sozusagen "von innen heraus" (sorry für die fachliche Sprache :wink: ) anliegen oder?

Wie gesagt, schau ich morgen weiter. Zur Not hab ich ja das ganze Wochenende frei #-o

PICture
11.09.2009, 19:26
Ich vermute, dass ein Softwarefehler vorliegt.

MfG

Jacob2
12.09.2009, 11:15
Also, ich habe jetzt noch weiter rumgemessen und den Code aufs wichtigste reduziert: und es geht alles bis ich VCC1 auch an 5V anschließe. Dann liegt an den Inputs 1,6V konstant und an allen Outputs liegt die Motorspannung.

Ich poste mal noch den Code mit, aber ich glaube der ist so gut.

#include <avr/io.h>
#ifndef F_CPU
#define F_CPU 1000000UL
#endif
#include <util/delay.h>


int main (void)
{
int x = 1000;
DDRC = 0b1111; //Stepperport
while(1)
{
PORTC = 0b1010; //Bitmuster
_delay_ms(x);
PORTC = 0b1001;
_delay_ms(x);
PORTC = 0b0101;
_delay_ms(x);
PORTC = 0b0110;
_delay_ms(x);
}
}

Die Schaltung ist nach wie vor so:
http://www2.pic-upload.de/12.09.09/k9ylaec4y1d.jpg (http://www.pic-upload.de/view-3076105/L293DSchaltung.jpg.html)

Hubert.G
12.09.2009, 13:08
Was für einen Kontroller hast du? Wie ist der beschalten

Jacob2
12.09.2009, 13:38
ATmega8+Standardbeschaltung (ISP hab ich jetzt nicht hingemalt):
http://www2.pic-upload.de/12.09.09/s5r4awcq9rw.jpg (http://www.pic-upload.de/view-3077119/L293D-Schaltunggesamt.jpg.html)

Hubert.G
12.09.2009, 13:45
Du hast AVCC nicht beschalten, dieser Pin ist die Stromversorgung für PORTC.
Wenn du nicht willst das der Motor beim einschalten der Spannung zuckt, dann leg an die Input 1-4 je einen 10k bis 47k nach GND.

recycle
12.09.2009, 14:07
Wenn du nicht willst das der Motor beim einschalten der Spannung zuckt, dann leg an die Input 1-4 je einen 10k bis 47k nach GND.


Würde da nicht auch jeweils ein Pulldown an die beiden Enable-Eingänge reichen?

Hubert.G
12.09.2009, 14:18
Wenn du die Enable-Eingänge auch vom Kontroller schaltest, ja.
Die Pull-Down sind für die Zeit, Spannung schon da, Kontroller noch nicht aktiv.

Jacob2
12.09.2009, 16:50
@Hubert.G Sorry, mein Fehler, habs vergessen einzuzeichnen! AREF hab ich aber wirklich nicht angeschlossen. Schlimm?
Die Pull-down mach ich erst wenn der Motor überhaupt was tut. PICture meinte Pull-Ups, welches ist nun besser?
Aber ich meine der Fehler müsste irgendwie beim L293D liegen, denn an den Pins PC0, PC1, PC2 und PC3 ist ja mein gewünschtes Bitmuster nachzumessen. Es ist doch richtig, dass Enable 1/2 und Vcc1 an +5V liegen oder? Den Sinn von Vcc1 hab ich nämlich nicht so ganz verstanden, nur das es etwas mit den logic Inputs zu tun hat und die sind ja bei 5V.
Hier Zitat aus dem Datenblatt:

A VCC1 terminal, separate from VCC2, is provided for the logic inputs to minimize device power dissipation.

Oder könnte es daran liegen, dass meine Spannungsquelle nur 4,65V statt genau 5V hat (blöde Selbstbaunetzteile!!!)???

021aet04
12.09.2009, 16:56
Du müsstest im Datenblatt nachschauen, ob die Spannung zu niedrig ist (vom L293).

Jacob2
12.09.2009, 16:59
Also minimal stehen da 4,5V für Vcc1. Müsste also noch gehen.

Sonst ist eigentlich alles im angegebenen Rahmen.

Hubert.G
12.09.2009, 17:04
Kaputt wird durch den fehlenden AVCC nichts.
In deinem Plan ist die Spannungsversorgung für den L293D schon richtig eingezeichnet. Vss an Pin 16 ist die Versorgung für die interne Logik des IC, diese sollte gleich der Ansteuerspannung sein und Vs an Pin8 die Motorspannung, die kann ja bis zu 36V betragen.
Ich würde dir vorschlagen es einmal ohne µC zu probieren und händisch die 5V an die Eingänge zu legen.

021aet04
12.09.2009, 17:07
Das müsste noch funktionieren. Du kannst die Signale vom µC direkt am L293 bei den Eingängen messen, ob du dort die Muster hast. Vielleicht sind die Leiterbahnen zu dünn (war ein Problem in einem anderen Thread) oder Lötfehler. Es reichen kleine Lötkugeln. Du könntest die 5V vom PC-Netzteil verwenden, wenn er eingeschaltet ist (außer du sitzt vor einem Laptop)

Jacob2
12.09.2009, 17:40
Also meinen PC wollte ich jetzt nicht beim Laufen aufmachen... :wink:
Aufgebaut ist das ganze auf einem Steckbrett also Leiterbahnen etc. scheiden aus.

Ich hab jetzt mal die 5V von Hand angelegt, das Ergebnis ist Teilweise mysteriös: Bei den Inputs fließt über die Schrittmotorspule schon Strom wenn ich nur GND anlege und High noch weglasse. Schließe ich dann die 5V an den Input der das andere Spulenende steuert an, ändert sich nichts. Vorallem sind, wenn ich einen Input aud GND liegen auf einmal 3 Outputs auf 12V....

Mit anderen Worten: CHAOS, irgendwas ist da faul :cry:

Ist das nur das gewöhnliche High-Signal, das gern auf unbeschalteten Eingängen liegt, oder ist da mehr dahinter?

Jacob2
12.09.2009, 18:08
Also...ich mess die ganze Zeit rum. Und es kommt totaler Quatsch dabei raus. Mal liegen an den Ausgängen 12V, mal ca. 10V, mal 3V oder auch nur 2V. Manchmal sind sie sogar auf fast 0V, so wie sie es eigentlich sollten.

Ich versteh das nicht! Eigentlich sind die L293D ja nicht so kompliziert zu beschalten!!!

recycle
12.09.2009, 18:28
Also...ich mess die ganze Zeit rum. Und es kommt totaler Quatsch dabei raus. Mal liegen an den Ausgängen 12V, mal ca. 10V, mal 3V oder auch nur 2V. Manchmal sind sie sogar auf fast 0V, so wie sie es eigentlich sollten.

Könnte es sein, dass mit deinem Messgerät auch irgendwas nicht in Ordnung ist? Meins spukt solche ziemlichen Zufallswerte aus, wenn die Batterien leer sind.



Ich versteh das nicht! Eigentlich sind die L293D ja nicht so kompliziert zu beschalten!!!


Vielleicht solltest du den L293D wirklich mal gegen einen anderen austauschen, vielleicht ist er ja tatsächlich kaputt.
Falls er nicht kaputt ist, hast du halt einen in Reserve weisst aber wenigstens, dass du nucht völlig umsonst in der Schaltung nach dem Fehler suchst.

Hubert.G
12.09.2009, 21:41
Hast du die PullDown an den Eingängen drauf?

vklaffehn
12.09.2009, 22:04
doofe frage : hast du am µC die Pins auch wirklich auf ausgang geschaltet? nicht, dass du nur die internen pullups an und ausschaltest...
MfG volker

p.s.:großbuchstaben waren grad aus, gibts morgen wieder...

Jacob2
13.09.2009, 08:26
Ja, das hab ich mit DDRC = 0b1111;
Also ich hab jetzt trotzdem mal die Pull-Downs hingemacht und dann hat sich alles richtig verhalten wenn ich die Inputs von Hand gefüttert habe. Dann wollte ich den Motor und den µC anschließen, als mein L293D entschied, sich effektvoll zu verabschieden. Folge: Rauchwolke im Zimmer, IC futsch und ein Schmelzfleck auf dem Steckbrett :cry:

http://www2.pic-upload.de/13.09.09/dfyg2fz7j6ng.jpg (http://www.pic-upload.de/view-3083258/Bau-der-Fr-se-005.jpg.html)

Wo kann da ein riesiger Strom geflossen sein? Die Outputs waren doch noch gar nicht beschaltet!
Ich hab die beiden GND's von den 5V und den 12V zusammengelegt, aber das muss doch so!?!

Was schätzt ihr, wieviel Strom ist da geflossen, damit ich meinem Motorspannungs-Bleiakku endlich mal ne Sicherung verpassen kann!

Da ich nur noch ein L293D habe, möchte ich ersmal rausbekommen, warum der kaputtgegangen ist! Nicht, dass das nochmal passiert.

Mich wundert halt, dass da ein Strom von 12v nach anscheinend GND geflossen ist, obwohl die Outputs nirgends angeschlossen waren!

Hubert.G
13.09.2009, 09:13
Wenn du es so beschalten hast wie im letzten Plan von dir, dann sollte alles passen. In Rauch auflösen kann es sich nur wenn zu viel Strom durch den Motor fließt.
Wieviel Ohm hat denn eine Wicklung des Motor?

Jacob2
13.09.2009, 11:09
Die Wicklungen haben je 25 Ohm. Es sollen eigentlich auch nur 480mA fließen. Aber da der Motor nicht angeschlossen war, versteh ichs nicht.

Wenn ich da eine 1,6A Sicherung davormache, sollte er eigentlich nicht mehr kaputtgehen oder?

Hubert.G
13.09.2009, 12:39
Ich würde da eher eine 1A Sicherung nehmen bis es funktioniert.
Ohne Motor musst du aber einen Kurzschluss gehabt haben.
Mach doch noch mal ein Foto von oben, das man die Brücken sieht.

oberallgeier
13.09.2009, 12:54
Sind das nicht blanke Drähte am Steckbrett? Machen die vielleicht irgendwo ein bisschen einen klitzekleinen Kurzschluss?


.... Es sollen eigentlich auch nur 480mA fließen ...Das ist ja der theoretische Wert; ist das der Leerlaufstrom? Ich habe bei einem 20Ω-Motor (bei meinem WALL R) (https://www.roboternetz.de/phpBB2/viewtopic.php?t=45658&sid=76040fe78a42723b6c573dd9655cd14d) festgestellt, dass ich mit dem Anfahrstrom aus meinem 4xAAA-NiMH-Tank ganz easy den L293D ins Nirwana befördere und musste für die lauffähige Version beide Kanäle für den Motor hernehmen.

Jacob2
13.09.2009, 13:02
Ich hab das mal etwas besser erkennbar gemacht:

http://www2.pic-upload.de/13.09.09/6zw3rw2zxuh.jpg (http://www.pic-upload.de/view-3085389/Bau-der-Fr-se-004-Kopie.jpg.html)

Für mich ist da kein Fehler erkennbar. Oben rechts berühren sich GND und 5V nicht.

@oberallgeier
da der Motor nicht angeschlossen war kanns daran nicht gelegen haben. Aber wenn ich den Motor einfach mal so an einer Wicklung anschließe, dann mess ich so an die 500mA. Künstlich belasten geht bei einem sich nicht drehenden schrittmotor halt schwer, deswegen kann ich das nicht nachmessen.

Hubert.G
13.09.2009, 13:55
Wenn man mal den Kurzschluss ausschließt, dann kommt eigentlich nur in Frage das der IC zu schwingen begonnen hat. Dagegen helfen nur Kondensatoren an beiden Spannungseingängen gegen GND.
Die Kondensatoren sollten auch am Kontroller sein, so nahe wie möglich an den Pins.

Jacob2
13.09.2009, 16:32
100nF? Am Controller nur an den Spannungseingängen oder meinst du jetzt auch am PortC?

Jacob2
13.09.2009, 16:42
Pull-downs an den Inputs sind aber schon ok oder? Nach meinen Messungen vorm Knall hat es die gebraucht. Mit 22k kann ja eigentlich nichts passieren, oder doch?

Hubert.G
13.09.2009, 17:08
Die PullDown sind sicher OK.
100n jeweils an den Spannungseingängen der ICs.
Am Vs des L293 wird in vielen Schaltungen ein Elko 10-100µ vorgeschlagen um die Induktionsspannung des Motor abzufangen. Das hat mit deinem Fehler aber nichts zu tun.

Jacob2
13.09.2009, 17:35
Mit Vs meinst du die Motorspannung bzw. VCC2?

Weis jemand ob 500 Ohm von Vcc1 nach GND normal sind beim L293D?

oberallgeier
13.09.2009, 18:22
... Weis jemand ob 500 Ohm von Vcc1 nach GND normal sind beim L293D?Bisher wußte ich das nicht. Aber ich habe eben GND nach Vcc1 des L293D nachgemessen. Ohne Gewähr für die Allgemeingültigkeit:

Messgerät MetraHit 12S
Controller L293DNE, TexasInstruments
Messung 1: GND-Messgerät an GND-Controller => 6,10 MΩ an jedem der vier GND-Pinne und auch an einem gemeinsamen GND
Messung 2: ( + )-Messgerät an GND-Controller => 2,98 MΩ an jedem der vier GND-Pinne