Causes possibles du scintillement des LED à 7 segments

11

Je travaille avec un fournisseur à l'étranger pour réorganiser un produit existant. Nous essayons de réduire les coûts.

Actuellement, le produit se compose de:

  • 4 gros boutons
  • 4 LED à 7 chiffres à deux chiffres. (chaque bouton a un double chiffre en dessous)
  • 1 LCD (8 caractères ... chaque affichage de caractères est composé d'une grille 3x8 de points LCD)
  • un haut-parleur
  • un microcontrôleur
  • Pilote LCD

Dans la refonte, le fournisseur souhaite résoudre un problème avec le produit actuel. Les 4 LED à deux chiffres ont un scintillement notable.

Le vendeur nous donne une estimation qui inclut l'utilisation d'un nouveau microcontrôleur, une refonte du circuit et la refonte de tout le programme! (nous voulons juste échanger des fichiers audio et corriger le scintillement ... Je ne pense pas que la logique générale du produit doive changer du tout)

Je ne sais pas exactement comment le circuit précédent a été conçu, mais potentiellement le flickr pourrait être dû au fait que le MCU n'est pas assez rapide pour PWM lors de l'allumage des LED.

En général, sur la base de l'expérience, quelles pourraient être les autres causes de scintillement des LED à 7 segments. Je veux juste comprendre le problème afin que je puisse discerner si le fournisseur budgétise du travail supplémentaire lorsqu'il n'est pas nécessaire.

milesmeow
la source
2
Hail-Mary hack: double (ou plus) la fréquence de l'oscillateur MCU. Cela ne fonctionnera probablement pas, mais, pourquoi pas?
tyblu

Réponses:

18

Le scintillement est le résultat d'un rafraîchissement trop lent. Vous devez actualiser chaque segment à quelques 100 Hz minimum. Cependant, il existe des astuces qui peuvent réduire le scintillement apparent sans effectuer une actualisation plus rapide. L'approche naïve consiste à rafraîchir les chiffres dans l'ordre. Mais, si vous les alternez un peu, le nombre entier semblera moins scintiller. Par exemple, faites les chiffres 1, 3 et 5, puis revenez et faites les chiffres 2, 4 et 6.

Sans connaître le processeur et voir le code source, il est impossible de dire si le fournisseur essaie de vous enchaîner ou si le désordre doit vraiment être réécrit. Gardez à l'esprit que 99% des ingénieurs du firmware écrivent un firmware horrible. Il peut y avoir partout une constante codée en dur qui fait des hypothèses sur la fréquence d'horloge, le taux de rafraîchissement des LED, etc. Avec un firmware bien écrit, l'augmentation du taux de rafraîchissement en supposant que le processeur a déjà les cycles nécessaires devrait être facile. Avec un micrologiciel mal écrit, il pourrait être beaucoup plus difficile de laisser tomber le gâchis et de l'écrire correctement.

Comment se fait-il que le créateur d'origine n'ait pas abordé le scintillement? Peut-être que le firmware est si mal architecturé qu'il n'était tout simplement pas possible d'augmenter simplement? Si le scintillement est si évident, alors pourquoi le produit a-t-il été créé tel quel? Cela seul rend probable le concepteur d'origine a fait un gâchis. S'il avait pu le réparer facilement, il l'aurait probablement fait.

La chose vraiment drôle, c'est que vous recommencez. Vous partez à l'étranger parce que vous voulez réduire les coûts. Une bonne conception coûte de l'argent réel, mais une mauvaise conception coûte beaucoup plus cher. Même si vous avez été mordu par cela, vous ne l'avez pas encore apparemment appris. Avec un bon design, vous ne seriez pas dans cette position, et même si vous l'étiez, cela devrait être facile à changer. Il n'y a aucune excuse pour changer l'audio stocké qui n'est pas une opération simple.

Comment savoir si c'est une mauvaise idée ou non de changer le microcontrôleur et le circuit si vous ne savez pas non plus ce que c'est? L'achat d'ingénierie strictement sur le prix est la voie la plus coûteuse.

Ajouté en réponse aux commentaires:

Je ne me souviens pas où j'ai entendu parler de rafraîchissement des chiffres de manière non séquentielle, mais je l'ai essayé et je l'ai trouvé pour aider. Je pense que cela fonctionne pour la même raison que la télévision entrelacée semble scintiller au taux de champ au lieu de la fréquence d'images. Pour NTSC, l'image entière a été redessinée à 30 Hz, mais le scintillement apparent était de 60 Hz en raison du rafraîchissement de l'entrelacement. Vous n'obtiendrez pas 2: 1 comme ça en entrelaçant les chiffres, mais cela aide.

Non, 60 Hz n'est pas assez rapide, même pas proche. 60 Hz est l'endroit où la plupart des gens ne voient plus de scintillement pour une onde carrée. Quelqu'un qui regarde directement une LED pilotée 50% du temps à 60 Hz peut ne pas voir le scintillement, mais ce n'est pas la seule façon dont les gens le perçoivent. À moins que vous ne disposiez que de deux chiffres, les LED seront plus lumineuses pendant une plus petite fraction du temps, ce qui rend le scintillement plus apparent. Le centre de votre rétine est le plus lent à répondre. Vous remarquerez un scintillement plus à la périphérie de votre vision. Cependant, la vraie partie répréhensible est lorsque vous bougez les yeux. Le scintillement est facilement apparent à 60 Hz. Vous ne pouvez pas rendre le scintillement invisible à cause de ce phénomène, le problème est donc de le rendre moins ennuyeux. 60 Hz est encore assez ennuyeux pour la plupart des gens. Comme je l'ai dit, vous voulez au moins quelques 100 Hz.

Quant à obtenir une bonne ingénierie, c'est un sujet à part entière. Il n'y a rien de mal à aller à l'étranger. Des personnes compétentes vivent dans divers endroits. Le problème est d'abord de reconnaître qu'une mauvaise conception coûtera beaucoup plus cher que d'embaucher un ingénieur de haut niveau pour le faire correctement en premier lieu. Deuxièmement, vous devez comprendre que la recherche et la vérification des talents en ingénierie nécessitent un certain travail. Vous allez dépenser des milliers de dollars, probablement des dizaines de milliers de dollars. Traitez-le comme d'autres décisions d'achat de cette ampleur. Demandez autour de vous, interviewez, obtenez des références et suivez-les.

Tant que vous êtes sérieux et que le travail est réel, je dirais que vous avez le droit de vous attendre à environ 2 heures de consultation initiale avant tout engagement. Gardez à l'esprit que cela va dans les deux sens. Une partie de ce temps est pour vous d'évaluer l'ingénieur, mais bien sûr l'ingénieur vous évalue aussi. Ils essaient de décider si ce travail correspond à ce qu'ils veulent faire, si vous allez faire mal au client, etc. Dans tous les cas, il devrait y avoir beaucoup de temps pour entrer dans les exigences et parler sur les premières impressions de la voie à suivre par l'ingénieur vers la solution. Cela devrait vous en dire beaucoup sur la façon dont ils pensent, combien ils mettent simplement en œuvre tout ce que vous leur avez dit par rapport à l'exploration et à la résolution du problème réel et à sa résolution, à la suggestion de solutions alternatives, etc.

Rien de tout cela ne dit que l'ingénieur ne peut pas être supervisé, mais cela rend la logistique et une bonne évaluation difficiles. Si vous avez quelques recommandations solides de personnes en qui vous avez confiance, cela aide beaucoup. Si vous êtes logique, c'est seulement que Bob à Boston veut 130 $ / heure et estime 4 semaines tandis que Naresh à Bangalore veut 35 $ / heure et peut le faire en 2 semaines, vous vous dirigez vers de graves problèmes.

Olin Lathrop
la source
5
+1 pour tout autour. Je ne savais pas non plus que le fait de les rafraîchir dans le désordre peut réduire le scintillement, un bon morceau de trivia. Une recherche rapide sur Google n'a pas vraiment retourné d'informations à ce sujet. Avez-vous un lien / référence qui explique ce phénomène? Je suis curieux de savoir pourquoi le cerveau se comporterait de cette façon.
Kris Bahnsen
refresh each segment at a few 100 Hz minimum 60 Hz (fréquence de rafraîchissement des jeux, écrans LCD, etc.) ne suffiraient-ils pas?
m.Alin
Olin: Vous avez un bon point sur l'obtention d'une bonne ingénierie. Que suggérerais-tu? Ingénier au pays et ensuite le produire à l'étranger?
milesmeow
@ m.Alin: Voir l'addition pour répondre.
Olin Lathrop du
@kris: Voir l'addition pour répondre.
Olin Lathrop du
1

Je suis d'accord sur un taux de rafraîchissement de 100 Hz min. Cela devrait être assez facile à faire dans le code pour n'importe quel uC. D'autres symptômes de faible horloge f? comme un grave dans le haut-parleur?

Tous les affichages multiplexés supposent un% Duty cycle fixe = temps de marche / cycle, donc le courant moyen est constant quel que soit le temps de rafraîchissement. Alors, comment le temps de marche et le temps de cycle doivent être compris lors des modifications.

Si vous SAVEZ COMMENT, c'est trivial. Sinon, c'est vraiment très cher.

Tony Stewart Sunnyskyguy EE75
la source
0

Je comprends que le scintillement peut être vu dans toutes les unités du même modèle de produit, donc ce n'est pas que quelque chose a été endommagé. Je dirais également que vous avez juste besoin d'augmenter la fréquence de rafraîchissement, et bien sûr de ne pas changer tout le programme.

Il se peut que le MCU ne soit pas assez rapide pour actualiser ces deux chiffres à un taux plus élevé, mais j'en doute. Pouvez-vous nous dire de quoi s'agit-il?

Telaclavo
la source