Можливі причини 7-сегментного світлодіодного мерехтіння


11

Я працюю з постачальником за кордоном, щоб переробити існуючий продукт. Ми намагаємось знизити вартість.

В даний час продукт складається з:

  • 4 великі кнопки
  • 4 двозначні 7-сегментні світлодіоди. (кожна кнопка має подвійну цифру під нею)
  • 1 РК-дисплей (8 символів ... кожен символьний дисплей складається з сітки 3х8 РК-точок)
  • динамік
  • мікроконтролер
  • РК-драйвер

Під час оновлення постачальник хоче вирішити проблему з поточним продуктом. Усі 4 двозначні світлодіоди мають помітний мерехтіння.

Постачальник дає нам оцінку, яка включає використання нового мікроконтролера, деякий перероблення мікросхем та переробку всієї програми! (ми просто хочемо поміняти аудіофайли та виправити мерехтіння ... Я не думаю, що загальна логіка продукту повинна взагалі змінюватися)

Я не впевнений, як саме було розроблено попередню схему, але, можливо, мерехтіння може бути наслідком того, що mcu не буде достатньо швидким для ШІМ при освітленні світлодіодів.

Взагалі, виходячи з досвіду, які можуть бути інші причини мерехтіння 7-сегментних світлодіодів. Я просто хочу розібратися в цьому питанні, щоб я міг визначити, чи постачальник бюджетує додаткову роботу, коли вона не потрібна.


2
Hack-Mary hack: подвійний (або більше) частот генератора MCU. Мабуть, це не спрацює, але, ей, чому б і ні?
tyblu

Відповіді:


18

Мерехтливість - результат занадто повільного оновлення. Потрібно оновити кожен сегмент на рівні мінімум 100 Гц. Однак є кілька хитрощів, які можуть зменшити видимий мерехтіння, але насправді не роблять швидшого оновлення. Наївний підхід - оновити цифри в порядку. Але, якщо ви їх трохи чергуєте, ціле число буде менше мерехтіти. Наприклад, зробіть цифри 1, 3 і 5, потім поверніться і зробіть цифри 2, 4 і 6.

Не знаючи процесора і не бачачи вихідного коду, неможливо сказати, чи намагається продавець нав'язати вас, чи безлад справді потрібно переписати. Майте на увазі, що 99% інженерів прошивки пишуть жахливі програмні засоби. У всіх місцях може бути жорстко закодована константа, яка робить припущення про тактову частоту, частоту оновлення світлодіода і т. Д. При добре написаній мікропрограмі збільшення швидкості оновлення, якщо процессор має необхідні цикли, вже має бути простим. З погано написаною прошивкою це може бути набагато більше клопотів, ніж кинути безлад і правильно написати.

Чому оригінальний дизайнер не звернувся до мерехтіння? Можливо, прошивка настільки погано побудована, що просто збільшити її було неможливо? Якщо мерехтіння таке очевидне, то чому продукт коли-небудь створювався таким, яким він є? Це одне лише ймовірно, що оригінальний дизайнер заплутався. Якби він міг це легко виправити, він, мабуть, мав би.

Дійсно смішна річ - це ти знову робиш це. Ви їдете за кордон, тому що хочете зменшити витрати. Хороший дизайн коштує реальних грошей, але поганий дизайн коштує набагато дорожче. Незважаючи на те, що вас укусив, ви все ще, мабуть, цього не навчились. З хорошим дизайном в першу чергу ти б не опинився в такому положенні, і навіть якби ти був, це легко змінити. Немає приводу, щоб зміна збереженого аудіо не була простою операцією.

Як дізнатися, чи погана ідея чи не міняти мікроконтролер і схему, якщо ви не знаєте, що з них є? Купівля техніки строго за ціною - це найдорожчий шлях.

Додано у відповідь на коментарі:

Я не пам’ятаю, де я чув про оновлення цифр не послідовно, але я спробував це і знайшов це, щоб допомогти. Я думаю, що це працює з тієї самої причини, що переплетене телебачення мерехтіло із швидкістю поля замість частоти кадрів. Для NTSC вся картина була перемальована на 30 Гц, але видимий мерехтіння становив 60 Гц через переплетення оновлення. Ви не збираєтеся отримувати подібне 2: 1, переплітаючи цифри, але це допомагає.

Ні, 60 Гц не досить швидкий, навіть близько. 60 Гц - це те, де більшість людей більше не бачить мерехтіння квадратної хвилі. Хтось дивиться прямо на світлодіод, що рухається 50% часу при 60 Гц, може не бачити мерехтіння, але це не єдиний спосіб сприйняття ним людей. Якщо у вас є лише дві цифри, світлодіоди будуть світитися протягом меншої частки часу, що робить мерехтіння більш очевидним. Центр сітківки є найповільнішим у відповіді. Ви помітите мерехтіння більше на периферії вашого зору. Однак справжня суперечлива частина - це коли ти рухаєш очима. Мерехтіння легко помітно при 60 Гц. Ви не можете зробити мерехтіння невидимим через ці явища, тому проблема полягає в тому, щоб зробити його менш дратівливим. 60 Гц все ще досить дратує для більшості людей. Як я вже казав, вам потрібно хоча б кілька 100 Гц.

Що стосується отримання хорошої інженерії, то це ціла тема сама по собі. У поїздці за кордон немає нічого поганого. Компетентні люди живуть у різних місцях. Спершу питання полягає в тому, щоб визнати, що поганий дизайн обійдеться набагато дорожче, ніж наймати топ-інженера, щоб це зробити в першу чергу правильно. По-друге, ви повинні усвідомити, що пошук та перевірка таланту інженерів вимагає певної роботи. Ви збираєтеся витратити 1000 тисяч доларів, ймовірно, 10 тисяч з 1000 тисяч доларів. Ставтесь до цього як до інших рішень про купівлю такого масштабу. Поцікавтеся, опитайте інтерв'ю, знайдіть довідки та фактично слідкуйте за ними.

Поки ви серйозно ставитеся і робота справжня, я б сказав, що ви маєте право очікувати приблизно 2 години першої консультації до того, як буде здійснено будь-яке зобов'язання. Майте на увазі, що йде обома способами. Частина цього часу для вас оцінює інженер, але, звичайно, інженер оцінює і вас. Вони намагаються вирішити, чи відповідає ця робота відповідно до того, чим вони хочуть займатися, чи не будете ви боліти задницю, і тому подібне. У будь-якому випадку, має бути достатньо часу, щоб вступити в вимоги та поговорити. про початкові враження про те, який шлях інженер перейде до рішення. Це повинно вам багато розповісти про те, як вони думають, наскільки вони просто реалізують все, що ви їм сказали, порівняно зі свердлінням та намаганням вирішити справжню проблему та переконатися, що вона вирішена, пропонуючи альтернативні рішення тощо.

Нічого з цього не говорить про те, що інженер не може контролювати, але це ускладнює логістику та хорошу оцінку. Якщо у вас є кілька настійних рекомендацій від людей, яким довіряєте, то це дуже допомагає. Якщо ви є логікою лише в тому, що Боб в Бостоні хоче 130 доларів / годину і оцінює 4 тижні, а Нареш в Бангалорі хоче 35 доларів на годину, а може це зробити за 2 тижні, вас чекає серйозна проблема.


5
+1 для всіх навколо. Я також ніколи не знав, що оновлення їх з ладу може зменшити мерехтіння, хороший дрібницю. Швидкий пошук Google насправді не повернув жодної інформації до цього факту. Чи є у вас посилання / посилання, які пояснюють це явище? Мені цікаво з тієї причини, що мозок поводився б так.
Кріс Бансен

refresh each segment at a few 100 Hz minimum Хіба не вистачить 60 Гц (частота оновлення ігор, РК-дисплеїв тощо)?
м.Алін

Олін: У вас є гарний момент щодо отримання хорошої інженерії. Що б ти запропонував? Інженер на внутрішньому ринку, а потім виробляє його за кордоном?
milesmeow

@ m.Alin: див. додаток для відповіді.
Олін Латроп

@kris: див. додаток для відповіді.
Олін Латроп

1

Я погоджуюсь частоту оновлення хв. 100 Гц. Це слід зробити досить просто в коді для будь-якого UC. Будь-які інші симптоми низьких годин? як низький крок у динаміку?

Усі екрани Mux'd мають фіксований цикл% Duty = час / цикл, тому середній струм є постійним незалежно від часу оновлення. Отже, як слід розуміти час увімкнення та час циклу під час внесення змін.

Якщо ви знаєте, як це тривіально. Якщо цього немає, це дійсно дуже дорого.


0

Я розумію, що мерехтіння можна побачити у всіх підрозділах тієї самої моделі товару, тому не так, що щось було пошкоджено. Я б також сказав, що вам просто потрібно збільшити частоту оновлення, і звичайно не змінювати всю програму.

Можливо, MCU недостатньо швидкий, щоб оновити двозначні цифри з більшою швидкістю, але я сумніваюся в цьому. Чи можете ви сказати нам, що це за MCU?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.