Forum: Mikrocontroller und Digitale Elektronik Bascom PWM


von Hans (Gast)


Lesenswert?

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

von guenter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Hans

Anbei ein BASCOM-Programm für einen ATmega162, der 4 PWM-Ausgänge
hat

bei Fragen bitte melden

Günter

von Hans (Gast)


Lesenswert?

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 ?

von guenter (Gast)


Lesenswert?

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

von Hans (Gast)


Lesenswert?

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 ?

von guenter (Gast)


Lesenswert?

siehe BASCOM-Beschreibung

muss jetzt leider weg...

melde mich später nochmal, falls noch Fragen sind

Günter

von Hans (Gast)


Lesenswert?

Ich kann in der Hilfe leider nichts finden

von Hans (Gast)


Lesenswert?

fast nichts

von guenter (Gast)


Lesenswert?

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

von Hans (Gast)


Lesenswert?

Vielen Dank für deine Hilfe.Ich glaube ich habe die komplexität des
Sachverhaltes unterschätzt.

Vielen Dank nochmal

von guenter (Gast)


Lesenswert?

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

von Hans (Gast)


Lesenswert?

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

von Stangl Thomas (Gast)


Lesenswert?

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

von Sven (Gast)


Lesenswert?

Hallo Thomas,

doch, müßte in der auswahl Liste der letzte Controller sein (M162)...


Gruß Sven

von HansHans (Gast)


Lesenswert?

Hallo,
den M162 ist in Version 1.11.7.4 drinnen
bei der 1.11.7.1 nicht

Gruss HansHans

von o_jee (Gast)


Lesenswert?

und was hab ich?
natürlich die version ohne M162.
gibt es einen patch? update oder so verfügbar?
wer hat erfahrungen

von ThomasB (Gast)


Lesenswert?

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.

von o_jee (Gast)


Lesenswert?

habe Demoversion, hab mir mal das Neueste geladen.

von Gottfried Bremer (Gast)


Lesenswert?

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?

von Sven (Gast)


Lesenswert?

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

von Markus (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.