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
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
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. 🙂
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 ;)
Noch ein paar Bilder einer anderen Variante ebenfalls mit externem DCF-Empfänger.
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
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.
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
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
Kleinere Änderungen auch an der Software. Im wesentlichen die Behandlung von Tastendrücken angepasst. gruß tobi
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
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
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.
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
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
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... https://www.ebay.de/itm/DIN-A4-Set-ORACAL-8300-Transparent-Cal-Folie-32-Farben-Plotterfolie-Glas-Fenster/233858082809?var=533517402204&hash=item36730727f9:g:i5MAAOSwGcBgB8rV
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.
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.
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
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
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?
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
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.
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
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 ;)
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
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!
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.
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.
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
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
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
@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
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
..wobei man dann auch einen BMP oder BME280 einsetzen könnte..oder Beides. Pille
Beitrag #6628331 wurde vom Autor gelöscht.
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
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
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
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.
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
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
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
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
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
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
>>@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
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?
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
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
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.
>>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...
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
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
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
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
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
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
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
Hi, neue Software. -Menüs neu strukturiert -2 umschaltbare Displays (nur Uhrzeit / Uhrzeit und Temperatur kombiniert) Menü "Display" gruß tobi
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.
Hallo Jens, danke für den Vorschlag, aber aktuell setze ich den LM35CZ ein, der für mich ausreichend präzise Ergebnisse liefert.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.