Forum: Mikrocontroller und Digitale Elektronik Wie mache ich aus einem Rechtecksignal ein PWM Signal?


von Bernd (Gast)


Lesenswert?

Hallo!

Ich habe folgendes Problem:

Ich hab einen Atmega8 und lasse verschiedene Frequenzen am PB1
Pin ausgeben!

Das funktioniert ziemlich gut aber ich würde dieses Rechtecksignal gerne
noch Pulsweiten regulieren bzw. auf eine bestimmte Pulsweite einstellen!

Ich arbeite bei meinem µC mit BASCOM und dem Register Tccr1a, & Tccr1b
damit ich meine Frequenze ändern kann.( dabei lasse ich beim Compare1a 
toggeln)
Wenn ich die Frequenzen ändern kann, dann kann ich kein PWM Signal 
erzeugen oder ich mach nur ein PWM aber da ist die Frequenz fix.
Irre ich mich da?? Oder geht das doch gemeinsam??

Weiß vielleicht irgendwer ein Bauteil mit dem ich das sonst realisieren 
kann??

Ich hoffe es kann mir wer helfen!

Lg
Bernd

von M. G. (sirmel)


Lesenswert?

Hmm ich würde selber was schreiben wo ich die Pulsweite und die Frequenz 
selber einstellen kann, so ähnlich hab ich es jedenfalls gemacht als ich 
mit Bascom gearbeitet hab

von avr (Gast)


Lesenswert?

Das geht ohne Probleme.

In den PWM-Modes 8, 10 und 14 wird die Obergrenze des Timers
und damit die PWM-Frequen im Register ICR1 festgelegt.

Den PWM-Wert setzt man in OCCR1a/b (für PB1/2), dieser muß natürlich 
kleiner als ICR1 sein.

Die Ausgabe (Set/Clear) bestimmt man über COMA/B 1/0 im TCR1A .

Steht alles im Datenblatt unter Timer1 ;)

avr

von spess53 (Gast)


Lesenswert?

Hi

>Ich hoffe es kann mir wer helfen!

Was hindert dich die PWM des Timers zu aktivieren. Wenn ihr 
BASCOM-Jünger schon nicht so gerne Datenblätter lest, solltet ihr 
wenigstens die BASCOM-Hilfe benutzen.

MfG Spess

von Bernd (Gast)


Lesenswert?

Sorry aber ich Programmiere noch nicht lang und kenne mich nicht so aus!

Wie spreche ich diese Register genau an?
Ich werde aus dem Datenblatt anscheinend nicht so schlau wie ihr!

Hab nämlich schon Probiert das WGM 13 zu acktivieren! Aber sobald  ich 
das mache ist meine "änderbare" Frequenz dahin!

Bitte um HILFE!!


Lg
Bernd

von Karl H. (kbuchegg)


Lesenswert?

Bernd schrieb:

> Hab nämlich schon Probiert das WGM 13 zu acktivieren!

Für welchen Modus?

> Aber sobald  ich
> das mache ist meine "änderbare" Frequenz dahin!

Logisch.
Das geht dann alles ganz anders.
Die Frequenz wird, je nach Modus, über ein einziges Timerregister 
eingestellt.

von Bernd (Gast)


Lesenswert?

und welches Register??

Ich kenn mich schon garnicht mehr aus!

Also so hab ich das bis jetzt!

Tccr1a = &B01000000
Tccr1b = &B00001101

und bei Compare1a = 2571.42 lasse ich toggeln!

Ich verstelle immer das "Compare1a" und schon habe ich meine änderbare 
freuequenz!

Jetzt ist mein Problem, dass da ein Rechteck rauskommt und ich hätte 
gern nur einen Impuls bzw. eine Pulsweite.

Welche Register muss ich da jetzt nehmen??

Sorry das ich nicht so auskenne aber ich mach das erst seit ein paar 
Monaten!

Lg
Bernd

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.