PWM an ATmega8 und L293D

Gast #443388
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
Gast #443393
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?
Gast #443467
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?
Gast #443622
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
Gast #443909
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...
Gast #444482
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.