Forum: Mikrocontroller und Digitale Elektronik PWM an ATmega8 und L293D


von Markus Reichert (Gast)


Lesenswert?

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

von Markus Reichert (Gast)


Lesenswert?

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?

von johnny.m (Gast)


Lesenswert?

Ohne Schaltplan kann man da rein gar nix zu sagen...

von Markus Reichert (Gast)


Lesenswert?

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?

von Matthias H. (Gast)


Lesenswert?

9V an Vss?

von Matthias H. (Gast)


Lesenswert?

sorry, scheinbar geht das so

von Ulli V. (vex)


Lesenswert?

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

von Ulli V. (vex)


Lesenswert?

hm ja nur ist es etwas umständlicher die Signale vom µC extra auf 9V zu 
legen oder? VSS = logic suply voltage

von Matthias H. (Gast)


Lesenswert?

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?!

von Johannes A. (Gast)


Lesenswert?

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

von Markus Reichert (Gast)


Lesenswert?

@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...

von Matthias H. (Gast)


Lesenswert?

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.

von Johannes A. (Gast)


Lesenswert?

@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

von Matthias H. (Gast)


Lesenswert?

die 5 kHz habe ich aus dem ST Datenblatt. Steht ganz oben in der 
Beschreibung des Schaltkreises.

von Johannes A. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.