moin! Ich würde gerne eine LED dimmen mit Bascom. Leider hab ich noch keine Erfahrung mit PWM. Nun hab ich mal im RN-wissen ein Beispielprogramm angeschaut und nicht ganz verstanden... Trotzdem hab ichs mal auf meinen ATmega32 geladen und probiert eine LED über einen Transistor zu dimmen. Hier mein Programm: $regfile = "m32def.dat" $crystal = 1600000 Config Portb.1 = Output Config Portb.2 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Do Compare1a = 205 Compare1b = 51 Loop End
Hallo KL203 Du setzt einen Atmega32 ein. Hier sind die PWM-Ausgänge von Timer 1 an Pin 18 (PD4 / OC1B) und Pin 19 (PD5 / OC1A) und NICHT an Port B1 und B2 (=Atmega8). Das solltest Du zuerst hardware- und software-seitig korrigieren. In der Schleife: Do Compare1a = 205 Compare1b = 51 Loop stellst Du das Tastverhältnis der beiden PWM-Kanäle ein. Bitte den Prescale-Faktor nicht vergessen und entsprechend anpassen. Steht aber alles in der Bascom-Hilfe, im RN-Wissen und in den Atmega-Datenblättern ;-) Gruß vom Guselwusel
hallo gruselwusel7! Aha! OK Danke für die Antwort! Der den Prescale hab ich doch initialisiert. Oder muss ich den nochmals initialisieren? Gruss
Hi Falls mit 'Mode=8' der PWM-Mode gemeint ist, solltest du auch ICR1 initialisieren. Das ist nämlich der Zählbereich deines Timers. MfG Spess
Hi!
> Der den Prescale hab ich doch initialisiert.
Stimmt! Prescale wird eingestellt = passt.
8bit-PWM ist eingestellt, ICR1 muss bei Bascom nicht initialisiert
werden (Bascom = Blackbox-Programmierung).
Wünsche gutes Gelingen.
Bitte um Feedback, ob alles funktioniert.
Gruselwusel
Schau mal unter [[http://www.mcselec.com/index.php?option=com_content&task=view&id=244&Itemid=57]]. Da gibts einen 8-Kanal-Dimmer für LEDs, und das ganze mit normalem Timer. Wenn du mehrere LEDs dimmen möchtest, ist das imho der bessere Weg. So lassen sich z.B. auch mehrere Servos gleichzeitig ansteuern.
Hi, Danke für den Link. Danke für eure Hilfe es funktioniert nun! Liebe Grüsse!
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.