Forum: Projekte & Code Röhrenuhr IV-18


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

anbei eine kleine Röhrenuhr auf Basis der IV-18

Sie basiert auf der IceCubeClock von LadyAda (www.adafruit.com) und ist 
zu dieser voll softwarekompatibel.

Features vom Original:

-Darstellung Datum/Uhrzeit auf IV-18
-Batteriebackup
-Alarm akustisch
-Manuelle Zeiteinstellung und Menüs über 3 Buttons und einen Schalter
-Kontrasteinstellung
-Umstellung Zeit/Datumsformat US/EU

Erweiterungen:

-Software neu geschrieben
-Menüs neu strukturiert
-Alarm optisch/akustisch
-Timer bis 120 min
-DCF-Empfang
-Temperaturmessung
-ewiger Kalender inkl. Sommer/Winterzeitumstellung (abschaltbar) und
Schaltjahr-Erkennung
-Steuerung eines RGB-Kanals wahlweise in Abhängigkeit von Uhrzeit oder
Temperatur

Möchtet ihr die originale Platine (v1.1) einsetzen, um das Gehäuse der
IceCubeClock zu verwenden, müsst ihr die Bauteile für die zusätzlichen
Features extern unterbringen.

Die neue Platine V1.2 beinhaltet folgende Änderungen, passt aber nicht 
mehr
ins originale Gehäuse.
Mir war das egal, da ich ohnehin nur selbst designte Gehäuse verwende.

-volle Unterstützung aller Zusatzfeatures
-integration Temperatursensor
-der Alarmschalter entfällt (Funktion liegt auf Taste)
-Power, alle Switches, LEDs und der DCF-Empfänger werden über 
Kontaktleiste
angebunden und können somit individuell positioniert werden.
-der ISP-Header liegt auf der Rückseite und ist damit einfach zu 
erreichen
-die MOSI/MISO-Leitungen um MAX6921 können aufgetrennt werden, dies ist 
für
manche ISP-Programmer notwendig.
-Beschaltung von Avcc, Aref optimiert.
-Beschaltung des RESET-Pins optimiert
-Spannungswandler-Elko wird nach Abschalten über 100k-Widerstand 
entladen
-sie ist nicht hardwarekompatibel zu V1.1

Viel Spass damit.

gruß

tobi

von hacker-tobi (Gast)


Lesenswert?

Hi,

noch eine Anmerkung, bevor ich es vergesse: Ich glaube die Basis für den 
DCF-Part hatte ich damals hier aus dem Forum entnommen. Ich kann mich 
aber nicht mehr an den Beitrag erinnern.
Da sei der Fairness halber drauf hingewiesen.

gruß

tobi

von Jens (Gast)


Lesenswert?

Zeig doch bitte mal ein paar Bilder.

von hacker-tobi (Gast)


Lesenswert?

Sind im zip enthalten.

von Jens (Gast)


Lesenswert?

hacker-tobi schrieb:
> Sind im zip enthalten.

Schon klar, aber die kann ich mit meinem Smartphone nicht öffnen. Echte 
Bilder sind da aussagekräftiger und sind dann auch noch in der 
Bildergalerie wiederzufinden. 🙂

von hacker-tobi (Gast)



Lesenswert?

Hi,

na gut hier noch ein paar Bilder der aktuellen Variante im Holzgehäuse.

Der DCF-Empfänger ist extern untergebracht.

Der Temperatursensor fehlte auf den Bildern vom Innenleben noch.
Die schadhaften Drähte sind mittlerweile ersetzt ;)

von Jens (Gast)


Lesenswert?

Super, danke. 👍

von hacker-tobi (Gast)



Lesenswert?

Noch ein paar Bilder einer anderen Variante ebenfalls mit externem 
DCF-Empfänger.

von hacker-tobi (Gast)



Lesenswert?

...und noch ein paar Bilder vom Aufbau der Uhr im Holzgehäuse.

von Jens (Gast)


Lesenswert?

Ein DCF-Empfänger im Glaskolben, das finde ich richtig gut. 😃

von hacker-tobi (Gast)


Lesenswert?

Danke ;) Im "Sockel" ist noch eine LED implantiert, die schwach rötlich 
glimmt ;)

von Pille (Gast)


Lesenswert?

Ich habe auch 2 solcher Röhren da und vor damit noch eine Uhr zu bauen, 
bin mir nur nicht sicher ob ich einen AVR einsetze oder anderen Kram der 
hier herumliegt.

Ich hätte mir gerne die Schaltung angesehen..habe aber festgestellt das 
es da ".sch" und ".brd" gibt..kannst Du aus der ".sch" bitte noch ein 
pdf basteln?

Danke,

Pille

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

die .sch und .brd kannst du mit der freeware Version von eagle (Bezug 
hier: http://ftp.cadsoft.de/freeware.htm) öffnen.

Anbei die PDF-Exporte.

von Pille (Gast)


Lesenswert?

hacker-tobi schrieb:
> Hi,
>
> die .sch und .brd kannst du mit der freeware Version von eagle (Bezug
> hier: http://ftp.cadsoft.de/freeware.htm) öffnen.
>
> Anbei die PDF-Exporte.

Danke.
Ich habe kein Windows und auch kein Linux hier, müßte das in einer VM 
installieren was die Sache dann zäh gestaltet.
Es sollte aber möglich sein die Dateien in Kicad zu importieren, ich 
probiere es b.G. mal aus.

Ich wollte hauptsächlich wissen was Du für einen VFD Treiber verwendet 
hast...MAX6921..das ist auch das was ich vorgesehen hatte und seit 
Jahren in einer Schachtel liegt :-)

Pille

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Es geht weiter!

Die neuen Platinen V1.2 sind heute gekommen und eine wurde sogleich 
aufgebaut.

Funktioniert wie gedacht!

Da ich mehr Platinen bekommen habe als ich brauche, könnte ich bei 
Interesse Platinen und ggf auch programmierte Controller gegen 
Aufwangsentschädigung abgeben. Einfach hier schreiben.

Anbei ein paar Bilder vom ersten Prototyp mit neuer Hardware.

gruß

tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Und noch eines...

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Kleinere Änderungen auch an der Software.

Im wesentlichen die Behandlung von Tastendrücken angepasst.

gruß

tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Software weiter entwickelt, jetzt mit einfacher Kalibrierungsmöglichkeit 
für die Temperaturanzeige (menu "temp cal"):

Werte von 0-15 verringern die Temperaturanzeige, Werte von 15-30 erhöhen 
die Temperaturanzeige.

0 = größtes Minima, 15 = Mittwelwert (keine Veränderung), 30 = größtes 
Maxima.

Bsp Anzeige:
Temp cal 0 = 15.0 Grad
Temp cal 15 = 20.0 Grad (Originalwert)
Temp cal 30 = 25.0 Grad

Dient dazu, z.B. Erwärmung im Gehäuse auszugleichen.
Default ist 15, also keine Anpassung.

gruß

tobi

von Thorsten R. (halogenfan)


Lesenswert?

Hallo hacker-tobi,

ich hätte Interesse an einem Satz Platinen. Was sollen diese kosten? Und 
wie können wir da ins Geschäft kommen?

Viele Grüße

Thorsten

von Axel R. (axlr)


Lesenswert?

Haste grüne Plastikfolie zum drüberstülpen? Kontrast-mässig

von MaWin (Gast)


Lesenswert?

Axel R. schrieb:
> Haste grüne Plastikfolie zum drüberstülpen? Kontrast-mässig

Es gibt grüne Plexiglasplatten bei Hornbsch.

Du musst halt nur reinkommen.

von hacker-tobi (Gast)


Lesenswert?

Hi halogenfan,

kontaktier mich bitte hacker-tobi at gmx dot net

Hi Axel,

ich hab keine kontrastfolie und hab bis jetzt auch keine benötigt.

Gruss

Tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Ein Bild vom aktuellsten Build.

Weitere folgen noch.

Gruss tobi

von hacker-tobi (Gast)


Lesenswert?

Hi,

aktuell sind alle Platinensets vergriffen. Bei Interesse kann ich 
nochmals welche ordern.

Ich würde auch anbieten, eine Sammelbestellung aller benötigten Bauteile 
incl. Platinen, Röhre, Max6921 und programmierten Controller zu 
organisieren, falls sich wenigstens 5 Interessenten finden.

Bei Interesse Kontakt an hacker-tobi [at] gmx [dot] net.

Ein Hinweis noch: für den Knopfzellen Halter ist ein isoliertes Modell 
zu verwenden da unter der Knopfzelle einige vias liegen.

Gruss Tobi

von Axel R. (axlr)


Lesenswert?

https://www.mikrocontroller.net/attachment/494938/IMG_20210226_161320.jpg

hacker-tobi schrieb:
> ich hab keine kontrastfolie und hab bis jetzt auch keine benötigt.

Danke für die Rückmeldung:
ich würde es auf jeden Fall mit auf die Liste setzen und wenigstens mal 
ausprobieren. Das sähe um Welten besser aus.
Aber kann ja jeder machen, wie er denkt.
Ich wollte Dir auf garkeinen Fall unterstellen, du hättest sie 
"vergessen", sondern eher darauf hinweisen, das es dann nochmals ein 
klein wenig "hübscher" aussieht, weiter nichts...
Ebay-Artikel Nr. 233858082809

von Hoschti (Gast)


Lesenswert?

hacker-tobi schrieb:
> Ich würde auch anbieten, eine Sammelbestellung aller benötigten Bauteile
> incl. Platinen, Röhre, Max6921 und programmierten Controller zu
> organisieren, falls sich wenigstens 5 Interessenten finden.

Bevor jetzt alle eine Mail an Deine Privatadresse schicken:
Hast Du eine grobe Schätzung, was so ein "Komplettbausatz" in etwa 
kosten würde? Wenn Du den hier einfach postest, sind schon mal einige 
Fragen weniger zu stellen.

von hacker-tobi (Gast)


Lesenswert?

Hi,

@Axel: Wo sollte denn die Kontrastfolie angebracht werden? Es gibt bei 
meinen Uhren ja zumeist kein Sichtfenster oder ähnliches vor den Röhren.

Zu den Sammelbestellungen:

Grob komme ich auf etwa

-10€ für das Platinenset (ist in DL gefertigt daher etwas teurer - und 
nein, ich werde nicht in China ordern)

-Wahrscheinlich ca. 10-15€ für Mikrocontroller und Bauteile
(müsst ich noch genau zusammen rechnen und ist ja auch abhängig von der 
Menge)

-etwa 5-10€ für MAX6921 (via Mouser, kennt da jemand was günstigeres)

-etwa 10-15€ für die Röhre, je nach Menge

= 35-50€, je nach Menge

Die Wartezeit dürfte bei etwa 2-4 Wochen liegen.

Bedenkt bitte, das die Sammelbestellungen kein Gehäuse und auch keine 
Taster und LEDs beinhalten, da die Gehäuse individuell gestaltet werden.

von hacker-tobi (Gast)


Lesenswert?

Hi,

ich bekomme die Tage mehrere LM335 und teste dann mal, ob sich damit die 
Genauigkeit der Temperaturmessung im Vergleich zum KTY81-220 verbessern 
lässt.
Ich hatte auch überlegt, LM135 zu ordern, aber der ist mir mit 8€ doch 
zu teuer.

Falls ja, werde ich die Software entsprechend anpassen (müssten ja 
eigentlich nur die Kalibrierungswerte sein), die Hardware muss nicht 
angepasst werden.

Ich schreibe dann hier nochmal.

gruß

tobi

von hacker-tobi (Gast)


Lesenswert?

Ein paar Infos noch zu der Uhr:

Die Uhr bietet aktuell folgende Features:

-IV18 ;)
-Uhr inkl. ewigem Kalender
-DST (Sommer/Winterzeitumschaltung), abschaltbar
-Optisch/akustischer Alarm inkl. Snooze
-Einstellbarer Timer mit optisch/akustischem Alarm
-Ein paar Anzeigeeffekte (Überblendung, Scrolleffekt), abschaltbar
-Temperaturanzeige
-Kontrasteinstellung
-Zeitformat-Umstellung EU/US
-Bedienung mit 3 Tastern (Menu, Set, +)
-Optional DCF
-Optional "Ambilight", Steuerung in Abhängigkeit von Uhrzeit oder 
Temperatur

Eine Info noch zu den Sammelbestellungen:

Ich könnte DCF77-Empfänger mit ordern, diese kosten aber ca 14 Euro das 
Stück bei Reichelt. Wer einen haben will, bitte mit angeben.

Wer an der Sammelbestellung teilhaben will, bitte hier posten.

Bei 5 festen Zusagen würde ich die Bestellung nach Geldeingang 
loslassen.
Grober Betrag ist ja oben schon angegeben, den genauen Betrag würde ich 
dann vorher hier posten.

Die Sammelbestellung beinhaltet:
-Bauteile für die Elektronik selbst incl. programmiertem Controller
-2 Platinen (Controller und Röhrenplatine).

Für Gehäuse/RGB-LEDs/Taster/Anschlussbuchsen ist jeder Besteller selbst 
verantwortlich.
Benötigt werden also noch:

-Gehäuse für die Uhr.
-3 Taster (ein).
-1-3 RGB LEDs wenn Ambilight gewünscht (low-power LEDs, max. 20 mA, 
common Cathode).
-Anschlussbuchse 3-Polig (ich empfehle Klinkenbuchsen) für DCF wenn 
gewünscht.
-Anschlussbuchse 2-Polig (ich empfehle Chinchbuchsen) für Strom.
-Anschlusskabel und Gehäuse für DCF-Empfänger wenn gewünscht.

gruß

tobi

von Bauform B. (bauformb)


Lesenswert?

hacker-tobi schrieb:
> ich bekomme die Tage mehrere LM335 und teste dann mal, ob sich damit die
> Genauigkeit der Temperaturmessung im Vergleich zum KTY81-220 verbessern
> lässt.
> Ich hatte auch überlegt, LM135 zu ordern, aber der ist mir mit 8€ doch
> zu teuer.

Dann bestell mal bei der nächsten Mouser-Bestellung einen 824-GA10K3A1A 
mit. Oder einen 803-USP10972, wenn es etwas massiveres sein darf. Die 
machen 4.4%/K, der KTY nur 0.8%/K, und der 25°C-Wert ist auch mindestens 
doppelt so genau. Die passen in die gleiche Schaltung wie der KTY in 
deinem pdf, nur mit 10k statt 1k. Ein wenig besser geht's noch, wenn der 
obere Widerstand an AVCC geht, weil AVCC gefiltert ist. Bei Reichelt 
gibt es auch 10k,0.1% für 27 Cent. Noch ein wenig helfen würde ein 100n 
parallel zum Temperaturfühler.

Reichelt hat auch einen GA10K3A, aber ob das auch die richtig genauen 
sind?

von hacker-tobi (Gast)


Lesenswert?

Hi Bauform,

danke für den Tip.
Leider finde ich den Sensor bei Reichelt nicht, hast du mir da eine 
artikelnr. ?

Ich möchte wo möglich auf leicht beschaffbare Bauteile setzen.
Bei Mouser kostet der Sensor zudem 4€ das ist recht teuer.

Und ich sehe noch, das das ein ntc ist korrekt? Wenn ja würde das auch 
(wenn auch einfache) Anpassungen auf Seiten der Software bedeuten, da 
die Software derzeit von einer Zunahme der Spannung bei steigender 
Temperatur ausgeht, ein ntc in der aktuellen Beschaltung jedoch ein 
Absinken der Spannung bei steigender Temperatur bewirkt.

Aktuell bevorzuge ich daher weiter den lm135/335 oder den kty81-220

Gruss tobi

von Bauform B. (bauformb)


Lesenswert?

hacker-tobi schrieb:
> Leider finde ich den Sensor bei Reichelt nicht,
> hast du mir da eine artikelnr. ?
NTC 10K 0,2
Reichelt meint, das wäre ein GA10K3A1B. Wenn das stimmt: schon nicht 
schlecht. Der GA10K3A1A von Mouser wäre zwar noch ein Stück genauer, 
aber der ist erst Mitte Mai wieder auf Lager.

> Bei Mouser kostet der Sensor zudem 4€ das ist recht teuer.
naja, man kann nicht alles auf einmal haben :)
hacker-tobi schrieb nämlich auch im Beitrag #6623121:
> ob sich damit die Genauigkeit der Temperaturmessung im Vergleich
> zum KTY81-220 verbessern lässt.

> Und ich sehe noch, das das ein ntc ist korrekt? Wenn ja würde das auch
> (wenn auch einfache) Anpassungen auf Seiten der Software bedeuten

Das wäre doch nur eine andere Tabelle? Oder benutzt du für den KTY eine 
Gleichung? Die Formel für die Thermistoren auf einem 8-Bit uC wäre 
natürlich ein interessanter Versuch.

von hacker-tobi (Gast)


Lesenswert?

Hi Bauform,

Danke für deinen Beitrag.

Ich behalte deinen Sensor mal im Hinterkopf, teste aber erstmal den LM 
335.

Ein paar Worte zur Temperatur-Messung und -Berechnung:

Die Temperatur wird per Formel mit 2 Kalibrierungspunkten (0 und 100 
Grad) berechnet. Es werden dabei immer 5 Messwerte gemittelt.
Zusätzlich kann via Menü ein Offset eingestellt werden, welcher addiert 
oder subtrahiert wird. Damit kann ein Messfehler, z.B. durch 
Eigenerwärmung oder Montage im Gehäuse halbwegs ausgeglichen werden 
(max. etwa +-6 Grad).

Momentan ist die Auflösung (nicht Genauigkeit!) etwa 0.4 Grad Celsius, 
die Genauigkeit liegt bei ca 2 Grad (Ir-Thermometer als Referenz) und 
hängt von der Kalibrierung und dem Montageort des Sensors sowie von R13 
ab.

Gerade der Montageort spielt eine entscheidende Rolle. Die ganze Uhr 
verbraucht zwar nur ca 1,2 Watt (130mA bei 9V) aber trotzdem wird es im 
Gehäuse schon ein wenig wärmer als außen, selbst wenn die Röhre 
außerhalb des Gehäuse montiert ist. Dazu kommt noch eine (allerdings 
fixe) Eigenerwärmung des Sensors durch den Mess-Strom.

Ich habe daher den Sensor bei allen Uhren so platziert, das er nur durch 
eine dünne Plastik- oder Holzschicht fast direkt nach draußen "schaut".
Der Restfehler wird dann im Menü der Software kompensiert.

R13 ist mit aktuell 2 KOhm so gewählt, das der Mess-Strom bei üblichen 
Raumtemperaturen bei ca 1mA liegt, eher etwas darunter. R13 zu 
verringern
erhöht nur den Messstrom und damit die Eigenerwärmung.
Eine Verringerung von R13 verringert zwar den Messtrom und damit die 
Eigenerwärmung, aber auch die Spannung am ADC-Eingang.
Hier habe ich die Sorge, das sich z.B. Rauschen stärker bemerkbar machen 
kann.
Ich überlege, das Design so anzupassen, das der Sensor nur bei Bedarf 
eingeschaltet wird, aber das kommt dann frühestens in der nächsten 
Platinen-Revision.

Ein weiteres Problem ist die nicht-Linearität des KTY-Sensors. Diese 
wird zwar z.T. durch den Spannungsteiler mit R13 wieder kompensiert, 
aber eine gewisse Nichtlinearität bleibt. Zudem habe ich keine 
Möglichkeit, Temperaturen von z.B. genau 0 und 100 grad zur Kalibrierung 
zu erzeugen.
Daher wäre es mir lieber, kalibrierte lineare Sensoren zu verwenden.

Der LM135/335 bietet linear 10mV/Grad Kelvin, was sich einfach umrechnen 
lässt. Und ist hinreichend kalibriert.
Ich werde das testen und berichten.

Aber bei allem: Das ist jetzt mehr akademischer Natur und meine 
Experimentierfreude. Im täglichen Betrieb ist die Temperaturanzeige 
hinreichend genau, stimmt zumindest mit meiner Wetterstation überein ;)

gruß

tobi

von Bauform B. (bauformb)


Lesenswert?

hacker-tobi schrieb:
> Daher wäre es mir lieber, kalibrierte lineare Sensoren zu verwenden.

Wie wär's mit nicht-linear aber dafür auf 0.2K kalibriert, z.B. GA10K... 
OK, OK, ich sag' schon nichts mehr ;) Aber die Idee mit dem 
einstellbaren Offset hat was, das könnte man selbst mit einem absolut 
genauen Sensor gebrauchen.

hacker-tobi schrieb:
> Ich überlege, das Design so anzupassen, das der Sensor nur bei Bedarf
> eingeschaltet wird

Aber nur für 0.1 Sekunde oder so, sonst sieht man in der Anzeige wie 
sich der Sensor erwärmt. Und dann wieder, wenn man ihn nur ganz kurz 
einschaltet, kann man das auch gerne regelmäßig machen. Einmal pro 
Sekunde für 10ms würde die Eigenerwärmung ja auf 1/100 reduzieren.

Witzig, dass man immer Uhr und Thermometer kombiniert. Ich 
programmiere gerade ein Außenthermometer mit GPS, vielleicht auch 
umgekehrt ;)

von hacker-tobi (Gast)


Lesenswert?

Hi,

wenn ich das so umbaue, das der Sensor nur bei Bedarf aktiviert wird, 
dann würde ich den immer nur zur Messung einschalten.
Ein Messzyklus erfasst immer 5 AD-Werte und mittelt diese.
Bei apx 50 KHz Wandlerfrequenz ist das also in wenigen ms "durch".

Die Messung läuft alle 10 Sekunden, könnte bei Bedarf noch weiter 
reduziert werden.

Die Anzeige wird sogar nur 1 mal pro Minute aktualisiert, die 
"restlichen" Messwerte diene nur zur Steuerung des RGB-Lichts.

Dazwischen hat der Sensor nix zu tun.

Due Uhr war zuerst da, das Thermometer kam später mit dazu. Einfach aus 
Lust und Laune, weil ich mal was mit dem A/D-Wandler machen wollte.
Ansonsten hätte es ja auch ein digitaler Sensor a la DS1820 getan ;)

gruß

tobi

von axlr (Gast)


Lesenswert?

hacker-tobi schrieb:
> Hi,
>
> @Axel: Wo sollte denn die Kontrastfolie angebracht werden? Es gibt bei
> meinen Uhren ja zumeist kein Sichtfenster oder ähnliches vor den Röhren.

Ach, na so als Tubus um die Röhre gerollt (dachte ich) Ich habe keine 
IV-18 hier, um das auszuprobieren. Sollte aber gut Kontrast bringen, 
denke ich.

Man sieht aber tatsächlich selten mal ne Abwandlung des 
Adafruit-Designs.
Ne, haste schon gut gemacht!

von hacker-tobi (Gast)


Lesenswert?

Hi,

würde das nicht die schönen Röhren verunstalten :) ?

Hab heute 6 lm335 bekommen und gleich mal 2 davon in Uhren eingebaut.

Erste Ergebnisse: die eigenerwärmung gegenüber dem kty81 ist geringer, 
da sich für r13 jetzt auch 3k3 einsetzen lassen. 4k7 hat bei mir auch 
funktioniert aber dann ist der Strom (0.25mA) unterhalb des minimalwerts 
(0.4mA).

Die Kalibrierung in der Software muss angepasst werden, da die 
spannungslage gegenüber dem kty81 etwa 0.4V höher ist bei gleicher 
Temperatur.
Dafür lässt sich die Kalibrierung gut berechnen und muss dann nur noch 
feingetuned werden.

Ich werde wohl alle Uhren auf den lm135/335 umbauen.

von Pille (Gast)


Lesenswert?

...warum nicht DS18B20 als Temp Sensor mit 0,5°C Genauigkeit und ohne 
jede Kalibrierung?

Pille

von Bauform B. (bauformb)


Lesenswert?

Pille schrieb:
> ...warum nicht DS18B20 als Temp Sensor mit 0,5°C Genauigkeit und ohne
> jede Kalibrierung?

Weil ein NTC ohne Kalibrierung mindestens genauso genau ist.
Weil jeder andere Temperaturfühler viel einfacher anzusteuern ist.
Weil ein analoger Sensor nicht umständlich abgefragt werden muss (man 
liest einfach das interne ADC-Register).
Weil ein analoger Sensor deshalb EMV-mäßig günstiger ist.
Weil ein NTC weniger Strom braucht.
Weil nicht alles, was hier empfohlen wird, automatisch immer gut ist.

von hacker-tobi@gmx.net (Gast)


Lesenswert?

Hi,

wie ich weiter oben schon beschrieben habe. Klar würde ein DS1820 auch 
gehen, aber ich wollte etwas mit dem A/D-Wandler machen ;) Ganz einfach.
Aktuell ist noch ein Port frei, und als PAD auf der Platine heraus 
geführt. Wer mag kann da gern einen DS1820 anbinden, über den Code würde 
ich mich freuen.

gruß

tobi

von hacker-tobi (Gast)


Lesenswert?

@axlr:

Noch danke für das Lob :)

von Pille (Gast)


Lesenswert?

Bauform B. schrieb:
> Pille schrieb:
>> ...warum nicht DS18B20 als Temp Sensor mit 0,5°C Genauigkeit und ohne
>> jede Kalibrierung?
>
> Weil ein NTC ohne Kalibrierung mindestens genauso genau ist.
> Weil jeder andere Temperaturfühler viel einfacher anzusteuern ist.
> Weil ein analoger Sensor nicht umständlich abgefragt werden muss (man
> liest einfach das interne ADC-Register).
> Weil ein analoger Sensor deshalb EMV-mäßig günstiger ist.
> Weil ein NTC weniger Strom braucht.
> Weil nicht alles, was hier empfohlen wird, automatisch immer gut ist.

Ich bezweifele (mit Grund) jedes dieser Statements.

Pille

von Pille (Gast)


Lesenswert?

hacker-tobi@gmx.net schrieb:
> Hi,
>
> wie ich weiter oben schon beschrieben habe. Klar würde ein DS1820 auch
> gehen, aber ich wollte etwas mit dem A/D-Wandler machen ;) Ganz einfach.


Ok, akzeptiert, aber ein DS18B20 geht auch mit einem Pin (One Wire 
Interface).

Pille

von hacker-tobi (Gast)


Lesenswert?

@Pille: wie schon geschrieben steht noch ein pin zur Verfügung. Ich freu 
mich wenn du oder jemand anderes da was schreibt, z.b. um einen ds1820 
anzubinden.

Gruss

Tobi

von Pille (Gast)


Lesenswert?

Hast Du noch eine Platine übrig? IV18 habe ich, den MAX wohl auch.

...dann würde ich mir das mal auf den Tisch ziehen.

Pille

von Pille (Gast)


Lesenswert?

..wobei man dann auch einen BMP oder BME280 einsetzen könnte..oder 
Beides.

Pille

Beitrag #6628331 wurde vom Autor gelöscht.
von hacker-tobi (Gast)


Lesenswert?

Hi,

ich geb dir morgen bescheid.

Gruss tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo @all,

bei Interesse kann ich einen kompletten Teilesatz inkl. programmierten 
controller, Platinen, Röhre (bereits bestückt, getestet).

Der teilesatz beinhaltet alle Teile für den Aufbau des controllers, 
allerdings keine leds, Taster und Anschlussbuchsen (hier ist 
individuelle Kreativität gefragt!)

Nur isolierte batteriehalter für cr1220 finde ich aktuell nicht :(

Preis: 60€, wenn gewünscht aufgebaut und getestet für 75€

Angebot erstmal primär an pille.
Wenn er nicht will dann gern anderweitig.

Evtl bekomm ich noch nen zweiten Satz zusammen, da muss ich nochmal 
schauen.

Gruss tobi

von hacker-tobi (Gast)


Lesenswert?

Der teilesatz wird vor Versand noch ordentlich zusammen gepackt.

Gruss tobi

von hacker-tobi@gmx.net (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ein kleines update anbei.

Hardware: wert für R13 auf 3k3 1% geändert, KTY81-220 gegen LM335 
getauscht.

Software: Anpassung Temperaturkalibrierung und Basis-Kalibrierungswerte 
für LM335.

Btw: Der Teilesatz steht noch immer zur Verfügung, da Pille sich nicht 
gemeldet hat. Bei Interesse Mail an mich oder hier im Thread.

gruß

tobi

von Pille (Gast)


Lesenswert?

Ok, ich schicke Dir mal eine PN.

Pille

von hacker-tobi (Gast)



Lesenswert?

Hi,

und weiter geht's.

Ich bekomme die Tage ein paar LM35.

Parallel arbeite ich grad an einer SMD-Variante, damit die Hauptplatine 
kleiner gebaut werden kann.

Ich habe aktuell keinen kompletten Teilesatz mehr, kann aber auf Wunsch 
wieder welche zusammen stellen. Preis ca 60€

Bei interesse bitte Kontakt per Mail hacker-tobi [at] gmx [dot] net

Anbei noch Bilder vom aktuellsten Build.

gruß

Tobias

von hacker-tobi (Gast)


Lesenswert?

Vorab: für den lm35 muss an der Hardware kaum etwas geändert werden, das 
ursprüngliche design bleibt erhalten. Nur r13 ist nicht zu bestücken.

Vcc in vom Sensor kommt dann an das "heisse" Ende vom jetzt nicht 
bestückten r13. Ansonsten wird der Sensor bestückt wie gehabt.

Da der lm35 0-1V ausgibt kann für höhere Auflösung die interne Referenz 
des mega168p verwendet werden.

Die notwendigen Anpassungen lasse ich in den code einfließen.
Ich werde ein #define setzen, mit dem die Anpassungen für lm35 oder 
lm335 vor dem Kompilieren gewählt werden können.

Gruss tobi

Beitrag #6640760 wurde vom Autor gelöscht.
von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

anbei die letzte Version der Software inkl. der Anpassungen für den 
LM35. Zusätzlich habe ich die Temperaturberechnung ein wenig angepasst.

Der Ablauf ist jetzt folgender.

-Zunächst wird alle 10 Sekunden eine konfigurierbare Anzahl 
ADC-Messungen durchgeführt und der Messwert gemittelt.
Dabei greift auch ein (noch sehr einfacher) Filter, um Spikes etc. 
auszufiltern.

-Diese Messwerte werden in einem Array abgelegt, und in einem 
einstellbaren Intervall nochmals gemittelt.

Das ganze dient dazu, die Anzeige zu "beruhigen" und ein Flappen zu 
minimieren.

Funktioniert schon recht gut, mal sehen ob ich es noch weiter optimiere. 
Der Filter in der ersten Stufe ist noch sehr rudimentär.

PS: habe noch einen Teilesatz da inkl. Röhre, bei Interesse bitte 
melden.

gruß

tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

Software vom 05.04. bitte ignorieren.

Der Filter im temperature.c war buggy.
Ich habe die temperature.c jetzt wie folgt überarbeitet:

-Den Filter für ADC-Messungen entfernt (war eh nutzlos und buggy)
-Die Mittwelwertbildung überarbeitet (floating average).

Die Temperaturmessung arbeitet jetzt wie folgt:

-Zunächst wird alle 10 Sekunden eine konfigurierbare Anzahl
ADC-Messungen durchgeführt und der Messwert gemittelt.

-Diese Messwerte werden in einem Array abgelegt, und in einem
einstellbaren Intervall nochmals mittels floating average gemittelt.

Zudem konnte ich durch aufräumen in den Funktion gotosleep() und 
set_power_mode() ca 400 Byte frei räumen, bei gleicher Funktionalität.

Ich denke, ich lege mal ein GitHub-Repo an.

gruß

tobi

von Pille (Gast)


Lesenswert?

Es ist IMHO sinnvoller den Temperaturwert nicht nach einem Mittelwert zu 
ermittlen, sondern in dem Du den Median ermittelt, damit bleiben 
Ausreißer außen vor. Also beispielsweise 100 Meßwerte in ein Array 
schreiben, danach Array der  Größe nach sortieren und die 3 Meßwerte in 
der Mitte verwenden um daraus den Durchschnitt zu errechnen und zur 
Anzeige zu bringen.
Habe angefangen Deine Platine zu bestücken..laß Dir für die 
Bauteilekennzeichnung auf der Platine mal was einfallen..das ist nicht 
wirklich lesbar. Das PDF mit dem Layout ist auch nicht wirklich lesbar 
wenn man herausbekommen möchte welches Buaelement wo sitzt. Dann hast Du 
einen Reichelt Warenkorb in dem wohl 10 Stück BS170 enthalten sind (und 
anderes Zeug) was gar nicht verbaut ist. Der Teilesatz enthält nicht 
passende Bauelemente, dafür fehlt der P-Kanal-Fet den ich wahrscheinlich 
auch nicht in der Schachtel habe...dauert noch

Pille

von hacker-tobi (Gast)


Lesenswert?

Hi Pille,

danke für die Rückmeldung!

Das mit dem Median schau ich mir mal an, ist ein interessanter Ansatz!
Wobei ich sagen muss, das die Anzeige schon jetzt recht genau und stabil 
ist.

Ich werde die Bauteilebezeichnungen besser anordnen und mache auch mal 
einen neuen Warenkorb.

gruß

tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

anbei schon mal der Reichelt Warenkorb.

Es fehlen:

-ZVP2106A (momentan nicht lieferbar)
-MAX6921 (bei Reichelt nicht zu bekommen, lieferbar z.B. bei Mouser)
-IV 18 Röhre (nur NOS oder gebraucht zu bekommen, z.B. bei ebay).

Der Warenkorb sowie die angepasste Version der Platine kommen dann ins 
nächste Komplettarchiv.

@Pille: Einen ZVP2106A hätte ich noch da, falls du einen brauchst.

gruß

tobi

von Pille (Gast)


Lesenswert?

Nein danke, den hattest Du bereits beigelegt.

Pille

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

anbei die letzte Software:

-Mittlung der Temperaturwerte nach median average Verfahren
-Anpassungen an der Hardware (Beschriftungen etc., keine funktionalen 
Änderungen)
-Aktualisierter Warenkorb im ZIP-File (der ZVP2106a, MAX6921  und die 
IV-18 fehlen).

Das mit den Beschriftungen der Platine in eagle ist immer noch nicht 
sauber. Wenn sich jemand das mal ansehen könnte - nur zu! Ich wäre sehr 
dankbar.

@Pille: Danke für die Anregung mit dem Median Verfahren.
Ich habe das jetzt mittels insertion sort als Sortier-Algorithmus 
implementiert.
Funktioniert zuverlässig, liefert eine stabile und recht genaue Anzeige 
und ist
nicht allzu rechenintensiv.

gruß

tobi

von Thorsten R. (halogenfan)


Lesenswert?

>>@Pille: Einen ZVP2106A hätte ich noch da, falls du einen brauchst.


Hallo Tobi,

der P-Channel fehlt mir noch. Würdest Du ihn mir verkaufen?

Viele Grüße

Thorsten

von Thorsten R. (halogenfan)


Lesenswert?

Dann noch die Frage. Was hat der R3 für einen Wert bzw. wird der 
überhaupt benötigt?

Sieht nach einer Strombegrenzung für das Filament aus oder ist das 
Filament hochohmig genug für 5V Versorgung?

Wie hoch sollte der Strom durch das Filament sein?

von hacker-tobi (Gast)


Lesenswert?

Hi Thorsten,

ja klar. Kontaktier mich gern per Mail.
Du kannst aber auch einen PNP-Kleinsignaltranstor (z.B. BC557C) nehmen. 
Dann musst du nur R3 etwas verkleinern, um den Spannungsabfall am 
Transistor zu kompensieren (auf 10...15 Ohm).In der originalen 
IceCubeClock war das auch so gelöst. achtung: Den BC557 musst du imHo 
"verdreht" herum einbauen.
Ein ZVP 3306 z.b. ginge auch.

Bei R3 ist der Wert tatsächlich verloren gegangen.
Das sind 22 Ohm, 1/4 Watt reicht aus.
R3 ist die Strombegrenzung für das Filament.

gruß

tobi

von hacker-tobi (Gast)


Lesenswert?

Hi,

noch zum Filament-Strom: Je nach Datenblatt varriert die Angabe von 
70-90mA.
Da die Röhren in der Uhr immer in Betrieb sind, und trotzdem lange leben 
sollen, empfehle ich eher 50mA, was sich bei R3 = 22 Ohm in etwa ergibt.
Die Röhren sind damit immer noch recht hell.
Leider ist es aufgrund der Heizung mit DC so, das das letzte Segment oft 
etwas dunkler ist. Ich überlege grad, ob ich da in SW den Kontrast für 
das letzte Segment gegenüber den anderen etwas anhebe.

gruß

tobi

von Thorsten R. (halogenfan)


Lesenswert?

Das Problem mit der abfallenden Helligkeit bei DC-Heizung ist bekannt. 
Schau doch mal wie es hier gelöst wurde:

http://www.vwlowen.co.uk/arduino/vfd/vfd-clock.htm

Hier wird zur Ansteuerung des Filaments bei einer VFD Anzeige ein L9110 
H-Brückentreiber IC verwendet. Das muss mit einem gegenphasigen Takt 
angesteuert werden. Das Filament ist dann als Brücke geschaltet und wird 
effektiv mit einer Rechteckspannung AC versorgt.

Allerdings muss das Filament dafür in der Röhre elektr. isoliert sein. 
Ich weiß nicht, ob das mit der IV-18 geht.

von Thorsten R. (halogenfan)


Lesenswert?

>>Allerdings muss das Filament dafür in der Röhre elektr. isoliert sein.
>>Ich weiß nicht, ob das mit der IV-18 geht.

Das mit dem elektr. isoliert ist falsch, bitte ignorieren ;-)

Es müsste eigentlich funktionieren mit der Röhre...

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi Thorsten,

danke für den Tip.

Sollte ich nochmal eine komplett neue Revision entwickeln, nehme ich das 
mit auf.
Aktuell fällt es meist kaum/gar nicht auf und stört mich auch nicht 
wirklich.

Anbei noch das neueste Zip. R22 aufgenommen und den Median Average der 
Temperaturmessung noch etwas angepasst.

Euch ein schönes WE!

gruß

tobi

von hacker-tobi (Gast)


Lesenswert?

Hi,

der letzte teilesatz ist vergeben.

Gruss tobi

von Pille (Gast)


Lesenswert?

Tobi von welchem Batteriehalter stammt den der von Dir verwendete 
Footprint auf der Platine? Von dem aus dem Reichelt Warenkorb ganz 
bestimmt nicht...?!?

Gruß,
Pille

von hacker-tobi (Gast)


Lesenswert?

Hi Pille,

vom originalhalter der IceTubeClock.
Der ist aber nicht isoliert. Ich hatte leider zu spät gemerkt, das eagle 
da einige via's ungünstig platziert hat.

Daher der Halter von Reichelt, der isoliert.
Der Halter passt mit kleinen Anpassungen, ich verwende den 
ausschließlich:

-das Loch im Pad in der Mitte auf 2mm aufbohren
-Der Anschluß für den Pluspol am Halter muss ein wenig nach innen 
gebogen werden.
-Den Halter durchstecken und am mittleren Pad unten verlöten.
-Den Pluspol auf Seite verlöten, die Richtung Röhrensockel zeigt.
Ist etwas fummelig aber geht.

Sollten nochmal neue Platinen bestellt werden, korrigiere ich das.

gruß

tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

neue Software.

Ich habe eine konfigurierbare (Nacht-)abschaltung integriert.
Diese kann genutzt werden, um zum einen die Röhre zu schonen und zum 
anderen Nachts störende Effekte durch das Licht zu minimieren.

Im Menüpunkt "auto aus" lassen sich Start- und Endzeit einstellen.
Ist die Nachtabschaltung aktiv, schaltet die Uhr die Röhre und die LEDs 
ab. Alle anderen Funktionen (DCF, Alarme, Timer, Temperaturmessung etc.) 
bleiben aktiv.

Im Nachtmodus können folgende Aktionen die Uhr aufwecken:

-Tastendruck: Uhr schaltet ein und geht 2 Minuten nach dem letzten 
Tastendruck wieder aus.
-Alarm/Timer: Uhr schaltet ein und geht 2 Minuten nach Deaktivierung des 
Alarm/Timer wieder aus. Bei Snooze bleibt die Uhr aktiv, bis der Alarm 
komplett abgestellt wird.
-Reset der Stromversorgung: Uhr bleibt so lange aktiv, bis die Uhrzeit 
manuell oder per DCF wieder korrekt gestellt wurde.

gruß

tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

neueste Version:

-Alarmfunktion erweitert, einstellbar ist jetzt:
Alarm jeden Tag (an), nur an Wochentagen(wd) oder nur an 
Wochenenden(we).

-Temperaturkalibrierung auf +-3 Grad erweitert, zudem sieht man jetzt 
direkt die Temperaturanzeige während der Kalibrierung.

-menu.c überarbeitet. Funktionen, die nur zwei Werte umschalten (z.B. 
an/aus) zusammen gefasst, um Speicherplatz zu sparen.

gruß

tobi

von hacker-tobi (Gast)


Lesenswert?

Hi,

es gibt ein ganz interessantes Problem mit der Temperaturmessung im 
Nachtmodus. Die Anzeige weicht um etwa 1.5 Grad vom normalen Betrieb ab.

Ich habe dazu einen separaten Thread eröffnet:

Beitrag "Problem mit Aref am Atmega168p"

gruß

tobi

von hacker-tobi (Gast)


Lesenswert?

Ich habe jetzt an PIN7/PIN8 bei jeder Uhr direkt einen 100n angelötet 
und das Problem mit der Anzeigedifferenz der Temperatur ist beseitigt.
Da ich es ganz genau haben wollte, habe ich zusätzlich noch den 
Leiterzug zwischen GND, GND des LM35 und GND (yC)/aGND mit einem Draht 
verstärkt, um dort den Spannungsabfall zu minimieren.

gruß

tobi

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

neue Software.

-Menüs neu strukturiert
-2 umschaltbare Displays (nur Uhrzeit / Uhrzeit und Temperatur 
kombiniert)
Menü "Display"

gruß

tobi

von John L. (johnli)


Lesenswert?

Danke fürs Teilen.

von Jens G. (jensg)


Lesenswert?

hacker-tobi schrieb:
> Genauigkeit der Temperaturmessung im Vergleich zum KTY81-220 verbessern
> lässt.
> Ich hatte auch überlegt, LM135 zu ordern, aber der ist mir mit 8€ doch
> zu teuer.
>
Ich empfehle mal als Temperatursenser den MCP9808 von Microchip. Es 
verwendet den I2C Bus, ist sehr genau und preiswert.

Ich verwende diesen Treiber:
https://github.com/adafruit/Adafruit_MCP9808_Library

Nur als Vorschlag gedacht.

von hacker-tobi (Gast)


Lesenswert?

Hallo Jens,

danke für den Vorschlag, aber aktuell setze ich den LM35CZ ein, der für 
mich ausreichend präzise Ergebnisse liefert.

von hacker-tobi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

basierend auf einem Fund im Thingiverse 
(https://www.thingiverse.com/thing:1457047) habe ich ein Gehäuse für die 
Uhr erstellt.

Ich habe es in das Zip-File mit aufgenommen (Ordner "Housing"). Dort 
finden sich die STL wie auch das Gcode file.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.