www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM an ATmega8 und L293D


Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne Schaltplan kann man da rein gar nix zu sagen...

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Matthias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
9V an Vss?

Autor: Matthias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry, scheinbar geht das so

Autor: Ulli Vex (vex)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ulli Vex (vex)
Datum:

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

Autor: Matthias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?!

Autor: Johannes A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Reichert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Matthias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Johannes A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias H. (Gast)
Datum:

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

Autor: Johannes A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tatsächlich. Jetzt hab ich es auch gefunden.
Aber danach wären die Angaben in der Specs-Tabelle ja Unfug.
Hmmm...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.