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

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


Ответить

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

Пт июн 18, 2021 18:50:03

СПАСИБО!

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

Вт июн 22, 2021 18:57:12

Народ выручайте! Никак не могу победить компилятор, уже все перепробовал.. голова кругом. В общем нужна последняя прошивка для m32. Аудио процессор TDA7448, дисплей KS0108B, тюнер не будет использоваться.
Единственно подкорректировал в tda7448.h порядок под свою разводку, файл прикладываю. Кому не сложно, скомпилируйте пожалуйста прошивку.
Вложения
tda7448.h
(777 байт) Скачиваний: 274

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

Вт июн 22, 2021 21:28:08

А в чём проблема при сборке?
Вложения
ampcontrol_atmega32_ks0108b.hex.7z
(27.3 KiB) Скачиваний: 307

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

Вт июн 22, 2021 22:23:45

Спасибо WiseLord! Ошибку компилятор выдает, причем пробовал собирать вашу последнюю прошивку без каких либо изменений. Делал все по инструкциям этой темы, ничего не помогает.. Скажите пожалуйста, чтобы проверить работоспособность экрана, достаточно только его припаять или еще что-то надо?

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

Вт июн 22, 2021 22:25:18

Я бы рекомендовал после запайки экрана, подать напряжения питания +5 вольт.

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

Пн июл 05, 2021 16:28:33

друзья всех приветствую. такой вопрос - можно ли разнести на примерно 2м друг от друга либо кнопки с энкодером, либо дисплей по i2c/ суть, есть старое авто. хочется сохранить внешний вид магнитолы, но у нее очень маленький дисплей. точнее место под 16х2, но есть место на потолке под вполне себе 128 дисплей. точные измерения приведу позже, равно как и фото.
Можно ли в магнитолу установить аналоговую часть с унч и источниками звука, а в потолок образно говоря - плату с процессором и дисплеем, соответствено вниз надо будет тянуть энкодер и кнопки управления, либо всё остается в магнитоле, а вверх в потолок тянем только дисплей? возможно ли это технически, не будет ли проблем из-за длин проводников?

СпойлерИзображение Изображение[/url]
Последний раз редактировалось siwix8888 Вт июл 06, 2021 15:29:47, всего редактировалось 1 раз.

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

Вт июл 06, 2021 09:02:45

i2c не советовал бы так далеко тащить, до кучи в авто очень много помех.

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

Вт июл 06, 2021 11:06:21

i2c не советовал бы так далеко тащить, до кучи в авто очень много помех.


хорошо, какое тогда решение?
экранирование и витая пара спасёт?

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

Пт июл 09, 2021 12:04:47

i2c не советовал бы так далеко тащить, до кучи в авто очень много помех.


хорошо, какое тогда решение?
экранирование и витая пара спасёт?


i2c не только капризна к помехам, но и к ёмкости проводов, можно конечно попробовать, но по питанию придется ставить внушительные фильтры.
можно попробовать использовать токовую петлю на шине i2c, но оптопары надо подбирать соответствующие, а они будут стоить денег. http://easyelectronics.ru/tokovaya-petlya.html
то есть нужны быстрые оптопары с минимальным временем срабатывания

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

Пт авг 13, 2021 13:25:30

Вчера час почти бился с дисплеем ssd1306. Оказалось в описании неверно указано куда к атмега328р подключать линии sda и куда scl. Перепутаны они местами в описании на гитхаб.ио Кстати по версии на атмега328 вообще невнятное описание, схема всего одна для всех дисплеев. Непонятно почему линия i2c в версии для атмега328 раздельная для часов и для дисплея. Можно наверное использовать одну шину i2c? Ну и ещё по-мелочи вопросы: термодатчик и вентиляторы нельзя в этой версии использовать? И где бы посмотреть параметры компиляции для одного pt2313 без тюнера, а то в маке файле там целая строка тюнеров и строка аудиопроцессоров
И ещё вопрос— почему в версии для упомянутого контроллера нет PGA2310? Он же даже для атмеги8 есть.

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

Пт авг 13, 2021 15:12:02

В pins.h достаточно однозначно всё прописано. Для ATmega328p:
Код:
#define DISP_STROB          C
#define DISP_STROB_LINE     (1<<0)
#define DISP_DATA           C
#define DISP_DATA_LINE      (1<<1)

#define SSD1306_SCK         DISP_STROB
#define SSD1306_SCK_LINE    DISP_STROB_LINE
#define SSD1306_SDA         DISP_DATA
#define SSD1306_SDA_LINE    DISP_DATA_LINE

ksa69 писал(а):в описании неверно указано
Да, здесь было неверно. Хотя я в последнее вообще стараюсь уйти от этого общего для всех проектов github.io и размещать всю инфу прямо в readme.md проекта - так проще держать информацию актуальной.
ksa69 писал(а):по версии на атмега328 вообще невнятное описание, схема всего одна для всех дисплеев.
Потому что этот вариант неофициальный. Оно вроде как и работает, но никаких гарантий, потому что живого проекта я на нём не делал, только в виде по сути макетки.
ksa69 писал(а):почему линия i2c в версии для атмега328 раздельная для часов и для дисплея
Потому что DS1307 и аудиопроцессоры только на 100кГц умеют работать, а дисплей хочется не тормозной видеть. Почему-бы тогда и не повесить на отдельную линию, тем паче что всего 2 пина нужно, а не 12, как у других.
ksa69 писал(а):термодатчик и вентиляторы нельзя в этой версии использовать?
нет, не хватает ножек МК.
ksa69 писал(а):почему в версии для упомянутого контроллера нет PGA2310?
по той же причине - он использует те же ножки, что и термодатчик/вентиляторы (EXT)

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

Сб авг 14, 2021 20:32:21

Понял. Либо тормозной дисплей ssd1306, либо вентиляторы и термодатчики с pga2310. Хотя не понятно что будет там критически сильно тормозить, кроме отображения спектроанализатора и уровня сигнала. Остальные параметры вроде не быстроменяющиеся величины.

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

Вс авг 15, 2021 10:45:01

Не совсем так.

Либо ATmega32 (с бОльшим числом ножек) и тогда есть куда подключить 3 линии термодатчиков/вентиляторов или PGA2310. Либо ATmega328 - тогда только I²C для внешних устройств на 100кГц (аудиопроцессоры, тюнеры, часы и т.д.). От дисплея это не зависит.

Да, если переходить на SSD1306 - освобождается куча (8 линий данных и ещё управляющие) линий дисплея, и к ним можно было бы подключить и PGA-шку, и термоконтроль, и что-то ещё даже. Правда, тогда теряется универсальность проекта - получается как бы разная схемотехника.

Но вообще, поскольку всё в исходниках по-прежнему есть - Вам никто не мешает вывести всё нужное на любые из осободившихся линий дисплея ("перевесить" EXT в pins.h) и убрать в Makefile исключение для ATmega32, чтобы он для ATmega328p также собирал нужные модули.

Но опять же, это будет выбор между: или термоконтроль, или PGA2310, или какой-нибудь SPI тюнер.

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

Вс авг 15, 2021 13:32:17

Это я и пробую сделать. Только что-то не пойму— в pins.h написано одно, а на схеме для меги328 другая распиновка кнопок и энкодера. Энкодер не хочет что-то работать ни по схеме если подключаю ни по pins.h. Плюс на схеме 6 кнопок, а в файле 5 кнопок. В итоге работают на меге328 сейчас 5 кнопок, но параметры не регулируются. Работает вкл/выкл, установка часов, переключение входов, а регулировка громкости и прочего не работает. Или она не будет работать пока рт2313 не подключу? Компилировал уже и так и так, но толку ноль

Добавлено after 29 minutes 7 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
Состояние энкодера в меню настроек отображается всегда как 0b00 и не меняется какой бы порт атмеги не замыкал на землю

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

Вс авг 15, 2021 13:42:08

Так, на счёт совсем свободных линий data дисплея я был не прав (уже забыл как оно там) - эти линии используются для кнопок и энкодера. PD1/PD2 в pins.h - это только для ATmega32.
Для ATmega328p используются 6 и 7 линии параллельного дисплея, как на схеме.

Если кнопки (PD6, PD7, PB0, PB1, PB2, PB3) работают, то и энкодер (PB6, PB7) должен работать, т.к. считывается состояние всего порта, на который вешался бы обычный дисплей.

А по поводу "на схеме одно, в pins.h другое" советую заглянуть в input.c и посмотреть на getPins()

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

Вс авг 15, 2021 14:06:27

Разобрался с энкодером. Получается без него кнопками громкость не регулируется?

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

Вс авг 15, 2021 20:17:00

Если вместо энкодера подключить две кнопки, а в редакторе eeprom задать разрешение энкодера 0, то должно работать. По крайней мере, так задумывалось.

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

Вс авг 15, 2021 21:04:05

Понял. Я имел ввиду с существующими пятью кнопками громкость не порегулируешь. Одна вкл/выкл, вторая выбор входов, третья выбор регулируемого параметра. А четвёртая и пятая вообще не понял пока зачем нужны. В атмеге328 вообще 6 кнопок, шестую как ни нажимал— ничего не происходит. Коды кнопок в настройках показывает нормально. В исходниках нашёл место где коды этих кнопок присваиваются, а для чего они непонятно. Хотя у меня только темброблок используется на pt2313. Ни тюнера ни ещё чего-то нет.

Добавлено after 6 minutes 32 seconds:
Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864
Где можно посмотреть описание функций кнопок?

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

Вс авг 15, 2021 23:25:46

В статье

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

Ср авг 18, 2021 14:07:49

Подскажите какая версия avr gcc нужна. Дома на std c99 ругалось, добавил опцию в строку компиляции и стало норм. На работе теперь вот установил и ругается на опцию -flto
теперь вообще не компилируется на рабочем компе. ни стд99 не помогает ни удаление -flto опции.
вот что пишет:
СпойлерC:\Users\Admin\Downloads\ampcontrol-m32\src>make
avr-gcc -Wall -Werror -std=c99 -lm -Os -mcall-prologues -fshort-enums -ffunction
-sections -fdata-sections -ffreestanding -mmcu=atmega328p -DF_CPU=16000000L -MM
D -MP -MT build/main.o -MF build/./main.d -D_atmega328p -D_ssd1306 -D_TDA7439 -D
_TDA731X -D_TDA7448 -D_PT232X -D_TEA63X0 -D_TUNER_AUDIO -D_TEA5767 -D_RDA580X -D
_TUX032 -D_SI470X -D_ALARM -D_UARTCONTROL -D_RDS -D_RDA5807_DF -c -o build/main.
o main.c
cc1.exe: warnings being treated as errors
In file included from main.c:8:
remote.h:88: error: declaration does not declare anything
make: *** [build/main.o] Error 1


а вот это пишет когда вообще не меняю опции сборки:
СпойлерC:\Users\Admin\Downloads\ampcontrol-m32\src>make
avr-gcc -Wall -Werror -lm -Os -mcall-prologues -fshort-enums -ffunction-sections
-fdata-sections -ffreestanding -flto -mmcu=atmega32 -DF_CPU=16000000L -MMD -MP
-MT build/display.o -MF build/./display.d -D_atmega32 -D_ST7920 -D_TDA7439 -D_TD
A731X -D_TDA7448 -D_PT232X -D_TEA63X0 -D_TUNER_AUDIO -D_PGA2310 -D_TEA5767 -D_RD
A580X -D_TUX032 -D_SI470X -D_LM7001 -D_LC72131 -D_ALARM -D_UARTCONTROL -D_RDS -D
_RDA5807_DF -D_TEMPCONTROL -D_SPISW -c -o build/display.o display.c
cc1.exe: error: unrecognized command line option "-flto"
make: *** [build/display.o] Error 1
Ответить