Hallo,
Ich versuche gerade die PWM in Bascom zu konfigurieren. Leider habe ich
weder in der Bascom-Hilfe noch beim googeln etwas nützliches gefunden.
Alles was ich in der Bascom Hilfe gefunden habe ist:
Timer/Counter1 can also be used as a 8, 9 or 10-bit Pulse With
Modulator. In this mode the counter and the OCR1A/OCR1B registers serve
as a dual glitch-free stand-alone PWM with centered pulses.
Leider kann ich damit nicht sehr viel anfangen. Hat jemand ein Beispiel
oder kann mir erklären was ich da konfigurieren muss ?
Vielen Dank schon mal
Danke für das Beispiel. Der Atmega8 hat demnach 3 PWM Ausgänge kann ich
alle Ausgang vom Port B dafür einsetzen oder habe ich mich im
Datenblatt verlesen ?
Ich hab jetzt schnell mal die pin-Bezeichnungen studiert
PB.1 = OC1A (Timer1)
PB.2 = OC1B (Timer1)
PB.3 = OC2 (Timer2 / nur 8bit-Breite)
das müßten die PWM-Ausgänge sein; diese müssen bei dieser Art
der Programmierung ausschließlich verwendet werden.
Weitere Einzelheiten mußt Du dem Datenblatt 'entlocken'
Viel Erfolg
Günter
Hallo nochmal
Also wie ich jetzt weis wird die PWM so konfiguriert:
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B
Pwm = Clear Down , Prescale = 1
Leider habe ich keine Ahnung was die einzelnen Parameter bedeuten ?
back again:
1.
BASCOM-Hilfe Config timer1
2.
auf der Atmel-Seite gibt's eine Aplication Note AVR130 mit sehr
genauer Beschreibung der PWM-Methode
3.
es bleibt Dir nicht erspart, das Datenblatt genau zu studieren
und jetzt zu dem Beispiel:
Config timer1 = PWM --> Auswahl des PWM-Mode
PWM = 10 --> bit-Breite 10 (max 1023 Schritte)
--> bit-Breite 9 (max 511 Schritte)
--> bit-Breite 8 (max 256 Schritte)
(bis zum Compare Match-Ereignis)
Clear down PWM-Ausgabe am pin beginnt bei ca. 5 Volt
clear up Pwm-Ausgabe am pin beginnt bei ca 0 Volt
disconneted keine PWM-Ausgabe
prescale steuert die Taktzeit
1 = kleinste Timerperiode in s bzw. ms
entspr. Timer und Quarz (Mhz)
8,64,256,1024 sind möglich
empfehle dringend entspr. Literatur zu besorgen
z.B. Claus Kühnel 'Programmieren mit BASCOM'
W. Trampert 'AVR-RISC Mikrocontroller'
oder andere
Nicht dass ich gerne Auskunft gebe, aber es gibt noch so viele
Einzelheiten (nicht nur zu PWM)
Gruß
Günter
Hallo Hans
Du wirst doch nicht gleich die "Flinte ins Korn werfen..???"
Das µC-Hobby ist ja so vielgestaltig, dass es halt einige Einarbeits-
zeit und auch eine Anzahl von Fehlversuchen geben kann / geben wird...
Was willst Du eigentlich mit den PWM-Signalen anstellen ?; Du brauchst
doch sicherlich eine Anschluß- (Treiber-)Schaltung ???
Du kannst mich auch direkt an-mailen (furchtbares Wort !!)
guenter.lintzmeyer@planet-interkom.de
Günter
Wer redet denn von "Flinte ins Korn werfen..???". Ich wollte damit nur
sagen dass ich mich noch etwas genauer in die Thematik einarbeiten
werde (muss), bevor ich das Ganze zum laufen krieg.
Hans
Hallo,
ich habe mal kurz diesen Beitrag ausgegraben.
und zwar geht es mir da drum, dass ich einen ATmega162 in Bascom
programmieren will und mein Basic-Compiller diesen Typen nicht
unterstützt.
in diesen Beitrag hat Guenter angeblich ein Programm für diesen Typen
in Bascom geschrieben.
"-Anbei ein BASCOM-Programm für einen ATmega162-"
ich habe auch schon versucht Bascom mit auto Update zu aktualisieren
und er wird noch immer nicht unterstützt.
Hat vieleicht jemand eine Vorstellung wie das Guenter geschafft hat
Gruß Thomas
Anbei ein BASCOM-Programm für einen ATmega162
Hallo
Ein Update auf Version 1.11.7.4 giebt es auf der Hersteller HP von
Bascom AVR.
Nur für regist.User,da mit einem Passwort geschützt.(ZIP-Dateien)
Registr.User bekommen das Passwort für die ZIP-Dateien per Email
zugesendet.
MFG ThomasB.
Wird der Timer, den der AVR für das PWM-Signal benutzt, dabei blockiert
(z.B. automatisch zurückgesetzt ect.)?
Wenn der einzige 16-Bit-Timer belegt ist, kann ich nurnoch
zeitgesteuerte Sachen machen, indem ich mir einen neuen aus dem
Überlauf des 8-Bit-Timers baue(oder einen externen Takt an einen
Interupt gebe), oder gibt's da 'ne andere Lösung?
Hallo
ich habe ein sehr ähnliches problem und zwar habe ich zwei at90s2313
auf einer schaltung beide führen eigenständig seriel emfang phasen
dimmer und einige relai functionen aus und nun brauche ich aber 2
gleiche pwm signale was ja noch kein problem darstellt da beie 2313
eine pwm besitzen das problem liegt darin das ein avr mit 4.00 mhz
getaktet ist und der andere mit 10.24 mhz als vorteiler gibt es nur
sehr ungenaue möglichkeiten kann man das nicht in der software
auserhalb des vorteilers noch genauer einstellen ? so das beide die
gleiche pwm frequenz erzeugen können ?! schonmal danke mfg sven
ich habe auch ein ähnliches problem mit der PWM vom AT90S2313:
ich möchte in der PWM eine ausgangsfrequenz von 220-230 HZ haben
und habe nach dieser formel meine daten eingegeben
Ausgangsfrequenz = (Quarzfrequenz/Prescale ) /(Timerauflösung*2)
224HZ = (7372800 / 64) / (256*2)
************************************************************************
**
ldi temp1, 1<<CS02 | 0<<CS01 | 1<<CS00
out TCCR0,temp1 ;Prescaler ist 64
ldi temp1, 0<<PWM11 | 1<<PWM10
out TCCR1A,temp1 ;8 bit zähler
ldi temp1, 0<<COM1A1 | 1<<COM1A0
out TCCR1A, temp1 ;Ausgangsform
ldi temp1, 0<<CS12 | 0<<CS11 | 1<<CS10
out TCCR1B, temp1 ;taktfrequenz
************************************************************************
**
leider bekomme ich keine 224Hz am PWM ausgang nur etwa 56HZ
was habe ich falsch gemacht?
oder kann man die einstellungen noch genauer definieren?
danke im voraus
markus