При выборе эффекта, выключаются три индикатора, в четвертом отображается номер этого эффекта. В этот момент на выключеных наблюдается еле видное проблескивание. Прошивка 2.6.3@DmitryZ, добавил выбор типа отображения даты и проверку на количество дней в месяце.
@Herr Direktor, генерацию мелодий можно добавить, у меня есть готовая такая функция. Единственное мы не сможем менять частоту бузера.
На мой взгляд, проще взять ещё одну оптопару, подключив светодиодом на анодное, а транзистором на вход ардуинки. Так меньше шансов спалить процессор, при каком нибудь аварийном режиме.@Sergo_ST, да, обратная связь - штука полезная. Но чем плохо решение "в лоб"? Два резистора в делитель - на A6 или A7? Референсное, конечно, надо бы постабильнее задать - это даже с TL431 ещё больше усложнит навес на схеме... Или делить на 300..400 и использовать внутренний источник на 1,1 В. Высокое измерять с точностью даже до вольта не обязательно - хватит и 3-5 вольт. А калибровочную константу можно подобрать по фактическим измерениям на конкретных часах.
Слишком сложно. Нет смысла поддерживать напряжение с высокой точностью, как и упомянул @DmitryZ. Для опорного напряжения можно использовать напряжение питания Ардуино: оно здесь 5В стабильное. На крайний случай - на плате есть источник 3,3В, можно использовать его. 1,1В внутреннего опорника использовать проблематично по причине слишком высокого коэффициента деления и возможного появления шумов. Также возникает опасность перенапряжения по входу, тогда как от перенапряжения по 5В и 3,3В могут спасти диоды на низкоимпедансный источник напряжения (на входах он к 5В уже имеется). Также бессмысленно использовать подстроечный резистор: в скетче можно править напряжение легко.@DmitryZ, я предлагаю как раз делитель с подстроечником, внутренние ИОН + компаратор, в прерывании копаратора вкл/выкл шим, подстроечником выставляем напряжение.
Но в этой схеме - в часах Гайвера версии 2 - питание заведено напрямую на МК, в обход стабилизаторов на 3,3 и 5 вольт, которые на плате. Так что стабилизаторов, считай, нет. А вот чем снаружи всё это запитано - вопрос. Тут никто для общего случая никаких гарантий не даст.напряжение питания Ардуино: оно здесь 5В стабильное. На крайний случай - на плате есть источник 3,3В, можно использовать его
На прошивке от Гайвера или любой другой такого нет.предыдущих прошивках такое было?
Не согласен. По опыту сборки устройства на 6 лампах есть очень много дестабилизирующих факторов, например:ацп юзать хорошо тогда, когда нам нужно мониторить напряжение постоянно и через интерфейс устройства можно отладить все параметры, а в нашем же случае нужно один раз настроить и забыть.
В сборке @adm503 такое регулирование уже используется. Ничем это не чревато. Перепрошиваться не обязательно, достаточно сделать сервисное нажатие кнопок, чтобы изменять порог измерений.Использование внешнего не стабильного опорного черевато плавающем напряжением на ВВ части. Если мы будем юзать вместо ацп копаратор, то перепрошиваться по сто раз не нужно будет чтобы выставить необходимое напряжение. Если вы так боитесь за порт мк, то превысив 1.1в ничего с ним не случится, защитить дополнительно можно стабилитроном на 5в.
Согласен, наблюдается просадка с двумя китайскими неонками. Вчера удалось частично победить просадку на плате covid-2019 - установил индуктивность с большим сердечником-гантелькой, хочу также токоограничивающий резисторы заменить(сейчас если не забыл 220кОм). Из наблюдения на оптопарах просадка можно сказать отсутствует, у меня же доработанная плата на транзисторных ключах выполненые smd компонентами на плате размером с оптопару (т.е. можно лего заменить оптопарой без переделки платы)включение неоновых ламп (коих две для 6-лампового варианта, а некоторые умудряются впихнуть и 4) - изменение яркости основных ламп и просадка напряжения;
Как калибровать значения функции dc-dc?В сборке @adm503 такое регулирование уже используется
Под разные типы ламп, хотелось бы понять логику работы этой функции. Т.к. с разными лампами на одной плате результат не однозначный, замер мультиметром с RMS значения напряжения на кондесаторе и анодах отличаются (ин-12 и z5660)@psyx86, калибровать? Что Вы под этим подразумеваете?
В функции используется переменная:Напряжение на анодах и должно отличаться от замены ламп, даже в рамках одного наименования ламп, в достаточно широких пределах.
Напряжение на конденсаторе поддерживается постоянным при условии достаточности дросселя (как по току, так и по соответствию индуктивности отдаваемой мощности). В коде это выражается в том, что ограничены значения PWM, как снизу, так и сверху. Также применено интегрирование на коротком отрезке времени, если есть изменения, которые короче отрезка интегрирования возможно изменение напряжения также. В общем, для лучшего анализа нужно больше информации.
const int nominallevel = 550; // номинальное значение напряжения
Теперь логика функции мне стала понятной, значит правильно изменял значение, у меня вышло 520. Спасибо!Только отчасти. Первоначальный расчёт был на то, чтобы получить 2,5В (при 5В питании) на аналоговом входе. При 1024 уровнях номинальное значение напряжения должно было соответствовать 512 уровням. Резисторы в делителе выбирались из ряда номинальных сопротивлений, поэтому результат получился чуть выше расчётного, отсюда и изменение номинального цифрового уровня для сравнения = 550. При других напряжениях питания и/или резисторах в делителе это число может быть другим. Им же можно править желаемое значение высокого напряжения (для любителей).
В своей тестовой сборке я применял 4хИН-14 + 2хИН-16 и вторую плату 4хИН-12 + 2хИН-2. Обе платы поддерживают напряжение в 172В при питании 4,95В от зарядника телефона. Зафиксированные мной в тестовом скетче колебания не превышали 0,5В. Но с неонками я таким способом не смог побороться, не хватает мощности используемого дросселя для быстрого восполнения потерь в напряжении, хотя эффект значительно сгладился. Увеличил последовательное сопротивление на неонки, эффект изменения яркости основных индикаторов стал незаметен.
Нигде не видел чтоб было написано что при использовании внутреннего ИОН нельзя подавать на мультиплексатор ацп выше 1.1в...Не согласен. По опыту сборки устройства на 6 лампах есть очень много дестабилизирующих факторов, например:
- включение неоновых ламп (коих две для 6-лампового варианта, а некоторые умудряются впихнуть и 4) - изменение яркости основных ламп и просадка напряжения;
- разное количество горящих индикаторов (особенно заметно на эффектах, когда могут гореть от 0 до 6 ламп) - заметно ухудшаются визуальные эффекты, например, на "поезде" первый вдвигаемый символ получается гораздо ярче остальных, а, допустим, при зажигании определённых катодов - напряжение просаживается;
- эффекты затухания и возрастания яркости смазываются, так как "компенсируются" изменениями напряжения.
В сборке @adm503 такое регулирование уже используется. Ничем это не чревато. Перепрошиваться не обязательно, достаточно сделать сервисное нажатие кнопок, чтобы изменять порог измерений.
По даташиту МП, Вы не должны превышать опорного напряжения на аналоговом входе, а не напряжения питания. Так как само опорное напряжение нигде не выведено, придётся ограничивать чем-то снаружи, для 1,1В - это весьма проблематично. Я уже не говорю о шумах, которые неизбежно полезут. Да и зачем, если Вы используете компаратор для выставления напряжения, Вам внутреннее опорное напряжение процессора и вообще аналоговый вход?
А какую функцию будет выполнять компаратор? Сигнализировать, что напряжение выше установленного порога? А если ниже, то что делать?Я предлагаю использовать встроенный компаратор в мк, а не внешний.
Прерывание будет по любому изменению состояние. Если напряжение на отрицательном входе будет 1.1в или выше то выключаем шим, если ниже то включаем. В основном цикле можно будет добавить динамическое изменение скважности шим в зависимости насколько долго нет изменения состояния компаратора.А какую функцию будет выполнять компаратор? Сигнализировать, что напряжение выше установленного порога? А если ниже, то что делать?
Table 28-8. ADC CharacteristicsНигде не видел чтоб было написано что при использовании внутреннего ИОН нельзя подавать на мультиплексатор ацп выше 1.1в...
ШИМ имеет частоту около 8кГц, примерно с такой же частотой будут пульсации - прерывания могут вызываться с частотой 16кГц (6мкс). Точность компаратора, по верхнему пределу, 40мВ, что существенно ниже нормализованных измерений. Сложность измерений таких коротких периодов, их анализа и компенсации будет существенно больше сложности прямых измерений. Включение/выключение ШИМ не гарантирует мгновенного изменения напряжения, т.е., при возникновении некоторого возмущения система долго будет "сходиться", если не посчитать правильно входную интегрирующую цепь. Не вижу преимуществ.Прерывание будет по любому изменению состояние. Если напряжение на отрицательном входе будет 1.1в или выше то выключаем шим, если ниже то включаем. В основном цикле можно будет добавить динамическое изменение скважности шим в зависимости насколько долго нет изменения состояния компаратора.
На сколько я знаю это характеристики для ацп, и я конечно не уверен, но по моему это имеется ввиду предел диапазона измерений, а не максимально напряжение для входа...Table 28-8. ADC Characteristics
Analog supply voltage AVCC Vcc – 0.3 Vcc + 0.3 V
Reference voltage VREF 1.0 AVCC V
Input voltage Vin GND VREF V
Нет, всё равно не понимаю. Измеряй, например, раз в секунду напряжение - и изменяй скважность. Чего мудрить-то? Это же примитивные часы! Тут же не надо переход нуля, например, ловить, или как-то иначе синхронизироваться с каким-то сигналом. Тем более, плавает напряжение и от выбранной цифры, и на разных индикаторах.В основном цикле можно будет добавить динамическое изменение скважности шим