Hallo liebe Community,
Ich habe mir die minutengenaue 24-Stunden Wortuhr angesehen, jedoch war
ich mit den Ideen unzufrieden. Daher habe ich das Projekt nach meinen
Vorstellungen umgesetzt und möchte euch an meinem Ergebnis teilhaben
lassen. Über ein Review würde ich mich sehr freuen!
Details zu meinen Ideen:
Alles auf einer Platine
Es sind insgesamt 256 LEDs, die in einem 16x16 Raster angeordnet werden
wollen. Diese müssen einzeln verlötet werden, wenn kein Bestücker
hinzugezogen werden soll. Um es aber nicht unnötig schwer zu machen,
will ich keine freifliegende Verdrahtung und auch keine einzelne
Befestigung im 16x16 Raster. Daher kommt alles auf eine Platine, jede
LED hat ihren vorgegebenen Platz.
Größe
Die Platine wird hinter einen 24x30 cm Bilderrahmen geschraubt. Diese
bekommt man im Baumarkt seines Vertrauens nachgeschmissen. Um etwas
Platz zu gewinnen wird noch eine dünne Holzplatte dazwischen geschraubt.
Die LEDs bekommen dann Löcher mit 10mm Durchmesser. Vieleicht noch eine
diffuse Folie, damit das Licht der LEDs etwas verteilt wird. Die
Buchstaben-Maske wird wohl eine Klebefolie in schwarz, das
Buchstabenmuster kann sich aber noch geringfügig ändern. Die Platine hat
zum Rand des Rahmens jeweils 5mm platz, um Tolleranzen zu kompensieren.
Bauteile
Diese Uhr braucht sich nicht selbst kalibrieren können, daher kann die
Hardware sehr minimalistisch ausgelegt werden. Verwendet wird ein
PIC16LF1847, den ich noch von der letzten Sample-Lieferung übrig habe.
Im Schaltplan ist ein anderer Controller angegeben, der aber
Pinkompatibel ist.
Getaktet wird der Controller mit einem Uhrenquarz, hier noch ohne
Lastkapazität, da die Eingangspins des Controllers genügend Kapazität
aufweisen müssten. Sollte das nicht reichen, sind noch zwei SMD-Plätze
vorgesehen, damit nachgerüstet werden kann.
Versorgt wird über USB-Netzteil mit 3v3-1A-LDO. Das sollte gerade
ausreichen, aber alternativen können gerne vorgeschlagen werden.
Die LEDs werden über STP16-Schieberegister angesteuert. Das hat zum
Vorteil, dass keine Vorwiderstände benötigt werden (256 Bauteile
weniger!) und auch nichts flimmert. R-EXT ist hier noch mit 10k
angegeben, das ist falsch. Der tatsächliche Wert wird zwischen 2k und 4k
liegen und muss empirisch ermittelt werden (je nach dem, wie hell die
LEDs leuchten sollen). Daher sind diese nicht als SMD-Bauteile
vorgesehen.
Noch drei Tasten zum Einstellen der Uhr, und es sollte soweit alles
vorhanden sein.
Das Programm
Ich habe ein vorläufiges Programm angehängt. Vieleicht hilft das beim
Verständnis des Schaltplans und Layouts.
Kosten
Eine Platine kostet bei Jackaltac etwa 39,31€ plus 78,62€ Initialkosten.
Auf Wunsch kann eine Sammelbestellung vorgenommen werden. Bauteilkosten
werden für LEDs, Widerstände, Schieberegister, etc. etwa 60€ betragen.
Dann fehlt noch der Bilderrahmen und co.
Ich bitte um eure Meinung und um konstruktive Kritik.
~Lil B
Little Basdart schrieb:> Ich habe mir die minutengenaue 24-Stunden Wortuhr angesehen, jedoch war> ich mit den Ideen unzufrieden. Daher habe ich das Projekt nach meinen> Vorstellungen umgesetzt und möchte euch an meinem Ergebnis teilhaben> lassen. Über ein Review würde ich mich sehr freuen!
Mit welchen Ideen warst du unzufrieden und was macht dein Projekt besser
als die anderen?
Little Basdart schrieb:> Es sind insgesamt 256 LEDs, die in einem 16x16 Raster angeordnet werden> wollen. Diese müssen einzeln verlötet werden, wenn kein Bestücker> hinzugezogen werden soll.
Wieso keine SMD-LEDs?
Little Basdart schrieb:> Versorgt wird über USB-Netzteil mit 3v3-1A-LDO. Das sollte gerade> ausreichen, aber alternativen können gerne vorgeschlagen werden.
Mmhmmm ... Also aus einem USB-Netzteil kommen ja 5V ... Wenn du 1A
benötigst und noch einen 3,3V LDO dazwischen klemmst, hast du 1,7W
Verlust ... Muss man dann schon kühlen imho
Little Basdart schrieb:> R-EXT ist hier noch mit 10k> angegeben, das ist falsch. Der tatsächliche Wert wird zwischen 2k und 4k> liegen und muss empirisch ermittelt werden (je nach dem, wie hell die> LEDs leuchten sollen). Daher sind diese nicht als SMD-Bauteile> vorgesehen.
Wieso kann man das nicht errechnen? Kann der Begründung noch nicht
folgen, weil ich noch keinen Schaltplan sehe ...
Little Basdart schrieb:> Ich habe ein vorläufiges Programm angehängt. Vieleicht hilft das beim> Verständnis des Schaltplans und Layouts.
Ahso, das ist quasi noch kein fertiges Projekt sondern mitten in der
Entwicklung ...
*edit*: Konstruktive Kritik zum Code von mir: Kuck dir mal an, wie
FOR-Schleifen funktionieren ... *edit2*: und Arrays ...
Mampf F. schrieb:> Bitte bitte bitte den Schaltplan und vlt Layout als PNG posten ... Nicht> jeder hat Eagle ...
Für die armen Leute, die sich Eagle Freeware nicht leisten können, siehe
Anhang.
Mampf F. schrieb:> Little Basdart schrieb:>> Ich habe mir die minutengenaue 24-Stunden Wortuhr angesehen, jedoch war>> ich mit den Ideen unzufrieden. Daher habe ich das Projekt nach meinen>> Vorstellungen umgesetzt und möchte euch an meinem Ergebnis teilhaben>> lassen. Über ein Review würde ich mich sehr freuen!>> Mit welchen Ideen warst du unzufrieden und was macht dein Projekt besser> als die anderen?
- Alles auf einer Platine
- Größe passend für einen Standard Bilderrahmen
- Wenige und minimalistische Bauteile
Mampf F. schrieb:> Wieso keine SMD-LEDs?
Es sind SMD-LEDs, größe 0805, rot, das sind die billigstgen :)
Mampf F. schrieb:> Little Basdart schrieb:>> Versorgt wird über USB-Netzteil mit 3v3-1A-LDO. Das sollte gerade>> ausreichen, aber alternativen können gerne vorgeschlagen werden.>> Mmhmmm ... Also aus einem USB-Netzteil kommen ja 5V ... Wenn du 1A> benötigst und noch einen 3,3V LDO dazwischen klemmst, hast du 1,7W> Verlust ... Muss man dann schon kühlen imho
Der LM3940 soll das abkönnen, laut Datenblatt. Desweiteren brauche ich
vermutlich nicht die volle Leistung, wo wir zum nächsten Punkt kommen.
Mampf F. schrieb:> Little Basdart schrieb:>> R-EXT ist hier noch mit 10k>> angegeben, das ist falsch. Der tatsächliche Wert wird zwischen 2k und 4k>> liegen und muss empirisch ermittelt werden (je nach dem, wie hell die>> LEDs leuchten sollen). Daher sind diese nicht als SMD-Bauteile>> vorgesehen.>> Wieso kann man das nicht errechnen? Kann der Begründung noch nicht> folgen, weil ich noch keinen Schaltplan sehe ...
Ich möchte einen Tradeoff zwischen Helligkeit und Stromverbrauch finden.
Der STP16CP05 gibt mir keine klare Berechnungsvorschrift für den
Ausgangsstrom, aber eine Tabelle ist gegeben. Mit dem LED Strom möchte
ich mich zwischen 5 und 10mA bewegen, was 4270 und 2056 Ohm entspricht.
Ich will mit der Uhr nicht den ganzen Raum beleuchten, jedoch sollte man
schon lesen können, was geschrieben steht.
Mampf F. schrieb:> Little Basdart schrieb:>> Ich habe ein vorläufiges Programm angehängt. Vieleicht hilft das beim>> Verständnis des Schaltplans und Layouts.>> Ahso, das ist quasi noch kein fertiges Projekt sondern mitten in der> Entwicklung ...
Nein, das Projekt ist de facto fertig. Was sich am Programm noch ändern
kann, sind weitere Anzeigemodi. (Es muss natürlich auch noch debuggt
werden)
Mampf F. schrieb:> *edit*: Konstruktive Kritik zum Code von mir: Kuck dir mal an, wie> FOR-Schleifen funktionieren ... *edit2*: und Arrays ...
Meine Entscheidung, es so zu tun:
- Loop unrolling
Der PIC taktet nur mit dem Uhrenquarz, also muss optimiert werden.
Programmspeicher sollte genug vorhanden sein. Sollte die Leistung wider
Erwarten nicht ausreichen, muss auf den internen RC umgeschaltet werden.
Das würde aber dann den Timer durcheinander bringen.
Little Basdart schrieb:> Mampf F. schrieb:>> Bitte bitte bitte den Schaltplan und vlt Layout als PNG posten ... Nicht>> jeder hat Eagle ...>> Für die armen Leute, die sich Eagle Freeware nicht leisten können, siehe> Anhang.
Den Kommentar hättest du dir sparen können. Nicht jeder verwendet
Windows - auch wenn es sich die meisten Leute leisten können - und
wollen Wine nicht verwenden. Wie immer gibt es kein richtige oder
falsche Meinungen, sondern nur Meinungen und andere Meinungen sollte man
auch respektieren können.
Little Basdart schrieb:> Meine Entscheidung, es so zu tun:> - Loop unrolling> Der PIC taktet nur mit dem Uhrenquarz, also muss optimiert werden.
Wenn du es dem Compiler sagst, macht der Loop-Unrolling auch selbst.
Muss zugeben, ich seh absolut nicht den Sinn dahinter, den PIC mit
32,768kHz zu takten ... Es gibt ja auch noch andere Quarze, die
ebenfalls 2er Potenzen sind. Dann gibts noch for-schleifen und Zähler,
mit denen man auch aus 10MHz die 1Hz erzeugen kann usw usf ...
Weshalb hast du dich dafür entschieden?
Mampf F. schrieb:> Little Basdart schrieb:>> Meine Entscheidung, es so zu tun:>> - Loop unrolling>> Der PIC taktet nur mit dem Uhrenquarz, also muss optimiert werden.>> Wenn du es dem Compiler sagst, macht der Loop-Unrolling auch selbst.
Da geb ich dir recht, habe nochmal nachgesehen, das kann auch die
Free-Lizens des XC8.
Mampf F. schrieb:> Muss zugeben, ich seh absolut nicht den Sinn dahinter, den PIC mit> 32,768kHz zu takten ... Es gibt ja auch noch andere Quarze, die> ebenfalls 2er Potenzen sind. Dann gibts noch for-schleifen und Zähler,> mit denen man auch aus 10MHz die 1Hz erzeugen kann usw usf ...>> Weshalb hast du dich dafür entschieden?
Availablility und low Power.
Zwischenzeitlich hatte ich auch die Idee, den PIC mit einem Backup zu
versorgen, falls der Netzstrom ausfällt. Da wäre jedes uA
Stromeinsparung vorteilhaft. Aber der Aufwand hätte den Nutzen
überschritten.
Für den normalen Betrieb mache ich mir auch keine Sorgen um die
Geschwindigkeit. Beim Einstellen der Uhr könnte es aber träge werden.
Little Basdart schrieb:> Availablility und low Power.
Ist das ein Ernst? Da hängt eine LED-Matrix mit 256 LEDs dran ...
Was meinst du mit Availability? 10MHz oder 2,097152MHz Quarze sind
schwer erhältlich?
> Zwischenzeitlich hatte ich auch die Idee, den PIC mit einem Backup zu> versorgen, falls der Netzstrom ausfällt.
Das kann man ja machen ... Dann verwende zB einen großen Kondensator
dafür wie ein Gold-Cap oder soetwas. Fällt die Betriebsspannung aus,
kann der Pic ja weiter laufen. Glaub nicht dass sich der Stromverbrauch
signifikant ändert ob 32kHz oder 10MHz. Klar, die LED-Matrix muss man
dann natürlich deaktivieren, bzw der Pic muss den
Betriebsspannungsaufall detektieren können. Aber das ist ja einfach
umzusetzen.
Mampf F. schrieb:> Glaub nicht dass sich der Stromverbrauch> signifikant ändert ob 32kHz oder 10MHz.
32kHz: 10,5 uA
4MHz: 491 uA
16MHz HFINT: 2.1mA
Ich hab verschiedene Ansätze durchdacht. Goldcap war der eine, CR2032
war ein anderer, aber alle hatten sie gemeinsam, dass die LEDs getrennt
davon sein müssen.
Natürlich wäre das machbar, aber ich sehe darin gerade nicht den großen
Nutzen. Man kann ein solches Feature aber für die Rev2 planen.
Ich bin im Allgemeinen auch sehr zufrieden mit meinem Konzept. Mir geht
es zur Zeit vor allem darum, ob noch grobe Fehler im Layout zu finden
sind.
Little Basdart schrieb:> Ich bin im Allgemeinen auch sehr zufrieden mit meinem Konzept. Mir geht> es zur Zeit vor allem darum, ob noch grobe Fehler im Layout zu finden> sind.
Achso! Das hättest du gleich sagen sollen, dann hätte ich konstruktive
Kritik garnicht erst eingebracht.
Für grobe Fehler im Layout kannst du den DRC von Eagle fragen, der
sagt dir das dann.
Little Basdart schrieb:> Es sind insgesamt 256 LEDs, die in einem 16x16 Raster
dafür gibt es LED Matrixe mit WS2812B
Herb und ich haben schon welche rumliegen, da fangen wir doch nicht an
256 LED verlöten und verdrahten
brauchen aber Ribba 50 x 50
Little Basdart schrieb:> Größe> Die Platine wird hinter einen 24x30 cm Bilderrahmen geschraubt.
echt, warum nicht Ikea Ribba 25 x 25 ? so sind meine Muster aufgebaut
mit LED stripes 72/m sollte das passen
Little Basdart schrieb:> Ich bitte um eure Meinung und um konstruktive Kritik.Little Basdart schrieb:> Mit dem LED Strom möchte> ich mich zwischen 5 und 10mA bewegen, was 4270 und 2056 Ohm entspricht.> Ich will mit der Uhr nicht den ganzen Raum beleuchten, jedoch sollte man> schon lesen können, was geschrieben steht.
also ehrlich wenn bei mir die Sonne reinknallt muss die LED schon voll
aufdrehen das bekommst du vermutlich mit 5mA kaum hin oder UH LEDs
einfarbig das könnte klappen aber als SMD? nie gesehen.
Little Basdart schrieb:> Zwischenzeitlich hatte ich auch die Idee, den PIC mit einem Backup zu> versorgen, falls der Netzstrom ausfällt.
dafür gibt es billige RTC mit Akku oder CR2032
Mampf F. schrieb:> Für grobe Fehler im Layout kannst du den DRC von Eagle fragen, der> sagt dir das dann.
Der DRC ist aber lieder kein Review-Ersatz
Ich habe schon Projektleiter gehabt, die haben das tatsächlich so
angenommen. "DRC passt, also passt das Layout". Er konnte mir aber auch
nicht erklären, warum keine unserer bestellten Platinen auf anhieb
funktionierten...
Nochmal zu deinen Vorschlägen:
- Es wird sich zeigen, ob der Uhrenquarz als Taktquelle reicht. Im
normalen Betrieb mach ich mir aber keine Sorgen.
- Eine Backup-Versorgung für den PIC werde ich für Rev2 einplanen, wenn
es den Rahmen nicht sprengt.
Danke für den Input soweit!
Little Basdart schrieb:> Ich habe mir die minutengenaue 24-Stunden Wortuhr angesehen, jedoch war> ich mit den Ideen unzufrieden.
Was passt Dir an den Features nicht, die bereits im STM32-Projekt der
minutengenauen WordClock24h umgesetzt sind und laufen:
- Anbindung IR-Fernbedienung mittels IRMP
- Monitoring/Benutzeroberfläche mittels MCURSES
- Einstellen des Anzeigemodus ("Sprache") und der Farbe per
IR-Fernbedienung
- Anbindung von LED-Stripes des Typs WS2812
- Sanftes Überblenden der Uhrzeiten auf den LEDs
- Wählbare Animationen bei Uhzeitwechsel
- Automatische Helligkeitsregelung mittels LDR (optional)
- Anbindung einer externen DS3231-RTC
- Anbindung eines externen I2C-EEPROM
- Anbindung eines DCF77-Moduls
- Anbindung eines ESP8266-WLAN-Moduls
- Temperaturmessung und -Anzeige mit DS18xx-Sensor
- Nachtzeit, zu welcher sich die Uhr automatisch abschaltet
- Fernsteuerung per Android App
- Unterstützung von rund einem Dutzend "Sprachdialekten"
Little Basdart schrieb:> Für die armen Leute, die sich Eagle Freeware nicht leisten können, siehe> Anhang.
Ich benutze Target und bin trotzdem nicht arm ;-)
Aber mal im Ernst: Ziemlich aufwendig, die Schaltung, oder? Bei der
STM32-Variante brauchst Du nur WS2812-Streifen zurechtzuschnippeln und
an ein fertiges Nucleo-Board anzuschließen. Auch der Rest ist einfach
anflanschbar. 256 LEDs zu löten - wie in Deinem Vorschlag - ist echt
heftig und grenzt an Masochismus ;-)
Es interesssiert mich brennend, was Dir am STM32-Projekt
https://www.mikrocontroller.net/articles/WordClock24h#STM32F4xx_Projekt
mit 18x16 = 288 LEDs nicht passt. Erzähl mal :-)
Frank M. schrieb:> Es interesssiert mich brennend, was Dir am STM32-Projekt>> https://www.mikrocontroller.net/articles/WordClock24h#STM32F4xx_Projekt>> mit 18x16 = 288 LEDs nicht passt. Erzähl mal :-)
Für mich stand im Vordergrund, eine einfache Digitaluhr zu bauen.
Ich finde das STM32-Projekt interessant, keine Frage!
DCF77 und Helligkeitsregelung machen auch wirklich Sinn, aber WLAN,
IRMP, EEPROM und Temperaturmessung, zusammen mit einem großen Cortex M4,
sind overkill.
Bitte nicht falsch verstehen, ich finde, das zeugt von Kreativität. Ich
habe aber andere Projekte, in denen ich diese Themengebiete schon
abdecke. Mit meiner Wordclock will ich "back to the roots".
Frank M. schrieb:> 256 LEDs zu löten - wie in Deinem Vorschlag - ist echt> heftig und grenzt an Masochismus ;-)
Ja, ich geb dir Recht, das wird sicher Lustig. Aber ich denke, das wird
an einem schönen Sonntag Vormittag nur halb so wild sein.
Little Basdart schrieb:> Ich habe schon Projektleiter gehabt, die haben das tatsächlich so> angenommen.
Oh, auf Grund deiner fachlichen Kompetenz und kritikfähigkeit hätte ich
dich viiiiel jünger eingeschätzt ... Sorry für meinen Irrtum
> "DRC passt, also passt das Layout". Er konnte mir aber auch> nicht erklären, warum keine unserer bestellten Platinen auf anhieb> funktionierten...
Projektleiter sind wohl auch nur Menschen ...
Aber anhand des Bildes des Layouts hab ich den Eindruck gehabt, dass das
noch lang nicht fertig ist ... Vlt täuscht das ja, aber die LEDs
scheinen alle mit einem Pin in der Luft zu hängen.
> Nochmal zu deinen Vorschlägen:> - Es wird sich zeigen, ob der Uhrenquarz als Taktquelle reicht. Im> normalen Betrieb mach ich mir aber keine Sorgen.
Kannst du ja machen ... Ich wollte damit nur sagen, dass es keinenGrund gibt sich selbst zu gängeln ... Aber zum Schluss ist es deine
Entscheidung.
> - Eine Backup-Versorgung für den PIC werde ich für Rev2 einplanen, wenn> es den Rahmen nicht sprengt.
Wie kann denn eine zusätzlich Diode und ein Kondensator und eine Leitung
zum PIC den Rahmen sprengen? verwirrtbin> Danke für den Input soweit!
Heißt das jetzt, dass kein weiterer Input mehr erwünscht ist?
Hmm, was wolltest du mit dem Thread jetzt wirklich? Ganz ehrlich?
Sieht fast so aus wie einer der unzählichen
selbstbeweiräucherungs-Threads, bei denen es nur darum geht, zu zeigen,
wie toll man ist ... und Kritik garnicht erwünscht ist, weil man von
seinem Konzept ja überzeugt ist.
Sorry, mein Eindruck :-)
Little Basdart schrieb:> Für mich stand im Vordergrund, eine einfache Digitaluhr zu bauen.>> Bitte nicht falsch verstehen, ich finde, das zeugt von Kreativität. Ich> habe aber andere Projekte, in denen ich diese Themengebiete schon> abdecke. Mit meiner Wordclock will ich "back to the roots".
Ich hab eher die Erfahrung gemacht, dass Leute Sachen neu von 0 an
entwickeln, weil sie mit bestehenden Lösungen nicht zurecht kommen - zB,
weil man vom STM32 keine Ahnung hat und weiß wie man einen PIC verwendet
...
Das sieht man zB bei den hunderten an SDCard/FAT32-Libraries immer ganz
deutlich. Jede neue Library ist schlechter als die, die "zu kompliziert"
war. Bevor Leute Dokumentation lesen, bauen sie es neu mit Mitteln, die
sie schon kennen.
Nur ein Beispiel ... Sollte keine Beleidigung sein, nur eine allgemeine
Beobachtung.