Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
Очень легко - купить дисплей с нужным цветом пикселей и точек.
- Реклама
- Сообщения: 61
- Зарегистрирован: Чт янв 08, 2009 22:22:38
добрый день. прошу помощи с версией на мега 8 и двухстрочном дисплее из статьи. при включении на экране на максимальной контрастности просматриваются квадратики на верхней строке. на кнопки нет реакции. подсветка тоже не включается. мега прошивается без проблем. шью при помощи программатора avr910 и codevision avr 2.02. фьюзы выставляю : 0*E4 0*C9 что соответствует в cvavr запрограммированным битам: suto cksel3 cksel1 cksel0 spien ckopt bootsz1 bootsz0. плата без изменений. прозвонил дорожки от контроллера до дисплея. обрывов и замыканий нет. подскажите в какую сторону смотреть.
[url=http://img.radiokot.ru/files/8830/medium/10acntg9h6.jpg]
[url=http://img.radiokot.ru/files/8830/medium/10acnfxi5r.jpg]
[url=http://img.radiokot.ru/files/8830/medium/10acntg9h6.jpg]
[url=http://img.radiokot.ru/files/8830/medium/10acnfxi5r.jpg]
Последний раз редактировалось skeefff Ср июл 06, 2016 14:33:15, всего редактировалось 1 раз.
Какую прошивку хоть шьёте?
- Сообщения: 61
- Зарегистрирован: Чт янв 08, 2009 22:22:38
Ещё раз проверил в эмуляторе - всё ОК.
Попробуйте зашить эту прошивку. По сути, выполняется "бегущий огонёк" по выводам дисплея.
Нужно убедиться, что действительно все нужные сигналы доходят от МК до ножек дисплея.
Если какого-то сигнала нет - исправьте.
Попробуйте зашить эту прошивку. По сути, выполняется "бегущий огонёк" по выводам дисплея.
Спойлер
Код: Выделить всё
DDR(KS0066_RS) |= KS0066_RS_LINE;
DDR(KS0066_E) |= KS0066_E_LINE;
DDR(KS0066_D4) |= KS0066_D4_LINE;
DDR(KS0066_D5) |= KS0066_D5_LINE;
DDR(KS0066_D6) |= KS0066_D6_LINE;
DDR(KS0066_D7) |= KS0066_D7_LINE;
while(1) {
PORT(KS0066_RS) |= KS0066_RS_LINE;
_delay_ms(200);
PORT(KS0066_RS) &= ~KS0066_RS_LINE;
PORT(KS0066_E) |= KS0066_E_LINE;
_delay_ms(200);
PORT(KS0066_E) &= ~KS0066_E_LINE;
PORT(KS0066_D4) |= KS0066_D4_LINE;
_delay_ms(200);
PORT(KS0066_D4) &= ~KS0066_D4_LINE;
PORT(KS0066_D5) |= KS0066_D5_LINE;
_delay_ms(200);
PORT(KS0066_D5) &= ~KS0066_D5_LINE;
PORT(KS0066_D6) |= KS0066_D6_LINE;
_delay_ms(200);
PORT(KS0066_D6) &= ~KS0066_D6_LINE;
PORT(KS0066_D7) |= KS0066_D7_LINE;
_delay_ms(200);
PORT(KS0066_D7) &= ~KS0066_D7_LINE;
}
Если какого-то сигнала нет - исправьте.
- Вложения
-
- ampcontrol_m8-lcd-test.hex.7z
- (1.49 КБ) 222 скачивания
- Реклама
- Сообщения: 61
- Зарегистрирован: Чт янв 08, 2009 22:22:38
спасибо. программатор дома. вечером проверю и по результатам отпишусь. а что должно отображаться на дисплее при этом? или просто мерить логический уровень на ножках контроллера?
Просто смотрите лог. уровень. Возьмите проект для Proteus, откройте в нём прошивку и увидите, что должно происходить.
- Сообщения: 61
- Зарегистрирован: Чт янв 08, 2009 22:22:38
прошил контроллер тестовой прошивкой. на выходах контроллера отвечающих за дисплей изменяется состояние. мерил мультиметром. попробую дисплей другой подключить.
Здравствуйте WiseLord! Спасибо большое за Ваш проект. Собрал на м8, пт2313, лм7001, плату развел по пинам сам, прошил "ampcontrol_m8_4bit_tda7313_lm7001" но еепром второпях залил русский .Несколько раз стирал заливал англ. ееп вроде все заработало! Но после нескольких отключений питания вдруг меняются местами слова вместо преамп баланс и тд и дни недели тоже. Да еще было при регулировке громкости или там баланса зависала или уходило в стендбай и при вкл менялись слова местами, убрал кондеры с энкодера перепрошил со стиранием еепром вроде прошло и вот пришел с работы включил и опять вместо тюнер пишет баланс.Помогите вылечить.
FUSE-биты настраивайте на BODLEVEL=4V. Это может предотвратить порчу eeprom.
И желательно не обесточивать систему без предварительного ухода в ждущий режим.
И желательно не обесточивать систему без предварительного ухода в ждущий режим.
Информация для собравших версию на ATmega8.
Сейчас есть два варианта прошивки на базе ATmega8 под символьные дисплеи.
Вариант 1. Впервые появился в июле 2014 года. Фактически, урезанный (без поддержки граф. дисплеев) вариант тогдашней прошивки на ATmega16. Есть поддержка FM радио (выбор между LM7001, RDA5807, TEA5767 и TUX032), трёх аудиопроцессоров (TDA7313, TDA7318 и TDA7439). На Github исходники лежат в ветке кода m8.
Есть схема этого варианта схемы, но вживую я его никогда не собирал, поэтому платы нет.
Как я понимаю, некоторые собирали этот вариант, но очень немногие.
Вариант 2. Впервые появился в ноябре 2014 года. На Github его исходники лежат в ветке кода m8-lcd.В отличие от первого, у него другая разводка ножек. В этом варианте поддерживается только TDA7313. Радио не поддерживается, но в eeprom зашиты сразу два языка - русский и английский, и между ними можно переключаться без перепрошивок.
Под этот вариант я разрабатывал плату "всё в одном". Но схему рисовать было лень, поэтому получилась такая интересная ситуация, как наличие рабочей, проверенной платы, но без нарисованной схемы. Но по исходникам (pins.h) всё понятно.
Как я понимаю, этот вариант собрало гораздо больше людей - просто ввиду наличия готовой платы.
Разные схемы обоих вариантов получились просто из-за того, что первая из них получилась из упрощения схемы на ATmega16. А вторая схема получилась из тщательно вырисовываемой платы и обеспечивает гораздо более простую разводку, без большого количества переходных отверстий.
В остальном же никто не мешает, меняя pins.h в исходниках, собрать оба варианта прошивки под свою разводку.
Планируемые изменения.
1. Объединение обоих вариантов в один. Хотя бы на уровне схемы.
Таким образом, оба варианта прошивки с разным функционалом будут в дальнейшем собираться под разводку 2. Схемы я обновлю с учётом этого, плата уже есть. У людей, собравших вариант 2, будет возможность легко попробовать на нём же и первый вариант с поддержкой тюнера. Те же, кто собирал вариант 1, будут компилировать новые прошивки сами, правя pins.h под себя.
2. Максимальная унификация кода.
Возможно, получится сделать вообще одну прошивку, но включающую в себя основные возможности обеих.
Сейчас есть два варианта прошивки на базе ATmega8 под символьные дисплеи.
Вариант 1. Впервые появился в июле 2014 года. Фактически, урезанный (без поддержки граф. дисплеев) вариант тогдашней прошивки на ATmega16. Есть поддержка FM радио (выбор между LM7001, RDA5807, TEA5767 и TUX032), трёх аудиопроцессоров (TDA7313, TDA7318 и TDA7439). На Github исходники лежат в ветке кода m8.
Есть схема этого варианта схемы, но вживую я его никогда не собирал, поэтому платы нет.
Как я понимаю, некоторые собирали этот вариант, но очень немногие.
Вариант 2. Впервые появился в ноябре 2014 года. На Github его исходники лежат в ветке кода m8-lcd.В отличие от первого, у него другая разводка ножек. В этом варианте поддерживается только TDA7313. Радио не поддерживается, но в eeprom зашиты сразу два языка - русский и английский, и между ними можно переключаться без перепрошивок.
Под этот вариант я разрабатывал плату "всё в одном". Но схему рисовать было лень, поэтому получилась такая интересная ситуация, как наличие рабочей, проверенной платы, но без нарисованной схемы. Но по исходникам (pins.h) всё понятно.
Как я понимаю, этот вариант собрало гораздо больше людей - просто ввиду наличия готовой платы.
Разные схемы обоих вариантов получились просто из-за того, что первая из них получилась из упрощения схемы на ATmega16. А вторая схема получилась из тщательно вырисовываемой платы и обеспечивает гораздо более простую разводку, без большого количества переходных отверстий.
В остальном же никто не мешает, меняя pins.h в исходниках, собрать оба варианта прошивки под свою разводку.
Планируемые изменения.
1. Объединение обоих вариантов в один. Хотя бы на уровне схемы.
Таким образом, оба варианта прошивки с разным функционалом будут в дальнейшем собираться под разводку 2. Схемы я обновлю с учётом этого, плата уже есть. У людей, собравших вариант 2, будет возможность легко попробовать на нём же и первый вариант с поддержкой тюнера. Те же, кто собирал вариант 1, будут компилировать новые прошивки сами, правя pins.h под себя.
2. Максимальная унификация кода.
Возможно, получится сделать вообще одну прошивку, но включающую в себя основные возможности обеих.
Здравствуйте Уважаемый WiseLord!! Собрал Ваш последний вариант спектроанализатора на Mega32. Все ОК. Но, при обучении пульта нажимаю кнопу STBY на пульте, появляется его команда. Затем нажимаю кнопку 5 и устройство уходит в ждущий режим. И так постоянно. Только одна кнопка записывается как STBY. Что делаю не так?
Вечером постараюсь проверить дома.
Большое спасибо за поддержку! На BODLEVEL 4 установил но не помогло, потом сравнил фьюзы выше у skeefff оказалось у меня не устоновлен ckopt прошил помогло,По М8 лучше бы на односторонней плате, раз уж бюджетный вариант, если нужно могу свою печатку выложить но ее нужно корректировать для себя, зато проверена и односторонняя, часы ds3231.По прошивке можно сделать чтобы при отключении от сети и вкл запускался тюнер сам частота последняя ведь запоминается, приходится шевелить частоту чтоб запустился lm7001.А то жена включит и - "сломааалось"!Если от сети не отключать все хорошо.И по спектроанализатору на графическом дисплее в стерео режиме если нижний кана отобразить зеркально низ к верху не пробовали? По моему было бы красивше а если низкие частоты на середину вывести а то они с боку в основном при прослушивании речи радио .Но это так мечты... Еще раз спасибо за труды. давно хотел такое собрать но с программированием никак а тут все разжевано ,да еще поддержка!Теперь на М32 буду собирать !
Mazzz: проверил, у себя подобного не наблюдаю. Всё обучается нормально.
evgeny18: На ATmega8 я вообще не собирал устройства с тюнером. Только m8-lcd вариант. Поэтому проверить все недочёты сам не могу, а в github народ что-то не торопится баги репортить.
Да и основные усилия всё же на m32 ветку направляю. Хотя на этих выходных хочу всё же плотно m8 вариантом заняться разнообразия ради. Возможно, получится совместить ветки m8 и m8-lcd в одну.
evgeny18: На ATmega8 я вообще не собирал устройства с тюнером. Только m8-lcd вариант. Поэтому проверить все недочёты сам не могу, а в github народ что-то не торопится баги репортить.
Да и основные усилия всё же на m32 ветку направляю. Хотя на этих выходных хочу всё же плотно m8 вариантом заняться разнообразия ради. Возможно, получится совместить ветки m8 и m8-lcd в одну.
Вот печатки с ds3231 и М8 первый вариант
WiseLord
Выкладывал , вход тюнера перенаправлен на вход 3 , вместо входа 1 , если не ошибаюсь , НО , коментарий получил : делай сам . Не в обиду . Конечно на м8 вроде не серьезно , но иногда ...Баги не торопится выкладывать
А я купил три меги32. Впаял первую, прошилась как то криво и неохотно. Стер, мега пропала. Боролся с ней, ну никак. Впаял вторую. Прошилась с ошибками. Стер-- пропала. Китай мать его
Теперь жду зарплату буду покупать еще. Для справки, мега32А в планарном корпусе с маркировкой 1205. Применил в трех девайсах. Все умерли при стирании. Прогер AS-4. Есть девайсы на мега16, проблем не возникало. Видимо из за криво прошитой меги пульт не обучался.
Теперь жду зарплату буду покупать еще. Для справки, мега32А в планарном корпусе с маркировкой 1205. Применил в трех девайсах. Все умерли при стирании. Прогер AS-4. Есть девайсы на мега16, проблем не возникало. Видимо из за криво прошитой меги пульт не обучался.
- Сообщения: 125
- Зарегистрирован: Ср янв 20, 2016 15:29:12
У меня тоже было с мегой 32 и 8 при стирании пропали. Собрал атмега доктор и восстановил все.Mazzz писал(а):А я купил три меги32. Впаял первую, прошилась как то криво и неохотно. Стер, мега пропала. Боролся с ней, ну никак. Впаял вторую. Прошилась с ошибками. Стер-- пропала. Китай мать его![]()
Теперь жду зарплату буду покупать еще. Для справки, мега32А в планарном корпусе с маркировкой 1205. Применил в трех девайсах. Все умерли при стирании. Прогер AS-4. Есть девайсы на мега16, проблем не возникало. Видимо из за криво прошитой меги пульт не обучался.


