ReadMe.txt 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. My Nixie Clock IN-12 / Мои часы на ГРИ ИН-12
  2. Решил пустить в дело накопленное добро.
  3. 2019.01.18
  4. ---
  5. 2019.01.30
  6. Первая версия, годная для проверки железа - чтение из RTC и отображение
  7. минут и секунд, раз в секунду переключение точки. Без кнопок.
  8. Чтение из RTC сделано без малейших проверок, в случае проблем вместо
  9. времени будет мусор.
  10. ---
  11. 2019.05.27
  12. Опять застой.
  13. Платы собраны и работают.
  14. Забыл сделать запитку для ионисторов - пришло паять навесом.
  15. Были нюансы с анодным питанием - нужен конденсатор на вывод обратной связи MC.
  16. Был писк дросслей - почти избавился. !!! не забыть исправить схему и плату.
  17. Конденсаторы на кнопках - не дают работать SPI для прошивки.
  18. Само расположение кнопок - неудачное. Они должны "смотреть" назад, а
  19. получилось, что вверх. Нужно или переставтиь на заднюю часть платы - для
  20. уменьшения проблем с корпусировкой, или ставить другие - чтобы толкатели
  21. выходили на заднюю стенку. Как вариант - убрать кнопки совсем, настраивать
  22. через ком-порт.
  23. Обработчик кнопок взял из "Старт 7231", который туда тоже взял из прошлого проекта.
  24. ---
  25. 2019.05.28
  26. Кнопка1 - "выбор", 2 - "+", 3 - "-".
  27. Пока не придумаю, как лучше сделать мигание разрядами...
  28. ---
  29. 2019.05.29
  30. При нажатии на кнопки "1"/"2" должно переключать отображение.
  31. ---
  32. 2019.05.30
  33. Вчера ничего не заработало.
  34. Сегодня вспомнил, что атмел с памятью работает слегка по другому.
  35. Упростил таблицу состояний, переписал обработчик - по идее должно работать.
  36. ---
  37. 2019.05.31
  38. Вчера всё получилось.
  39. Начинаю внедрять настройку часов.
  40. ---
  41. 2019.06.01
  42. Всё отлично. Есть один-два несущественных момента.
  43. Первый релиз.
  44. ---
  45. 2019.06.03
  46. Продолжаем.
  47. Пониженная яркость с 22:00 до 06:00.
  48. Переход на зимнее/летенее время. Есть нюанс - если запускать прошивку в зимнее
  49. время - будет работать неправильно. Доделывать лень - и так норм.
  50. ---
  51. 2019.06.05
  52. Пока сделал всё, что хотел.
  53. Регулировку яркости от освещения вообще не хочу делать.
  54. Вообще планирую в версии для себя выкинуть эту регулировку - мне она кажется
  55. лишней. Разве что ночью часы буду стоят возле головы и направлены в лицо.
  56. Сделал эту фичу отключаемой через дефайн в мейкфайле - 234 байта.
  57. Хочу подключить DHT-22, использую ногу захвата 1-го таймера, на прерываниях.
  58. Повторим алогритм: запускаем измерения подтяжкой вывода к земле минимум на 800
  59. мкс, через 20-200 мкс датчик должен выдать 80 мкс "0" и 80 мкс "1", после чего
  60. идут 40 бит данных. Каждый бит - 50 мкс "0", потом 26/70 мкс "1" для лог 0/1.
  61. Аналазитором заметил, что в начале каждого байта "0" не 50 мкс а почти 70.
  62. В мануале упоминаний не нашёл. Тайминги, естественно +/- плавают.
  63. При самых длинных таймингах вся операция должна занятьт 5570 мкс + время
  64. запуска. Т.е. таймер можно настроить на счёт до 6 мс, и в прерывании по
  65. переполнению признавать факт таймаута.
  66. Тактовая - 16МГц, предделители есть 8 и 64, так-как я предпочитаю меньшие
  67. числа - ставим 64(8), и считаем по 4(0.5) мкс. Итого мы ждём такие интервалы:
  68. - ответ на запрос через 5-50 тиков (40-400)
  69. - преамбула 18-22 тика (150-170)
  70. - 40 штук "0" - 12-14(96-110) + "1" - 5-8(44-60)/17-19(136-150) тиков
  71. == 17-22/29-33 (140-170/232-260)
  72. - таймаут - 1500(12000) тиков.
  73. Для тестов думаю поднять USART, делать опрос датчика, полученную инфу
  74. складывать в массив, показывать в терминал и переходить на следующий круг.
  75. Для начала будем считать период (по переходу из "1" в "0"), массив на 42 байта.
  76. Потом попробую считать только длительность 40-ка "1" данных и сразу записывать их в байты.
  77. Что-то сделал. Скорость ком-порта 19200. +556 байт.
  78. ---
  79. 2019.06.06
  80. Похоже, что DHT22 на прерываниях не светит. Такое впечатление, что постоянно
  81. срабатывает прерывание Capture, и соответсвенно получается полная херь. Хотя в
  82. режиме поллинга - всё нормально. Но при поллинге нужно блокировать прерывания
  83. - а процесс опроса занимает порядка 4 мсек, а это время обновления одного индикатора,
  84. хотя на гляз и не заметно. Можно пробовать синхронизировать эти события - запускать опрос
  85. сразу после обновления одного из индикаторов.
  86. ---
  87. 2019.06.07
  88. В целом - работает. Единственное - не сходится контрольная сумма, ни разу -
  89. явно что-то не так делал. Работает без запрета прерываний.
  90. Частоту обновления поставил 400 Гц - на 250 дрожат цифры.
  91. Нужно пересчитать значения яркости для новой частоты.
  92. 10 уровней явно не получится.
  93. Облагородил, причесал, настроил оптимизации.
  94. Нужно всё проверить, новых идей больше нет.
  95. Поисправлял.
  96. Появилась мысль - отображать температуру/влажность по нажатию кнопок +/-.
  97. А по таймеру можно показывать только ночью :-)