Jump to content

    
Ugene

Закажу написание прошивки

Recommended Posts

1 minute ago, makc said:

Вы путаете максимальное значение тока, допустимое по выходу, и допустимый рабочий ток, при котором сохраняется необходимый уровень напряжения на выходе

Нет, не путаю.

При работе на светодиодный дисплей не требуется, чтобы уровень лог.0/1 оставался таким же, как для подачи на логический вход. Он будет занижен.

 

В предельном случае, дисплей подключенный вообще без резисторов, светит на полную, при этом Vo равно падению на сегменте+падение на ключе. Ограничителем тока является сам выходной транзистор. Я не говорю, что это правильно и что так надо делать, но встречал такое на платах индикаторов с али. Я против такого решения, но индикатор при этом светит равномерно, без заметной разницы в яркости.

 

Поэтому повторюсь, заметная на глаз разная яркость сегментов точно не из-за перегрузки регистра.

Согласен, что регистр слегка перегружен, но баг с яркостью из-за нижних ключей или программный.

Share this post


Link to post
Share on other sites
Только что, makc сказал:

Для чего тогда пишутся Absolute maximum ratings?

Для того, чтобы их не превышать, потому что дальше производитель уже ничего не гарантирует. Но ~10% (в случае горящих всех сегментов и точки) превышения общего тока на практике никогда не выведет HC595 из строя.

 

3 минуты назад, makc сказал:

т.е. приходится выкручиваться и управлять напряжением.

Но LED, в отличии от логического входа микросхемы, уже не предъявляет особых требований к уровню выходного "0" или "1". Обеспечили нужный ток (а к токозадающему резистору надо не забыть приплюсовать сопротивление канала, у 74HC оно довольно велико) - и достаточно. Не исключено, кстати, что в нормы все ж вписывается - надо проверить, сколько там на выходе под нагрузкой. Выжимать все не стоит, конечно - тут и в самом деле возможен (теоретически, опять же нуждается в проверке) подброс шины, и появится взаимовлияние.

 

Share this post


Link to post
Share on other sites
1 минуту назад, ae_ сказал:

При работе на светодиодный дисплей не требуется, чтобы уровень лог.0/1 оставался таким же, как для подачи на логический вход. Он будет занижен.

Если требуется получить заданную по ДШ яркость, то при таком раскладе она не будет достигнута. Но да, работать как-то будет и примеры с Али это подтверждают.

2 минуты назад, ae_ сказал:

Согласен, что регистр слегка перегружен, но баг с яркостью из-за нижних ключей или программный.

Я не спорю, что скорее всего проблема в программной части. Но всплыли и аппаратные проблемы, как ни крути.

Share this post


Link to post
Share on other sites
3 минуты назад, ae_ сказал:

но баг с яркостью из-за нижних ключей

Не исключено - меняется где-то на 300 mV (2 vs 8 сегментов), многовато.

 

Share this post


Link to post
Share on other sites
18 минут назад, rx3apf сказал:

А кто сказал, что для управления сегментом LED необходимо выдерживать уровень напряжения ?

Старик Ом это сказал: I=U/R

Стыдно не знать закона Ома на форуме разработки электроники.  :russian_ru:

А если напряжение не выдерживается, то и яркость гарантировать невозможно. Причём - эффект будет разный на разных экземплярах одного и того же чипа.

Share this post


Link to post
Share on other sites
2 минуты назад, rx3apf сказал:

Для того, чтобы их не превышать, потому что дальше производитель уже ничего не гарантирует. Но ~10% (в случае горящих всех сегментов и точки) превышения общего тока на практике никогда не выведет HC595 из строя.

Вот и я про то же. Если хочется лотереи, то можно устроить и лотерею. Но только стоит ли оно того?

3 минуты назад, rx3apf сказал:

Но LED, в отличии от логического входа микросхемы, уже не предъявляет особых требований к уровню выходного "0" или "1". Обеспечили нужный ток (а к токозадающему резистору надо не забыть приплюсовать сопротивление канала, у 74HC оно довольно велико) - и достаточно. Не исключено, кстати, что в нормы все ж вписывается - надо проверить, сколько там на выходе под нагрузкой. Выжимать все не стоит, конечно - тут и в самом деле возможен (теоретически, опять же нуждается в проверке) подброс шины, и появится взаимовлияние.

Я понимаю, что LED это не логический элемент, но для обеспечения заданного уровня яркости требуется определенный ток. Если выход проседает по напряжению, то нужного тока не будет и яркость упадёт. Причем при снижении уровня яркости становится более заметным мерцание, судя по моему личному опыту.

4 минуты назад, rx3apf сказал:

Не исключено - меняется где-то на 300 mV (2 vs 8 сегментов), многовато.

300 mV не так много, у LED разброс падения напряжения того же порядка величина.

Share this post


Link to post
Share on other sites
9 минут назад, ae_ сказал:

но баг с яркостью из-за нижних ключей или программный.

Программную природу бага можно доказать только посмотрев длительности импульсов на пинах управления. Чего автор так и не сделал. А пытается делать выводы по каким-то субъективным ощущениям яркости (даже яркость объективно оценивается не на глаз, а соответствующим прибором).

Share this post


Link to post
Share on other sites
1 минуту назад, makc сказал:

но для обеспечения заданного уровня яркости требуется определенный ток

Ясно, что примененная схемотехника не обеспечит 20 (в пике 30 mA) из даташита - а яркость вообще оговаривалась ? Нужно максимум - нужно брать соответствующие драйверы (хоть те же TM163x), тем более что DMX512 не очень хорошо сочетается с программной мультиплексной индикацией. 

4 минуты назад, makc сказал:

Если выход проседает по напряжению, то нужного тока не будет и яркость упадёт.

Поэтому при выборе токозадающего резистора учитывается и сопротивление канала (потому там в табличке, кстати, разные цифры тока для разного напряжения питания - сопротивление канала зависит от напряжения питания).

8 минут назад, makc сказал:

у LED разброс падения напряжения того же порядка величина.

Нет, конечно. У однотипный кристаллов (к тому же из одной партии), при одинаковом токе - падение одинаково. Иначе вообще нельзя было бы включать сегменты параллельно без токозадающих резисторов (помните индикаторы тактовой частоты на PC AT ?). А 300 mV дельты на ключах - это где-то под двадцать процентов тока через сегменты. IMHO, уже достаточно, чтобы заметить неравномерность (проверять, конечно, не буду, ибо лениво).

Share this post


Link to post
Share on other sites

Я не прокурор и не выдвигал обвинения исполнителю. У меня не было цели найти виновного. По проекту с дисплеем уже давно сделал выводы и считаю тот случай - просто полученным опытом. Если бы я хотел найти виновного, то просто подал бы в суд на исполнителя. У меня была цель найти ответ на вопросы: существуют ли неписанные правила и как переформулировать пункт "Нужен качественный код для устройства". 

On 3/7/2021 at 2:59 PM, Ugene said:

Возможно неписанные правила существуют только в моем мировосприятии, при этом абсолютно уверен, что заказчик не может указать в ТЗ абсолютно все глюки, которых не должно быть в прошивке. Их невозможно все предусмотреть и нет смысла пытаться описать в ТЗ все глюки, которые могут выплыть. Хотелось бы услышать Ваше мнение по поводу неписанных правил и рекомендации какой пункт или пункты необходимо указывать в ТЗ, чтобы не было таких проблем при приемке прошивки. Как корректно переформулировать пункт "Нужен качественный код для устройства"?  

 

On 3/7/2021 at 7:04 PM, Ugene said:

Но хотелось бы услышать мнение опытных программистов, стоит ли считать различную яркость сегментов индикатора качественным кодом или все-таки одинаковая  яркость должна быть по умолчанию. Знаю, что многие работают с различными ТЗ от заказчиков. Интересно кто-нибудь указывает в ТЗ что дисплей должен иметь одинаковую яркость каждого сегмента? Поделитесь опытом пожалуйста. Хочется понять что необходимо указывать в ТЗ, чтобы избегать подобных проблем с исполнителем.

Привел свой печальный опыт с дисплеем в качестве примера, чтобы было понятно о каких неписаных правилах идет речь и тут понеслось. Почему-то вместо конструктивного ответа на вопросы, начали очень подробно разбирать пример. Более развернутые пояснения по примеру, только уводили от самой цели. Вопросы довольно комплексные и непростые. И скорее всего на них нет простого и однозначного ответа. Вместо того, чтобы обсуждать слона, начали обсуждать муху на слоне.  Прошу Вас, не тратьте свое драгоценное время на обсуждение мухи (примера). При этом заданные вопросы считаю полезными как для заказчика так и для исполнителя, и если бы получилось их конструктивно обсудить, то был бы очень всем признателен.   

Share this post


Link to post
Share on other sites

Требование по одинаковой яркости сегментов четкое и понятное и  должно быть явно записано в ТЗ. Конечно исполнитель должен стремиться к тому, чтобы результат работы заказчику понравился. Но мы же не знаем всех нюансов Ваших взаимоотношений с исполнителем. Исполнитель намеренно Вам "отказал" с этим пунктом, понимая, что в дальнейшем работать с Вами не желает, значит тому были причины. Может бюджет был копеечный, а доп требований (не указанных в ТЗ) у Вас было много. У Вас есть опция, не работать больше с исполнителем, у исполнителя есть опция выполнять требования вне ТЗ исключительно по доброй воле.

Share this post


Link to post
Share on other sites
16 часов назад, rx3apf сказал:

С чего бы вдруг ?

С того, что это противоречит рекомендациям производителя, читайте AVR042 http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf

Да и тут много чего есть: Пример 2 http://caxapa.ru/lib/emc_immunity.html

Цитата

Не говоря уж о том, что некоторая "неэстетичность" схемотехники к упомянутым артефактам индикации вообще никаким боком///

Если для вас цепляние антенны к голому ресету некоторая "неэстетичность" так вам это никто не запрещает делать. К каким артефактам это приведет, смотрите пункт 1.

Share this post


Link to post
Share on other sites

Как программист может обеспечить корректную работу если есть баги в железе?

Тогда уж правильнее формулировать требования к ПО, а не к яркости (которая зависит не только от ПО), т.е. время переключения между сегментами должно быть одинаковым с разбросом не более Х мкс. Также и частоту этих переключений, т.к. при недостаточной частоте также будет мерцание.

Вот наверное первый ответ по теме).

Формулировать задачу какими то общими фразами, должно работать правильно или код должен быть красивый некоректно. Поди разбери потом что для кого правильно или красиво.

Share this post


Link to post
Share on other sites
08.03.2021 в 12:43, __Alexander сказал:

Любого. Все платы ардуины сделаны по такой схеме, и китайские и американские.

Я не поленился и посмотрел оригинальную схему ардуино, так вот, там хоть и сделано через одно место, но и совсем не так как у предоставленной схемы.

Share this post


Link to post
Share on other sites
2 минуты назад, Vasily_ сказал:

С того, что это противоречит рекомендациям производителя, читайте AVR042 

Не противоречит.

2 минуты назад, Vasily_ сказал:

Если для вас цепляние антенны к голому ресету некоторая "неэстетичность" так вам это никто не запрещает делать. К каким артефактам это приведет, смотрите пункт 1.

Где Вы видите "цепляние антенны"  к reset ? Я вижу блокировочный конденсатор 0.1 uF, подключенный к шине питания (а по причине наличия блокировочных конденсаторов Vcc-GND, то что к Vcc, что к GND, принципиальной разницы нет) через сопротивление канала драйвера DTR (ну, полсотни Ohm там может и есть). Это ни разу ни антенна, и вполне себе блокировка. Если предполагается, что устройство должно функционировать и без подключения к USB, то без конденсатора (или иной развязки) не обойтись, иначе устройство (при прямом соединении DTR - -RST) просто не стартует.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.