Forum: Mikrocontroller und Digitale Elektronik Quarzstabiler Sekundentakt und Entprellen mit tiny13


von Martin (Gast)


Lesenswert?

Hi,

ich möchte einen kleinen, batteriebetriebenen Sekunden-Timer bauen, der 
gelegentlich auch mal piept (2.4kHz Rechteck heisst mit 4.8KHz toggeln).

Ich möchte einen tiny13 benutzen. Ich programmiere in C.

Für Tondauer und zur Entprellung bräuchte ich auch einen Timer-Interrupt 
in der Größenordnung 10ms.

Für einen genauen Sekundentakt soll ein Quarz verwendet werden.

Da ausser ein paar Softwaretimern praktisch nix gerechnet wird, suche 
ich den kleinstmöglichen Takt.

Reicht da auch ein Uhrenquarz?

von 3355 (Gast)


Lesenswert?

Datenblatt des Tiny13 ..

von Martin (Gast)


Lesenswert?

Hi,

im datenblatt steht nix von Uhrenquarz oder low-frequency oscillator - 
geht es also nicht?

von Andreas K. (a-k)


Lesenswert?

Da ein Tiny13 keinen direkten Quarzanschluss unterstützt, müsstest du 
einen externen 32KHz-Oszillator bauen. Das geht zwar, aber da es auch 
8bit-Tinys mit direktem Quarzanschluss gibt (z.B. Tiny25, auch 
Uhrenquarz), erscheint mir das nicht wirklich sinnvoll.

Die 2,4KHz kriegt man bei dieser Quarzfrequenz allerdings nicht genau 
hin.

von Martin (Gast)


Lesenswert?

Hoppla, ich bin davon ausgegangen, dass alle auch einen Quarz vertragen. 
Dann wird es ein tiny25. Danke für das Augenöffnen!

von Mike J. (Gast)


Lesenswert?

Beim entprellen setze ich auf eine Hard/Soft-Kombination.
Ich würde es mit einem RC Tiefpass und dem hier machen.
http://www.mikrocontroller.net/articles/Entprellung/

von Martin (Gast)


Lesenswert?

Es gibt eine zum Thema passende AN:
AVR055: Using a 32kHz XTAL for run-time calibration of the internal RC

Allerdings verstehe ich nicht, wo die den Quarz anschließen.

Aber: Wenn 32kHz als Takt für meine Anwendung reichen, wäre ich 
höchstzufrieden! Ich vermute es geht, was meint ihr?

von AVRFan (Gast)


Lesenswert?

>Wenn 32kHz als Takt für meine Anwendung reichen, wäre ich
>höchstzufrieden! Ich vermute es geht, was meint ihr?

Das hängt von den genauen Aufgaben ab, die Deine Applikation bewältigen 
soll.  Bei 32 kHz und 10 ms Updateintervall stehen Dir nach Adam Riese 
320 Taktzyklen fürs Rechnen zur Verfügung.  Das ist nicht umwerfend 
viel.  Aber wenn Du z. B. alle Variablen in Registern halten kannst (d. 
h. ohne den SRAM auskommst) und Deinen Code clever proggst... - probiers 
doch einfach aus.

von Andreas K. (a-k)


Lesenswert?

Martin wrote:

> Allerdings verstehe ich nicht, wo die den Quarz anschließen.

Damit sind die grösseren Kollegen gemeint, Mega8 aufwärts, bei denen 
einer der Timer mit eigenem Quarz als RTC arbeiten kann.

von Peter D. (peda)


Lesenswert?

AVRFan wrote:

> soll.  Bei 32 kHz und 10 ms Updateintervall stehen Dir nach Adam Riese
> 320 Taktzyklen fürs Rechnen zur Verfügung.

Der Entprellinterrupt muß nichts rechnen (nur etwas AND und OR), das 
paßt schon.

Den Rest macht man in der Mainloop.
Und den Ton mit dem 2. Timer (PWM oder Pin-Toggle).


Peter

von Martin (Gast)


Lesenswert?

Ah, sehr schön, danke für die Bestätigung. Ich probier das mal.

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.