
Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Вот бы еще на меге32 добавить управление внешними устройствами 

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
скажите. можно ли использовать плату для дисплея с индексом а к дисплею с индексом б если инвертировать сигналы. просто смущают переходы под контроллером. не знаю как в домашних условиях сделать такое.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Можно.
Мало того, можно дисплей и прошивку использовать в различных сочетаниях:
- прошивку А можно использовать как для дисплея А (напрямую соединив CS1-CS1, CS2-CS2), так и для дисплея B (соединив крест-накрест CS1-CS2, CS2-CS1);
- прошивку B можно использовать как для дисплея B (напрямую соединив CS1-CS1, CS2-CS2), так и для дисплея A (соединив крест-накрест CS1-CS2, CS2-CS1);
То есть, по большому счёту, отдельных прошивок для дисплеев A и B не нужно. Можно было бы обойтись одной прошивкой - для A, просто поменяв в схеме для варианта B разводку CS1/CS2 и чуть-чуть изменив плату для него.
А по поводу межслойных соединений под МК - я делал их тоненькой проволочкой от многожильного МГТФ-провода. Но да, соглашусь, это сложнее, чем первый вариант платы.
Мало того, можно дисплей и прошивку использовать в различных сочетаниях:
- прошивку А можно использовать как для дисплея А (напрямую соединив CS1-CS1, CS2-CS2), так и для дисплея B (соединив крест-накрест CS1-CS2, CS2-CS1);
- прошивку B можно использовать как для дисплея B (напрямую соединив CS1-CS1, CS2-CS2), так и для дисплея A (соединив крест-накрест CS1-CS2, CS2-CS1);
То есть, по большому счёту, отдельных прошивок для дисплеев A и B не нужно. Можно было бы обойтись одной прошивкой - для A, просто поменяв в схеме для варианта B разводку CS1/CS2 и чуть-чуть изменив плату для него.
А по поводу межслойных соединений под МК - я делал их тоненькой проволочкой от многожильного МГТФ-провода. Но да, соглашусь, это сложнее, чем первый вариант платы.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Тестовая прошивка для основной ветки
- Добавлена возможность вывода на переднюю панель 8 дополнительных кнопок.
- Нужна помощь в тестировании нового функционала!
Для задействования этой возможности новые кнопки нужно подключать между землёй и линиями данных дисплея (D0-D1, порты МК PB0..PB1) через резисторы порядка 1кОм, чтобы не было КЗ выхода МК на землю через кнопку.
Получается, что в фазе вывода данных на дисплей нажатые кнопки не мешают нормальной работе (МК просто нагружен на 1кОм нагрузку), но в фазе чтения данных (PORTB контроллера переводится на приём) можно определить, нажата ли кнопка.
Я тестировал на резисторе 1.5кОм с дисплеем KS0108B. Слишком большие значения могут приводить к нечёткому определению факта нажатия, слишком малые - мешать выводу на дисплей при нажатых кнопках. В общем, если кому-то не лень, прошу определить рабочий диапазон номиналов этих резисторов.
Фактически, на каждую из 8 новых кнопок можно повесить по две функции, на короткое и длинное нажатие, соответственно. Пока что короткие нажатия кнопок на PB0..PB4 дублируют нажатия BTN1..BTN5. Кнопки PB5..PB7 пока не делают ничего.
Если всё будет ОК и мы определимся с идеальным номиналом резисторов, функционал будет добавлен в основную ветку кода, а на новые кнопки будут повешены нужные функции (например, выбор нужного входа сразу с передней панели, или переключение стерео/моно радиоприёмника). В общем, все предложения будут выслушаны.
- Добавлена возможность вывода на переднюю панель 8 дополнительных кнопок.
- Нужна помощь в тестировании нового функционала!
Для задействования этой возможности новые кнопки нужно подключать между землёй и линиями данных дисплея (D0-D1, порты МК PB0..PB1) через резисторы порядка 1кОм, чтобы не было КЗ выхода МК на землю через кнопку.
Получается, что в фазе вывода данных на дисплей нажатые кнопки не мешают нормальной работе (МК просто нагружен на 1кОм нагрузку), но в фазе чтения данных (PORTB контроллера переводится на приём) можно определить, нажата ли кнопка.
Я тестировал на резисторе 1.5кОм с дисплеем KS0108B. Слишком большие значения могут приводить к нечёткому определению факта нажатия, слишком малые - мешать выводу на дисплей при нажатых кнопках. В общем, если кому-то не лень, прошу определить рабочий диапазон номиналов этих резисторов.
Фактически, на каждую из 8 новых кнопок можно повесить по две функции, на короткое и длинное нажатие, соответственно. Пока что короткие нажатия кнопок на PB0..PB4 дублируют нажатия BTN1..BTN5. Кнопки PB5..PB7 пока не делают ничего.
Если всё будет ОК и мы определимся с идеальным номиналом резисторов, функционал будет добавлен в основную ветку кода, а на новые кнопки будут повешены нужные функции (например, выбор нужного входа сразу с передней панели, или переключение стерео/моно радиоприёмника). В общем, все предложения будут выслушаны.
- Вложения
-
- ampcontrol-a941985.7z
- (718.28 КБ) 377 скачиваний
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Скажите пожалуйста, где можно найти схему подключения тюнера TUX032?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Возможное исправление тестовой прошивки (выложена чуть выше) для символьных дисплеях на KS0066/HD44780.
В железе у меня такой конфигурации нет, в Proteus это не эмулируется, поэтому нужна проверка.
В железе у меня такой конфигурации нет, в Proteus это не эмулируется, поэтому нужна проверка.
- Вложения
-
- ampcontrol_m32_ks0066_16x2.hex.7z
- (17.75 КБ) 232 скачивания
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord писал(а):Возможное исправление тестовой прошивки (выложена чуть выше) для символьных дисплеях на KS0066/HD44780.
В железе у меня такой конфигурации нет, в Proteus это не эмулируется, поэтому нужна проверка.
Все нормально отображается с этой прошивкой попозже попробую кнопки прикрутить.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Можно просто резистором попробовать подключать D0..D5 ноги на землю, чтобы проверить, воспринимается ли это как нажатие кнопки.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord писал(а):Можно просто резистором попробовать подключать D0..D5 ноги на землю, чтобы проверить, воспринимается ли это как нажатие кнопки.
Пробую через резистор 1к воспринимается нажатие d0,,d4,d5,d6,d7 на d1,d2,d3 не реагирует. Дисплей 16Х2.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Очень странно. D0-D4 должны восприниматься как S1-S5, D5-D6 вообще не обрабатываются и не должны восприниматься схемой в принципе.
Какие именно действия дублируются по кнопкам, которые воспринимаются? Можно ли подробнее - в стиле D0 дублирует S1 и т.д.?
На самом деле, нормально, как запланировано, кнопки должны отрабатывать на граф. дисплеях. На символьном у меня там так называемый dirty hack, поэтому гарантий нет.
Вообще всю эту затею с параллелизацией кнопок и входов данных дисплея я затеял ради возможного будущего ответвления проекта, в котором планируется:
- использование ATmega328, что должно упростить печатную плату
- наличие 8 аппаратных кнопок (те же линии, что у дисплея)
- свободный UART (что даст принципиальную возможность управления по Bluetooth/Wifi/USB с помощью модулей вроде HC05/ESP8266/USB-UART)
- использование только графических дисплеев 128x64, никаких костылей с символьными дисплеями.
- удаление излишнего и не вписывающегося в общую концепцию функционала, т.е. того, что завязано на EXT-выходы - термоконтроль, PGA2310, LM7001
Правда, не знаю, возьмусь ли я за это дело. Хотя, по большому счёту, ожидаемые изменения в коде минимальны.
Какие именно действия дублируются по кнопкам, которые воспринимаются? Можно ли подробнее - в стиле D0 дублирует S1 и т.д.?
На самом деле, нормально, как запланировано, кнопки должны отрабатывать на граф. дисплеях. На символьном у меня там так называемый dirty hack, поэтому гарантий нет.
Вообще всю эту затею с параллелизацией кнопок и входов данных дисплея я затеял ради возможного будущего ответвления проекта, в котором планируется:
- использование ATmega328, что должно упростить печатную плату
- наличие 8 аппаратных кнопок (те же линии, что у дисплея)
- свободный UART (что даст принципиальную возможность управления по Bluetooth/Wifi/USB с помощью модулей вроде HC05/ESP8266/USB-UART)
- использование только графических дисплеев 128x64, никаких костылей с символьными дисплеями.
- удаление излишнего и не вписывающегося в общую концепцию функционала, т.е. того, что завязано на EXT-выходы - термоконтроль, PGA2310, LM7001
Правда, не знаю, возьмусь ли я за это дело. Хотя, по большому счёту, ожидаемые изменения в коде минимальны.
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
[quote="WiseLord"]Очень странно. D0-D4 должны восприниматься как S1-S5, D5-D6 вообще не обрабатываются и не должны восприниматься схемой в принципе.
Какие именно действия дублируются по кнопкам, которые воспринимаются? Можно ли подробнее - в стиле D0 дублирует S1 и т.д.?
На самом деле, нормально, как запланировано, кнопки должны отрабатывать на граф. дисплеях. На символьном у меня там так называемый dirty hack, поэтому гарантий нет.
Вот пожалуйста D0-s1,D4-s2,D5-s3,D6-s4,D7-s5.
И вопрос а с графической прошивкой можно использовать дисплей AMPIRF 12232A?
Какие именно действия дублируются по кнопкам, которые воспринимаются? Можно ли подробнее - в стиле D0 дублирует S1 и т.д.?
На самом деле, нормально, как запланировано, кнопки должны отрабатывать на граф. дисплеях. На символьном у меня там так называемый dirty hack, поэтому гарантий нет.
Вот пожалуйста D0-s1,D4-s2,D5-s3,D6-s4,D7-s5.
И вопрос а с графической прошивкой можно использовать дисплей AMPIRF 12232A?
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Вообще-то, под D0..D7 я понимал входы дисплея (на МК это PB0..PB7), а не порты PD0..PD5, к которым и так подключены кнопки (именно в том виде, как Вы привели).
Контроллер SED1520 (122x32) не поддерживается
Контроллер SED1520 (122x32) не поддерживается
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord писал(а):Вообще-то, под D0..D7 я понимал входы дисплея (на МК это PB0..PB7), а не порты PD0..PD5, к которым и так подключены кнопки (именно в том виде, как Вы привели).
Контроллер SED1520 (122x32) не поддерживается
Извините на плате подписано PD я и ошибся. Нет реакции на нажатие пробовал разные резисторы ни какой реакции.
- VeryLazyCat
- Опытный кот
- Сообщения: 832
- Зарегистрирован: Пн май 17, 2010 22:21:01
- Откуда: Madagaskar
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord писал(а):- удаление излишнего и не вписывающегося в общую концепцию функционала, т.е. того, что завязано на EXT-выходы - термоконтроль, PGA2310, LM7001
Термоконтроль может и не нужен, а вот управление LM7001 может конкретно снизить интерес
к данному проекту, потому как по качеству приёма и по всем остальным параметрам аналоговый
модуль на порядок лучше китайских погремушек типа RDA5807 и им подобных....
ИМХО конечно, но думаю, что с ним согласится много людей, знающих в этом толк.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
У ATmega328 выводов поменьше, поэтому может тупо не хватить на такое..
Но вообще есть вариант подключать ту же (или те же - до 8-ми штук) PCF8754 по шине I2C и иметь дополнительные GPIO для управления другими устройствами.
Получился бы своего рода мост I^C => 8бит шина, не занимающий лишних ножек МК. И на плате с LM7001 можно было бы добавить этот I²C расширитель, например..
Ну или поставить его на плате с МК, и выделить, к примеру 3 ноги на LM7001, 3 ноги на PGA2310, и ещё 2 ноги бы остались.. В общем, варианты есть.
Просто хочется большей повторяемости устройства, а чем меньше ножек у МК, тем легче плату изготовить.
Но вообще есть вариант подключать ту же (или те же - до 8-ми штук) PCF8754 по шине I2C и иметь дополнительные GPIO для управления другими устройствами.
Получился бы своего рода мост I^C => 8бит шина, не занимающий лишних ножек МК. И на плате с LM7001 можно было бы добавить этот I²C расширитель, например..
Ну или поставить его на плате с МК, и выделить, к примеру 3 ноги на LM7001, 3 ноги на PGA2310, и ещё 2 ноги бы остались.. В общем, варианты есть.
Просто хочется большей повторяемости устройства, а чем меньше ножек у МК, тем легче плату изготовить.
Последний раз редактировалось WiseLord Пн фев 22, 2016 21:38:15, всего редактировалось 1 раз.
- VeryLazyCat
- Опытный кот
- Сообщения: 832
- Зарегистрирован: Пн май 17, 2010 22:21:01
- Откуда: Madagaskar
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord писал(а):Просто хочется большей повторяемости устройства, а чем меньше ножек у МК, тем легче плату изготовить.
Так настоящие же радиолюбители не ищут лёгких путей....
Пользуясь моментом - с Наступающих Праздником, ребята!

- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Попробуйте эту прошивку.misir писал(а):Нет реакции на нажатие
Зашил её в контроллер невзирая на графический дисплей, но по включению-выключению подсветки можно судить, что таки заработало.
- Вложения
-
- ampcontrol_m32_ks0066_16x2_fix_btns.hex.7z
- (17.71 КБ) 212 скачиваний
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
Кто знает какой номинал у этих резисторов:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord писал(а):Попробуйте эту прошивку.misir писал(а):Нет реакции на нажатие
Зашил её в контроллер невзирая на графический дисплей, но по включению-выключению подсветки можно судить, что таки заработало.
Да проверил работает пробовал с резистором 220 ом.
Только теперь с этой прошивкой после обучения пульта не отключается подсветка дисплея, если пульт не обучать то все работает.
Последний раз редактировалось misir Вт фев 23, 2016 17:44:42, всего редактировалось 1 раз.
- hawkman
- Потрогал лапой паяльник
- Сообщения: 319
- Зарегистрирован: Ср окт 31, 2007 17:57:21
- Откуда: Украина Запорожье
- Контактная информация:
Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128
WiseLord писал(а):- свободный UART (что даст принципиальную возможность управления по Bluetooth/Wifi/USB с помощью модулей вроде HC05/ESP8266/USB-UART)
.
отличная идея. хотел сам попросить. (глянул пины для UART ничем важным не заняты), а тут от автора предложение. готовы тестировать. суть моей хотелки такова.
один из входов темброблока подключен к микрокомпьютеру banana PI (аля raspberry pi) на котором крутится MPD демон, который в свою очередь транслирует мне онлайн радио. на плате этого микро компьютера тоже есть UART. вот и возникла идея их соединить через эти интерфейсы для вывода на дисплей темброблока текущей радиостанции и текущей композиции, а с темброблока возможность менять радиостанции в плей листе. скрипты на банане я напишу сам, а вот с темброблоком