Обсуждаем контроллеры компании Atmel.
Ответить

Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так

Чт окт 11, 2018 21:29:20

Новая версия проекта c аппаратным I2C: ATmega48P + SSD1306 (ap.)(2).zip

В Протеусе глючит так же как и версия с ногодрыгом.

В железе работает, но вывод цифр зависает в среднем после 10 циклов, скорее всего не получает сигнал ACK.

У кого какие идеи?

Кстати, дисплей заметно мерцает, на фото выше видно тёмную полосу, она движется заметно глазу с циклом около 30 гц.
Вложения
ATmega48P + SSD1306 (ap.)(2).zip
(112.97 KiB) Скачиваний: 627

Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так

Сб окт 13, 2018 22:18:17

На плате экрана стоит линейный стабилизатор на +3,3v серии XC6206
в корпусе SOT-23, по датащиту на входе и выходе у него должны стоять керамические конденсаторы не менее 1мкФ, на самом деле, на входе не было никакого конденсатора, я отпаял от сломанной материнки два конденсатора 0608 по 4,7мкФ неизвестного типа, сначала припаял один на вход, ничего не изменилось, потом второй на выход, исчезло вышеописанное мерцание, и вот уже 60 минут проект с аппаратным I2C
работает без зависания.

Осталось только разобраться с глюками Протеуса, или зафиксировать наличие в природе минимум двух разных версий контроллера с разной системой команд.

В Протеусе резисторы менял от 1к до 10к ничего не изменилось.

Вопрос: что такое надо сделать в Протеусе что бы в данной схеме увидеть
размах сигнала I2C в осциллографе 3,3 вольта?

Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так

Вс окт 21, 2018 17:30:22

давно уже болтается такой дисплей станадрта I2C. Недавно решил реализовать свою задумку, по подключению его напрямую к компу без всяких арудино.
И используя конвертр USB->TTL 3.3V удалось это сделать. Использовав 3 провода для подключения дисплея к конвертеру.
Написал свою библиотеку для компа с 0, используя даташит.
Запустил всё заработало. Правда медленно... оптимизировал скорость в несколько раз, но максимум что удалось добиться это 2.7секунд на 1 кадр.
Для анимации, этого кое как хвататило только на бегущую строку высотой 8пикселов и в длину до 128 пикселов.
Всё уперлось в особенность работы усб порта.
В дальнейшем будут подключать в нативный ком порт (не на прямую конечно), он показал производительность в 20 раз выше чем через USB.

У дисплея линии SDA/SCL подтянуты до 3.3В на плате самого диплея. Вопрос а какие максимально допустимые рабочие напряжения по этим линиям?
В даташите указано минимум 0.9*VDD, а максимум прочерк. Vdd указано до 4 В. В других даташитах сказано что максимум там Vddio но что такое Vddio не сказано там нигде.
В какомто из даташитов видел что максимальное напряжение SDA/SCL это Vdd т.е. 4 В.
По спецификации шина I2C по стандарту 3.3 - 5 В.
И находил картинки со схемой i2c и дислея где делают подтяжку линий данных до +5В.

Этот дисплей сгорит если его подключить к i2c подтяжкой к 5В ? или он может не только на 3.3В но и с подтяжкой на 5 В может работать?

Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так

Вс окт 21, 2018 17:51:44

На предыдущей странице я давал ссылку на полную документацию.

Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так

Вс окт 21, 2018 18:05:36

На предыдущей странице я давал ссылку на полную документацию.

Эту документацию я изучил...
в SSD1306.pdf про High Logic Input Level в поле максимум стоит прочерк. страница 48
в ER-OLED0.96-3_Manual.pdf говорится High Logic Input Level в колонке MAX это Vdd, а Vdd равен 3.3 В максимум.

Но при этом тут https://radiokot.ru/articles/77/ по схеме SDA, SCL подтянуты к 5В.

Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так

Вс окт 21, 2018 19:23:08

DDMZ писал(а):Но при этом тут https://radiokot.ru/articles/77/ по схеме SDA, SCL подтянуты к 5В.
Что я могу сказать, если автор не пожелал прочесть документацию? :dont_know:
Главное, чтоб у тех, кто будет повторять схему, хватило бы времени и желания на изучение pdf...
Кстати, у китайцев, питание Vbat сделано на грани фола (должно быть в диапазоне 3,5V - 4,2V). Насколько в задуманном производителем режиме работает встроенный DC-DC - я не знаю.
P.S.
Если кому интересно - у встроенного DC-DC этого индикатора есть стабилизация напряжения.
Конкретно у моего экземпляра индикатора: При всех включенных пикселях, стабилизатор выходит из режима стабилизации при входном (Vbat) ниже 3,57V.
Ответить