Hallo zusammen, ich hoffe mir kann jemand helfen!!! Warum bekomme ich mit folgendem Programm am Ausgang des L293 nur max 1V, obwohl ich 9V Versorgungsspannung habe? ; TIMER 2 an PORT OC2 .include "m8def.inc" .def temp = r16 ; .def temp4 = r17 ; .def akku1 = r18 ; .def temppwm = R19 .def soll = R20 ldi temp, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp ldi temp, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp ldi soll, 255 schlei: rcall motor ;subi soll,1 ;cpi soll,3 ;brsh end ldi soll, 250 end: rcall wait rcall wait rjmp schlei ; motor: sbi DDRB,3 sbi PORTC,4 sbi DDRC, 4 cbi PORTC,5 sbi DDRC, 5 ldi temppwm,(1<<COM21)|(1<<COM20)|(0<<WGM21)|(1<<WGM20)|(0<<CS22) |(0<<CS21) |(0<<CS20) out TCCR2,temppwm ; Zählumfang Timer2 ldi temppwm,255 out TCNT2,temppwm ; Startwerte ;ldi soll, 100 out OCR2,soll ; neuer Vergleichswert nach Compareregister ; ldi soll, 50 ; rcall wait ret Bin für jeden Tip super dankbar. Danke und Gruß Markus
Ich habe gerade mal getestet, wenn ich PB3 auf 1 setze, d.h. wenn ich kein PWM mache, sondern stur auf High setze, dann bekomme ich auch nur 1,1 V am Ausgang des L293. Hat jemand ne Idee, woran das liegen könnte?
Ein Schaltplan ist glaube ich nicht unbedingt nötig: ich habe PB3 direkt mit Enable1 verbunden, genauso PC4 -> Input1 und PC5 -> Input2. Stromversorgung 9V, mit 7805 auf 5V für uC, VS und VSS des L293D mit 9V versorgt. Output 1+2 an Motor gehängt. Das ist die ganze Verkabelung (ohne Kondesatoren für uC). Ist das falsch?
Hallo ..ja ist mir auch aufgefallen also bei meinen Schaltungen mit den L293D(DIP Gehäuse), ist an Pin 16(VSS)5 V und an PIN 8 (VS) 12V
hm ja nur ist es etwas umständlicher die Signale vom µC extra auf 9V zu legen oder? VSS = logic suply voltage
scheinbar ist das dem Schaltkreis egal, er funktioniert auch mit 5V am Eingang, auch bei 9V Logicsupply. aber @Markus wenn ich das richtig sehe, legst du die PWM auf den Enable-Eingang?!
Markus, hast Du alle GND-Pins des L293 angeschlossen? Zum Code: Mit dem Startwert für TCCR2 wird bestimmt nichts passieren, denn damit wird der Timer abgeschaltet (alle CS = 0). Weiterhin hast Du die invertierte Ausgabe gesetzt (beide COM = 1), und Dein Soll von 255 bringt, selbst wenn der Timer laufen würde, Dauernull am Ausgang. Gruß Johannes
@Mattias das siehst du richtig. sollte ich PWM lieber auf einen Enable-Eingang legen? @Johannes ich habe verschiedene Startwerte für TCCR2 usw. ausprobiert. Ich habe wohl eine Version erwischt, die gerade nicht so funktioniert. Ich habe nur zwei GND des L293 angeschlossen. Die anderen zwei habe ich offen gelassen. Ist das ein Fehler? Werde mal alle vier anschließen...
ich würde die PWM auf die Treibereingänge legen. Hast schon mal den L293D ohne µC betrieben oder ohne Motor mal die Ausgangsspannung gemessen? Vielleicht ist es auch die PWM-Frequenz. Der L293D verträgt höchstens 5 kHz.
@Markus Wo GND dransteht, muss normal auch GND anliegen. Es sei denn, das Datenblatt sagt Dir genau, welcher GND der richtige für die Logik ist. @Matthias Ganz ab davon, dass es für einen Motor mit Eisenanker eh sinnig ist, mit der PWM unter 5kHz zu bleiben - welche Spec des L293 rät dazu? Ich entnehme dem Datenblatt jeweils <1µs Enable- und Disable-Zeit, was theoretisch so zirka 100kHz PWM ermöglichen sollte. Ich gebe zu, das Teil noch nicht selber in die Limits gescheucht zu haben. Gruß Johannes
die 5 kHz habe ich aus dem ST Datenblatt. Steht ganz oben in der Beschreibung des Schaltkreises.
Tatsächlich. Jetzt hab ich es auch gefunden. Aber danach wären die Angaben in der Specs-Tabelle ja Unfug. Hmmm...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.