Mögliche Ursachen für das Flackern der 7-Segment-LED

Ich arbeite mit einem Anbieter im Ausland zusammen, um ein vorhandenes Produkt zu überarbeiten. Wir versuchen, die Kosten niedrig zu halten.

Derzeit besteht das Produkt aus:

  • 4 große Knöpfe
  • 4 zweistellige 7-Segment-LEDs. (jede Taste hat eine zweistellige Zahl darunter)
  • 1 LCD (8 Zeichen ... jede Zeichenanzeige besteht aus einem 3x8-Raster aus LCD-Punkten)
  • Ein Sprecher
  • ein Mikrocontroller
  • LCD-Treiber

Bei der Überarbeitung möchte der Anbieter ein Problem mit dem aktuellen Produkt beheben. Alle 4 zweistelligen LEDs haben ein merkliches Flackern.

Der Anbieter gibt uns einen Kostenvoranschlag, der die Verwendung eines neuen Mikrocontrollers, einige Schaltkreis-Neugestaltungen und die Überarbeitung des gesamten Programms beinhaltet! (Wir wollen nur Audiodateien austauschen und das Flimmern beheben ... Ich denke nicht, dass die allgemeine Logik für das Produkt überhaupt geändert werden muss.)

Ich bin mir nicht sicher, wie die vorherige Schaltung konstruiert wurde, aber möglicherweise könnte der Flickr darauf zurückzuführen sein, dass die MCU beim Aufleuchten der LEDs nicht schnell genug für PWM ist.

Im Allgemeinen, basierend auf Erfahrung, was könnten einige andere Ursachen für flackernde 7-Segment-LEDs sein. Ich möchte das Problem nur verstehen, damit ich erkennen kann, ob der Anbieter zusätzliche Arbeit budgetiert, wenn sie nicht benötigt wird.

Hail-Mary-Hack: Verdoppeln (oder mehr) der MCU-Oszillatorfrequenz. Es wird wahrscheinlich nicht funktionieren, aber hey, warum nicht?

Antworten (3)

Flimmern ist das Ergebnis einer zu langsamen Aktualisierung. Sie müssen jedes Segment mindestens mit einigen 100 Hz auffrischen. Es gibt jedoch einige Tricks, die das scheinbare Flimmern reduzieren können, ohne tatsächlich eine schnellere Aktualisierung durchzuführen. Der naive Ansatz besteht darin, die Ziffern der Reihe nach aufzufrischen. Wenn Sie sie jedoch ein wenig abwechseln, scheint die ganze Zahl weniger zu flackern. Machen Sie zum Beispiel die Ziffern 1, 3 und 5, kommen Sie dann zurück und machen Sie die Ziffern 2, 4 und 6.

Ohne den Prozessor zu kennen und den Quellcode zu sehen, ist es unmöglich zu sagen, ob der Anbieter versucht, Sie zu überreden, oder ob das Durcheinander wirklich neu geschrieben werden muss. Denken Sie daran, dass 99 % der Firmware-Ingenieure schreckliche Firmware schreiben. Es könnte überall fest codierte Konstanten geben, die Annahmen über die Taktfrequenz, die LED-Aktualisierungsrate usw. treffen. Mit gut geschriebener Firmware sollte es einfach sein, die Aktualisierungsrate zu erhöhen, vorausgesetzt, der Prozessor hat bereits die erforderlichen Zyklen. Bei schlecht geschriebener Firmware könnte es viel mehr Ärger geben, als das Chaos loszuwerden und es richtig zu schreiben.

Wie kommt es, dass der ursprüngliche Designer das Flimmern nicht angesprochen hat? Vielleicht ist die Firmware so schlecht aufgebaut, dass ein einfaches Erhöhen nicht möglich war? Wenn das Flackern so offensichtlich ist, warum wurde das Produkt dann jemals so entwickelt, wie es ist? Das allein macht es wahrscheinlich, dass der ursprüngliche Designer ein Chaos angerichtet hat. Wenn er es leicht hätte reparieren können, hätte er es wahrscheinlich getan.

Das wirklich Lustige ist, dass du es jetzt wieder tust. Sie gehen ins Ausland, weil Sie die Kosten niedrig halten wollen. Gutes Design kostet richtig Geld, aber schlechtes Design kostet viel mehr. Obwohl Sie davon gebissen wurden, haben Sie es anscheinend immer noch nicht gelernt. Mit gutem Design wären Sie von vornherein nicht in dieser Position, und selbst wenn Sie es wären, sollte es einfach sein, sich zu ändern. Es gibt keine Entschuldigung dafür, dass das Ändern gespeicherter Audiodateien kein einfacher Vorgang ist.

Woher wissen Sie, ob es eine schlechte Idee ist, den Mikrocontroller und die Schaltung zu ändern, wenn Sie nicht wissen, was beides ist? Engineering ausschließlich nach Preis zu kaufen, ist der teuerste Weg.

Als Antwort auf Kommentare hinzugefügt:

Ich kann mich nicht erinnern, wo ich davon gehört habe, Ziffern nicht sequentiell zu aktualisieren, aber ich habe es versucht und festgestellt, dass es hilft. Ich denke, es funktioniert aus dem gleichen Grund, warum Interlaced-TV mit der Halbbildrate anstelle der Bildrate zu flackern schien. Für NTSC wurde das gesamte Bild mit 30 Hz neu gezeichnet, aber das scheinbare Flimmern betrug wegen der Zeilensprungaktualisierung 60 Hz. Sie werden kein 2: 1 erhalten, indem Sie Ziffern verschachteln, aber es hilft.

Nein, 60 Hz ist nicht schnell genug, nicht einmal annähernd. Bei 60 Hz sehen die meisten Menschen bei einer Rechteckwelle kein Flimmern mehr. Jemand, der direkt auf eine LED starrt, die 50 % der Zeit mit 60 Hz betrieben wird, sieht das Flackern vielleicht nicht, aber das ist nicht die einzige Art, wie die Leute es wahrnehmen. Wenn Sie nicht nur zwei Ziffern haben, leuchten die LEDs für einen kleineren Bruchteil der Zeit heller, wodurch das Flackern deutlicher wird. Das Zentrum Ihrer Netzhaut reagiert am langsamsten. Sie werden das Flimmern am Rand Ihres Sichtfelds stärker bemerken. Der wirklich unangenehme Teil ist jedoch, wenn Sie Ihre Augen bewegen. Flimmern ist bei 60 Hz leicht erkennbar. Sie können das Flimmern aufgrund dieses Phänomens nicht unsichtbar machen, daher besteht das Problem darin, es weniger störend zu machen. 60 Hz sind für die meisten Menschen immer noch ziemlich nervig. Wie gesagt, Sie wollen mindestens ein paar 100 Hz. Wenn Sie eine Nummer auswählen müssen,

Gute Technik zu bekommen, das ist ein eigenes Thema. Es ist grundsätzlich nichts falsch daran, ins Ausland zu gehen. Kompetente Menschen leben an verschiedenen Orten. Das Problem besteht zunächst darin, zu erkennen, dass schlechtes Design viel mehr kostet, als einen Top-Ingenieur einzustellen, um es überhaupt richtig zu machen. Zweitens müssen Sie sich darüber im Klaren sein, dass das Finden und Überprüfen von Ingenieurtalenten einige Arbeit erfordert. Sie werden 1000 $ ausgeben, wahrscheinlich 10 von 1000 $. Behandeln Sie es wie andere Kaufentscheidungen dieser Größenordnung. Fragen Sie herum, interviewen Sie, holen Sie Referenzen ein und gehen Sie ihnen tatsächlich nach.

Solange Sie es ernst meinen und der Job echt ist, würde ich sagen, dass Sie das Recht haben, etwa 2 Stunden Erstberatung zu erwarten, bevor eine Verpflichtung eingegangen wird. Denken Sie daran, dass dies in beide Richtungen geht. Ein Teil dieser Zeit dient Ihnen dazu, den Ingenieur zu bewerten, aber natürlich bewertet der Ingenieur Sie auch. Sie versuchen zu entscheiden, ob dieser Job zu dem passt, was sie tun möchten, ob Sie ein lästiger Kunde sein werden usw. In jedem Fall sollte genügend Zeit vorhanden sein, um sich mit den Anforderungen auseinanderzusetzen und zu sprechen über erste Eindrücke, welchen Weg der Ingenieur zur Lösung einschlagen wird. Dies sollte Ihnen viel darüber sagen, wie sie denken, wie sehr sie einfach das umsetzen, was Sie ihnen gesagt haben, anstatt nachzuforschen und zu versuchen, das eigentliche Problem zu lösen und sicherzustellen, dass es gelöst ist, alternative Lösungen vorzuschlagen usw.

Nichts davon besagt, dass der Ingenieur nicht beaufsichtigt werden kann, aber es erschwert die Logistik und eine gute Bewertung. Wenn Sie ein paar starke Empfehlungen von Menschen haben, denen Sie vertrauen, dann hilft das sehr. Wenn Sie nur logisch sind, dass Bob in Boston 130 $/Stunde will und 4 Wochen schätzt, während Naresh in Bangalore 35 $/Stunde will und es in 2 Wochen schaffen kann, dann steuern Sie auf ernsthafte Probleme zu.

+1 für rundum. Ich wusste auch nicht, dass das Aktualisieren außerhalb der Reihenfolge das Flimmern reduzieren kann, eine gute Kleinigkeit. Eine schnelle Google-Suche ergab nicht wirklich Informationen zu dieser Tatsache. Haben Sie einen Link / eine Referenz, die dieses Phänomen erklärt? Ich bin neugierig auf den Grund, warum sich das Gehirn so verhält.
refresh each segment at a few 100 Hz minimumWürden 60 Hz (Bildwiederholrate von Spielen, LCDs etc.) nicht ausreichen?
Olin: Sie haben einen guten Punkt, wenn es darum geht, gute Technik zu bekommen. Was würdest du vorschlagen? Im Inland entwickeln und dann im Ausland produzieren?
@m.Alin: Siehe Ergänzung zur Antwort.
@kris: Siehe Ergänzung zur Antwort.
@milesmeow: Siehe Zusatz zur Antwort.
Das Auffrischen außerhalb der Reihenfolge scheint genau das gleiche Prinzip wie das Interlaced-Rastering auf einer CRT zu sein.
Nützliche Google-Suchbegriffe: "kritische Flimmerfrequenz"

Ich stimme einer minimalen Bildwiederholfrequenz von 100 Hz zu. Das sollte ziemlich einfach im Code für jedes uC zu tun sein. Irgendwelche anderen Symptome von niedrigem Takt f? wie tiefe Tonhöhe im Lautsprecher?

Alle Mux-Anzeigen gehen von einem festen %Duty-Zyklus = Ein/Zykluszeit aus, sodass der durchschnittliche Strom unabhängig von der Aktualisierungszeit konstant ist. Wie sind also Einschaltdauer und Zykluszeit bei Änderungen zu verstehen.

Wenn Sie WISSEN WIE, ist es trivial. Wenn Sie dies nicht tun, ist es wirklich sehr teuer.

Ich verstehe, dass das Flackern bei allen Einheiten desselben Produktmodells zu sehen ist, es ist also nicht so, dass etwas beschädigt wurde. Ich würde auch sagen, dass Sie nur die Aktualisierungsfrequenz erhöhen müssen und natürlich nicht das gesamte Programm ändern müssen.

Es kann sein, dass die MCU nicht schnell genug ist, um diese zweistelligen Werte mit einer höheren Rate aufzufrischen, aber ich bezweifle es. Kannst du uns sagen, um welche MCU es sich handelt?