Melodiegenerator mit Tiny15 für Batteriebetrieb...

Nachdem innerhalb einiger Tage der Akku (4xNiCd 900mAh) der Testschaltung dieses Projekts leer war, war ich der Ansicht, dass man dagegen etwas tun muss. Die Ruhestromaufnahme muss drastisch gesenkt werden.

Das Aufwecken aus dem Power-Down-Mode über den Pinchange-Interrupt gelang (erstmal) nicht, obwohl es laut Datenblatt eigentlich gehen müsste. Daher strickte ich das Teil so um, dass es nur noch einen Klingeltaster gibt, der auch noch an Reset angeschlossen wird. Um nun die 4 freien I/Os nicht zu verschenken, habe ich Jumper (gegen GND) vorgesehen, mit denen man eine von 4 Melodien auswählen kann (2 Jumper) und Tempo und Tonhöhe umschalten kann. Dabei wurden die internen PullUp-Widerstände (die ja eigentlich Transistoren sind) verwendet.

Das Programmkonzept ist nun völlig anders:

Beim Einschalten oder Reset (durch den Taster) wird das Programm:

Das Programm besteht aus drei Funktionsblöcken:

Es belegt jetzt 176 Bytes (88 Words) Programmspeicher und hat noch Platz für 423 Noten-Datensätze (inklusive Ende-Markierungen und Pausen). Der momentane Quelltext belegt den Flash zu knapp 50%.

Schaltung

Der AVR liegt direkt an dem 4,8V-NiCd-Akku, Elko und 100nF-Kerko verringern den differenziellen Innenwiderstand der Spannungsquelle. Der Klingeltaster wurde mit einem niederohmigen PullUp versehen. Bei längerer Leitung empfiehlt sich noch ein Kondensator zur Unterdrückung von Störungen. Reset selbt ist mit einem etwas hochohmigeren Widerstand angeschlossen, damit der Programmer beim ISP-Update nicht behindert wird. Beim Update ist auch darauf zu achten, dass die DIP-Schalter (oder Jumper) an PB0 und PB1 geöffnet sind und der Lautsprecher abgeklemmt ist, ansonsten kann der Programmer die erforderlichen Pegel nicht (oder nicht schnell genug) erreichen.

Aufgrund des Feedbacks habe ich nochmal über die Erhöhung der Lautstärke nachgedacht. Da kämen ja einige NF-PA-Schaltkreise in Betracht, die allerdings auch den Ruhestrom der Schaltung erhöhen würden. Deshalb habe ich diesen Gedanken schnell wieder verworfen. Eigentlich wird ja nur die Endstufe gebraucht, der AVR-Ausgang genügt ja völlig als Treiber. Auch HiFi-Qualität ist nicht gefordert, ein hoher Klirrfaktor verändert ja nur die Klangfarbe des Sounds, das stört aber nicht, da keine Sprache ausgegeben wird. Ich probierte deshalb einen einfachen komplementären Emitterfolger mit BC327 im Lowside-Zweig und BC337 im Highside-Zweig und erhöhte die Kapazität des Ausgangs-Koppelelkos auf 470µF. Nun konnte auch ein größerer Lautsprecher mit einer Impedanz von 8 Ohm eingesetzt werden. Die Lautstärke ist drastisch gestiegen, die Stromaufnahme während des Abspielens der Melodie aber auch. Die Ruhestromaufnahme hat sich aber nicht erhöht, und das war ja Voraussetzung für Batteriebetrieb. Da der Akku nun etwas höher belastet wird, habe ich auch den parallel zum Akku angeordneten Eklo auf 2200µF erhöht.

Und auf dem Steckbrett sieht es nun so aus:

Der ovale Lautsprecher hat eine Korbgröße von 156 x 100 mm und macht ganz schön Lärm.

Ein NiMH-Akku ist übrigens nicht so gut geeignet, da er eine bedeutend höhere Selbstentladung hat.

Da die Lautstärke nun recht nervig geworden ist, wurden noch einige kleine Änderungen erforderlich. Dies ist in in Variante 3 ein Stop-Taster zum Abbrechen einer laufenden Melodie sowie die Überwachung des Akkus und ein akustisches Alarmsignal bei leer werdendem Akku...