PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : L293D Verständnisproblem



king-sixXx
23.11.2005, 21:27
Hallo Leute!

Ich hab jetzt endlich meinen Motortreiber fertig und ihn wie folgt beschaltet:
https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=766

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!

locked
23.11.2005, 22:16
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

king-sixXx
24.11.2005, 07:30
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!

Skilltronic
24.11.2005, 10:06
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

king-sixXx
24.11.2005, 22:16
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:



$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?? ](*,)