Hi!
Ich baue eine Uhr auf mit einem (Conrad) DCF77 Empfänger und einer Darstellung mittels zweier großer (insgesamt fast 300 LEDS) WS2812B Strips, die mit FastLED angesteuert werden.
Der Einfachheit halber verwende ich die DCF77 Library von Thijs Elenbaas.
Folgende Beobachtung:
Ich habe den Empfänger mal laufen lassen, so dass stündlich zwischen LED-Ausgabe und keiner Ausgabe (= showstopper) umgeschaltet wird. Das Ergebnis ist eindeutig:
Showstopper activated @7200008
Time is updated: 16:37:01 30 7 2017 - (2103912 minutes since last valid ticket.)
Time is updated: 16:40:00 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 16:42:01 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 16:44:01 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 16:45:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 16:46:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 16:47:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 16:48:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 16:51:00 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 16:52:00 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 16:53:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 16:54:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 16:55:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 16:56:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 16:57:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 16:58:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 16:59:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:00:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:01:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:03:00 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:04:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:05:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:08:01 30 7 2017 - (3 minutes since last valid ticket.)
Time is updated: 17:10:01 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 17:12:01 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 17:13:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 17:14:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:15:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:16:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 17:17:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:18:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 17:21:01 30 7 2017 - (3 minutes since last valid ticket.)
Time is updated: 17:22:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:23:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:24:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:25:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 17:26:01 30 7 2017 - (1 minutes since last valid ticket.)
Showstopper deactivated @10800001
Showstopper activated @14400010
Time is updated: 18:27:00 30 7 2017 - (60 minutes since last valid ticket.)
Time is updated: 18:28:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:29:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:32:00 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 18:33:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:35:01 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 18:36:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 18:37:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:38:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:39:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:40:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 18:41:00 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:44:00 30 7 2017 - (3 minutes since last valid ticket.)
Time is updated: 18:45:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:46:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 18:47:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:49:00 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:50:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:51:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 18:52:00 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:53:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 18:58:01 30 7 2017 - (5 minutes since last valid ticket.)
Time is updated: 18:59:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 19:01:01 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 19:03:01 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 19:04:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 19:05:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 19:06:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 19:07:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 19:08:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 19:09:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 19:10:00 30 7 2017 - (0 minutes since last valid ticket.)
Time is updated: 19:12:01 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 19:15:00 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 19:16:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 19:17:01 30 7 2017 - (1 minutes since last valid ticket.)
Time is updated: 19:20:00 30 7 2017 - (2 minutes since last valid ticket.)
Time is updated: 19:21:01 30 7 2017 - (1 minutes since last valid ticket.)
Showstopper deactivated @18000001
Showstopper activated @21600007
Time is updated: 20:28:01 30 7 2017 - (67 minutes since last valid ticket.)
--> Wenn FastLED schreibt, ist kein Empfang möglich. In den zwei Stunden gar nichts. Generell ist der Empfang aber nicht soo schlecht.
Vermutete Erklärung: Zwei so lange Strips zu schreiben deaktiviert den Interrupt zu lange (~8,5ms gem. der Faustformel aus dem FastLED FAQ zum Thema von 30µs/LED) und entweder gehen Flanken verloren (weil sie nicht abgeholt und behandelt werden) oder das Timing gerät so durcheinander, dass die Auswertung versagt.
Jetzt kommt meine Bitte:
Kann jemand das anhängende Sketch mit dem Pollin-Empfänger und einem Uno oder Nano oder ähnlichem testen (LEDs sind nicht erforderlich, FastLED.show() einfach ins Leere laufen lassen)? Der soll nach allem was ich hier und anderswo gelesen haben einen Lowpass Filter haben und meine Vermutung ist, dass wenn weniger Rauschen am Input-PIN ankommt, keine Flanke mehr verloren geht sondern nur ein paar ms später "ankommt", was nichts ausmachen sollte.
Die Uhr wird ohnehin auch eine RTC bekommen, Alternativ würde ich einfach Nachts die Darstellung anhalten um ein Fenster für den Empfang zu schaffen. Schöner wäre es aber natürlich, durchlaufen lassen zu können...
Danke!
Hajo
DCF77_test_withbusyFastLED.ino (5.01 KB)