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

Sergo_ST

★★★★★★✩
15 Мар 2020
992
831
смотря что имеется в виду
Имеетсяся ввиду измерять напряжение питания, и в соответствии с ним корректировать желаемое значение ацп.

Думаю что коррекция нужна в любом случае, тк при изменении входного напряжения питания даже на 100мВ, то уже на ВВ выходе будет разница в 5-7В.
 

poty

★★★★★★✩
19 Фев 2020
3,257
949

@Sergo_ST, это проще сделать подав стабилизированное 3,3В, имеющееся на плате, на соседний пин AREF и программно изменив источник референса. На плате @adm503 это сложнее реализовать, так как кнопки "аналоговые" и притянуты к питанию, т.е. 5В. Но я пробовал с несколькими блоками питания от совсем старых телефонов и нигде напряжение не отличалось от 5В больше, чем на 30-50мВ. Да, высокое в этом случае изменяется на 2-3В, но по яркости это не заметно никак. И если совсем упираться, то легко компенсируется перед заливкой скетча.
 
  • Лойс +1
Реакции: DmitryZ

Sergo_ST

★★★★★★✩
15 Мар 2020
992
831
@poty, да, неплохой вариант, и проблему настройки с питанием от USB это тоже решит... В общем потом буду решать, надо сначала алгоритм стабилизации доделать...

И кст да, динамическая индикация работает отлично, но на больших частотах подводят оптопары... Даже если брать в несколько раз больше при заявленных 50мкс на открытие и 15мкс на закрытие, всё равно до конца не закрываются/открываются. Оптимальным оказывается диапазон 60-120Гц(частота обхода всех ламп).
 
Изменено:

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
А почему бы и нет? Разве это хуже чем жёстко заданная скважность?
Сначала про скважность: речь не про то, что не надо управлять скважностью, а про то, каким образом получать информацию о действующем режиме (о высоком напряжении). Излишне усложнять простое устройство, конечно, не стоит, но если будет адекватное по сложности и доступности решение, то "почему бы и нет" (c). Только, на мой взгляд, от яркости индикаторов исходить - это излишне.
Теперь про нет и почему. Да! В смысле, я совершенно поддерживаю стремление изучить возможности регулирования высокого напряжения путём измерения (оценки) яркости излучения индикаторов. Это отличная тема для исследовательской работы. Для лабораторной в вузе - тоже. Но говорить о том, что это делается для тех, кому сложно собрать схему с контроллером питания, не обосновано (может быть, пока не обосновано). Боюсь, получится менее управляемая и не менее сложная конструкция.

Повторюсь: вариант с резисторным делителем проще, дешевле и успешно опробован. По каким критериям предлагаемое может с ним конкурировать?

я пытался вытянуть высокое напряжение при входном около 4,2В и это не получилось (ШИМ на пределе).
Да, генерация высокого напряжения на пределе в этой схеме. На холостую можно вытянуть и 400 вольт, но под нагрузкой на общедоступных китайских деталях и 200 В не всегда получается. Но я увидел знакомое число и просто напомню, что у Atmega328P, как у большинства 5-вольтовых микросхем, на выходе высокий уровень (HIGH) может быть от Vdd-0,8 вольта до Vdd (и LOW до 0,5-0,7 вольта). Т. е. 4,2 В - это допустимый нижний порог "единицы" на выводе при 5 вольтах питания. Это те самые 4,2..5,0 вольта, которые могут придти на затвор транзистора, у которого по паспорту пороговое напряжение на затворе может быть 2..4 В (для IRF840). Чуть ниже питание - и транзистор может не полностью открываться.
Возможно, границы допустимого питающего напряжения можно понизить без переделки схемы, подбирая транзистор, диод и дроссель. Вопрос в том, стоит ли оно того. Ведь переделать схему под 9-12 вольт несложно. Правда, уйдёт такое свойство устройства, как утилизация маломощных телефонных зарядников...
 

Sergo_ST

★★★★★★✩
15 Мар 2020
992
831
По каким критериям предлагаемое может с ним конкурировать?
Никто и не говорил что оно должно конкурировать, это альтернатива тем кто не хочет заморачиваться с делителем.

вариант с резисторным делителем проще
Не понимаю в чём сложность выставить минимальное и максимальное значение шим при помощи утилиты или приложения.. В подключении мультиметра к ВВ выходу или нажатии на кнопку "+" или "-"? Это даже будет проще настроить чем статичное значение шим в оригинальной прошивке, как минимум тем, что можно менять значение "на лету" без десятков перепрошивок мк.

Линейный алгоритм уже есть и работает вполне сносно, напряжение варьируется в районе 165-175в при любой яркости или выключенных индикаторах.

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

DmitryZ

★✩✩✩✩✩✩
10 Фев 2020
112
34
@Sergo_ST, стоп, давай сначала. О яркости чего шла речь во фразе "в зависимости от яркости/включен ли индикатор"? Поскольку я упорно рассматриваю версию, что будет некий аппаратный датчик (хоть бы и фоторезистор) яркости свечения индикаторов.

А о программном выставлении режимов "день/ночь" не только регулировкой ШИМ "яркости", но и регулировкой параметров ШИМ генератора напряжения, мы ещё пару месяцев назад, вроде, договорились, и в 2.6.4 оно вошло. Значит, речь о том, чтобы сделать эти параметры настраиваемыми с кнопок? Если так, то это совершенно ожидаемое продолжение развития программы.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
992
831
@DmitryZ, Нет, никаких датчиков внешних не будет.

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

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

Mechanics

✩✩✩✩✩✩✩
25 Апр 2021
4
0
День добрый. Собрал плату, но лампы не работают при проверке от конденсатора. Отдельно проверял их от розетки - лампы рабочие. Схема ин 14 мини. Прошивка lump test. Может что-то не то поставил?
 

Вложения

poty

★★★★★★✩
19 Фев 2020
3,257
949
Пропаяйте соединения. Проверьте питающее напряжение, залился ли скетч, напряжение на конденсаторе.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
992
831
Если вдруг кому будет интересно:

Доступна бета-версия альтернативной прошивки для плат от AlexGyver. Функционал практически полный за исключением приложения(доделываю настройки) и обратной связи.
Для работы часов обязательно нужно подключить пин SQW модуля DS3231 к пину ардуино D2, если у вас модуль DS3231mini, то необходимо найти 3-ю ножку микросхемы и также проводком подпаять к пину D2. Бузер будет подключаться к пину D13 также через резистор. Штатный резистор бузера необходимо выпаять с платы(если он имеется).

Если есть вопросы/проблемы, или вы нашли баг, пишите в ЛС.
 
Изменено:
  • Лойс +1
Реакции: Macbeth

Trezv0n

✩✩✩✩✩✩✩
24 Сен 2020
9
1
День добрый. Собрал плату, но лампы не работают при проверке от конденсатора. Отдельно проверял их от розетки - лампы рабочие. Схема ин 14 мини. Прошивка lump test. Может что-то не то поставил?
IRF840 в китае заказывал? У них параметры отличаются и питания не хватает для них. Попробуй заменить IRF на купленную у нас в магазине)
 

Mechanics

✩✩✩✩✩✩✩
25 Апр 2021
4
0
IRF840 в китае заказывал? У них параметры отличаются и питания не хватает для них. Попробуй заменить IRF на купленную у нас в магазине)
Нет, брал набором из другого города. Можешь сфотать правильный Irf840?
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
73
@SergejEU,да, спасибо, мне уже подсказали, что куда паять, но все равно не калибруется. За выходные отстали на 33 секунды. Строку закомментировал, не помогло.
Я же писал, что с тем скетчем, что приложен к программе, авто-калибрация не сработает, так как у вас модуль DS3231 MINI. У этого модуля в отличие от DS3231 ZS-042 нет флэши на борту.

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

Новый скетч для DS3231 MINI лежит тут synchro_RTC_MINI.ino.

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

Для метки времени здесь используются регистры будильника Alarm1, поэтому от первой активации / установки времени и до авто калибровки будильником лучше не пользоваться. Этот вариант показался мне лучшим, чем записывать данные в EEPROM ардуино. Никакой привязки модуля к конктерной ардуинке, с которой он теститься здесь нет. Можно тестить сразу несколько модулей подряд.
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
73
@poty,
только посмотрев ваш код, я смог понять, что вы имели ввиду. Но, простите, это же лютейший колхоз.. В циклах вы беспрерывно крутите обращение к RTC по i2c. Самой DS3231, как вроде, это не очень наравится. Я даже не рассматривал подобный вариант. Но если кому-то пригодиться, то как говориться Хозяин - барин
 

poty

★★★★★★✩
19 Фев 2020
3,257
949
Самой DS3231, как вроде, это не очень наравится.
С чего это Вы взяли? Было одно сообщение по этой теме, смысл его был совсем о другом. У меня не сложилось мнения о такой ненависти DS3231 к частым опросам по практическому ее использованию. К тому же опрос нужен лишь короткое время в начале калибровки и в конце, всё остальное время оборудование будет выключено. В любом случае - это не хуже прерываний по точности, но не требует финтов с SQW.
С другой стороны, при анализе исходного скетча Вам не казалось, что это профанация? Ну, например, при установке времени (и запоминании его для последующего применения) Adjust Time используется только часть пересланного времени, с точностью до секунды. Миллисекунды просто отбрасываются. Можно предположить, что при adjust время передаётся только на границе секунды, т.е. когда миллисекунды гарантировано равны 0, но обеспечить это не так просто, как кажется: мало того, что на компьютере нужно поймать этот момент с точностью до миллисекунды, так ещё и передать через Com-порт (пусть и виртуальный) на Ардуино, а затем ещё обработать в самой Ардуино. И даже после этого реально можно найти пару миллисекунд на проверке:
C++:
while ( millis() - tickCounter > 998 );
да и на других операциях тоже.
Непосредственно в калибровке время рассчитывается с использованием миллисекунд, а в DS3231 снова сохраняется с точностью до секунд. И здесь команда выдаётся на границе секунды?

Интервалы калибровки заявлены длительные, смысла изощряться в миллисекундах не вижу никакого.
 

Mechanics

✩✩✩✩✩✩✩
25 Апр 2021
4
0
Где есть принципиальная схема ин 14 мини? Ткните если не тяжело
 

SergejEU

★★✩✩✩✩✩
16 Сен 2020
120
73
..Вам не казалось, что это профанация? Ну, например, при установке времени (и запоминании его для последующего применения) Adjust Time используется только часть пересланного времени, с точностью до секунды. Миллисекунды просто отбрасываются...

Интервалы калибровки заявлены длительные, смысла изощряться в миллисекундах не вижу никакого.
нет не кажется, иначе пришлось бы перекреститься. В этом плане там всё сделано правильно. Время учитывается вплоть до миллисекунд. Просто применено одно хитрое ноу-хау для понижения редунданса данных. Зачем хранить в метке времени избыточные 2 байта данных? Сами догадаетесь как?
 

poty

★★★★★★✩
19 Фев 2020
3,257
949
Как бы за научными словами не потерять смысл. Одно "ноу-хау" я предположил в своём ответе. И недостатки его - тоже предположил.
Есть более простой вариант, не обеспечивающий, однако, точной синхронизации по границе секунд: фиксирование не абсолютных значений, а интервалов.
В любом случае мнение о "колхозе" так и не было подтверждено. Приведенный код вполне работоспособен (хотя и не проверен на практике), не требует какого-то определённого подключения, сохраняет все "ноу-хау" первоначального разработчика.
 

shtrlz

★★★★✩✩✩
23 Апр 2019
271
202
москва
oppozit.ru
Где есть принципиальная схема ин 14 мини?
честно, не понял про какие "мини" идет речь. у гайвера две схемы - первый вариант (много деталей и 6 ламп) и второй (мало деталей и 4 лампы) в этой ветке обсуждение второй версии. а схема в первом посте.
 

Mechanics

✩✩✩✩✩✩✩
25 Апр 2021
4
0
честно, не понял про какие "мини" идет речь. у гайвера две схемы - первый вариант (много деталей и 6 ламп) и второй (мало деталей и 4 лампы) в этой ветке обсуждение второй версии. а схема в первом посте.
 

Cobra093

✩✩✩✩✩✩✩
4 Май 2021
1
0
Народ, подскажите кто знает - заказал не те ардуинки с али, невнимательно посмотрел и прислали на чипах не atmega 328p, а 168p. Поставить можно 168p или надо другие покупать? Прошивка кстати зашилась но часы еще не паял - если нельзя, то эти верну и снова месяц ждать новых ардуинок :( там в кеше и пзу разница судя по дата шиту и все? кто знает подскажите :(
 

ахмед

✩✩✩✩✩✩✩
7 Май 2021
5
0
Народ, подскажите пожалуйста, проблема такая, собрал всё как дядя Гайвер объяснил. подключаю питания и на конденсаторе только лишь 5 вольт, что может быть?