PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : L293D Motor dreht immer!



homer3345
20.05.2011, 13:33
Guten Tag!

Ich hab ein problem und zwar:
An meinem Motortreiber l293D hängt ein Motor und der dreht sich die ganze zeit egal wie ich den l293D beschlalte! (anschluss des Motors im Anhang)
Ich habe schon 3 verschiedene ausprobiert und jdesmal wieder das gleiche problem!
Was mache ich falsch?

Ich würde mich wahnsinnig freuen wenn ihr mir helfen könntet!

dussel07
20.05.2011, 13:54
Wenn schon Motor an H-Brücke dann auch die originale Beschaltung -
http://www.rn-wissen.de/index.php/Bild:Hbrueckel293d.gif

Hubert.G
20.05.2011, 14:56
Wieviel Strom braucht der Motor?
Ist der Eingang wirklich low, nicht nur offen?

.:Sebastian:.
20.05.2011, 16:11
Moin


Wenn schon Motor an H-Brücke dann auch die originale Beschaltung -
http://www.rn-wissen.de/index.php/Bild:Hbrueckel293d.gif

Das kann ich so nicht stehen lassen:

Sehe gerade im DataSheet man kann den L293D auch so verwenden wie du das tust.
Also Motor von Ausgang nach Masse anstatt von Ausgang nach Ausgang.
Das heißt. Motor an Pin14 und GND passt..

Also würde ich mal den 'low' Pegel an dem Eingang nachmessen.

Gruß
Sebastian

PS:
Hab meinen Fehler bemerkt und gekonnt weg editiert..

homer3345
20.05.2011, 18:02
@Hubert G.
Der Motor verbraucht max. 0,2 A
Der Pin ist einfach nicht beschaltet oder wie schalte ich ihn sonst auf low? (ziehmlich dumme Frage von mir! :D)


@.:Sebastian:. Ich habe gerade mal nachgemmessen und mir kommt ziehmlich komisch vor, dass an den eingangs Pins vom L293D 1,2 V liegen obwohl die Pins beim messen noch nichtmal am Atmega angeschlosssn waren. Während ich nachmesse bricht die Spannung am L293D (Der L293D ist wieder mit dem Atmega verbunden) soweit zusammen, dass der Motor stehen bleibt! Wenn ich jetzt aber den Pin auf High schalte dann kann ich messen ohne, dass die Spannung zusammen bricht nicht.
Also könnte ich doch einen 10k Ohm Pulldown Widerstand einbauen (Das würde funktionieren).

TobiKa
20.05.2011, 18:15
Ich habe gerade mal nachgemmessen und mir kommt ziehmlich komisch vor, dass an den eingangs Pins vom L293D 1,2 V liegen obwohl die Pins beim messen noch nichtmal am Atmega angeschlosssn waren.
Irgendwelche Pins einfach undbeschaltet lassen ist schlecht!


Also könnte ich doch einen 10k Ohm Pulldown wiederstand einbauen.
Ja, Pull-Up und Pull-Down Widerstände (schreibt man ohne ie) dort verwenden wo sie benötigt werden, damit die Pins nicht in der "Luft" hängen.

homer3345
20.05.2011, 18:20
@TobiKa

Irgendwelche Pins einfach undbeschaltet lassen ist schlecht!
Da hab ich was dazu gelernt

Ja, Pull-Up und Pull-Down Widerstände (schreibt man ohne ie) dort verwenden wo sie benötigt werden, damit die Pins nicht in der "Luft" hängen
Mit der Rechtschreibung hab ich es nicht so. :D

Kann ich jetzt 4 Motoren mit jeweils 600mA betreiben?

TobiKa
20.05.2011, 19:02
Kann ich jetzt 4 Motoren mit jeweils 600mA betreiben?
Solange sie nicht gleichzeitig laufen. Aber könnten eh maximal 2 gleichzeitig laufen, oder?!

Hubert.G
20.05.2011, 19:20
Wenn du sie so betreiben willst wie in deiner Schaltung, dann ja.
Wenn sie gleichzeitig laufen wird der IC allerdings sehr warm.

homer3345
20.05.2011, 19:51
Jetzt hab ich mit den Pulldown (10k Ohm) Widerständen das Porblem, dass am L293D nichts mehr ankommt vom Atmega ankommt.
Bzw. der Motor dreht sich erst wenn ich den Pulldown raus nehme. Am Pin vom Atmega sind 5V (Ohne Pulldown).
Was soll ich machen?

Hubert.G
20.05.2011, 20:08
Dann möchte ich mal den Programm sehen.
Bist du sicher das du auf high schaltest und nicht nur den internen PullUp des ATmega8 einschaltest?

homer3345
20.05.2011, 20:32
Ich denke schon, dass ich den Pin auf HIGH schalte aber man kann sich auch irren.


#include<avr/io.h>
#include<avr/interrupt.h>

int main(void){

DDRB|=(1<<PD6); //Pin wird als Ausgang geschaltet
PORTD|=(1<<PD6); //Pin wird auf HIGH geschltet


while(1){};
}

Hubert.G
20.05.2011, 21:41
Nein, hast du nicht auf high geschalten.
DDRB|=(1<<PD6); lies dir das mal genau durch.

homer3345
20.05.2011, 22:37
Oh! Da sucht man Tage nach dem Fehler und man hat nur den Port falsch angegeben! :D
Danke! Danke! :)

dussel07
21.05.2011, 00:09
Ihr seid gut!
Aber warum eine H-Brücke als Schalter benutzen?
Ah -
es dämmert mir - - -
Ist ein fertiges Board mit einem L293 drauf - richtig?

homer3345
21.05.2011, 01:52
Ist ein fertiges Board mit einem L293 drauf - richtig?
Genau so ist es! ;) (Atmega 16 mit 16mhz)