Часы на индикаторе ИЛЦ5-4/7М. Функциональный аналог часов Электроника 7-21-1.
На данный момент разведена плата под корпус оригинальных часов Электроника 7-21-1.
Также написана программа для микроконтроллера на Codevision AVR.
Аппаратная часть ещё НЕ изготавливалвась. Не разведена плата блока питания.
Исходники, макет в протеусе и плата:
https://cloud.mail.ru/public/2wgA/41b1WnxTbАппаратная часть собрана на микроконтроллере ATMega8.
Часы реального времени: DS1307
Индикация, естественно, динамическая. Управление индикатором по положительному напряжению.
Через транзисторные ключи TD62783AF.
Для зажигания сегмента индикатора с контроллера подаются положительные напряжения на соответствующие анод индикатора и сетку.
Для правильного функционирования клавиатуры на транзисторах реализованы элементы "НЕ".
Что изменено в сравнении с оригиналом.
1. Несколько изменено управление в торону упрощения. Было решено отказать от оригинального, берущего своё начало от программируемых калькуляторов с польской инверсной записью.
В оригинале ввод осущкствлялся следующим образом: "С"(сброс) "*"(предустановка) Д ЧЧ ММ "стрелка вверх"(ввод) "ТВ".
Теперь ввод осуществляется проще: "стрелка вверх" Д,ЧЧ,ММ.
2. Добавлена функция отображения даты (кнопка "*"),
3. Несколько изменён алгоритм ввода текущего времени: вводятся часы, минуты, число, месяц, год
При вводе дополнительных значений отображаются символы-подсказки: "д", "м", "г". День недели вычисляется автоматически.
4. Добавлена функция отображения минут и секунд текущего времени (кнопка "С")
5. Функция программирования будильников. Их, как и в оригинале, 16. Но можно задать любое количество (изменяя прошивку).
6. При нажатии клавиши "ПРГ" в течение 1,5 секунд отображается номер ячейки памяти (в формате "П- номер ячейки")
Если ячейка пуста, отображается "Н У" (в оригинале отображались цифры 3 и 7)
7. Ввод осуществляется нажатием клавиши "стрелка вверх",Д,ЧЧ,ММ.
8. При нажатии клавиши "С" текущая ячейка стирается, номера ячеек корректируются. Таким образом в середине списка не остаётся пустых ячеек.
В оригинале удаление одиночной ячейки было невозможно. Либо изменение значения, либо удаление всех ячеек.
9. В будильнике задействовано 10 вариантов ввода дня недели: 0-6 - дни недели с понедельника по воскресенье, 7- ежедневно (на индикаторе зажигаются все дни недели), 8- рабочие дни (с понедльника по пятницу), 9- выходные (суббота и воскресенье). В оригинале было только 8 вариантов...
10. таймер (кнопка "ТМ"). 99 минут 59 секунд... Управление кнопками "ТМ",- пуск, "Сигнал",- пуск/стоп, отключение сигнала, "С",- остановка, сброс в исходное состояние, "стрелка вверх",- установка времени.
11. По возможности реализована защита от дурака. ВВести совсем уж неправильные значения параметров не получится.
Что предполагается сделать ещё:
1. функцию коррекция (сброса в 0 минут и секунд) при нажатии кнопки "ввод" в режиме показ секунд (это не сложно...).
2. возможность передачи данных (число, месяц, год, режим работы) на другой микроконтроллер.
Ко второму микроконтроллеру будет подключен ещё один экран, а также датчики температуры.
Вопрос: Как лучше реализовать передачу данных на 2 МК?
Для этого, скорее всего, в схему придётся вводить регистр сдвига 74HC595, так как почти все порты на МК заняты...
3. Программное управление яркостью. На данный момент есть только фоторезистор СФ3-1.
Вопрос: Как это лучше реализовать? И программно и апаратно?
Стоит ли задействовать для этого АЦП? Чем управлять? Импульсным преобразователем 5->30 вольт или программно снизить время горения сегментов индикатора? Сколько ступерней яркости сделать?
4. В случае реализации управления яркостью есть смысл установить дополнительные кнопки управления (конструкция аппаратной части позволяет). Скорее всего это будет кнопка настройки параметров: яркость, режим регулировки яркости (по датчику, по времени, в ручную), время переключения яркости, ежечасный сигнал, режим автоматического отображения даты (на данный момент эта функция не реализована).
Также возможна установка кнопки прямого управления яркостью.
5. Режим автоматического вывода текущей даты.
Вопрос: с какой периодичностью её лучше выводить и насколько долго отображать?
6. Дополнительный режим "секундомер" (чтоб было!). Для это потребуется дополнительная кнопка.
7. Вполне возможна реализация музыкального будильника на дополнительном МК.
Что НЕ планируется.
1. Интеграция со смартфоном и ПК (подключать через терминал не вижу смысла, а более совершенное ПО,- это совсем уж глобальная задача).
2. Беспроводные интерфейсы (см п.1). Да и ресурсов контроллра может не хватить.
3. Подключение термометра (у меня это будет отдельный модуль с отдельным экраном).
Блок питания будет предварительно, как на схеме с КФ1211ЕУ1 + IRF7303:
Хотелось бы найти первоисточник этой схемы...
В первоисточнике использовались лампы с нитью накала, номинальным напряжением 2,6 вольт. У меня это напряжение,- 3,6 вольт (замерено на заводских часах). как это напряжение подобрать более точно?
Как работает вывод, указанный на схеме PA6?