Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
Карта сайта | Пишите нам | В избранное | eng     

Внимание! У нас изменились номера телефонов. Звоните:
(495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91;
+7(909) 638-88-00 и +7(903) 530-10-01 (Билайн).
       о фирме        электроника     обратная связь

Микроэлектронные проекты. Владислав Шаповалов. Продвинутые радио-часы/будильник с термометрами на графическом LCD.

Представленное устройство не слишком рентабельно для серийного производства, но представляет собою весьма неплохой пример «плотного» использования микроконтроллера.
Идея родилась после того как в автомагнитоле украли морду. Захотелось использовать встроенное радио и микросхему регулировок громкости и тембра TDA7407.
К сожалению, оживить радио от Kenwood KDC-2092 не удалось, тогда было решено использовать плату радио-тюнера от компьютера (отпилив ненужное).

1.Радио – управление по 3 проводам (DATA, Clock, Write Enable), плюс вывод моно/стерео (система команд и прочее в PDF от TEA5757H), учитывать надо только то, что для ввода в тюнер надо использовать «реальную частоту» +10,7 МГц.
2. Регулятор громкости и тембра TDA7407D – управление по шине I2C (система команд и прочее в PDF)
3. Термометры DALLAS. Поддерживается до 8 термометров (отобразить показания можно только двух). Неоценимую помощь оказала статья http://frank.bol.ucla.edu/2313Temper8.htm. Программу пришлось адаптировать – убрать работу с UART и некоторые другие функции.

Для вывода изображений на графический индикатор используется микросхема FLASH памяти AMD29F010B можно использовать и AT29C512 с вдвое меньшим объемом памяти. Программирование осуществлялось программатором WillemProg.
По адресу 0000-00FF расположены все команды необходимые для работы индикатора. По остальным адресам необходимые изображения.

Был использован графический индикатор Powertip PE12864URT-003-IY1 со встроенным контроллером ST7565. Знаки на экране организованы следующим образом: 128 колонок на 8 страниц ("больших" строк), каждая страница 8 точек в высоту, группа из 8 точек в одной колонке описывается восьмизначным двоичным числом. Итого: 8*128=1024 числа требуется для формирования одного экрана. Все графические изображения, текст, и цифры были нарисованы собственноручно в Adobe PhotoShop 7.0 и «оцифрованы» вручную (тяжелая работа, но, к огромному сожалению, так и не нашел программы способной это сделать), затем превращены в прошивку для микросхемы Flash-памяти.

Программа для микроконтроллера написана на AVR Assembler (в AVR Studio 4.12). И имеет нижеприведенную блочную структуру (открыть в новом окне). Основной переменной является счетчик нажатия кнопки «Select» (Butt0, прерывание INT0). В зависимости от этого числа программа преступает к выполнению соответствующей подпрограммы.

Управление часами осуществляется при помощи трех кнопок: «Select» и «+»/«-». Кнопкой «Select» выбирают необходимы режим, кнопки +/- меняют соответствующий параметр (Selector12).
Режимы работы устройства следующие (цикл):

  1. Часы
  2. Регулировка громкости, низких, средних, высоких частот.
  3. Фиксированные настройки тюнера (6 шт.), поиск станции. (запоминание новой станции осуществляется в выбранный номер настройки при выходе из этого меню)
  4. Установки часов, будильника, яркости свечения индикатора, вкл./выкл. Будильника.
  5. Полное отключение дисплея с сохранением работы остальных частей устройства.
  6. В режиме часов при нажатии +/- отображаются состояния двух термометров.

То что будильник взведен отображается на экране тонкой полоской под цифрами часов. После срабатывания будильника громкость плавно нарастает. Нажатие кнопки «Select» в это время приводит к выключению радио. Будильник при этом переводится на 7 минут вперед. Через 7 мин он опять включается. Выключить его можно последовательно нажав кнопки: «Select» - «+» - «-» - «Select». На следующий день он опять сработает в тоже время (изначальное, без учета +7 мин, даже если их было несколько). Выключить его можно окончательно только через меню.

Все основные параметры (будильники и константы работы с различными устройствами) хранятся в EEPROM микроконтроллера. Так что выключение питание не вызовет серьезного сбоя. После пропадания питания (RESET) – показания будильника грузятся из EEPROM – а показания часов приравниваются к показаниям будильника, что вызывает срабатывание будильника и радио.
Предусмотрена поддержка работоспособности при отсутствии питания. Микроконтроллер регулярно проверяет напряжение на выводе PB7 (контролируется супервизором питания DD10), если там единица, то все ОК, при обнаружении 0, микроконтроллер переходит в режим работы без индикатора, все периферия отключается. Питание для микроконтроллера берется от батарейки (или аккумулятора). Вариант с использованием батарейки не был опробован автором.

На микросхеме DD7 собрано устройство подавления дребезга кнопок. Сделано это было для максимального уменьшения времени выполнения прерываний INT1,INT2, чтобы не ухудшать точность хода часов. При желании борьбу с дребезгом можно передать микроконтроллеру и убрать DD7.  
Для предотвращения сбоев и экономного использования процессора в течение каждого  секундного цикла работы он примерно 50% времени находится в спящем режиме. Для блокировки/разрешения работы усилителя и микросхем термометров используются ключи (VT2, DD6 соответственно) на которые непрерывно должно подаваться управляющее напряжение. А в спящем режиме все выводы Atmega8515 переводятся в состояние Z. Для устранения этого эффекта используется триггер DD5, который «помнит» состояние соответствующего входа независимо от перехода микроконтроллера в состояние Z.

Посмотреть схему (откроется в новом окне)

И, наконец, фотографии работающего устройства в разных режимах:





Прошивка для ATmega8515 и Flash-памяти здесь.

 

Литература:
1. TDA7407
2. TEA5757
3. DS18B20
4. ATMEL.com
5. WillemProg
6. 2313Temper8

P.S.
Может быть кто-то из читателей сталкивался с тюнерами от автомагнитол и сможет помочь решить проблему. Суть ее в следующем:
Есть задница от магнитолы Kenwood KDC-2092 (Морду сперли).
Есть PDF со схемой KDC-2092.pdf
Хотел выдернуть оттуда тюнер. Тюнер на одной микросхеме K2I KKE05.
Управляется он по 3 проводам: PLL CE, PLL DATA, PLL CLK. (остальные управляющие сигналы подал вроде верно (по схеме было понятно что к чему). Для минимизации мест возникновения ошибки выход тюнера подключил напрямую к внешнему стереодекодеру и дальше к внешнему предварительному усилителю.
Подавал на него всевозможные комбинации с помощью программы перебора на микроконтроллере ATiny2313.
Были варианты 1слово х8 бит,2слова х8бит и 3слова х8 бит. - а в ответ тишина....
Подскажите, может кто знает как им управлять?
Для начала:
стробирование происходит по спаду/подъему?
PLL CE - active HIGH/LOW?
Сколько бит в слове?
Сколько слов в команде?
может кто знает всю систему управления им?
Или есть PDF от микросхемы тюнера (Хотя она похоже заказная)?
Огромное спасибо

Автор проекта: Владислав Шаповалов
Связаться с автором можно по e-mail: 3dfilm@mail.ru.

 Разместите Ваш проект у нас на сайте и его смогут увидеть сотни посетителей в день. Ваши проекты присылайте вебмастеру.
Правила оформления проектов
  1. Необходимо наличие схемы, описания устройства и т.д. (для отдельных проектов - драйвера, программное обеспечение и их описание)
  2. Схемы и другие картинки должны быть в форматах .jpg или.gif. К ним обязательно должны идти подписи, поясняющие, что на данной схеме (картинке) изображено.
  3. Описание устройства - в форматах .doc, .txt или .html.
  4. Проект не должен нарушать чьих-либо авторских прав.
Ваши проекты присылайте вебмастеру
Приглашаем специалистов
В России кризис и увольнения персонала, а в Телесистемах, как обычно, не так как у всех: мы расширяем деятельность, набираем новых сотрудников и ищем новых партнеров.
Изделия для разработчиков
Программатор «PICPROG» «PICPROG» - универсальный промышленный программатор.
Копировщик PIC16x8x Копировщик PIC16x8x - тиражирование в автономном режиме.
Наши телефоны: (495) 638-88-00, (499) 940-95-75, факс (499) 735-04-91, мобильные: (903) 530-10-01 и (909) 638-88-00 (БиЛайн).
E-mail:

Copyright © ООО "Телесистемы", 1997 — 2024    Копируйте на здоровье! За ссылку на www.telesys.ru мы вам будем очень признательны.

Rambler's Top100