123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- My Nixie Clock IN-12 / Мои часы на ГРИ ИН-12
- Решил пустить в дело накопленное добро.
- 2019.01.18
- ---
- 2019.01.30
- Первая версия, годная для проверки железа - чтение из RTC и отображение
- минут и секунд, раз в секунду переключение точки. Без кнопок.
- Чтение из RTC сделано без малейших проверок, в случае проблем вместо
- времени будет мусор.
- ---
- 2019.05.27
- Опять застой.
- Платы собраны и работают.
- Забыл сделать запитку для ионисторов - пришло паять навесом.
- Были нюансы с анодным питанием - нужен конденсатор на вывод обратной связи MC.
- Был писк дросслей - почти избавился. !!! не забыть исправить схему и плату.
- Конденсаторы на кнопках - не дают работать SPI для прошивки.
- Само расположение кнопок - неудачное. Они должны "смотреть" назад, а
- получилось, что вверх. Нужно или переставтиь на заднюю часть платы - для
- уменьшения проблем с корпусировкой, или ставить другие - чтобы толкатели
- выходили на заднюю стенку. Как вариант - убрать кнопки совсем, настраивать
- через ком-порт.
- Обработчик кнопок взял из "Старт 7231", который туда тоже взял из прошлого проекта.
- ---
- 2019.05.28
- Кнопка1 - "выбор", 2 - "+", 3 - "-".
- Пока не придумаю, как лучше сделать мигание разрядами...
- ---
- 2019.05.29
- При нажатии на кнопки "1"/"2" должно переключать отображение.
- ---
- 2019.05.30
- Вчера ничего не заработало.
- Сегодня вспомнил, что атмел с памятью работает слегка по другому.
- Упростил таблицу состояний, переписал обработчик - по идее должно работать.
- ---
- 2019.05.31
- Вчера всё получилось.
- Начинаю внедрять настройку часов.
- ---
- 2019.06.01
- Всё отлично. Есть один-два несущественных момента.
- Первый релиз.
- ---
- 2019.06.03
- Продолжаем.
- Пониженная яркость с 22:00 до 06:00.
- Переход на зимнее/летенее время. Есть нюанс - если запускать прошивку в зимнее
- время - будет работать неправильно. Доделывать лень - и так норм.
- ---
- 2019.06.05
- Пока сделал всё, что хотел.
- Регулировку яркости от освещения вообще не хочу делать.
- Вообще планирую в версии для себя выкинуть эту регулировку - мне она кажется
- лишней. Разве что ночью часы буду стоят возле головы и направлены в лицо.
- Сделал эту фичу отключаемой через дефайн в мейкфайле - 234 байта.
- Хочу подключить DHT-22, использую ногу захвата 1-го таймера, на прерываниях.
- Повторим алогритм: запускаем измерения подтяжкой вывода к земле минимум на 800
- мкс, через 20-200 мкс датчик должен выдать 80 мкс "0" и 80 мкс "1", после чего
- идут 40 бит данных. Каждый бит - 50 мкс "0", потом 26/70 мкс "1" для лог 0/1.
- Аналазитором заметил, что в начале каждого байта "0" не 50 мкс а почти 70.
- В мануале упоминаний не нашёл. Тайминги, естественно +/- плавают.
- При самых длинных таймингах вся операция должна занятьт 5570 мкс + время
- запуска. Т.е. таймер можно настроить на счёт до 6 мс, и в прерывании по
- переполнению признавать факт таймаута.
- Тактовая - 16МГц, предделители есть 8 и 64, так-как я предпочитаю меньшие
- числа - ставим 64(8), и считаем по 4(0.5) мкс. Итого мы ждём такие интервалы:
- - ответ на запрос через 5-50 тиков (40-400)
- - преамбула 18-22 тика (150-170)
- - 40 штук "0" - 12-14(96-110) + "1" - 5-8(44-60)/17-19(136-150) тиков
- == 17-22/29-33 (140-170/232-260)
- - таймаут - 1500(12000) тиков.
- Для тестов думаю поднять USART, делать опрос датчика, полученную инфу
- складывать в массив, показывать в терминал и переходить на следующий круг.
- Для начала будем считать период (по переходу из "1" в "0"), массив на 42 байта.
- Потом попробую считать только длительность 40-ка "1" данных и сразу записывать их в байты.
- Что-то сделал. Скорость ком-порта 19200. +556 байт.
- ---
- 2019.06.06
- Похоже, что DHT22 на прерываниях не светит. Такое впечатление, что постоянно
- срабатывает прерывание Capture, и соответсвенно получается полная херь. Хотя в
- режиме поллинга - всё нормально. Но при поллинге нужно блокировать прерывания
- - а процесс опроса занимает порядка 4 мсек, а это время обновления одного индикатора,
- хотя на гляз и не заметно. Можно пробовать синхронизировать эти события - запускать опрос
- сразу после обновления одного из индикаторов.
- ---
- 2019.06.07
- В целом - работает. Единственное - не сходится контрольная сумма, ни разу -
- явно что-то не так делал. Работает без запрета прерываний.
- Частоту обновления поставил 400 Гц - на 250 дрожат цифры.
- Нужно пересчитать значения яркости для новой частоты.
- 10 уровней явно не получится.
- Облагородил, причесал, настроил оптимизации.
- Нужно всё проверить, новых идей больше нет.
- Поисправлял.
- Появилась мысль - отображать температуру/влажность по нажатию кнопок +/-.
- А по таймеру можно показывать только ночью :-)
|