Цифровой приёмник на TEA5767 c часами на DS1307
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Цифровой приёмник на TEA5767 c часами на DS1307
Ввиду недавнего глобального отключения проводного вещания в РБ решил сделать в деревню бабушке простой FM-приёмник в качестве замены радиоточки. Использованы:
ATmega8 - управляющий контроллер.
TEA5767 - собственно приёмник в виде готового модуля (вроде такого, заказанного у китайцев)
TDA7052A - усилитель мощности с регулировкой громкости энкодером посредством ШИМ, как в этой статье.
DS1307 в качестве энергонезависимых часов реального времени.
Видео:
Исходники проекта можно взять на гитхабе.
Схему рисовать было лень, делал сразу в виде плат под свои индикаторы - там и деталей-то с гулькин нос помимо микросхем - подтягивающие к 5В резисторы на линиях SDA/SCL, да конденсаторы по питанию. Контроллер и радиомодуль запитаны от 5В, TDA7052A - от 9В, так что КРЕН-ка в помощь. Индикаторы использованы с общим катодом, катоды (разряды) подключены к портам МК через типичный ключ на npn-транзисторе (BC547), аноды (сегменты) - через резисторы к портам МК.
Исходники написаны так, что кроме линий SDA/SCL остальные порты контроллера можно подключать куда угодно - поменять разводку нужно только в одном месте - pins.h. Небольших правок потребует и применение индикаторов с ОА, надо будет ковыряться в segm.c.
Если кому-то интересно - могу расстараться и добавить больше информации или даже полную схему нарисовать, но я сильно ленюсь и думаю, и того что сказано выше, достаточно для повторения конструкции.
А если вдруг интерес будет достаточно большим, можно и полноценную статью будет написать, и самому повторить девайс ещё раз (этот экземпляр на днях уедет в деревню, а в симуляторе Proteus индикаторы что-то не хотят работать как надо - видимо, из-за нестандартной развёртки для поддержки регулировки яркости)
ATmega8 - управляющий контроллер.
TEA5767 - собственно приёмник в виде готового модуля (вроде такого, заказанного у китайцев)
TDA7052A - усилитель мощности с регулировкой громкости энкодером посредством ШИМ, как в этой статье.
DS1307 в качестве энергонезависимых часов реального времени.
Видео:
Исходники проекта можно взять на гитхабе.
Схему рисовать было лень, делал сразу в виде плат под свои индикаторы - там и деталей-то с гулькин нос помимо микросхем - подтягивающие к 5В резисторы на линиях SDA/SCL, да конденсаторы по питанию. Контроллер и радиомодуль запитаны от 5В, TDA7052A - от 9В, так что КРЕН-ка в помощь. Индикаторы использованы с общим катодом, катоды (разряды) подключены к портам МК через типичный ключ на npn-транзисторе (BC547), аноды (сегменты) - через резисторы к портам МК.
Исходники написаны так, что кроме линий SDA/SCL остальные порты контроллера можно подключать куда угодно - поменять разводку нужно только в одном месте - pins.h. Небольших правок потребует и применение индикаторов с ОА, надо будет ковыряться в segm.c.
Если кому-то интересно - могу расстараться и добавить больше информации или даже полную схему нарисовать, но я сильно ленюсь и думаю, и того что сказано выше, достаточно для повторения конструкции.
А если вдруг интерес будет достаточно большим, можно и полноценную статью будет написать, и самому повторить девайс ещё раз (этот экземпляр на днях уедет в деревню, а в симуляторе Proteus индикаторы что-то не хотят работать как надо - видимо, из-за нестандартной развёртки для поддержки регулировки яркости)
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Конечно интересно, давай выкладывай.
Может надо было в раздел приемники?
На видео кажется несколько хаотичное нажатие кнопок или показалось?
Может надо было в раздел приемники?
На видео кажется несколько хаотичное нажатие кнопок или показалось?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Показалось. Ну или я где-то недожимал кнопки, у них нет чёткого щелчка при срабатывании.
Краткий FAQ по функциям кнопок:
1. POWER
Короткое нажатие - вход в ждущий режим. При этом яркость индикации падает до минимума, звук отключается, приёмник не реагирует на другие кнопки в этом режиме, в EEPROM сохраняются текущие значения частоты, громкости, яркости, которые загрузятся даже после полного обесточивания. Повторное нажатие - выход из ждущего режима, загружаются сохранённые параметры, выставляется рабочая яркость индикатора. Начинают работать другие кнопки.
Длинное нажатие - вход в режим настройки яркости экрана. Яркость регулируется энкодером в пределах 1..8 (степень заполнения импульса ШИМ).
2. MODE
Короткое нажатие - переключение между отображенем частоты или времени. Т.е. на экране можно постоянно видеть либо текущее время, либо частоту станции - что предпочтительнее.
Длинное нажатие - вход в режим настройки времени. Настраиваемый параметр (часы или минуты) мерцает. Параметр настраивается энкодером, либо кнопками 3-4, следующий параметр выбирается коротким нажатием кнопкои 2. Выход из режима настройки времени автоматически через 10 секунд или повторным длительным нажатием кнопки 2.
3. PREV
Короткое нажатие в рабочем режиме - предыдущая сохранённая станция. В режимах настройки частоты/времени - уменьшение параметра.
Длинное нажатие - вход в режим настройки станций. Значение частоты на индикаторе мерцает. Короткие нажатия кнопок 3-4 уменьшают/увеличивают частоту на 1МГц, энкодер - на 0.1МГц. Выход из режима - кнопкой 2 или повторным длинным нажатием 3.
4. NEXT
Короткое нажатие в рабочем режиме - следующая сохранённая станция. В режимах настройки частоты/времени - увеличение параметра.
Длинное нажатие - сохранение текущей частоты в EEPROM. Если такая частота ранее уже была сохранена, то удаление из EEPROM. После нажатия на 1 секунду отображается номер станции или прочерк соответственно.
5. Энкодер регулирует громкость / яркость / частоту в зависимости от текущего режима. Кнопка энкодера подключена, но в текущей прошивке не обрабатывается (возможно, на неё можно повесить MUTE или что-то подобное).
P.S. Расстарался на схему:

Краткий FAQ по функциям кнопок:
1. POWER
Короткое нажатие - вход в ждущий режим. При этом яркость индикации падает до минимума, звук отключается, приёмник не реагирует на другие кнопки в этом режиме, в EEPROM сохраняются текущие значения частоты, громкости, яркости, которые загрузятся даже после полного обесточивания. Повторное нажатие - выход из ждущего режима, загружаются сохранённые параметры, выставляется рабочая яркость индикатора. Начинают работать другие кнопки.
Длинное нажатие - вход в режим настройки яркости экрана. Яркость регулируется энкодером в пределах 1..8 (степень заполнения импульса ШИМ).
2. MODE
Короткое нажатие - переключение между отображенем частоты или времени. Т.е. на экране можно постоянно видеть либо текущее время, либо частоту станции - что предпочтительнее.
Длинное нажатие - вход в режим настройки времени. Настраиваемый параметр (часы или минуты) мерцает. Параметр настраивается энкодером, либо кнопками 3-4, следующий параметр выбирается коротким нажатием кнопкои 2. Выход из режима настройки времени автоматически через 10 секунд или повторным длительным нажатием кнопки 2.
3. PREV
Короткое нажатие в рабочем режиме - предыдущая сохранённая станция. В режимах настройки частоты/времени - уменьшение параметра.
Длинное нажатие - вход в режим настройки станций. Значение частоты на индикаторе мерцает. Короткие нажатия кнопок 3-4 уменьшают/увеличивают частоту на 1МГц, энкодер - на 0.1МГц. Выход из режима - кнопкой 2 или повторным длинным нажатием 3.
4. NEXT
Короткое нажатие в рабочем режиме - следующая сохранённая станция. В режимах настройки частоты/времени - увеличение параметра.
Длинное нажатие - сохранение текущей частоты в EEPROM. Если такая частота ранее уже была сохранена, то удаление из EEPROM. После нажатия на 1 секунду отображается номер станции или прочерк соответственно.
5. Энкодер регулирует громкость / яркость / частоту в зависимости от текущего режима. Кнопка энкодера подключена, но в текущей прошивке не обрабатывается (возможно, на неё можно повесить MUTE или что-то подобное).
P.S. Расстарался на схему:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Раз удалось победить лень со схемой, давай статью. Больше людей увидит.
Автонастройки нет?
Автонастройки нет?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Нет, только ручная настройка.
Статью, наверное, сделаю позже, когда соберу второй экземпляр приёмника.
В нём добавлю поддержку ещё и RDA5807 модуля и автонастройку можно будет попробовать реализовать. Только придумать как это к имеющимся кнопкам прикрутить - и так уже заняты и короткие, и длинные нажатия.
Статью, наверное, сделаю позже, когда соберу второй экземпляр приёмника.
В нём добавлю поддержку ещё и RDA5807 модуля и автонастройку можно будет попробовать реализовать. Только придумать как это к имеющимся кнопкам прикрутить - и так уже заняты и короткие, и длинные нажатия.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Прошивка flash и eeprom (минские радиостанции) для тех, кто ленится собрать исходники.
- Вложения
-
- fm7segm.7z
- (4.41 КБ) 1864 скачивания
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Спасибо большое
Буду собирать стерео вариант
Буду собирать стерео вариант
Re: Цифровой приёмник на TEA5767 c часами на DS1307
А что там с фьюзами?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Фьюзы: -U lfuse:w:0x24:m -U hfuse:w:0xc1:m. В общем, внутренний генератор 8МГц.
Для стерео нужно немного изменить инициализацию TEA5767 в исходниках. Сейчас, для уменьшения уровня шумов, она инициализируется в моно режиме.
В tea5767.c заменить:наИ перекомпилировать.
В другой своей теме я снимал видео про то, как другой мой проект можно собрать под windows. Для этого всё аналогично.
Для стерео нужно немного изменить инициализацию TEA5767 в исходниках. Сейчас, для уменьшения уровня шумов, она инициализируется в моно режиме.
В tea5767.c заменить:
Код: Выделить всё
bufFM[2] = TEA5767_HLSI | TEA5767_MS;Код: Выделить всё
bufFM[2] = TEA5767_HLSI;В другой своей теме я снимал видео про то, как другой мой проект можно собрать под windows. Для этого всё аналогично.
Re: Цифровой приёмник на TEA5767 c часами на DS1307
ок, спасибо за инфу
а для общего анода много надо чего поменять?
а для общего анода много надо чего поменять?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Навскидку, в строках с 77 по 131 в зависимости от схемы подключения индикатора сегменты будут по-другому гаситься и зажигаться.
Re: Цифровой приёмник на TEA5767 c часами на DS1307
доброе утро
рисую печатку в sl6, mega8 будет в dip корпусе, есть вопрос, можно перенести кнопки с pd1-pd4 на pc0-pc3, а управление катодами с pc0-pc3 на pd1-pd4
сможешь ли поправить прошивку?
рисую печатку в sl6, mega8 будет в dip корпусе, есть вопрос, можно перенести кнопки с pd1-pd4 на pc0-pc3, а управление катодами с pc0-pc3 на pd1-pd4
сможешь ли поправить прошивку?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Правьте pins.h исходников, там вся разводка МК.
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Прошу разяснеия по поводу даной формулы:
div = ((uint32_t)freq * 10000 + 225000) / 8192;
freq- частота настройки например 101.4 Mhz
+ 225000 - что это
(и какой шаг перестройки)
div = ((uint32_t)freq * 10000 + 225000) / 8192;
freq- частота настройки например 101.4 Mhz
+ 225000 - что это
(и какой шаг перестройки)
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
225000 - это половина промежуточной частоты, ЕМНИП.
Формула из даташита на TEA5767 для расчёта делителя при частоте кварца 32кГц: div = 4 * (freq + 225000) / 32768;
Формула из даташита на TEA5767 для расчёта делителя при частоте кварца 32кГц: div = 4 * (freq + 225000) / 32768;
Re: Цифровой приёмник на TEA5767 c часами на DS1307
В промышленных китайских магнитолах микросхема запитана от своего стабилизатора 3.3В в то время как питание контроллера 5В и по линиям I2C со стороны контроллера в сторону приемника стоят дроссель резистор 1Ком и конденсатор 680pF подтягивающие резисторы на 3.3 В - 10 кОм.
Исходники полного набора микросхем приемников и передатчиков с шиной I2C тут
https://code.google.com/p/project-commo ... ive/?r=257
Исходники полного набора микросхем приемников и передатчиков с шиной I2C тут
https://code.google.com/p/project-commo ... ive/?r=257
Re: Цифровой приёмник на TEA5767 c часами на DS1307
здравствуйте
а можно использовать энкодер pec11 или какой-то другой?
а можно использовать энкодер pec11 или какой-то другой?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Попробуйте. Вряд ли они чем-то отличаются.
- VeryLazyCat
- Опытный кот
- Сообщения: 832
- Зарегистрирован: Пн май 17, 2010 22:21:01
- Откуда: Madagaskar
Re: Цифровой приёмник на TEA5767 c часами на DS1307
в основном отличаются распиновкой
(вывод С может быть по центру или крайним), а ваще на каждый попавшийся экземпляр
надо смотреть даташит, отличий много разных бывает.
(вывод С может быть по центру или крайним), а ваще на каждый попавшийся экземпляр
надо смотреть даташит, отличий много разных бывает.
Re: Цифровой приёмник на TEA5767 c часами на DS1307
здравствуйте
вот нарисовал печатку
посмотрите, может какие замечания будут
с уважением, Игорь
вот нарисовал печатку
посмотрите, может какие замечания будут
с уважением, Игорь