PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Timer



sparky
06.05.2004, 16:31
Hallo,
ich wollte nun auch mal einen Timer für mein Belichtungsgerät bauen. Herausgekommen ist dabei das folgende Programm.
Ich habe drei Taster, um Sekunden, Zehnsekunden und Minuten einzustellen. Mit dem vierten Taster kann man den Timer starten und stoppen. Ein Schaltausgang wird dabei auch immer Ein/Ausgeschaltet.

Leider ist der Timer auf 10min. 1 Sekunde zu schnell. Das ist mir zwar völlig egal, aber wenn ich mal eine Uhr Programmieren will, ist das natürlich zu viel. Die Zeitbsasis stammt aus dem Wecker Programm vom ProgStudio und ist meiner Meinung nach auch richtig.

Also sucht bitte den/die Fehler. Ihr dürft euch richtig über das Programm auslassen.:D

Mfg,
Kurt

sparky
06.05.2004, 16:41
Und hier noch ein Foto:
Die Platine ist 45x60mm doppelseitig.

MacSeck
07.05.2004, 10:20
Ersetze einen der 20pF Kondensatoren am Quartz durch einen Trimmer, damit du den Quartz passend ziehen kannst. 1s auf 10min, das kann man trimmen. Wird bei jeder Uhr auch so gemacht. Quartze haben eben auch Toleranzen.:)

Steffen
07.05.2004, 11:03
Anstreben tust Du ein Zeitinterwall von 50ms. Wenn der Quarz genau ist, dann passt das mit 50.000-->Timer 0. Dei Quarz läuft allerdings etwas zu schnell.

601s = 600.000.000 Maschinenzyklen --> Takt (Timer0) =1,00166666666MHz und nicht 1,0MHz

Also musst Du Timer0 mit 50.000/1.001666666=49.917 laden und deine Belichtungsuhr sollte relativ genau gehen.

Steffen

sparky
07.05.2004, 14:12
Ok, danke für die Tips.
Dann werde ich mal den Relaodwert korrigieren.
Ihr dürft aber weiterhin Verbesserungsvorschläge machen.
Mfg,
Kurt

Holger
08.05.2004, 20:32
Hi,
habe mal dein Prog kurz überflogen. Als wichtigstes ist mir aufgefallen, dass du zwischendurch den Timer stoppst, so kannst du natürlich keine genauen Reloadwerte erhalten und die Uhr läuft langsamer. Weiters hast du Sprungbefehle drin, zu denen das Ziel fehlt. Musst noch mal überarbeiten! :o

sparky
08.05.2004, 22:44
Hallo Holger,
wie ich gerade erst bemerkt habe, habe ich die Orginal Beispielroutine hochgeladen, und nicht mein Programm.
Also bitte nochmal fliegen.:D
Den Timer kann ich zwar immer noch stoppen, aber diese Ungenauigkeit ist akzeptabel. (Die UV Röhren brauchen ja auch Zeit zum Zünden...)
Und in einer 24h Uhr werde ich natürlich keine Stoppfunktion einbauen.
Mfg,
Kurt

Holger
09.05.2004, 21:40
Hi,
so auf die Schnelle kann ich erst mal keinen Fehler finden, zumindest keinen groben. Einfach testen, dann wirst schon sehn, was es macht. "Debuggen" halt. Viel Spaß!

MacSeck
10.05.2004, 01:47
@Sparky: "Die UV-Röhren brauchen auch Zeit zum Zünden..."

Den Platinen ist es sowas von egal, ob 3ms mehr oder weniger, da kann Dein Timer gut eine Minute nachgehen, das läuft dann immer noch brauchbar.
Voraussetzung: Top Material und passende Chemie: BUNGARD halt.
Das funktioniert bei mir "nach gut Dünken" problemlos, auf eine Zigarettenlänge
+/- 3ms!!! :) :)

sparky
10.05.2004, 12:39
@Sparky: "Die UV-Röhren brauchen auch Zeit zum Zünden..."

Den Platinen ist es sowas von egal, ob 3ms mehr oder weniger...
Das wollte ich damit auch sagen. Nur wenn ich schon einen Timer baue, dann soll er auch genau sein.
Mfg,
Kurt