» » » Многофункциональный радиоприёмник

Многофункциональный радиоприёмник

Часы, будильник, календарь, автоотключение, автовключение, громкость, тембр высокие, тембр низкие, баланс, 6 каналов, дистанционное управление, энкодер громкости, энкодер настройки, две температуры, бегущая строка, русский интерфейс, моноблочный сверхплоский дизайн платы управления и многое другое...

Многофункциональный радиоприёмник


Многофункциональный радиоприёмник


Модель в Протеусе:

Многофункциональный радиоприёмник


Многофункциональный радиоприёмник


История изменений

Следущим шагом планируется подключение функций управления LM7001, ради чего велись все подготовки.



11 декабря 2009
- hawkman обнаружил, что автоотключение не срабатывает более чем через 1 минуту. Явная ошибка - следствие сложности алгоритма автоотключения и связанных проверок. Теперь автоотключение работает и на большие интервалы.
- Точность хода часов удовлетворительная. Более 3х суток идут минута в минуту (о секундах судить не могу).



7 декабря 2009
Модифицированно автоотключение. Теперь этот параметр сохраняется. Обратный отсчет происходит в момент, когда на экране бегущая строка. Отсчет начинается ЗАНОВО, если:
- сделан выход из меню в экран бегущей строки;
- сделан ручной выход из режима ожидания;
- сделан будильником выход из режима ожидания.
Сочетая функции будильника и автоотключения можно имитировать режим "присутствия".
Если автоотключение задается через 1 минуту, то это событие может произойти и через 50 сек и через 5 сек, т.к. обратный отсчёт синхронизирован изменением минут. Рекомендуем устанавливать автоотключение более чем через 1 минуту.
- Активирована внешняя линия управления StandBy пин 11 (RC0).
Высокому уровню соответствует состояние включено, низкому уровню соответствует состояние "режим ожидания". На осциллограмме сигнал ровный без провалов и всплесков, т.е. чтение-модификация-запись состояния линии происходят корректно.
- Теперь устройство включается по-взрослому. После подачи питания оно сразу в режиме ожидания.



5 декабря 2009
- Написаны две глобальные функции - проверка будильника и проверка автоотключения.
- Скорректирована нумерация дней недели из-за неверного первоначального представления связи даты с днем недели
(никакой связи нет; все параметры просто синхронно тикают в определенных диапазонах).
- Исправлена ошибка настройки ограничения в часах с 24 на 23, что приводило к ошибке перехода в новые сутки при определенных условиях.
- Как работает будильник? Задается единое время срабатывания будильника для всех дней, но для каждого дня устанавливается разрешение "будить да/нет".
- Что такое срабатывание будильника? Это перевод из состояния StandBy (режим ожидания) и Mute (режим приглушения) в рабочий режим.
- Изменена настройка автоотключения с точностью до минуты (ранее было изменение по 5 минут для лучшей стилистики). Изменение вызвано дальнейшим написанием алгоритма автоотключения.
- Как работает автоотключение? Задается время от 0 до 150 минут, по истечению которого будет включен режим ожидания. Если время равно 0 минут - то автоотключение не используется. Автоотключение как параметр не сохраняется.



4 декабря 2009
- Создан новый дизайн ПП с учетом трассировки земель и шин питания, что требовалась для "правильной" работы энкодеров.
Откорректирована программа в части новой трассировки: индикатора, клавиатуры и энкодеров. Образец ПП сразу запустился. Все компоненты дружественно работают.
- Часы и термометр сразу запустились в работу. Часы начали отсчитывать от 00:00 воскресенье 1 января 2000 .
- Написаны функции корректировки всех параметров текущего времени и сохранения в DS1307.
- Обнаружено, что для дня недели также требуется установка параметра. Введен дополнительный пункт меню.
- Для более понятной визуальной корректировки дня недели и месяца в меню сделана отрисовка соответствующих фраз вместо цифр(понедельник...воскресенье...январь...декабрь).

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

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


Печатаная плата - psb-fm_radio_07.rar [30,68 Kb] (cкачиваний: 240)

Последняя прошивка (мой ПК в Протеусе зябнет с этой прошивкой):
prosh.rar [9,77 Kb] (cкачиваний: 197)

Облегченная прошивка для Протеуса:


Проект Протеуса: proteus-fm_radio_07.rar [0 b] (cкачиваний: 185)

Источник: http://www.labkit.ru/

Комментариев пока нет, добавьте свой!