Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
Djony
Прорезались зубы
Сообщения: 202
Зарегистрирован: Ср ноя 10, 2010 20:25:10
Откуда: Томск

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение Djony »

Вот бы еще на меге32 добавить управление внешними устройствами :tea:
skeefff
Открыл глаза
Сообщения: 61
Зарегистрирован: Чт янв 08, 2009 22:22:38

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение skeefff »

скажите. можно ли использовать плату для дисплея с индексом а к дисплею с индексом б если инвертировать сигналы. просто смущают переходы под контроллером. не знаю как в домашних условиях сделать такое.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

Можно.

Мало того, можно дисплей и прошивку использовать в различных сочетаниях:

- прошивку А можно использовать как для дисплея А (напрямую соединив 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

Сообщение WiseLord »

Тестовая прошивка для основной ветки

- Добавлена возможность вывода на переднюю панель 8 дополнительных кнопок.

- Нужна помощь в тестировании нового функционала!


Для задействования этой возможности новые кнопки нужно подключать между землёй и линиями данных дисплея (D0-D1, порты МК PB0..PB1) через резисторы порядка 1кОм, чтобы не было КЗ выхода МК на землю через кнопку.

Получается, что в фазе вывода данных на дисплей нажатые кнопки не мешают нормальной работе (МК просто нагружен на 1кОм нагрузку), но в фазе чтения данных (PORTB контроллера переводится на приём) можно определить, нажата ли кнопка.

Я тестировал на резисторе 1.5кОм с дисплеем KS0108B. Слишком большие значения могут приводить к нечёткому определению факта нажатия, слишком малые - мешать выводу на дисплей при нажатых кнопках. В общем, если кому-то не лень, прошу определить рабочий диапазон номиналов этих резисторов.

Фактически, на каждую из 8 новых кнопок можно повесить по две функции, на короткое и длинное нажатие, соответственно. Пока что короткие нажатия кнопок на PB0..PB4 дублируют нажатия BTN1..BTN5. Кнопки PB5..PB7 пока не делают ничего.

Если всё будет ОК и мы определимся с идеальным номиналом резисторов, функционал будет добавлен в основную ветку кода, а на новые кнопки будут повешены нужные функции (например, выбор нужного входа сразу с передней панели, или переключение стерео/моно радиоприёмника). В общем, все предложения будут выслушаны.
Вложения
ampcontrol-a941985.7z
(718.28 КБ) 377 скачиваний
Val
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Вс окт 25, 2009 09:39:40

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение Val »

Скажите пожалуйста, где можно найти схему подключения тюнера TUX032?
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

Возможное исправление тестовой прошивки (выложена чуть выше) для символьных дисплеях на KS0066/HD44780.

В железе у меня такой конфигурации нет, в Proteus это не эмулируется, поэтому нужна проверка.
Вложения
ampcontrol_m32_ks0066_16x2.hex.7z
(17.75 КБ) 232 скачивания
misir
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср янв 20, 2016 15:29:12

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение misir »

WiseLord писал(а):Возможное исправление тестовой прошивки (выложена чуть выше) для символьных дисплеях на KS0066/HD44780.

В железе у меня такой конфигурации нет, в Proteus это не эмулируется, поэтому нужна проверка.

Все нормально отображается с этой прошивкой попозже попробую кнопки прикрутить.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

Можно просто резистором попробовать подключать D0..D5 ноги на землю, чтобы проверить, воспринимается ли это как нажатие кнопки.
misir
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср янв 20, 2016 15:29:12

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение misir »

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

Сообщение WiseLord »

Очень странно. D0-D4 должны восприниматься как S1-S5, D5-D6 вообще не обрабатываются и не должны восприниматься схемой в принципе.

Какие именно действия дублируются по кнопкам, которые воспринимаются? Можно ли подробнее - в стиле D0 дублирует S1 и т.д.?

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

Вообще всю эту затею с параллелизацией кнопок и входов данных дисплея я затеял ради возможного будущего ответвления проекта, в котором планируется:

- использование ATmega328, что должно упростить печатную плату
- наличие 8 аппаратных кнопок (те же линии, что у дисплея)
- свободный UART (что даст принципиальную возможность управления по Bluetooth/Wifi/USB с помощью модулей вроде HC05/ESP8266/USB-UART)
- использование только графических дисплеев 128x64, никаких костылей с символьными дисплеями.
- удаление излишнего и не вписывающегося в общую концепцию функционала, т.е. того, что завязано на EXT-выходы - термоконтроль, PGA2310, LM7001

Правда, не знаю, возьмусь ли я за это дело. Хотя, по большому счёту, ожидаемые изменения в коде минимальны.
misir
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср янв 20, 2016 15:29:12

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение misir »

[quote="WiseLord"]Очень странно. D0-D4 должны восприниматься как S1-S5, D5-D6 вообще не обрабатываются и не должны восприниматься схемой в принципе.

Какие именно действия дублируются по кнопкам, которые воспринимаются? Можно ли подробнее - в стиле 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

Сообщение WiseLord »

Вообще-то, под D0..D7 я понимал входы дисплея (на МК это PB0..PB7), а не порты PD0..PD5, к которым и так подключены кнопки (именно в том виде, как Вы привели).

Контроллер SED1520 (122x32) не поддерживается
misir
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср янв 20, 2016 15:29:12

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение misir »

WiseLord писал(а):Вообще-то, под D0..D7 я понимал входы дисплея (на МК это PB0..PB7), а не порты PD0..PD5, к которым и так подключены кнопки (именно в том виде, как Вы привели).

Контроллер SED1520 (122x32) не поддерживается

Извините на плате подписано PD я и ошибся. Нет реакции на нажатие пробовал разные резисторы ни какой реакции.
Аватара пользователя
VeryLazyCat
Опытный кот
Сообщения: 832
Зарегистрирован: Пн май 17, 2010 22:21:01
Откуда: Madagaskar

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение VeryLazyCat »

WiseLord писал(а):- удаление излишнего и не вписывающегося в общую концепцию функционала, т.е. того, что завязано на EXT-выходы - термоконтроль, PGA2310, LM7001

Термоконтроль может и не нужен, а вот управление LM7001 может конкретно снизить интерес
к данному проекту, потому как по качеству приёма и по всем остальным параметрам аналоговый
модуль на порядок лучше китайских погремушек типа RDA5807 и им подобных....
ИМХО конечно, но думаю, что с ним согласится много людей, знающих в этом толк.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

У ATmega328 выводов поменьше, поэтому может тупо не хватить на такое..

Но вообще есть вариант подключать ту же (или те же - до 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

Сообщение VeryLazyCat »

WiseLord писал(а):Просто хочется большей повторяемости устройства, а чем меньше ножек у МК, тем легче плату изготовить.

Так настоящие же радиолюбители не ищут лёгких путей.... :)

Пользуясь моментом - с Наступающих Праздником, ребята! :beer:
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение WiseLord »

misir писал(а):Нет реакции на нажатие
Попробуйте эту прошивку.
Зашил её в контроллер невзирая на графический дисплей, но по включению-выключению подсветки можно судить, что таки заработало.
Вложения
ampcontrol_m32_ks0066_16x2_fix_btns.hex.7z
(17.71 КБ) 212 скачиваний
Val
Мучитель микросхем
Сообщения: 477
Зарегистрирован: Вс окт 25, 2009 09:39:40

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение Val »

Кто знает какой номинал у этих резисторов:
R.png
(35.88 КБ) 757 скачиваний
misir
Встал на лапы
Сообщения: 125
Зарегистрирован: Ср янв 20, 2016 15:29:12

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение misir »

WiseLord писал(а):
misir писал(а):Нет реакции на нажатие
Попробуйте эту прошивку.
Зашил её в контроллер невзирая на графический дисплей, но по включению-выключению подсветки можно судить, что таки заработало.

Да проверил работает пробовал с резистором 220 ом.
Только теперь с этой прошивкой после обучения пульта не отключается подсветка дисплея, если пульт не обучать то все работает.
Последний раз редактировалось misir Вт фев 23, 2016 17:44:42, всего редактировалось 1 раз.
Аватара пользователя
hawkman
Потрогал лапой паяльник
Сообщения: 319
Зарегистрирован: Ср окт 31, 2007 17:57:21
Откуда: Украина Запорожье
Контактная информация:

Re: Темброблок/спектранализатор на ATmega16, TDA7439 и SG128

Сообщение hawkman »

WiseLord писал(а):- свободный UART (что даст принципиальную возможность управления по Bluetooth/Wifi/USB с помощью модулей вроде HC05/ESP8266/USB-UART)
.

отличная идея. хотел сам попросить. (глянул пины для UART ничем важным не заняты), а тут от автора предложение. готовы тестировать. суть моей хотелки такова.
один из входов темброблока подключен к микрокомпьютеру banana PI (аля raspberry pi) на котором крутится MPD демон, который в свою очередь транслирует мне онлайн радио. на плате этого микро компьютера тоже есть UART. вот и возникла идея их соединить через эти интерфейсы для вывода на дисплей темброблока текущей радиостанции и текущей композиции, а с темброблока возможность менять радиостанции в плей листе. скрипты на банане я напишу сам, а вот с темброблоком :(. пытаться програмить мк начал пару месяцев назад. сейчас я на всяких там мигалках, таймерах и прочих простых вещах. А было бы здорово с пульта перешел на вход где прикручена банана и как в случае с ФМ тюнером номерные кнопки по UART передавли команду на банану, а там скриптик это обрабатывал и менял станции в плей листе. останавливал воспроизведение, пауза, громкость. для демона MPD есть консольный плеер MPC с помощью которого єто все и решается. сейчас всем этим я управляю с телефона или планшета через веб.
Ответить

Вернуться в «Статьи»