Например TDA7294

Форум РадиоКот • Просмотр темы - Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср ноя 12, 2025 06:00:25

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 4782 ]     ... , , , 29, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб дек 06, 2014 09:45:30 
Потрогал лапой паяльник
Аватар пользователя

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Пт май 07, 2010 01:42:09
Сообщений: 376
Откуда: РФ
Рейтинг сообщения: 0
Как вариант таймер можно организовать на пример так.
Выбрать кнопку на ПДУ и когда на нее нажимаем на экране появляется надпись "Включить таймер", нажимаем ту же кнопку еще раз и появляется время типа 5мин. и при каждом нажатии той же самой кнопки это время увеличивается на N минут. Сделать придел в 180мин. И так по кругу. В общем как это сделано в телевизорах.
Выбрали нужное время и ждем, на пример 5сек. если ничего больше не нажато то это время и будет установлено для отключения.

А на счет будилки, то наверное лучше добавить как пункт в меню, там то нужно выставить время 8) и как вариант выбрать какой-то вход, на пример тюнера время пришло и заиграл приемник. :music:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб дек 06, 2014 15:10:43 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 1
Итак, на пути к таймеру и будильнику (только для варианта на ATmega32 с дисплеем 128x64):

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

1. Изменено управление тюнером.
Раньше: кнопки 3-4 коротким нажатием изменяли частоту (±100кГц), длинным - сохранённую станцию.
Сейчас: короткое нажатие кнопок 3-4 изменяет станцию, длинное нажатие кнопки 4 - вход в режим настройки частоты энкодером.
Аналогично на пульте - кнопки для плавной настройки частоты убраны, вместо них используются кнопки громкости.
2. Освободившиеся кнопки выделены под будущие функции вызова таймера и будильника.
3. Структура EEPROM-файлов поменялась в связи со всем этим, поэтому их придётся перешить заново. И заново настроить как радио под свои станции, так и кнопки пульта.
4. На TDA7313 нет четвёртого входа, зато есть тонкоррекция. Поэтому на пульте две ранее отдельны кнопки объединены в одну, вызывающую нужную функцию.

Кто хочет, может пока потестировать новый вариант прошивки.


Вложения:
ampcontrol-m32fb-a860ad1.7z [104.55 KiB]
Скачиваний: 285
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб дек 06, 2014 17:40:43 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 2
Собственно, вот и прошивка с функционалом таймера.
С пульта перебор времени отдельной кнопкой, с передней панели - сначала включаем кнопкой 3 часы, потом, длинным её нажатием - переключаемся на таймер, а дальше опять короткими нажатиями выбираем время таймера.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб дек 06, 2014 19:21:16 
Родился

Зарегистрирован: Вт апр 15, 2014 14:25:10
Сообщений: 13
Рейтинг сообщения: 0
Автору огромное спасибо за проект! У меня будет только единственная просьба: если не трудно не могли бы вы сделать задержку (сколько активно меню Bass/Mid/Treble и т.д.) побольше.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб дек 06, 2014 19:34:09 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
Меняйте в исходниках (значения в миллисекундах) задержки, как Вам угодно.

Текущие я подбирал под себя и меня они вполне устраивают.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб дек 06, 2014 20:31:24 
Потрогал лапой паяльник

Зарегистрирован: Вт окт 22, 2013 23:09:06
Сообщений: 344
Рейтинг сообщения: 0
Протестировал прошивку, таймер работает.Есть небольшое пожелание, сохранение и удаление частот работает когда выключен поиск по частотам , а лучше было б что бы когда включен поиск то нашёл сохранил или удалил ,а когда выключен то удалить невозможно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Сб дек 06, 2014 23:02:43 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 2
Да, появился такой баг. Исправлен.

А возможность удалять станции лучше иметь и в режиме по частотам, и в режиме по станциям. Может быть полезно при удалении возможных дублей станций.

P.S. Выкладываю последние на текущий момент прошивки для всех вариантов.
- во всех вариантах исправлена работа индикатора уровня сигнала станции (особенно для RDA5807).
- в основном варианте повышено удобство управления тюнером. В режиме настройки по частотам энкодер регулирует частоту с шагом 0.1МГц, кнопки 3-4 - с шагом 1МГц.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 18:36:08 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 1
"Официальное" обновление прошивки для ATmega32.

- Добавлен таймер отключения.

- Добавлен будильник.

- Исправлена и ускорена работа по I2C шине.

- Изменены функции некоторых кнопок пульта и передней панели.

- Имена новых функций в EEPROM для всех поддерживаемых языков.

Переключение между режимами часов, таймера отключения и будильника производится длительным нажатием кнопки 3 на передней панели. Перебор параметров - коротким нажатием. Регулировка параметра - энкодером.
На пульте для всех трёх режимов есть отдельные кнопки.

Параметры будильника хранятся не в флеш, а в ОЗУ DS1307, т.е. их сохранность, как и времени, зависит от батарейки.

Теперь RDA5807 может работать и в режиме TEA5767, т.е. прошивка для TEA5767 будет работать как с модулем TEA5767, так и RDA5807. Но "родной" вариант лучше.

Это - результат появления новых функций и попытки втиснуть управление ими в старые рамки. На мой взгляд, несмотря на больший функционал, управлять стало даже удобнее.

Так как структура FLASH, по сравнению со старой прошивкой от 3 ноября, изменилась, при обновлении с той версии нужно зашивать новые версии как flash, так и EEPROM. Ну и заново настраивать кнопки пульта и FM-станции под себя.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 21:55:03 
Потрогал лапой паяльник

Зарегистрирован: Вт окт 22, 2013 23:09:06
Сообщений: 344
Рейтинг сообщения: 0
Протестировал,работает ,но при настройке будильника ,а в предыдущих версиях до таймера и будильника, шина IC виснет и нужно выключать из сети чтоб возобновить работу.Такое наблюдается в последней прошивке,а в прошивке только с таймером такое не наблюдалось. И ещё вопрос .А квадратики Это дни недели? Если да то неплохо было б поставить буквы Где понедельник а где воскресенье. А за прошивку Огромное Спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 22:14:47 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 1
У меня на двух разных дисплеях проверено - ничего не виснет (RDA5807/TDA7439). Даже наоборот, в случае использования модуля RDA5807 при прошивке для TEA5767 шина действительно висла, а в последних - работает в режиме совместимости.

На каком железе наблюдается? Расставьте знаки препинания в своём сообщении, а то, судя по написанному, виснет при настройке будильника на прошивке, в которой будильника вообще не было. И да, пробел ставится после точки/запятой, а не до.

А по поводу подписывания дней недели.. до семи можно и так посчитать. Но вообще, можно и подписать. Место для букв есть.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 22:32:25 
Родился

Зарегистрирован: Вс дек 07, 2014 21:58:52
Сообщений: 6
Рейтинг сообщения: 0
Ув. Коты! Собрал плату на atmega16 (lcd 16x2), пока без TDA. Прошивку заливал последнюю с rda5807 через sinaprog 1.3. Фьюзы и hex успешно прошились а eeprom никак не могу залить. программатор usbtiny. в winavr открывал eeprom.bin но не пойму что ему сделать???? Подскажите чем его сделать eeprom.eep


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 22:36:59 
Потрогал лапой паяльник

Зарегистрирован: Вт окт 22, 2013 23:09:06
Сообщений: 344
Рейтинг сообщения: 0
Я имел ввиду что зависание наблюдалось ранее при настройке часов в прошивках до таймера, в прошивке с таймером такого замечено не было.А в последней прошивке виснет при настройке будильника, а тестирую с rda5807,tda7439,atmega32. Испытывал прошивку для tea5767 (в усилке стоит rda5807), работает и не виснет что б не перестраивал.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 23:17:39 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
staseshe писал(а):
Подскажите чем его сделать eeprom.eep
Не умеете переименовывать файлы? Даже тем же проводником?

eeprom.bin - обычный бинарный файл, по размеру равный размеру eeprom контроллера и побайтно туда записываемый как есть, без каких бы то ни было преобразований.
koka5555 писал(а):
тестирую с rda5807,tda7439,atmega32
У меня точно такой же набор железа, и никаких проблем с зависаниями нет. В какой момент проявляется? Интересует точная последовательность действий, приводящих к зависанию, дабы я смог повторить.

P.S. Добавил текстовые метки для дней недели в режиме будильника.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 23:28:05 
Потрогал лапой паяльник

Зарегистрирован: Вт окт 22, 2013 23:09:06
Сообщений: 344
Рейтинг сообщения: 0
Когда начинаю в будильнике метить квадратики (дни) виснет, а в прошивке для TEA5767 такое не наблюдается. А в будущем не желаете сделать будильник под DS3231 ,она более точная по х оду часов и с ней возможно сделать два будильника, к примеру рабочие дни в одно время включения, а в выходные другое.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 23:38:02 
Родился

Зарегистрирован: Вс дек 07, 2014 21:58:52
Сообщений: 6
Рейтинг сообщения: 0
расширение на .eep я изменил первым делом проводником и заливал, но выскакивает ошибка:


Вложения:
ошибка.PNG [78.44 KiB]
Скачиваний: 428
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 23:44:22 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
Ну вот кручу энкодер со всей дури. Или кнопку VOL_UP/VOL_DOWN зажимаю на пульте - квадратики (выбор дня недели) носятся что бешеные, но ничего не виснет. Какого номинала подтягивающие резисторы на I2C шине? Может, если 10 кОм, лучше уменьшить раза в два, может там у Вас провода сильно длинные, и резисторы не успевают вытягивать шину в единицу из-за её большой ёмкости?

А DS3231 (есть у меня штуки 3 китайских модуля на них) по протоколу совместима с DS1307. Вот только насчёт моего программного будильника не уверен, что он будет работать и в DS3231, но склонен думать, что всё же будет.

2 staseshe: судя по всему, эта программка лишь графическая оболочка для avrdude. Можно ли увидеть командную строку, передаваемую avrdude? Должно быть что-то вроде
Код:
avrdude -p atmega32 -P <порт> -c <программатор> -U eeprom:w:eeprom_en.bin:r
Ну или напрямую через avrdude таким способом прошейте, без этой оболочки.

P.S. Ну и пробел в пути к eeprom мне не нравится.

P.P.S. И в avrdude можно скорость поменьше сделать (-B 20) попробовать. Не знаю, позволяет ли этот параметр передать эта оболочка.

P.P.S. И можно попробовать прошить не на частоте кварца (16МГц), а выставить фьюзы на 1МГц внутренний генератор, зашить в этом режиме флеш и еепром, и потом только выставить частоту 16МГц.


Последний раз редактировалось WiseLord Вс дек 07, 2014 23:59:26, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Вс дек 07, 2014 23:57:03 
Потрогал лапой паяльник

Зарегистрирован: Вт окт 22, 2013 23:09:06
Сообщений: 344
Рейтинг сообщения: 0
Протестировал прошивки с под писаными днями недели, всё класс , шина не виснет , прошивал обе и для TEA5767 и для rda5807 (в усилке rda5807), у меня ни кнопок ни энкодера не стоит , только пульт.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Пн дек 08, 2014 00:38:29 
Родился

Зарегистрирован: Вс дек 07, 2014 21:58:52
Сообщений: 6
Рейтинг сообщения: 0
вот строка из avrdude C:\Windows\System32\avrdude.exe -C C:\Windows\System32\avrdude.conf -p m16 -P usb -c usbtiny -b 20 -U eeprom:w:C:\Windows\System32\eeprom.bin:r
закинул его в систем32 и пробел в eeprom убрал. ошибка та же


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Пн дек 08, 2014 06:24:23 
Друг Кота
Аватар пользователя

Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59
Сообщений: 4891
Откуда: Минск
Рейтинг сообщения: 0
По идее, -b 20 - неправильно, должно быть -B 20.

Так как -b - это скорость порта (типа -b 115200), а -B - уже период тактовой частоты программатора, в микросекундах.

P.S. Добавил ещё одну мелочь. Возможно, кто-то замечал у себя, что первый столбик спектроанализатора (~0..150Гц) в отсутствие сигнала не равен нулю, а имеет высоту 1-2 пиксела. Это происходит из-за того, что на вход АЦП в отсутствие сигнала должна приходить ровно половина опорного напряжения, но из-за разброса параметров резистивного делителя в операционнике это может быть немного не так. Получается своего рода постоянное смещение, которое трактуется как НЧ и отображается спектроанализатором.

Раньше поправка была фиксирована для обоих каналов и равнялась 128 (0x80) (DC_CORR в adc.h). Сейчас она вычитывается из EEPROM по адресам 0x1E и 0x1F соответственно для левого и правого каналов. Значение по умолчанию там всё так же 128 (0x80). Если наблюдаете у себя такой мелкий глюк, можете поиграться с этими значениеми в пределах 125..131 (0x7D..0x83), больше вряд ли потребуется.


Последний раз редактировалось WiseLord Пн дек 08, 2014 08:47:53, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
СообщениеДобавлено: Пн дек 08, 2014 08:37:52 
Родился

Зарегистрирован: Вс дек 07, 2014 21:58:52
Сообщений: 6
Рейтинг сообщения: 0
поменял на -B 20 - не помогло.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 4782 ]     ... , , , 29, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: mvp и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y