www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom PWM


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: guenter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hans

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

bei Fragen bitte melden

Günter

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: guenter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: guenter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
siehe BASCOM-Beschreibung

muss jetzt leider weg...

melde mich später nochmal, falls noch Fragen sind

Günter

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann in der Hilfe leider nichts finden

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fast nichts

Autor: guenter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hans (Gast)
Datum:

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

Vielen Dank nochmal

Autor: guenter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stangl Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

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


Gruß Sven

Autor: HansHans (Gast)
Datum:

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

Gruss HansHans

Autor: o_jee (Gast)
Datum:

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

Autor: ThomasB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: o_jee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe Demoversion, hab mir mal das Neueste geladen.

Autor: Gottfried Bremer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.