-
L293D Verständnisproblem
Hallo Leute!
Ich hab jetzt endlich meinen Motortreiber fertig und ihn wie folgt beschaltet:
Bild hier
Das funktioniert auch schon ganz gut. Wenn ich Schalter 1 umlege, dreht der Motor rechts herunm, wenn ich Schalter 2 umlege linksherum. Betätige ich zu Schalter 1 oder 2 nun zusätzlich Schalter 3 (enable) bleibt der Motor stehen.
Eigentlich sollte es auch so laufen, nur muss man nicht, um einen Eingang auf "High" zu legen, +5V anlegen anstatt Ground?
Ich hab dann mal Schalter 3 entfernt und Pin9 des L293D direkt mit meinem Mega8 verbunden und den Port am Mega auf High gesetzt. Jetzt funktionierte das Ausschalten des Motors nicht mehr....
Stimmt die Schaltung so, oder hab ich da einen Denkfehler drin???
MFG!
-
nun ja funktioniert doch oder?
Schalter 3 ist offen (der pin ist wahrscheinlich intern mit einem pull up Widerstand geschaltet, also liegt ein Hi an) und damit enable gesetzt. Wenn du jetzt den Schalter betätigst legst du ein lo an und disabelst die Schaltung.
Mit freundlichen Grüßen
-
Ah ha. OK :-)
Aber wie steuer ich das jetzt mit meinem Mega8?? Kann ich versuchsweise den Pin9 des L293D einfach an einen Port vom Mega8 anschließen, oder muss ich das über ein PWM Signal machen?
MFG!
-
Hallo
Es gibt ja zwei Möglichkeiten, den Motor zu stoppen. Wenn du Pin 9 auf Masse legst wird der Strom abgeschaltet und der er läuft normal aus. Wenn du Pin 10 und 15 beide auf Low oder High setzt, wird der Motor schneller abgebremst, weil er kurzgeschlossen wird und eine Art Wirbelstrombremseneffekt auftritt. Wenn du nur diese Methode benutz, brauchst du Pin 9 garnicht anzusteuern. Wenn du die Motoren über PWM regeln willst, dann kommt Pin 9 an den PWM-Ausgang..
Gruss
Skilltronic
-
Vielen Dank für die Antworten.
Da ich den Motor über ein PWM steuern will, habe ich den Enable Pin mit dem Mega8 verbunden und folgendes Programm verwendet:
Code:
$regfile = "m8def.dat"
$crystal = 4000000
$baud = 9600
Dim A As Byte
A = 0
Ddrb 0.1 = 1
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8 '64
Enable Interrupts
Do
If A < 254 Then A = A + 1
Compare1a = A
Waitms 200
Print A
Loop
End
Dazu hab ich Schalter 1 gedrückt. Nachdem die Schleife durch war, drehte der Motor noch genau so schnell wie vorher. Die Spannung über dem Motor nahm nur um 0,1 V ab... Was stimmt hier schon wieder nicht?? ](*,)