ARDUINO Часы на ГРИ v2. Обсуждение проекта

Herr Direktor

✩✩✩✩✩✩✩
26 Фев 2021
6
2
Ребят, т.к. в контроллерах полный профан, вопрос специалистам: можно ли к текущей версии часов прилепить радио (например, на RDA5807), чтобы на индикаторы можно было вывести текущую частоту?
Или проще собрать его на отдельной ардуине, а потом перекидывать данные на индикаторы?
В какую сторону копать, если делать "правильно и просто"?
 

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
@poty, я знаю про ту версию. Но слишком большая плата - я сторонник миниатюризации. Увы, разводка платы - не мой конёк.

В какую сторону копать, если делать "правильно и просто"?
RDA5807 управляется по I2C. В принципе нет особых проблем подключить модель к обсуждаемым часам: добавить ещё один режим отображаемой информации (4 знака - например, частота до десятых долей МГц, сотые, если есть в регионе станции на X,Y5 МГЦ, негде отображать) и в настройках блок настроек. То есть кинуть 4 проводка с Ардуины на модуль с RDA и поправить программу. Антенна тоже к RDA подключается, ещё динамики и, возможно, усилитель. Не помню только, работает ли приёмник от 5 вольт, но и это несложно решить. Если не смущает, что это навесом будет на остальными платами.
Да, про кнопки забыл. Их 3 штуки можно вывести с радиомодуля или использовать штатные часовые, но пересмотреть систему управления настройками, чтобы приёмником было удобнее управлять.
 

Herr Direktor

✩✩✩✩✩✩✩
26 Фев 2021
6
2
@DmitryZ, нет, навесной монтаж не смущает :)
Была идея нарисовать и напечатать ретро-корпус, где будут жить обсуждаемые здесь часы + радио с индикацией на ИН-1 (например), на отдельном контроллере (готовых схем вагон, правда все для дисплеев, но тем не менее, собирай - не хочу).
Покрутил/порисовал варианты такого корпуса, с двойной индикацией как-то нелаконично получается... Поэтому и возникла мысль показывать частоту радио на индикаторах часов, а само радио прицепить вместо пищалки (чтобы можно было в качестве будильника запускать).

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

Aleksey_37

✩✩✩✩✩✩✩
2 Янв 2021
9
1
@Aleksey_37, можно поподробнее, что даст подключение светодиода оптопары к 170-190 вольтам анодного напряжения?

Остальным и на всякий случай: это не совет, не делайте так.
Как минимум живучесть схемы. Если подключать обратную связь через простой делитель, есть вероятность, что напряжение на выходе делителя, (на входе ардуины) может превысить напряжение питания процессора, что само по себе нехорошо. Такое может возникнуть, например, при не подсоединённых к схеме лампах. Если подключать через оптопару, то напряжение на входе ардуинки, никогда не превысит напряжение питания. И намного легче заменить выгоревшую оптопару, чем ардуину. И ещё при выставленном режиме, напряжение Uрег. всегда будет половина напряжения питания. Даже если напряжение блока питания, будет "плавать" например от нагрева.
К тому-же потребление на простом делителе будет больше, чем у схемы с оптопарой. А в этой схеме, и так источник анодного, еле тянет.
IMG_20210305_134922~2.jpg

Собрал и проверил сегодня вот такую схемку, значения напряжений получились такими:
Ua - у меня было 165в.
Uпит. - 5в.
Uрег. - получилось 2,5в.
Оптопару взял более дешёвую EL817C (она-же PL817 ). Единственно, при такой схеме, при увеличении анодного напряжения (Uа.), регулирующее напряжение (Uрег.), уменьшается. И наоборот при уменьшении напряжения Uа., напряжение Uрег. увеличивается.
 

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
@Herr Direktor, у Т. Носова есть несколько схем часов с ГРИ и FM на PIC'ах. Исходников не будет, но бинарник прошивки есть со схемой и платой. Бинарник, говорят, требует лечения, но встречались и вылеченные умельцами варианты - можно поискать. Если не зацикливаться на атмегах и схемах "от Гайвера", то можно сделать довольно аккуратный девайс.

@Aleksey_37, а если будет не 165, а 185 В, что получится на Uрег? А при 145 В?
 

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
На некотором диапазоне высокого напряжения - да. Меня интересует, численное выражение. То есть каковы для высокого напряжения границы диапазона, на который реагирует схема и в каких пределах изменяется напряжение на выходе. Иначе невозможно сделать вывод о применимости этой схемы для практической реализации.
 

Aleksey_37

✩✩✩✩✩✩✩
2 Янв 2021
9
1
На некотором диапазоне высокого напряжения - да. Меня интересует, численное выражение. То есть каковы для высокого напряжения границы диапазона, на который реагирует схема и в каких пределах изменяется напряжение на выходе. Иначе невозможно сделать вывод о применимости этой схемы для практической реализации.
Ну, на сколько я понимаю, и нужен некоторый диапазон напряжения. Если Ua выйдет за определённый диапазон, Uрег просто станет равным 0в. А дальше, насколько я понимаю, дело за программой, которая должна уменьшать значение #define DUTY, пока напряжение снова не войдёт в рабочий диапазон.
Численно, попробую померить завтра.
 

poty

★★★★★★✩
19 Фев 2020
3,250
947
@Aleksey_37, не верю (Станиславский). Чтобы заставить светодиод гореть нужен ток не менее 0,5мА по datasheet, при 165В на входе и 680кОм последовательного сопротивления можно достичь только тока 0,25мА и то, если убрать 47кОм.
Сама передаточная функция оптрона настолько нелинейна и зависима от температуры, что достоверно её невозможно использовать даже для компаратора, я не говорю уже про измерения.
В существующем измерителе на существующей плате применены сопротивления в делителе, примерно соответствующие приведённым для оптрона, т.е. ток там явно не будет больше, а, скорее всего, меньше оптронного. Входы атмеги имеют диоды на шины питания (clamping), поэтому токи до нескольких миллиампер вообще не могут вызвать повреждение входа, а, как посчитано выше, последовательное сопротивление эффективно блокирует их повышение выше 0,25мА.
 
  • Лойс +1
Реакции: DmitryZ

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
Ну, на сколько я понимаю, и нужен некоторый диапазон напряжения. Если Ua выйдет за определённый диапазон, Uрег просто станет равным 0в. А дальше, насколько я понимаю, дело за программой, которая должна уменьшать значение #define DUTY, пока напряжение снова не войдёт в рабочий диапазон.
Нет, чуть посложнее. Тут не только верхний порог - по сути, полное открытие транзистора - надо поймать, но и не дать вниз упасть высокому напряжению, вернуть режим его прежней генерации, если, например, потребление возросло. А для этого надо соотнести измеренное на транзисторе напряжение с фактическим значением HV. У меня есть сомнения, что это удастся сделать более надёжно, чем при использовании банального резистивного делителя.

Численно, попробую померить завтра.
Это было бы более показательно, чем наши умозрительные заключения.
 

Aleksey_37

✩✩✩✩✩✩✩
2 Янв 2021
9
1
@Aleksey_37, не верю (Станиславский). Чтобы заставить светодиод гореть нужен ток не менее 0,5мА по datasheet, при 165В на входе и 680кОм последовательного сопротивления можно достичь только тока 0,25мА и то, если убрать 47кОм.
Сама передаточная функция оптрона настолько нелинейна и зависима от температуры, что достоверно её невозможно использовать даже для компаратора, я не говорю уже про измерения.
В существующем измерителе на существующей плате применены сопротивления в делителе, примерно соответствующие приведённым для оптрона, т.е. ток там явно не будет больше, а, скорее всего, меньше оптронного. Входы атмеги имеют диоды на шины питания (clamping), поэтому токи до нескольких миллиампер вообще не могут вызвать повреждение входа, а, как посчитано выше, последовательное сопротивление эффективно блокирует их повышение выше 0,25мА.
Вера - личное дело каждого.
666666666.jpg
А тут и 20mA нет, так как транзистор полностью не открывается, при 165в.
Характеристики атмеги не знаю, посему, если говорите, что будет работать - значит будет.
 

poty

★★★★★★✩
19 Фев 2020
3,250
947
@Aleksey_37, не очень понял, что Вы реально хотели сказать тем, что обвели прямое напряжение на диодах. Как и написано в этой же строке данное напряжение достигается при токе через диоды в 20мА. У Вас ток не может превышать 0,25мА из-за последовательного резистора гигантского сопротивления. При этом токе на светодиоде будет, конечно, какое-то напряжение, но получить на выходе 2,5В Вы точно не сможете, тем более - стабильное.
 

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
3,3В есть всегда. Оно от 5В получается.
Согласен. По крайней мере, так должно быть для Нано. Посмотрел типовые схемы - действительно, из Vin получается шина (и вывод) 5 В, а преобразователь на 3,3 В питается от шины 5 В. Померил по факту - действительно, стабильные 3,30 В на выводе "3V3".

А если питание платы не 5В, тогда и Ардуино может нестабильно работать. Проще, как мне кажется, купить нормальный копеечный БП, чем "на дурака" рассчитывать.
Даже "нормальные копеечные" имеют разброс в параметрах. Процентов на 10 (+-5%) можно ожидать разброс в напряжении на AREF между разными платами - это примерно даст отклонение до 10 В в измерении одинакового высокого напряжения. Платы Arduino, платы часов разные - падения напряжений в проводниках непредсказуемы. Нельзя ориентироваться на такой неточный референсный источник в измерениях. Его надо как-то "рафинировать". Вот 3,3 В - достаточно точный референс получается.
Как раз на "дурака" и надо рассчитывать. Либо жёстко указывать, что питание часов только от такой-то модели источника питания. Только избыточно всё это для данных часов...
 

znachok88

✩✩✩✩✩✩✩
2 Мар 2021
3
0
(y)(y)(y)Практически уверен, что он!
Да...оно и было:(((🤪
Но теперь есть время а нет светодиодов(точнее они и тогда не светились)
Как заставить светиться светодиоды?
Прошивка 2.5
Версия платы NexieClock v2
(4 лампы ИН12, ардуино нано DC3231)
 

poty

★★★★★★✩
19 Фев 2020
3,250
947
@znachok88, а на кнопку переключения режимов нажимали?
@DmitryZ, в скетче достаточно изменить одно значение. Конечно, Вы можете сказать, что и это слишком сложно, но я Вам скажу, что разброс резисторов всего в 1% (вряд ли Вы точнее их подбирать будете) даёт большую погрешность в измерении. Ну, например, ориентируемся на делитель 680кОм/10кОм, что при 2,5В на аналоговом входе будет давать 172,5В. 680кОм при 1% может изменяться от 673,2 до 686,8, 10кОм: 9,9 - 10,1. Т.о., получаем изменение высокого напряжения от 169,1 до 175,9В. Плюс Ардуино даёт погрешность в 2-3 бита типично. Т.е., небольшую подгонку после сборки делать всё равно придётся.
Кстати, нормированное напряжение на USB несколько хуже 5%:
Макс. напряжение
  • 5,00+0,25
    −0,60 В
  • 5,00+0,25
    −0,55 В (USB 3.0)
 

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
Речь не о том, чтобы измерять с точностью поверенного прибора, а о том, чтобы референсное напряжение было достаточно стабильное. Абстрактному внешнему блоку питания в этом вопросе доверять нельзя.
А что 3-4 вольта отклонения - так это не страшно. Это же не 20-40 В.

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

poty

★★★★★★✩
19 Фев 2020
3,250
947
Такого не будет. Лампы питаются импульсно, поэтому яркость изменяется не за счёт напряжения, а за счёт соотношения времени горения к времени негорения. Т.е. Во всех режимах напряжение будет одним и тем же.
 

znachok88

✩✩✩✩✩✩✩
2 Мар 2021
3
0
@znachok88, а на кнопку переключения режимов нажимали?
@DmitryZ, в скетче достаточно изменить одно значение. Конечно, Вы можете сказать, что и это слишком сложно, но я Вам скажу, что разброс резисторов всего в 1% (вряд ли Вы точнее их подбирать будете) даёт большую погрешность в измерении. Ну, например, ориентируемся на делитель 680кОм/10кОм, что при 2,5В на аналоговом входе будет давать 172,5В. 680кОм при 1% может изменяться от 673,2 до 686,8, 10кОм: 9,9 - 10,1. Т.о., получаем изменение высокого напряжения от 169,1 до 175,9В. Плюс Ардуино даёт погрешность в 2-3 бита типично. Т.е., небольшую подгонку после сборки делать всё равно придётся.
Кстати, нормированное напряжение на USB несколько хуже 5%:
Макс. напряжение
  • 5,00+0,25
    −0,60 В
  • 5,00+0,25
    −0,55 В (USB 3.0)
конечно я нажимал ...часы настроил и удерживал и что только не делал, не могргает ни точка между цыфрами ни диоды не горят
 

poty

★★★★★★✩
19 Фев 2020
3,250
947
@znachok88, диоды правильно припаяли? Анод с катодом не перепутали? Померяйте, что на выходах на диоды у Вас по напряжению. Залейте тестовый скетч моргания светодиодом.
Если Вы используете для точки диод вместо неонки, то увеличьте яркость (чуть ранее в ветке такую проблему уже исправляли).
 

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
@poty, откатываемся к началу. Напомню, тема началась с сообщения @wladimir о том, что "высокое напряжение на конденсаторе днём - 170В, в ночном режиме - 217 В". После правок в коде, снижающих ночью скважность импульсов высоковольтного генератора, напряжение (ночное) удалось понизить (до нормы!), о чём подтвердили wladimir и Aleksey_37.

Без нагрузки высоковольтный генератор способен выдать и более 300 В, если с деталями повезло. А в работе одним из определяющих факторов величины напряжения на высоковольтном конденсаторе как раз является соотношения времени горения к времени негорения: чем меньше это соотношение, тем выше напряжение. Дневная яркость у @wladimir была 23, ночная - 3, то есть ночью лампа не горит 7/8 времени - в результате и напряжение на конденсаторе растёт.

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

poty

★★★★★★✩
19 Фев 2020
3,250
947
дневной режим - нагрузка возросла - напряжение просело - его не хватает, чтобы зажечь лампы - нагрузки нет (от ламп совсем) - напряжение возрастает - (тут бы лампам загореться, но) продолжаем регулировать скважность для понижения напряжения до нормы.
Такого быть просто не может, так как есть конденсатор, ёмкости которого хватает для нескольких тактов питания ламп (проверено экспериментально - примерно на 20мс). Как только нагрузка возросла и напряжение просело - мы начинаем увеличивать рабочий ход ШИМ - напряжение повышается, конденсатор дополнительно начинает подзаряжаться и его "время рабочей поддержки" увеличивается. Проверено на практике - работает на прошивке @adm503 .
Если бы конденсатора не было, увеличилось бы время сходимости, только и всего. В Ваших рассуждениях Вы, почему-то, считаете, что напряжение моментально изменяется и мы, почему-то, измеряем его в момент его большого значения. По сути этого никогда не происходит. Допустим, нагрузка возросла настолько, что лампы уже не зажигаются (т.е., напряжение резко упало). По смыслу работы, мы будем поддерживать ночное значение ШИМ ещё некоторое время, при полном отсутствии нагрузки напряжение возрастёт достаточно быстро (мы условились, что у нас нет конденсатора) и лампы снова зажгутся (напоминаю, что период подачи напряжения на лампу - примерно 3мс, а период ШИМ - 1/8000с = 0,125мс, т.е., на лампе напряжение сохраняется больше двух десятков периодов ШИМ). Допустим, напряжение снова упадёт, всё повторится сначала. Т.е., мы точно попадём на уменьшенное напряжение, больше целевого оно в принципе подняться не может.
В том коде, что написан для @adm503 , я интегрирую ошибку за 10 тактов измерения, так что какие-то пиковые выбросы на регулировку ШИМ оказывать влияния не будут.
 
Изменено:
  • Лойс +1
Реакции: adm503

-=SaNcHeZ=-

✩✩✩✩✩✩✩
6 Янв 2020
14
3
@Sergo_ST, Добрый день. Сделал отцу часы. При загрузке скетча указал время ночного режима с 23 до 7.
Отец кнопками в меню изменил как ему удобно, с 22 до 6. И заметил такую неприятность: после пропадания питания на часы, время ночного режима устанавливается снова с 23 до 7 (как в скетче). Проверил на своих часах, картина та же.
Соответственно вопрос: получается что установка времени ночного режима с кнопок не сохраняется в ЕЕПРОМ?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
992
831
Должно работать, ночное время хранится в 3-й и 4-й ячейки. Какая у вас версия прошивки? При старте часов случайно не горят нули во всех индикаторах?
 

-=SaNcHeZ=-

✩✩✩✩✩✩✩
6 Янв 2020
14
3
Должно работать, ночное время хранится в 3-й и 4-й ячейки. Какая у вас версия прошивки? При старте часов случайно не горят нули во всех индикаторах?
Версия 2.6.1. При старте сразу показывает время, всё ОК.
Почему 2.6.1, т.к. на 2.6.2 часы почему-то подвисали