Forum: Projekte & Code Kurzzeittimer (z.B. für Platinenbelichter)


von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

Moin,

als Followup zu meinen Beitrag "LED Display NSM4202" kommt 
hier das Projekt für das ich das LED-Display verwende: ein digitaler 
Kurzzeittimer, in meinem Fall vorgesehen zur Steuerung des im Bau 
befindlichen Platinenbelichters.

Eckdaten: Zeitauflösung 1 sec. Maximum 99:59 min, weniger kann im 
Quellcode eingestellt werden (in der angehängten Version: 30:00 min). 
Schaltausgang ist ein 5V CMOS Pin. Der eingestellte Wert kann im EEPROM 
abgespeichert werden und steht dann nach dem nächsten Einschalten sofort 
zur Verfügung.

Zur Bedienung gibt es einen Encoder (Alps EC11E, 30 Rastungen mit 
Button), ein Display im Format 88:88 und 3 Status-LED, die die 3 
Betriebszustände anzeigen. Der Encoder hat ein Beschleunigungsverhalten, 
so daß man auch längere Zeiten relativ bequem einstellen kann.

Funktion. Es gibt wie gesagt 3 grundlegende Betriebszustände:

Bereit - grüne LED. In diesem Zustand kann durch Drehen am Encoder die 
Zeit verändert werden. Mit einem kurzen Tastendruck statet der Timer, 
mit einem langen Tastendruck (1 Sekunde oder mehr) wird die eingestellte 
Zeit im EEPROM gespeichert und der Zustand wechselt auf Fertig.

Läuft - gelbe LED. Jetzt ist der Schaltausgang aktiviert und die Zeit 
läuft sekundenweise herunter. Nach dem Ablauf der Zeit oder nach einem 
Tastendruck wechselt der Zustand zu Fertig. Falls abgebrochen wurde, 
bleibt der aktuelle Zählerstand erhalten.

Fertig - rote LED. Ein Tastendruck schaltet zurück auf Bereit. Falls 
der Zähler abgelaufen war, wird die Zeit bei der gestartet wurde wieder 
hergestellt.

Als Hardware-Basis dient ein AT90S2313, der hier noch herumflog. Im 
Flash sind 1360 von 2048 Bytes belegt, im RAM 45 von 128 Bytes.

Das angehängte tar.gz enthält Quellcode, Makefile, Schaltplan und Board. 
Ein Foto von der Unterseite der Platine ist bei o.g. Thread zum Display 
zu finden.


XL

: Verschoben durch User
von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

hier kommt ein Firmware-Update. Wesentliche Neuerung ist ein akustischer 
Alarm mit mit einem Piezo-Buzzer, angeschlossen an PD3/PD5. Der 
akustische Alarm kann ein/ausgeschaltet werden (gemerkt im EEPROM)

Zusätzliche Bedienfunktion: wenn die eingestellte Zeit != 0:00 ist, dann 
führt ein langer Druck wie bisher zum Abspeichern der Zeit im EEPROM. 
Wenn die Zeit hingegen 0:00 ist, dann führt ein kurzer Tastendruck zur 
Anzeige des Alarmstatus. Ein langer Druck wechselt zwischen "Alarm an" 
und "Alarm aus" und speichert die Einstellung im EEPROM.


XL

von Falk B. (falk)


Lesenswert?

Sollte man vielleicht besser in die Codesammlung verschieben.

von Zeitnehmer (Gast)


Lesenswert?

Hallo,

danke für die Veröffentlichung :-)
wenn die Zeit und Lust hast wäre es zumindest für die "totalen" Anfänger 
nützlich wenn du das Progrogramm an einen ATiny 2313 (oder ähnliches) 
anpassen kannst - die se sind mittlerweile leichter und billiger zu 
bekommen.

Alles kein großes Problem für jemanden der schon etwas Erfahrung hat, 
aber ich kann mich noch gut an die Zeiten erinnern an den ich froh war 
das ich es mit hilfe einer genauen Beschreibung geschafft habe den µC 
(AVR) mit den hex File zu brennen und die Fuses zu übernehmen (ohne 
genau zu wissen wozu diese gut sind).
Also wenn du lust und Zeit hast... ;-)


Zeitnehmer

von kritiker (Gast)


Lesenswert?

Die Dioden hinter dem Netzteil sind verpolt (+/-)tauschen.

von Axel S. (a-za-z0-9)


Angehängte Dateien:

Lesenswert?

Moin,

kritiker schrieb:
> Die Dioden hinter dem Netzteil sind verpolt (+/-)tauschen.

Danke für den Hinweis. Ich habe es geändert und auch im ersten Teil des 
Schaltplans den Piezo-Buzzer nachgetragen.

Zeitnehmer schrieb:
> wenn die Zeit und Lust hast wäre es zumindest für die "totalen" Anfänger
> nützlich wenn du das Progrogramm an einen ATiny 2313 (oder ähnliches)
> anpassen kannst - die se sind mittlerweile leichter und billiger zu
> bekommen.

Keine schlechte Idee. Die neue Firmware V1.2 (im Anhang) erlaubt jetzt 
die Verwendung des ATtiny2313 durch die Änderung einer einzigen Zeile im 
Makefile.

Von dritter Seite gab es Gemaule, weil ich das Firmware-Archiv als 
.tar.gz verpackt habe. Da das auch nur eine Zeile im Makefile ist, habe 
ich es jetzt zu .zip geändert. Hoffentlich kommen jetzt auch 
Windows-Legastheniker damit zurecht :P


XL

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.