Wie mache ich aus einem Rechtecksignal ein PWM Signal?

Gast #1440554
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
Gast #1440576
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
Gast #1440581
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
Gast #1445692
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
#1445715
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.
Gast #1445782
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren