Я работаю с поставщиком за рубежом, чтобы обновить существующий продукт. Мы пытаемся снизить стоимость.
В настоящее время продукт состоит из:
- 4 большие кнопки
- 4 двузначных 7-сегментных светодиода. (каждая кнопка имеет двойную цифру под ней)
- 1 ЖК-дисплей (8 символов ... каждый символьный дисплей состоит из сетки ЖК-точек 3х8)
- спикер
- микроконтроллер
- LCD драйвер
В обновлении поставщик хочет решить проблему с текущим продуктом. Все 4 двузначных светодиода имеют заметное мерцание.
Поставщик дает нам оценку, которая включает в себя использование нового микроконтроллера, некоторую модернизацию схемы и переделку всей программы! (мы просто хотим поменять аудиофайлы и исправить мерцание ... Я не думаю, что общая логика для продукта должна вообще меняться)
Я не уверен точно, как была сконструирована предыдущая схема, но потенциально flickr может быть из-за того, что mcu недостаточно быстр для ШИМ при освещении светодиодов.
В общем, исходя из опыта, какие могут быть некоторые другие причины мерцания 7-сегментных светодиодов. Я просто хочу разобраться в проблеме, чтобы понять, тратит ли поставщик бюджет на дополнительную работу, когда она не нужна.
источник
Ответы:
Мерцание является результатом слишком медленного обновления. Вам необходимо обновить каждый сегмент с минимальной частотой 100 Гц. Однако есть некоторые приемы, которые могут уменьшить видимое мерцание, в то время как на самом деле не выполняется более быстрое обновление. Наивный подход - обновить цифры по порядку. Но, если вы чередуете их, все число будет меньше мерцать. Например, введите цифры 1, 3 и 5, затем вернитесь и введите цифры 2, 4 и 6.
Не зная процессора и не увидев исходный код, невозможно сказать, пытается ли поставщик вас увязать или действительно нужно переписать беспорядок. Имейте в виду, что 99% инженеров по прошивке пишут ужасные прошивки. Повсюду могут быть жестко запрограммированные константы, делающие предположения о тактовой частоте, частоте обновления светодиодов и т. Д. При хорошо написанном встроенном программном обеспечении увеличение частоты обновления при условии, что процессор уже имеет необходимые циклы, должно быть простым. С плохо написанной прошивкой, это может быть намного больше проблем, чем бросить беспорядок и написать это правильно.
Почему оригинальный дизайнер не обратился к мерцанию? Возможно, прошивка настолько плохо спроектирована, что просто увеличить ее было невозможно? Если мерцание настолько очевидно, то почему продукт когда-либо создавался таким, какой он есть? Это само по себе делает вероятным, что оригинальный дизайнер напутал. Если бы он мог легко исправить это, он, вероятно, сделал бы.
Самое смешное в том, что теперь ты делаешь это снова. Вы едете за границу, потому что хотите снизить расходы. Хороший дизайн стоит настоящих денег, а плохой - намного дороже. Даже если вы были укушены этим, вы все еще не изучили это. С хорошим дизайном, во-первых, вы не были бы в этом положении, и даже если бы вы были, это должно быть легко изменить. Нет оправдания тому, что изменение сохраненного аудио не является простой операцией.
Как вы знаете, если это плохая идея или нет, чтобы изменить микроконтроллер и схему, если вы не знаете, что либо? Покупка техники строго по цене - самый дорогой путь.
Добавлено в ответ на комментарии:
Я не помню, где я слышал об обновлении цифр не последовательно, но я попробовал это и нашел, что это помогло. Я думаю, что это работает по той же причине, по которой чересстрочное телевидение мерцало с частотой кадров вместо частоты кадров. Для NTSC вся картинка была перерисована при 30 Гц, но видимое мерцание было 60 Гц из-за чересстрочного обновления. Вы не получите 2: 1, чередуя цифры, но это помогает.
Нет, 60 Гц не достаточно быстро, даже близко. 60 Гц - это то, где большинство людей больше не видят мерцания прямоугольной волны. Кто-то, смотрящий прямо на светодиод, управляемый 50% времени при 60 Гц, может не видеть мерцание, но это не единственный способ, которым люди воспринимают его. Если у вас нет только двух цифр, светодиоды будут светиться в течение меньшей доли времени, что делает мерцание более заметным. Центр вашей сетчатки реагирует медленнее всего. Вы заметите больше мерцания на периферии вашего зрения. Однако настоящая нежелательная часть - это когда вы двигаете глазами. Мерцание легко заметно при 60 Гц. Вы не можете сделать мерцание невидимым из-за этого явления, поэтому проблема состоит в том, чтобы сделать его менее раздражающим. 60 Гц все еще довольно раздражает для большинства людей. Как я уже сказал, вы хотите по крайней мере несколько 100 Гц.
Что касается хорошего инжиниринга, то это отдельная тема. Нет ничего плохого в том, чтобы поехать за границу. Компетентные люди живут в разных местах. Сначала нужно признать, что плохой дизайн будет стоить намного дороже, чем нанимать главного инженера, чтобы сделать это правильно. Во-вторых, вы должны понимать, что поиск и проверка инженерных талантов требует некоторой работы. Вы собираетесь потратить тысячи долларов, вероятно, десятки тысяч долларов. Относитесь к нему как к другим решениям о покупке такого масштаба. Спросите, собеседование, получить рекомендации и на самом деле следить за ними.
Пока вы серьезны и работа реальна, я бы сказал, что у вас есть право ожидать около 2 часов первичной консультации, прежде чем какое-либо обязательство будет принято. Имейте в виду, что идет в обе стороны. Часть этого времени для вас, чтобы оценить инженера, но, конечно, инженер также оценивает вас. Они пытаются решить, соответствует ли эта работа тому, что они хотят делать, не будете ли вы испытывать боль при заднице и т. Д. В любом случае, должно быть достаточно времени, чтобы разобраться в требованиях и поговорить. о начальных впечатлениях от того, какой путь будет вести инженер к решению. Это должно многое рассказать вам о том, как они думают, насколько они просто реализуют то, что вы им сказали, по сравнению с детализацией и попыткой найти реальную проблему и проверкой ее решения, предложением альтернативных решений и т. Д.
Ничто из этого не говорит, что инженер не может быть надзирателем, но это затрудняет логистику и хорошую оценку. Если у вас есть пара сильных рекомендаций от людей, которым вы доверяете, то это очень помогает. Если вы считаете, что Боб в Бостоне хочет 130 долларов в час и оценивает 4 недели, а Нареш в Бангалоре хочет 35 долларов в час и может сделать это через 2 недели, у вас серьезные проблемы.
источник
refresh each segment at a few 100 Hz minimum
Разве не достаточно 60 Гц (частота обновления игр, ЖК-дисплеев и т. Д.)?Я согласен, 100 Гц минимальная частота обновления. Это должно быть довольно легко сделать в коде для любого ОК. Любые другие симптомы низкого часов е? как низкий звук в динамике?
На всех дисплеях Mux предполагается фиксированный% Duty cycle = время включения / цикла, поэтому средний ток постоянен независимо от времени обновления. Так как время включения и время цикла необходимо понимать при внесении изменений.
Если вы ЗНАЕТЕ КАК, это тривиально. Если вы этого не сделаете, это действительно очень дорого.
источник
Я понимаю, что мерцание можно увидеть во всех единицах той же модели продукта, так что это не значит, что что-то было повреждено. Я бы также сказал, что вам просто нужно увеличить частоту обновления и, конечно, не менять всю программу.
Возможно, MCU недостаточно быстр, чтобы обновить эти двойные цифры с большей скоростью, но я сомневаюсь в этом. Можете ли вы сказать нам, что это MCU?
источник