Forum: Mikrocontroller und Digitale Elektronik PWM -- Pulsbreite 0 funktioniert nicht!


von Parvis S. (parvis)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe folgendes Problem und wollte mal nachfragen, ob mir jemand von 
Euch weiterhelfen kann, also folgendes

Ich benutze einen ATMega8 (Programmierung in ASM) und moechte damit eine 
PWM fuer eine Motoransteuerung verwirklichen (Motor soll maximal 
beschleunigt bzw. abgebremst werden). Der Motor ist genaugenommen ein 
Festplattenmotor (tut aber eigentlich nichts zur Sache).

Problem:
  Ich wuerde gerne ueber die Pulsbreiten-Einstellung u.a. auch ein 
durchgehendes High bzw. Low hinbekommen (also Pulsbreite maximal bzw. 
null). Wenn ich die Pulsbreite nun maximal einstelle funktioniert das 
auch, aber leider nicht, wenn ich sie null stelle; dort sehe ich auf 
meinen Oszi fuer genau einen Takt (also fuer 125ns bei 8MHz) ein 
High-Signal. Warum setzt er vor jeden neuen Periode den Ausgang auf high 
und wie laesst sich das vermeiden oder ist spinnt einfach mein 
ATMega8??? Bin fuer jegliche  Hilfe dankbar.

Beste GRuesse,

Parvis

von Falk B. (falk)


Lesenswert?

@ Parvis S. (parvis)

>durchgehendes High bzw. Low hinbekommen (also Pulsbreite maximal bzw.
>null).

Geht beim AVR nicht. Siehe Doku.

MfG
Falk

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Es geht immer nur eines, entweder durchgehende Null oder durchgehende 
Eins, was durch invertieren des Ausgangsverhaltens des betreffenden 
Timers jeweils erreicht werden kann.

von Tassilo B. (big_t)


Lesenswert?

Also beim AtMega48/88/168 gibt's den 'Phase and Frequency Correct PWM 
Mode':
...
The extreme values for the OCR1x Register represents special cases when 
generating a PWM waveform output in the phase correct PWM mode. If the 
OCR1x is set equal to BOTTOM the output will be continuously low and if 
set equal to TOP the output will be set to high for noninverted PWM 
mode.
...
Das ist doch das, was gesucht wird, oder?

Vielleicht kann ja auf einen Schaltkreis aus dieser Familie gewechselt 
werden... (Ich kenne die Daten des AtMega8 in dieser Hinsicht nicht 
genau)

Tassilo

von Andreas K. (a-k)


Lesenswert?

Ist ja wohl nicht so schrecklich schwierig, bei PWM=0 und/oder PWM=max 
den entsprechenden Ausgang schlicht umzukonfigurieren.

von Parvis S. (parvis)


Lesenswert?

Erstmal vielen Dank fuer die schnelle Hilfen.

Der Phase- and Frequency Correct mode gibt es auch tatsaechlich beim 
ATMega8 der dann laut Datenblatt keine spikes liefert. Werde das gleich 
mal ausprobieren.

Beste Gruesse,

Parvis

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.