Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Никак не мог понять, зачем столько 0x80 в этом коде, и что они могут значить. В дисплее такой команды нет в принципе. В итоге по ссылке увидел совсем другую инициализацию:
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Заголовок сообщения: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12
Добавлено: Пт апр 20, 2018 00:43:03
Нашел транзистор. Понюхал.
Зарегистрирован: Вс мар 04, 2018 19:38:32 Сообщений: 191
Рейтинг сообщения:0
встретил такое:
"В моем варианте адреса на обратной стороне указаны не верно (привет китайцам): 0x78 и 0x7A, в реальности дисплей имеет адрес 0x3c, в этом можно убедиться подключив его к Raspberry Pi и просканировав устройства на шине при помощи команды "i2cdetect". После перепайки перемычки нужно будет определить новый реальный адрес, это может быть 0x3d или другой."
т.е. в строке "#define SSD1306_I2C_ADDR 0x78" - можно подставить другой адрес и пересобрать прошивку через make ?
перебор адресов для дисплея неуместно просить?
проект масштабный. все равно еще кто нибудь столкнется с такой же проблемой несоответствия адреса.
(может в рамках вспомогательной прошивки: просканировала М32 адреса и сохранила в eprom. потом епром слить и посмотреть какие адреса? заодно и I2C шина протестируется)).
Ещё раз, 0x78 и 0x3C - это одно и то же. Просто первое - 8 бит, весь адрес целиком, используется в даташитах и проекте, второе - 7 старших бит этого же адреса, используется в Arduino и RRi.
В принципе, можно наваять какой-нибудь примитивный сканер адресов.
Ещё раз, 0x78 и 0x3C - это одно и то же. Просто первое - 8 бит, весь адрес целиком, используется в даташитах и проекте, второе - 7 старших бит этого же адреса, используется в Arduino и RRi.
о как.
с адресами туго конечно:
-написал продавцу - но он не понимает о чем речь) или делает вид что не понимает)
-в отзывах на дисплей есть информация что адрес был 0х40, но это не значит что он на всех дисплеях такой (да и перебрал я уже с 20 адресов)
-даже не знаю, видимо нужно попытаться сделать адаптацию Atmega32 под Arduino, ведь там есть скетч для поиска I2C адресов. Но еще же нужен загрузчик и пр....
Еще раз хочется поблагодарить автора за данный проект. И появилось мысль ,а может прикошачить ещё тачскрин мне кажется это было бы интересно вообще без кнопок!
Управлять усем при помощи тачскрина круто конечно, но не всегда оправдано (например, если усь стоит низко или высоко), да и существующих возможностей предостаточно. Конечно полностью отказываться от "железных" кнопок нельзя, но порой они никак не вписываются в стиль оформления лицевой панели устройства. Мне на днях на глаза попался сломанный мп3 плеер с сенсорными управлением. Сенсоры в нем подключены к одному чипику, который их опрашивает и передает инфу о нажатиях по и2ц МК. Вот такой бы чипик прикошатить. Тогда лицо уся можно бы было выполнить из цельного листа оргстекла (ну разве только отверстие под вал энкодера просверлить). Да и пара выводов МК освободилась бы. Все написанное выше - мысли вслух, решающее слово за АВТОРОМ проекта.
3C -> 011.1100.w -> 0111.1000 -> 78. Такой адрес выходит. Что странно, так ка на адресном входе у Вас там вроде быль ноль
P.S. Всё норм, это адрес для нуля. Для едиинцы на SA0 было бы 7A.
P.P.S. Немного доработал программный I²C для дисплея (не сказать, что там был баг, но новый вариант чуть правильнее с точки зрения протокола). Ну и добавил автодетект между адресами 0x78/0x7A, на всякий случай. Пробуйте, может так заведётся.
-в arduino.exe я только компилирую тестовый скетч, а потом забираю .hex (из Temp папки, в которую arduino.exe скомпилировала скетч ) и уже его заливаю через avrdude в М32.
библиотеки для arduino на которых завелся дисплей:
Я только не понял две вещи: 1. Как Вы собираете в Arduino скетч для ATmega32 (я что-то не припомню таких МК в Arduino)? 2. Где в скетче Вы указываете, к каким ножкам Arduino подключается дисплей?
2. Где в скетче Вы указываете, к каким ножкам Arduino подключается дисплей?
не знаю)) просто нашел скетч, библиотеки, загрузил в ардуино (брал тут в описании под видео: https://www.youtube.com/watch?v=niA3aPu3-dQ ), скомпилировал в .hex - и дисплей заработал.
а какой-то левый скетч, в общем-то, рассчитанный на аппаратный I²C (PC0 и PC1 - библиотека Wire в Arduino), вот просто так взял и заработал? Не верю ни на йоту.
так и есть. я просто сидел и перебирал все скетчи которые, которые нашел в инете и которые смогли скомпилироваться. и один из них подошел.
Добавлено after 7 minutes 21 second: Re: Темброблок/спектроанализатор на ATmega16, TDA7439 и SG12864 посыпаю голову пеплом.
МОИ ГЛУБОЧАЙШИЕ ИЗВИНЕНИЯ АВТОРУ.
на PA2, PA4 все заработало.
п.с.
на всех схемах с Atmega32 (на гитхабе), и даже в проекте Протеуса - выводы SDA и SCL висят на PC0 и PC1 !!!
видимо это и явилось причиной моего косяка с подключением)
Последний раз редактировалось gavi6 Сб апр 21, 2018 11:36:35, всего редактировалось 1 раз.
Потому что основной, аппаратный, I²C настроен на 100кГц (DS1307 и многие аудиоконтроллеры не могут работать быстрее). Поэтому для увеличения скорости работы дисплея он подключается по программному I²С, на большей (около 400кГц) скорости.
P.S. Кстати, стоит подключиться осциллографом и посмотреть. Возможно, с выбранными сейчас задержками скорость меньше 400кГц, и можно немного подстроиться и увеличить её.
P.P.S. Так и оказалось, дисплей работал где-то на 300кГц. Немножко упростил код и поднял скорость до максимальной по даташиту 400кГц.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения