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
Hallo Hans Anbei ein BASCOM-Programm für einen ATmega162, der 4 PWM-Ausgänge hat bei Fragen bitte melden Günter
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 ?
siehe BASCOM-Beschreibung muss jetzt leider weg... melde mich später nochmal, falls noch Fragen sind Günter
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
Vielen Dank für deine Hilfe.Ich glaube ich habe die komplexität des Sachverhaltes unterschätzt. Vielen Dank nochmal
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 Thomas, doch, müßte in der auswahl Liste der letzte Controller sein (M162)... Gruß Sven
Hallo, den M162 ist in Version 1.11.7.4 drinnen bei der 1.11.7.1 nicht Gruss HansHans
und was hab ich? natürlich die version ohne M162. gibt es einen patch? update oder so verfügbar? wer hat erfahrungen
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.