Цифровой приёмник на TEA5767 c часами на DS1307
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Добрый день WiseLord.
При проверке точности хода часов возникают некоторые неудобства.
Если у Вас появится желание и позволят возможности железа,
то хорошо бы сделать в режиме настройки часов вывести минуты и секунды для удобства выставления времени.
То есть иметь возможность обнулять секунды, тем самым точно выставляя время.
Также ввести пункт в меню настройки - коррекция хода часов.
С Уважением Александр.
При проверке точности хода часов возникают некоторые неудобства.
Если у Вас появится желание и позволят возможности железа,
то хорошо бы сделать в режиме настройки часов вывести минуты и секунды для удобства выставления времени.
То есть иметь возможность обнулять секунды, тем самым точно выставляя время.
Также ввести пункт в меню настройки - коррекция хода часов.
С Уважением Александр.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Можно сделать проще - при изменении минут обнулять секунды.
И зачем в меню настройки - пункт с коррекцией хода часов? Что он будет делать? Это лишняя сущность.
Коррекция для DS1307 не имеет смысла, так как она не будет происходить, если часы выключены. Чтобы был какой-то смысл в коррекции, она должна происходить независимо от питания контроллера.
То есть, нужны либо часы типа DS3231 с термостабилизированным кварцем, точные сами по себе, либо нужна внешняя коррекция по сигналам точного времени или GPS.
Просто так же изменение времени раз в сутки на N секунд делать не имеет смысла, т.к. если контроллер будет выключен, никакой коррекции не произойдёт.
И зачем в меню настройки - пункт с коррекцией хода часов? Что он будет делать? Это лишняя сущность.
Коррекция для DS1307 не имеет смысла, так как она не будет происходить, если часы выключены. Чтобы был какой-то смысл в коррекции, она должна происходить независимо от питания контроллера.
То есть, нужны либо часы типа DS3231 с термостабилизированным кварцем, точные сами по себе, либо нужна внешняя коррекция по сигналам точного времени или GPS.
Просто так же изменение времени раз в сутки на N секунд делать не имеет смысла, т.к. если контроллер будет выключен, никакой коррекции не произойдёт.
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
WiseLord спасибо за ответ.
Про коррекцию я знаю, сталкивался с этим, соглашусь с Вами - смысла не имеет.
Приёмник в этой конструкции первичен, время и температура как бонус.
Тогда, если это не влечёт за собой много работы, можно сделать как предлагаете Вы,
при изменении минут - секунды обнуляются. Если это хлопотно, тогда и не надо - приспособлюсь.
С Уважением.
Про коррекцию я знаю, сталкивался с этим, соглашусь с Вами - смысла не имеет.
Приёмник в этой конструкции первичен, время и температура как бонус.
Тогда, если это не влечёт за собой много работы, можно сделать как предлагаете Вы,
при изменении минут - секунды обнуляются. Если это хлопотно, тогда и не надо - приспособлюсь.
С Уважением.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Несложно. Просто одну строку удалить - тогда при изменени минут будут и секунды обнуляться.
Пока ради такой мелочи не лень компилировать все варианты прошивок.
Сейчас хочу ещё один экземпляр приёмника сделать (два уже сделанных разошлись по родственникам), переписать местами код, возможно, добавить функцию будильника, поддержку часов DS3231 (хотя она и так совместима с DS1307).
Если срочно надо - что делать с исходником, я написал, скомпилируйте под себя.
Пока ради такой мелочи не лень компилировать все варианты прошивок.
Сейчас хочу ещё один экземпляр приёмника сделать (два уже сделанных разошлись по родственникам), переписать местами код, возможно, добавить функцию будильника, поддержку часов DS3231 (хотя она и так совместима с DS1307).
Если срочно надо - что делать с исходником, я написал, скомпилируйте под себя.
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
WiseLord Спасибо за ответ.
Извините за назойливость, ну такой я.
Привык все дела доводить до логического конца, когда всё понятно и хорошо.
Мне не срочно, подожду Вашу новую прошивку (скомпилировать не смогу).
А пока у меня ещё есть дела с этой конструкцией.
Прошил версию СС-no-rda5807, eep-кнопки-стерео.
Яркость также не регулируется, другие функции работают.
Прошиваю SinaProg 2.1.1 RUS c сайта http://www.getchip.net/.
Программатор Громова. Может что не так записывается?
В eep по адресу 0х04 яркость по умолчанию 08, какую величину поставить
чтобы яркость была максимальной (на случай если не одолею кнопки).
В принципе она мне не особа и нужна, хотя вечером красные индикаторы нужно приглушать.
В крайнем случае перейду на зелёные, они не выедают глаза - проверено днём и ночью.
Успехов.
Извините за назойливость, ну такой я.
Привык все дела доводить до логического конца, когда всё понятно и хорошо.
Мне не срочно, подожду Вашу новую прошивку (скомпилировать не смогу).
А пока у меня ещё есть дела с этой конструкцией.
Прошил версию СС-no-rda5807, eep-кнопки-стерео.
Яркость также не регулируется, другие функции работают.
Прошиваю SinaProg 2.1.1 RUS c сайта http://www.getchip.net/.
Программатор Громова. Может что не так записывается?
В eep по адресу 0х04 яркость по умолчанию 08, какую величину поставить
чтобы яркость была максимальной (на случай если не одолею кнопки).
В принципе она мне не особа и нужна, хотя вечером красные индикаторы нужно приглушать.
В крайнем случае перейду на зелёные, они не выедают глаза - проверено днём и ночью.
Успехов.
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Добрый вечер WiseLord.
Прочитал про новую версию и появились мысли вслух.
В некоторый магнитолах да и в радиолюбительских конструкциях применяют клавиатуры
с испольцованим аналогового входа. То есть для каждой кнопки с помощью делителя
на сопротивлениях поступает на вход своё напряжение.
Если использовать такую клавиатору, то освобождаются выводы МК, которые можно использовать.
WiseLord использовывали Вы своих конструкциях такое схемное решение.
Конечно есть и минусы, при загрязнении кнопок клавиатура работает неустойчиво.
Для этой конструкции можно применить и комбинирование схем клавиатуры.
"Аналоговую" клавиатуру использовать для кнопок редко используемых - Set, Standby...
Почему я задал этот вопрос - в нашем городе из 13 станций только 3-4 станции
у которых приходится иногда подбирать положение антенны, остальные имеют вполне приличное стерео.
Поэтому захотелось иметь кнопку (если это возможно программно) Mono-Stereo и индикатор режима M-S/
WiseLord что вы думаете по этому вопросу ? Возможно ли это.
С Уважением.
Прочитал про новую версию и появились мысли вслух.
В некоторый магнитолах да и в радиолюбительских конструкциях применяют клавиатуры
с испольцованим аналогового входа. То есть для каждой кнопки с помощью делителя
на сопротивлениях поступает на вход своё напряжение.
Если использовать такую клавиатору, то освобождаются выводы МК, которые можно использовать.
WiseLord использовывали Вы своих конструкциях такое схемное решение.
Конечно есть и минусы, при загрязнении кнопок клавиатура работает неустойчиво.
Для этой конструкции можно применить и комбинирование схем клавиатуры.
"Аналоговую" клавиатуру использовать для кнопок редко используемых - Set, Standby...
Почему я задал этот вопрос - в нашем городе из 13 станций только 3-4 станции
у которых приходится иногда подбирать положение антенны, остальные имеют вполне приличное стерео.
Поэтому захотелось иметь кнопку (если это возможно программно) Mono-Stereo и индикатор режима M-S/
WiseLord что вы думаете по этому вопросу ? Возможно ли это.
С Уважением.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
По каким-то религиозным убеждениям?Cheal писал(а):подожду Вашу новую прошивку (скомпилировать не смогу).
тыцCheal писал(а):В eep по адресу 0х04 яркость по умолчанию 08, какую величину поставить
В принципе, можно запоминать для каждой станции режим моно/стерео, а настроить его переключение длинным нажатием той же 4-й клавиши. Сейчас при этом выполняется стирание/запись станции в EEPROM как в режиме настройки, так и рабочем, а переделать надо на то, чтобы в рабочем режиме переключалось моно/стерео, а в режиме настройки станций функция осталась бы прежней.Cheal писал(а):захотелось иметь кнопку (если это возможно программно) Mono-Stereo и индикатор режима M-S/
В общем, возьму себе на заметку эти фунции. Сегодня купил ещё один корпус с динамиком, вчера спаял управляющий блок (индикатор + ATmega8). На днях постараюсь сделать аудиочасть с TDA7052, соберу это всё вместе и постараюсь реализовать.
А то уже сделанные приёмники, как я уже писал, разошлись как горячие пирожки, по родственникам. Не на чем поэкспериментировать.
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Здравствуйте WiseLord.
В качестве индикатора моно-стерео можно использовать десятичную точку,
которая разделяет при показании частоты целую часть от десятичной.
Например: при стерео точка горит (как сейчас) а при моно мигает, своего рода сигнализация о низком уровне сигнала.
Успехов.
Дополню.
Если использовать отдельные индикаторы то появится возможность использовать 2 светодиода, подключая их
вместо крайних десятичных точек. Конечно есть минус, конструкции собранные с индикаторов с 4 разрядами не смогут
воспользоваться этим.
В своей конструкции хочу заменить переднию панель.
Использую другие индикаторы (раздельные), чтобы сделать двоеточие в часах (не люблю в часах одну точку),
ну и для последующего - вдруг WiseLord что нибудь реализует из моих размышлений.
Успехов и здоровья (унас в городе некоторые школы отправили на карантин)
В качестве индикатора моно-стерео можно использовать десятичную точку,
которая разделяет при показании частоты целую часть от десятичной.
Например: при стерео точка горит (как сейчас) а при моно мигает, своего рода сигнализация о низком уровне сигнала.
Успехов.
Дополню.
Если использовать отдельные индикаторы то появится возможность использовать 2 светодиода, подключая их
вместо крайних десятичных точек. Конечно есть минус, конструкции собранные с индикаторов с 4 разрядами не смогут
воспользоваться этим.
В своей конструкции хочу заменить переднию панель.
Использую другие индикаторы (раздельные), чтобы сделать двоеточие в часах (не люблю в часах одну точку),
ну и для последующего - вдруг WiseLord что нибудь реализует из моих размышлений.
Успехов и здоровья (унас в городе некоторые школы отправили на карантин)
Re: Цифровой приёмник на TEA5767 c часами на DS1307
WiseLord, разрешите и свои "5 копеек" по поводу коррекции часов.
У RDA5807 есть поддержка RDS. У этого протокола есть сообщение CT, которое передает раз в минуту эталонное время с FM станции.
Процентов 60 украинских FM станций используют данный протокол для передачи сообщений пользователям (наименование станции, рекламные телефоны и пр.) Мне думается, что и CT они тоже передают.
Было бы отлично использовать данное сообщение (при его наличии в трансляции) для корректировки времени в часах приемника.
UPD Если заинтересует, вот, накопал в нете кусок кода разбора сообщения CT, оно в блоке 4A RDS данных.. Данный код написан для дешифровки RDS и передачи его в комп посредством RS232. Но, думаю можно его адаптировать под текущий проект.
У RDA5807 есть поддержка RDS. У этого протокола есть сообщение CT, которое передает раз в минуту эталонное время с FM станции.
Процентов 60 украинских FM станций используют данный протокол для передачи сообщений пользователям (наименование станции, рекламные телефоны и пр.) Мне думается, что и CT они тоже передают.
Было бы отлично использовать данное сообщение (при его наличии в трансляции) для корректировки времени в часах приемника.
UPD Если заинтересует, вот, накопал в нете кусок кода разбора сообщения CT, оно в блоке 4A RDS данных.. Данный код написан для дешифровки RDS и передачи его в комп посредством RS232. Но, думаю можно его адаптировать под текущий проект.
Спойлер
Код: Выделить всё
//Type 4A groups : Clock-time and date
if (groupType == 4 && groupVersion == 'A') {
//bits 0-5 are in block4 as bits 6-11
utcMinutes = (block4 / 64) & 0x3F;
if (utcMinutesPrevious != utcMinutes) {
utcMinutesPrevious = utcMinutes;
//bits 0-14 are in block3 as bits 1-15
//bits 15-16 are in block2 as bits 0-1
modifiedJulianDay = (block3 / 2) + (block2 & 0x03) * 32768;
//bits 0-3 are in block4 as bits 12-15
//bit 4 is in block3 as bit 1
utcHours = (block4 / 4096) + (block3 & 0x01) * 16;
//local time offset are bits 0-4 in block 4
localTimeOffset = block4 & 0x1F;
//sign is in bit 5 of block4, 0=+ 1=-
if (block4 & 0x20)
localSign = '-';
else
localSign = '+';
//multiply by 30 so that we have offset in minutes (offset is in multiples of .5 hours)
localTimeOffset *= 30;
printf_P(PSTR("CT: 0x%01X%04X%04X, "), (block2 & 0x03), block3, block4);
//Modified Julian date to year-month-day conversion
utcYear = floor((modifiedJulianDay - 15078.2) / 365.25);
utcMonth = floor((modifiedJulianDay - 14956.1 - floor(utcYear * 365.25)) / 30.6001);
utcDay = modifiedJulianDay - 14956 - floor(utcYear * 365.25) - floor(utcMonth * 30.6001);
if (utcMonth == 14 || utcMonth == 15)
i = 1;
else
i = 0;
utcYear = utcYear + i + 1900;
utcMonth = utcMonth - 1 - (i * 12);
printf_P(PSTR("UTC %04u-%02u-%02u (MJD %u) %02u:%02u:00 %c%02u:%02u, "),
utcYear, utcMonth, utcDay,
modifiedJulianDay,
utcHours, utcMinutes, localSign,
localTimeOffset / 60, localTimeOffset % 60);
//TODO: half hour timezones and negative timezones not tested because lack of station transmitting it.
//lets calulate local time
if (localSign == '-') {
localHours = utcHours - (localTimeOffset / 60);
localMinutes = utcMinutes - (localTimeOffset % 60);
} else {
localHours = utcHours + (localTimeOffset / 60);
localMinutes = utcMinutes + (localTimeOffset % 60);
}
if (localMinutes < 0) {
localMinutes += 60;
localHours--;
}
if (localMinutes > 59) {
localMinutes -= 60;
localHours++;
}
if (localHours < 0)
localHours += 24;
if (localHours > 23)
localHours -= 24;
printf_P(PSTR("TIME %02u:%02u:00\r\n"), localHours, localMinutes);
}
Последний раз редактировалось denvik Ср фев 18, 2015 15:26:04, всего редактировалось 1 раз.
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
WiseLord Вы писали:
Не могу зайти, не пускают, предупреждают о безопасности.
Если ещё видео действует повторите адресс.
В другой своей теме я снимал видео про то, как другой мой проект можно собрать под windows. Для этого всё аналогично.
Не могу зайти, не пускают, предупреждают о безопасности.
Если ещё видео действует повторите адресс.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Тут про другой мой проект, но структура их у меня везде одинаковая.
https://www.youtube.com/watch?v=rKHn2OTTeg0
https://www.youtube.com/watch?v=rKHn2OTTeg0
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Добрый день.
Спасибо denvik, попробывал Вашу прошивку, всё работает - секунды обнуляются.
После выходных посмотрю какая получилась точность у часов.
Ну и самому надо учится, а то на печатке много перемычек, необходимо поправлять pins.h.
Поэтому вопрос к WiseLord.
Скачал и установил программы WinAvr и Avr-Gcc - версия 4.9..., дошёл до скачивания исходников и затормозился.
На Вашем примере есть пункт - "загрузка-zip", а на гитхабе такого пункта нет, подскажите пожалуйста как скачать.
Успехов.
Спасибо denvik, попробывал Вашу прошивку, всё работает - секунды обнуляются.
После выходных посмотрю какая получилась точность у часов.
Ну и самому надо учится, а то на печатке много перемычек, необходимо поправлять pins.h.
Поэтому вопрос к WiseLord.
Скачал и установил программы WinAvr и Avr-Gcc - версия 4.9..., дошёл до скачивания исходников и затормозился.
На Вашем примере есть пункт - "загрузка-zip", а на гитхабе такого пункта нет, подскажите пожалуйста как скачать.
Успехов.
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Благодарю WiseLord.
Обращал внимание на "загрузку", но подумал что относится к рекламе.
Успехов.
Обращал внимание на "загрузку", но подумал что относится к рекламе.
Успехов.
- gear3d
- Первый раз сказал Мяу!
- Сообщения: 36
- Зарегистрирован: Сб май 18, 2013 18:21:00
- Откуда: г. Волгодонск
Цифровой приёмник на TEA5767 c часами на DS1307
Доброй ночи! Подскажите пожалуйста, почему у меня не работают модули FM. Я напаял к ним провода, типа сделал из них "пауки", RDA5807 и TEA5767 соответственно использовал каждый со своей прошивкой. Часы RTC идут, температура показывается, а приёмник не работает. Пробовал приёмник отдельно без всего подключать, тоже не хочет работать. К усилителю подключаю через постоянный резистор 10k, и конденсатор 1мкФ, динамик пищит, а FM не работает.
Всё собрано пока на макетных платах.
Всё собрано пока на макетных платах.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Вариантов не так много - либо неисправны модули, либо, скорее всего, неправильное подключение.
Попробуйте сориентироваться по фотографии, правильно ли Вы своего "паука" сделали. В обоих модулях цоколёвка одинаковая, ориентир - кварц; он расположен около VCC/GND. Во вложении сама плата.

Попробуйте сориентироваться по фотографии, правильно ли Вы своего "паука" сделали. В обоих модулях цоколёвка одинаковая, ориентир - кварц; он расположен около VCC/GND. Во вложении сама плата.
- Вложения
-
- fm_module_3.3v.lay6.7z
- (5.55 КБ) 571 скачивание
- gear3d
- Первый раз сказал Мяу!
- Сообщения: 36
- Зарегистрирован: Сб май 18, 2013 18:21:00
- Откуда: г. Волгодонск
Цифровой приёмник на TEA5767 c часами на DS1307
Подключение для обоих вариантов правильное. Не знаю как проверить что у него на выходе. Динамик подключенный к усилителю TDA пищит даже когда не подключен FM-модуль.
- VeryLazyCat
- Опытный кот
- Сообщения: 832
- Зарегистрирован: Пн май 17, 2010 22:21:01
- Откуда: Madagaskar
Re: Цифровой приёмник на TEA5767 c часами на DS1307
gear3d писал(а): Не знаю как проверить что у него на выходе.
Динамик подключенный к усилителю TDA пищит даже когда не подключен FM-модуль.
можно снять питание с усилка, припаять к выходу модуля FM разъём для ушей и послушать
работает приёмник или нет, ну а потом уже разбираться с возбудом усилка.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Не получится.
Если модуль (особенно RDA5807) нагрузить, он вообще не поёт.
Он рассчитан только на работу на усилитель с высокоомным (килоомы) входом.
Было столкнулся с таким - не мог понять, почему не играет, хотя всё было вроде правильно. Оказалось, резисторы к выходу FM-модуля (на землю) подвесил, порядка нескольких сотен Ом. Без них заработало.
Если модуль (особенно RDA5807) нагрузить, он вообще не поёт.
Он рассчитан только на работу на усилитель с высокоомным (килоомы) входом.
Было столкнулся с таким - не мог понять, почему не играет, хотя всё было вроде правильно. Оказалось, резисторы к выходу FM-модуля (на землю) подвесил, порядка нескольких сотен Ом. Без них заработало.
-
Cheal
- Грызет канифоль
- Сообщения: 265
- Зарегистрирован: Пн окт 31, 2011 12:35:59
- Откуда: Родился в Сибири
Re: Цифровой приёмник на TEA5767 c часами на DS1307
Здравствуйте.
Я использовал готовый блок (фотографии моего макета на 8 странице),
но там использована RDA5802E, конструкция работает и на наушники 32 ома.
gear3d, попрубуйте на фабричный усилитель, тот что вы используете с компьютером (надеюсь он есть).
Я на данное время и использую такой для прослушивания моего макета.
Проверьте преобразователи уровней, просто перемкнув их, подтяжка SDA, SCL у Меге8 на 5 в., а приёмника на 3,3 в.
При испытании своего блока радиоприёмника, использовал схему для проверки блоков,
там преобразователей уровня не было, отработало пара дней, потом разобрал.
Успехов.
Я использовал готовый блок (фотографии моего макета на 8 странице),
но там использована RDA5802E, конструкция работает и на наушники 32 ома.
gear3d, попрубуйте на фабричный усилитель, тот что вы используете с компьютером (надеюсь он есть).
Я на данное время и использую такой для прослушивания моего макета.
Проверьте преобразователи уровней, просто перемкнув их, подтяжка SDA, SCL у Меге8 на 5 в., а приёмника на 3,3 в.
При испытании своего блока радиоприёмника, использовал схему для проверки блоков,
там преобразователей уровня не было, отработало пара дней, потом разобрал.
Успехов.