Forum

Einloggen | Registrieren | RSS  

Kurzzeit-Timer mit Mikrocontroller (Elektronik)

verfasst von bastelix(R), 27.04.2019, 13:33 Uhr

Servus,

» Zur Veränderung der Schaltzeiten wäre ein Widerstand
» ideal, den ich dann an einem 2-poligen Stiftsockel einfach durch Aufstecken
» wechseln kann. Es wäre fein, wenn die Veränderung (Erhöhung) des
» zeitbestimmenden Widerstandes linear mit der Veränderung wäre. Also
» 10-facher Widerstandswert = 10-fache Zeit.
Der ATTiny hat einen 10-Bit-ADC, es werden also die Spannungen zwischen 0 und 5V (sofern du den mit 5V versorgst, weniger geht, mehr nicht) auf Werte zwischen 0 und 1023 abgebildet. Bei der Toleranz der Widerstände und möglicher Messfehler ergibt sich da dann eine gewisse Ungenauigkeit bei der Zeiteinstellung.

Ich habe mal einen Spannungsteiler mit 220k und 1k - 1M (alle Widerstände haben 1% Toleranz) an einem Arduino Nano getestet (hat auch einen 10-Bit-ADC, sollte also auf den ATTiny übertragbar sein). Da gibt es bei der Messung, auch bei drei Messwerten mit einem Abstand von 100ms und dann arithmetischem Mittel, schon gelegentlich Abweichungen, z.B. 3 statt 2 bei 1k (beim gleichen Widerstand). Ich hab dann auch noch 300R und 10R versucht, dabei wurde die Genauigkeit aber nicht merklich besser. Ist wohl zum teil wohl auch dem Steckbrett geschuldet. Da du den Konfigurationswiderstand stecken möchtest wird das wohl auch auf der Platine nicht genauer.

Was ich bei dem 220k-Spannungsteiler am ADC gemessen habe ist folgendes:
1k = 2
2k = 8
10k = 42
100k = 318
1M = 840
Da sieht man schon, dass die Messwerte nicht linear sind.

Mit einer Mapping-Tabelle kann man den 10-Fachen Widerstandswert schon auf den 10-Fachen Zeitwert abbilden. Mapping-Tabelle heißt, dass man im Code für bestimmte Messwerte bestimmte Zeitintervalle hinterlegt. Der Nachteil dabei ist, dass die Tabelle Speicher auf dem µC braucht und um so mehr Einträge die Tabelle hat um so mehr Speicher braucht man. D.h. je feingranularer die Einstellung via Widerstand werden soll, um so mehr Speicher wird benötigt und Speicher ist auf dem µC meistens eher knapp.
Wenn die Intervalle möglichst flexibel eingestellt werden sollen würde ich von einer linearen Einstellung abraten. Bei nur ein paar fest definierten Intervallen kann man das mit der Mapping-Tabelle machen.

Was noch zu beachten ist: Der interne Zeitgeber des µC läuft nach rund 47 Tagen über, d.H. er beginnt wieder bei 0 zu zählen. Wenn der µC so lange am Stück laufen soll muss das im Programm berücksichtigt werden.

Ich hab nochmal kurz nachgeschaut wie genau der interne Zeitgeber ist. Anscheinend ist da eine Abweichung von einer Sekunde pro Stunde nicht unüblich. Wenn die Zeiten genau sein sollen müsste man eine RTC mit Uhrenquarz verwenden und vom µC auslesen lassen.

» Für die Ansteuerung des bistabilen Relais ist nur ein Sekundenimpuls nötig, aber es darf auch ein
» Dauersignal sein, dann kann ich auch "monostabile" Relais verwenden.
Geht beides, kann man sogar beim Compilieren festlegen oder wenn man einen Pin übrig hat sogar zur Laufzeit. (z.B. Pin HIGH bistabiel, Pin LOW monostabil).



Gesamter Thread:

Kurzzeit-Timer mit Mikrocontroller - HDT(R), 24.04.2019, 11:39 (Elektronik)
Kurzzeit-Timer mit Mikrocontroller - xy(R), 24.04.2019, 11:41
Kurzzeit-Timer mit Mikrocontroller - Udo, 24.04.2019, 12:08
Kurzzeit-Timer mit Mikrocontroller - Sel(R), 24.04.2019, 12:38
Kurzzeit-Timer mit Mikrocontroller - matzi682015(R), 24.04.2019, 22:14
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 25.04.2019, 00:01
Kurzzeit-Timer mit Mikrocontroller - matzi682015(R), 25.04.2019, 00:19
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 24.04.2019, 23:59
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 25.04.2019, 11:36
Kurzzeit-Timer mit Mikrocontroller - Udo, 25.04.2019, 19:31
Kurzzeit-Timer mit Mikrocontroller - xy(R), 25.04.2019, 19:34
Kurzzeit-Timer mit Mikrocontroller - Udo, 25.04.2019, 19:38
Kurzzeit-Timer mit Mikrocontroller - xy(R), 25.04.2019, 20:07
Kurzzeit-Timer mit Mikrocontroller - Udo, 25.04.2019, 20:19
Kurzzeit-Timer mit Mikrocontroller - xy(R), 25.04.2019, 22:20
Kurzzeit-Timer mit Mikrocontroller - Udo, 26.04.2019, 08:04
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 27.04.2019, 13:33
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 27.04.2019, 17:05
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 28.04.2019, 11:59
Kurzzeit-Timer mit Mikrocontroller - Udo, 28.04.2019, 12:24
Kurzzeit-Timer mit Mikrocontroller - bigdie(R), 02.05.2019, 14:23
Kurzzeit-Timer mit Mikrocontroller - Udo, 02.05.2019, 14:25
Kurzzeit-Timer mit Mikrocontroller - bigdie(R), 02.05.2019, 18:02
Kurzzeit-Timer mit Mikrocontroller - Udo, 02.05.2019, 18:14
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 02.05.2019, 22:49
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 01.05.2019, 01:19
Kurzzeit-Timer mit Mikrocontroller - bigdie(R), 03.05.2019, 21:13
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 04.05.2019, 00:12
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 08.05.2019, 23:34
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 21.07.2019, 09:10
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 22.07.2019, 01:08
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 24.07.2019, 08:27
Kurzzeit-Timer mit Mikrocontroller - Waldi(R), 24.07.2019, 08:57
Kurzzeit-Timer mit Mikrocontroller - xy(R), 24.07.2019, 13:06
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 25.07.2019, 09:36
Kurzzeit-Timer mit Mikrocontroller - xy(R), 25.07.2019, 10:58
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 24.07.2019, 14:38
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 25.07.2019, 00:40
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 25.07.2019, 09:19
Kurzzeit-Timer mit Mikrocontroller - Waldi(R), 25.07.2019, 06:26
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 25.07.2019, 09:34
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 25.07.2019, 00:28
Kurzzeit-Timer mit Mikrocontroller - HDT(R), 25.07.2019, 09:51
Kurzzeit-Timer mit Mikrocontroller - bastelix(R), 30.07.2019, 23:45