Forum: Mikrocontroller und Digitale Elektronik 3-Kanal Soft-PWM mit ATtiny10


von Mark K. (markkruetzmann)


Angehängte Dateien:

Lesenswert?

Hallo Forum!

Ich bastle zur Zeit an einem kleinen Weihnachts-Projekt, bei dem 3 mal 2 
LEDs mittels eines ATtiny10 einzeln heller und dunkler gedimmt werden 
sollen. Konkret geht es um mit Knopfzellen CR1216 betriebene Ohrringe.
Einzeln blinken lassen kann ich die Teile, aber ich möchte eben eine Art 
pulsierendes Dimmen auf drei Kanälen erreichen. Auf zwei Kanälen ist 
das dank des internen Hardware-PWM-Moduls sogar mir möglich, für den 
dritten Kanal muss ich aber eine Implementierung in Software schreiben. 
Im angehängten Code habe ich versucht, den "zweiten Versuch" von hier
https://www.mikrocontroller.net/articles/Soft-PWM
mit weniger PWM-Frequenz und -Auflösung in einen 1MHz ATtiny zu 
implementieren. Erst mal mit vorgeschriebenen PWM-Werten, um das 
Fehlerrisiko zu minimieren.

Was passiert ist aber folgendes: Die Pins PB0, PB1 und PB2 gehen auf low 
und alle LEDs leuchten mit voller Leuchtkraft (sind active low).

Ich kann und möchte stumpfe Fehler nicht ausschließen, komme hier aber 
nicht mehr weiter. Offenbar initialisiert der Prozessor die Pins als 
Ausgänge, geht standardmäßig auf low und verbleibt dann da, weil er nie 
in die ISR kommt. Entweder läuft der Timer nicht an oder der Interrupt 
wird aus anderen Gründen nicht aufgerufen.
Im angehängten Code läuft der Timer mit noch höherem Prescaler (64 
glaube ich), das war eine meiner Testmaßnahmen, weil ich nicht weiß, ob 
der Timer-Takt der Systemtakt ist (also 1MHz) oder der Takt des internen 
Oszillators (8MHz).

Edit: Hier das verwendete Datenblatt:
http://ww1.microchip.com/downloads/en/DeviceDoc/atmel-8127-avr-8-bit-microcontroller-attiny4-attiny5-attiny9-attiny10_datasheet.pdf

: Bearbeitet durch User
von Nikolaus (Gast)


Lesenswert?

Fehlt da nicht am Ende von main eine Endlosschleife?

von Mark K. (markkruetzmann)


Lesenswert?

Tatsache. Ich wusste, es war was einfaches!

Vielen Dank! Dann kann ich ja jetzt ans Optimieren gehen.

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.