Forum: Projekte & Code Schaltplan und Layout Review: Minutengenaue 24-Stunden Wortuhr


von Little B. (lil-b)


Angehängte Dateien:

Lesenswert?

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

von Mampf F. (mampf) Benutzerseite


Lesenswert?

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?

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Bitte bitte bitte den Schaltplan und vlt Layout als PNG posten ... Nicht 
jeder hat Eagle ...

von Mampf F. (mampf) Benutzerseite


Lesenswert?

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

: Bearbeitet durch User
von Little B. (lil-b)


Angehängte Dateien:

Lesenswert?

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.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

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?

von Little B. (lil-b)


Lesenswert?

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.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

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.

von Little B. (lil-b)


Lesenswert?

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.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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

von Little B. (lil-b)


Lesenswert?

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!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

: Bearbeitet durch Moderator
von Little B. (lil-b)


Lesenswert?

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.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

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 keinen 
Grund 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 :-)

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.