Forum

Einloggen | Registrieren | RSS  

xy(R)

E-Mail

26.04.2019,
10:15

@ Udo

Kurzzeit-Timer mit Mikrocontroller

» » » Also bringt ihm das nix.
» »
» » Bringt ihm sowieso alles nichts, er kann ja keinen µC programmieren.
»
» Deswegen sucht er ja jemandem der ihm das programmiert.
» Machen kann ich sowas aber nicht umsonst.

Deshalb muss er nehmen was kommt.

HDT(R)

E-Mail

26.04.2019,
13:25

@ xy

Ne..., bringt jetzt wirklich nichts mehr. :-)

» » » » Also bringt ihm das nix.
» » »
» » » Bringt ihm sowieso alles nichts, er kann ja keinen µC programmieren.
» »
» » Deswegen sucht er ja jemandem der ihm das programmiert.
» » Machen kann ich sowas aber nicht umsonst.
»
» Deshalb muss er nehmen was kommt.

1. geht es hier gar nicht mehr um 7-Sement oder sonstige Anzeigen, sondern hier geht es um einen Kurzzeit-Timer.
2. Der Mikrocontroller-Typ wird von mir NICHT vorgegeben. Ich lasse mich da beraten.
3. Die Ansteuerung per Widerstand wird von mir auch NICHT vorgegeben. Ich lasse mich auch da beraten.
4. "Umsonst" kommt für mich sowieso nicht in Frage. Wer sich aus Hobbygründen damit beschäftigt, kann es tun und es freut mich. Wer sich aber für seine Arbeit, wenn er sie für mich macht, nicht (angemessen) bezahlen läßt, tut mir keinen Gefallen.

Ich hoffe, wir kriegen die Kurve nochmal zum Eingangsthema zurück. :-D

Danke
HDT

Udo

26.04.2019,
13:44

@ HDT

Ne..., bringt jetzt wirklich nichts mehr. :-)

Und wieviel Zeiten willst du auswählen ?
Sind die Zeiten fest ? Wenn nicht brauchst du eine
Anzeige die dir die Zeit anzeigt, die ausgewählt wird.
Soll die Zeit variable ausgewählt werden, so kommst du
um einen Controller plus Anzeige und Eingabe nicht
herum. Wenn nur einige Zeiten fest eingestellt werden
sollen, so geht es ohne Anzeige und mit etwas Aufwand
sogar ohne Controller.

HDT(R)

E-Mail

27.04.2019,
07:52

@ Udo

Ne..., bringt jetzt wirklich nichts mehr. :-)

» Und wieviel Zeiten willst du auswählen ?
» Sind die Zeiten fest ? Wenn nicht brauchst du eine
» Anzeige die dir die Zeit anzeigt, die ausgewählt wird.
» Soll die Zeit variable ausgewählt werden, so kommst du
» um einen Controller plus Anzeige und Eingabe nicht
» herum. Wenn nur einige Zeiten fest eingestellt werden
» sollen, so geht es ohne Anzeige und mit etwas Aufwand
» sogar ohne Controller.


Nein, ich will nur das, was ich eingangs beschrieben habe.
Nichts anderes!

Schaltungen ohne Mikrocontroller habe ich satt hier bei mir zur Verfügung.
Entschuldigt bitte alle, wenn es "zu einfach" ist. Es tut mir auch leid, wenn das "keine Herausforderung" ist. Aber es soll wirklich nur das sein.
Kommt mir bitte nicht mit "Anzeige der Zeit" und allen möglichen Erweiterungen. Ich will das nicht, weil ich das nicht brauche. Vor allem hab ich keinen Platz dafür auf der Platine.

Macht doch einfach mal einen Vorschlag mit einem Wald- und Wiesen-Controller, der ein Relais im 5-Minuten Takt ein- und ausschaltet. Vielleicht auch ein Mikrocontroller mit einem Quarz drin. Die Schaltzeit zu verdoppeln oder zu vervielfachen wird dann bestimmt kein Problem sein.

Udo

27.04.2019,
10:16

@ HDT

Ne..., bringt jetzt wirklich nichts mehr. :-)

Du mußt schon genau beschreiben was du haben willst.
Was heist nicht viel Platz wieviel Platz ist vorhanden ?
Was für eine Spannung steht zur verfügung ?
Batterie, Netzteil, was für ein Netzteil wenn es eins ist ?
Genaue Maße, Länge, Breite, Höhe des Platzes was zur verfügung steht.
Willst du alles Hardwaremäßig selber machen und du brauchst nur die Software ?
SMD oder keine SMD Bauteile. usw.
Also jede menge Fragen wo du nicht drauf eingehst.
So kann man dir nichts empfehlen.
Man kann einen PIC 12F675 nehmen. Aber das ist ins blaue getippt, da ich nicht genau
weis was du genau willst.

Udo

27.04.2019,
10:51

@ Udo

Ne..., bringt jetzt wirklich nichts mehr. :-)

» Du mußt schon genau beschreiben was du haben willst.
» Was heist nicht viel Platz wieviel Platz ist vorhanden ?
» Was für eine Spannung steht zur verfügung ?
» Batterie, Netzteil, was für ein Netzteil wenn es eins ist ?
» Genaue Maße, Länge, Breite, Höhe des Platzes was zur verfügung steht.
» Willst du alles Hardwaremäßig selber machen und du brauchst nur die
» Software ?
» SMD oder keine SMD Bauteile. usw.
» Also jede menge Fragen wo du nicht drauf eingehst.
» So kann man dir nichts empfehlen.
» Man kann einen PIC 12F675 nehmen. Aber das ist ins blaue getippt, da ich
» nicht genau
» weis was du genau willst.

Hinzu kommt noch, wie genau sollen die Zeiten eingehalten werden ?
Um was für eine Zeit geht es ? Im Minuten Bereich oder auch Stunden ?
Was für ein Relais soll geschaltet werden ?
Sollten irgendwo in einem Beitrag von dir schon einmal eine Frage beantwortet worden
sein, so mach mal einen Thread wo alles zusammen gefasst ist, was deine Bedinngungen sind.
Ich durchsuche jetzt hier nicht alles nochmal, dafür ist es zu undurchsichtig geworden.
Beantworte die Fragen die ich dir gestellt habe und ergänze das nun mit deinen Vorstellungen
was du haben willst.
Dann kann man dir auch genau sagen was du brauchst und ob ich sowas entwickeln werde.

bastelix(R)

27.04.2019,
13:33

@ HDT

Kurzzeit-Timer mit Mikrocontroller

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).

HDT(R)

E-Mail

27.04.2019,
14:08

@ Udo

Ne..., bringt jetzt wirklich nichts mehr. :-)

» » Du mußt schon genau beschreiben was du haben willst.
» » Was heist nicht viel Platz wieviel Platz ist vorhanden ?
» » Was für eine Spannung steht zur verfügung ?
» » Batterie, Netzteil, was für ein Netzteil wenn es eins ist ?
» » Genaue Maße, Länge, Breite, Höhe des Platzes was zur verfügung steht.
» » Willst du alles Hardwaremäßig selber machen und du brauchst nur die
» » Software ?
» » SMD oder keine SMD Bauteile. usw.
» » Also jede menge Fragen wo du nicht drauf eingehst.
» » So kann man dir nichts empfehlen.
» » Man kann einen PIC 12F675 nehmen. Aber das ist ins blaue getippt, da ich
» » nicht genau
» » weis was du genau willst.
»
» Hinzu kommt noch, wie genau sollen die Zeiten eingehalten werden ?
» Um was für eine Zeit geht es ? Im Minuten Bereich oder auch Stunden ?
» Was für ein Relais soll geschaltet werden ?
» Sollten irgendwo in einem Beitrag von dir schon einmal eine Frage
» beantwortet worden
» sein, so mach mal einen Thread wo alles zusammen gefasst ist, was deine
» Bedinngungen sind.
» Ich durchsuche jetzt hier nicht alles nochmal, dafür ist es zu
» undurchsichtig geworden.
» Beantworte die Fragen die ich dir gestellt habe und ergänze das nun mit
» deinen Vorstellungen
» was du haben willst.
» Dann kann man dir auch genau sagen was du brauchst und ob ich sowas
» entwickeln werde.

Ja einverstanden!
Da Du den PIC12F675 erwähnst, und mir das überhaupt nichts sagt, möchte ich jetzt auch den dazu verwenden. Er wird in DIL8 und SMD angeboten und ich beschaffe mir von beiden ein paar.
https://www.reichelt.de/mcu-picmicro-1-75-kb-20-mhz-dip-8-pic-12f675-i-p-p44988.html?&trstct=pos_1
https://www.reichelt.de/mcu-picmicro-1-75-kb-20-mhz-so-8-pic-12f675-i-sn-p44997.html?&trstct=pos_2

Mit dem DIL8 fange ich auf dem Steckboard an. An den Ausgang soll zunächst nur eine LED, die an und aus geht.


Zu Deinen Fragen:
1. Platz: Das ist alles offen. ich rücke das dann später schon zusammen.
2. Spannung: Labornetzteil. Und ich denke 5 Volt sollten eingestellt werden.
3. Das bißchen Hardware mache ich selber. Wenn es erst läuft, mache ich es als SMD-Version auf einen Adapter im DIL8-Format (auch wenn es rundum dann etwas übersteht). Mit dem kann man dann auch auf dem Steckboard arbeiten. Also "Ja, ich brauche nur die Software". Aber die müßte auf meine Hardware programmiert werden oder ich muß den Prototypen des PIC fertig programmiert bekommen. Und natürlich brauche eine erste Anweisung/Schaltplan, für den Grundaufbau.
4. Zeiten: Als Kürzeste Laufzeit zum Testen wären z.B. 10 Sekunden nicht schlecht, Ansonsten in 5 Minuten Abständen wählbar. Also 5 Minuten, 10 Minuten... bis 60 Minuten.
Die Frage ist, wie kann man Zeiten von außen ändern? Ideal wäre, wenn die Software einen Widerstandswert (externer Widerstand) als Basis für eine Grundzeit nimmt und bei z.B. 10-facher Größe des Widerstandes dann die Schaltzeit um dem Faktor 10 erhöht. Also in 10-er Schritten. Dann wäre nur ein Widerstand zum Einstellen nötig. Der Mikrocontroller unterscheidet also, ob es z.B. 1k, 10k oder 100k sind. Ist das möglich? (was er dann bei Zwischenwerten macht, ist mir völlig egal, weil ich keine Zwischenwerte verwenden werde)
5. Genauigkeit: Ist gar kein Thema, wenn es um 1 Prozent geht. Es wird kein Projekt für die Raumfahrt. :-) (Mein Problem mit den ICM7555-Schaltungen ist, daß es dabei Abweichungen von 10 Prozent oder mehr gibt.)
6. Eine Resetfunktion wär nicht schlecht, ansonsten soll das Programm bei Einschalten der Betriebsspannung einfach nur starten.

Wenn Du interessiert bist, sag Bescheid.
Gruß
HDT

Udo

27.04.2019,
15:07

@ HDT

Ne..., bringt jetzt wirklich nichts mehr. :-)

So funktioniert es nicht.
Man kann natürlich mit Widerständen die Zeit einstellen, aber
ich kann kein Programm schreiben wo ich die Widerstände nicht
habe. Soll heisen, das ich nur ein Programm schreiben kann, wenn ich
selber die Widerstände wähle und zusammen baue. Denn wenn ich dir das
Programm schreibe und du die Widerstände machst, kann es sein das das
Programm nicht läuft, weil ich die genauen Werte der Widerstände nicht kenne.
Da kommt Tolleranz der Widerstände, Temperatur, und die Betriebsspannung
spielen dabei eine wichtige rolle, damit alles zusammen läuft. Nur wenn ich hier alles
selber zusammen baue, kann ich auch garantieren das alles so läuft wie geplant.
Andere Möglichkeit wäre ein 12 facher Drehschalter. Mit einem anderen Controller
geht das dann auch.

Udo

27.04.2019,
15:33

@ Udo

Ne..., bringt jetzt wirklich nichts mehr. :-)

» So funktioniert es nicht.
» Man kann natürlich mit Widerständen die Zeit einstellen, aber
» ich kann kein Programm schreiben wo ich die Widerstände nicht
» habe. Soll heisen, das ich nur ein Programm schreiben kann, wenn ich
» selber die Widerstände wähle und zusammen baue. Denn wenn ich dir das
» Programm schreibe und du die Widerstände machst, kann es sein das das
» Programm nicht läuft, weil ich die genauen Werte der Widerstände nicht
» kenne.
» Da kommt Tolleranz der Widerstände, Temperatur, und die Betriebsspannung
» spielen dabei eine wichtige rolle, damit alles zusammen läuft. Nur wenn ich
» hier alles
» selber zusammen baue, kann ich auch garantieren das alles so läuft wie
» geplant.
» Andere Möglichkeit wäre ein 12 facher Drehschalter. Mit einem anderen
» Controller
» geht das dann auch.
Oder mit einem Taster. Dann mußt du aber immer mitzählen wie oft du gedrückt hast.
Also 1 mal drücken 5min.
2 mal drücken 10 min usw.
Und noch ein Taster zum Starten des Programms.
Oder Dip-Schalter gingen auch noch.
Vielleicht wissen andere, noch andere Lösungen.

HDT(R)

E-Mail

27.04.2019,
16:52

@ Udo

Ne..., bringt jetzt wirklich nichts mehr. :-)

» So funktioniert es nicht.
» Man kann natürlich mit Widerständen die Zeit einstellen, aber
» ich kann kein Programm schreiben wo ich die Widerstände nicht
» habe. Soll heisen, das ich nur ein Programm schreiben kann, wenn ich
» selber die Widerstände wähle und zusammen baue. Denn wenn ich dir das
» Programm schreibe und du die Widerstände machst, kann es sein das das
» Programm nicht läuft, weil ich die genauen Werte der Widerstände nicht
» kenne.
» Da kommt Tolleranz der Widerstände, Temperatur, und die Betriebsspannung
» spielen dabei eine wichtige rolle, damit alles zusammen läuft. Nur wenn ich
» hier alles
» selber zusammen baue, kann ich auch garantieren das alles so läuft wie
» geplant.
» Andere Möglichkeit wäre ein 12 facher Drehschalter. Mit einem anderen
» Controller
» geht das dann auch.

Udo,
das mit den Widerständen war doch nur eine Idee von mir und selbstverständlich kann ich die Werte nicht vorher bestimmen.
Ein Drehschalter ist ebenfalls akzeptabel, wenn Du das gleiche meinst, wie ich. (Siehe Abbildung. Das hab ich für mich so mal "sortiert", allerdings im Jahre 2005. Bin da also nicht mehr auf dem letzten Stand. 10 x 10 mm, ich denke, das wird so immer noch sein.)



HDT(R)

E-Mail

27.04.2019,
17:05

@ bastelix

Kurzzeit-Timer mit Mikrocontroller

» 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.

Die Spannung passe ich der Notwendigkeit an, bis maximal 15 Volt möglich.


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. »

Das ist klar, was auf dem Steckboard läuft, ist auf der Platine dann nicht unbedingt das Gleiche. Eher die Ausnahme.

»
» 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.
»



» 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.
»

Die Gesamtlaufzeit beträgt höchsten mal 2 Stunden. In der Regel eher nur 1 Stunde.


» 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.
»

Um Himmelswillen... :-) Selbst wenn es 10 Sekunden pro Stunde wären... Da brauche ich keinen Extra-Uhrenquarz.


» » 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).

Wäre super!

Udo

27.04.2019,
17:49

@ HDT

Ne..., bringt jetzt wirklich nichts mehr. :-)

Ja die gibt es immer noch.
Die meinte ich auch.

HDT(R)

E-Mail

28.04.2019,
11:59

@ HDT

Kurzzeit-Timer mit Mikrocontroller

Nur mal so, zur Ansicht, was auch "ohne PIC" geht. (ist mir aber zu aufwändig und zu groß)
Immerhin 66 Minuten maximal.

Udo

28.04.2019,
12:24

@ HDT

Kurzzeit-Timer mit Mikrocontroller

So könnte man es z.B aufbauen.