Gast
#5487129
Hallo, ich baue gerade einen IR-Transmitter mit einem ATmega328P auf. Dieser soll natürlich möglichst stromsparend arbeiten, da er mit Batterien betrieben wird. Nun habe ich es bereits geschafft, einen Sleep-Modus zu integrieren, der auch ziemlich gut wirkt (nur 0.11µA Verbrauch). Während des Sendens ist der Verbrauch allerdings mit 2mA recht hoch. Ich hatte deswegen auch schon den 128kHz Oszillator aktiviert, was zu einer deutlichen Verbesserung geführt hat. Leider kommt IRSND nicht damit klar. Schuld daran ist die Berechnung für die 38kHz-Modulation: 128000/38000/2-1=0.6 -> 0 Nun habe ich dann 1MHz wieder aktiviert. Jetzt passt alles und alle Timer können entsprechend eingestellt werden. Nur: die Impulslängen stimmen irgendwie nicht. So müsste es aussehen (von fertiger NEC-Fernbedienung): siehe SOLL Und so sieht es mit 1MHz aus: siehe IST Mit 8MHz funktioniert es jedoch einwandfrei und die Impulslängen stimmen. Ich nutze einen 10kHz-Interrupt für irsnd_ISR() und habe das auch entsprechend eingestellt.
1 | |
2 | |
3 | |
4 | |