Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 07.10.2018, 15:37  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Оказывается проект ATmega48P + SSD1306 (3).zip работает на реальном железе:


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

Видимо, глюк Протеуса, такое уже было с другим экраном https://kazus.ru/forums/showthread.php?p ... ost1218538
Миниатюры:
Нажмите на изображение для увеличения
Название: Рабочий кот.JPG
Просмотров: 0
Размер:	1.84 Мб
ID:	133350  
Реклама:
Donker вне форума  
Непрочитано 07.10.2018, 18:50  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Donker, Signalshik2 - таки код лучше просто как обычный .txt через управление вложениями вставить, на некоторые элементы даже обрамление в теги noparse не избавляет от искореженного отображения
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Непрочитано 11.10.2018, 12:19  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Начал писать вариант проекта с использованием уже аппаратной шины I2C (TWI), и столкнулся с проблемой:

https://radiokot.ru/forum/download/file.php?id=316085

монитор вдруг утерял способность нормально прижимать линию SDA к земле!

Почему так происходит, ногодрыгом ведь работало нормально?

Выкладываю весь проект:
https://radiokot.ru/forum/download/file.php?id=316086

Последний раз редактировалось Donker; 11.10.2018 в 12:21.
Donker вне форума  
Непрочитано 12.10.2018, 00:13  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Новая версия проекта c аппаратным I2C:
https://radiokot.ru/forum/download/file.php?id=316127

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

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

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

Кстати, дисплей заметно мерцает, на фото выше видно тёмную полосу, она движется заметно глазу с циклом около 30 гц.
Donker вне форума  
Непрочитано 12.10.2018, 11:02  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Ну я считаю, что если в железе работает, а в Протеусе - нет, то это уже хорошо, лишнее доказательство тому, что Протеус и модуляция вообще глючная вещь.
А зачем к проводу SDA подключены 2 проводка D1 и D2 в Протеусе? Может быть в этом косяк и сигналы замыкают друг друга?
Signalshik2 вне форума  
Непрочитано 12.10.2018, 12:32  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Это подтягивающие резисторы, подтягивают линии I2Cк плюсу питания, все остальные устройства на шине могут только замыкать линии на землю, либо отпускать и слушать какой там уровень, без них высокого уровня на шине не будет, в моём случае, резисторы впаяны продавцом на плате экрана и питаются от +3,3v.
Donker вне форума  
Непрочитано 13.10.2018, 13:48  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Ну Вы посмотрите, может быть на +3,3 (В) другие резисторы нужны. R1 = R2 = 4,7 (кОм) - это для питания +5 (В), по-моему.
Вот еще про выбор резистора:
https://kazus.ru/forums/showthread.php?t=11998
Там нужно такие резисторы ставить, чтобы нарастающий фронт не был сильно затянут. Я на каком-то сайте видел много осциллограмм, там на 1,5 (кОм) еще круче передний край становится. Так что экспериментируйте. Помните о безопасности, чтобы ничего не спалить.
Также может быть ошибка в софте - смотрите все внимательно.

Последний раз редактировалось Signalshik2; 13.10.2018 в 14:22. Причина: Добавил фразу.
Signalshik2 вне форума  
Непрочитано 13.10.2018, 14:27  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,672
Сказал спасибо: 130
Сказали Спасибо 1,074 раз(а) в 517 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Цитата:
Я на каком-то сайте видел много осциллограмм, там на 1,5 (кОм) еще круче передний край становится.
Для высоких скоростей сопротивление конечно нужно меньше. Но нужно и на максимальный ток транзисторов с ОК смотреть. Обычно на сотни килогерц вполне хватает 4.7 кОм. Но если до мегагерц гнать - резисторы нужно уменьшать.Но с учетом нагрузочных параметров чипов на линии.

Я не очень давно на экранчик с I2C интерфейсом 2 мегагерца гнал. Подтяжка была 1 кОм. И работало. Грелось правда сильно. А потому убрал до "даташитовских" значений. Проверял для эксперимента ...
DanilinSA на форуме  
Непрочитано 13.10.2018, 18:44  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Больше 10 лет работаю с AVR-ками и никаких "костылей" при работе с портами не наблюдаю, у Вас причина скорее в глючности софта который командует этими портами для работы с дисплеем, это в случае ногодрыга, в случае аппаратного TWI к ним могут добавиться не совсем верное конфигурирование этого блока , ну и третье , что кстати может слагаться с вышеперечисленными двумя одновременно - это не совсем кондиционный контроллер самого индикатора , так что надо бы выяснять для четкости обнаружения причин - отдельно сам индикатор попробовать устойчивость вывода инфы на экран от какого-то заведомо исправного железа, если всё норм с индикатором то потом подключать его к AVR-ке и вылавливать оставшиеся глюки софта .. . А в самую первую очередь проконтролировать сами тайминги I2C от AVR-ки в индикатор, и правильную по датачету очерёдность сигналов в индикатор, а иначе сразу за один присест устранить все глюки обясняя их все одной только какой-то причиной -- так не получится ...

P.S. И кстати сказанное относится также и к любому другому дисплею а не только к SSD1306
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 13.10.2018 в 18:58.
pinco вне форума  
Непрочитано 13.10.2018, 19:23  
DanilinSA
Почётный гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,672
Сказал спасибо: 130
Сказали Спасибо 1,074 раз(а) в 517 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: Не работает экран OLED 128X64 I2C на SSD1306, что не так?

Это верно.
Во первых бывает "по факту" не тот контроллер. Продавец написал одно, но по факту - другое.
Во вторых - чехарда с инициализацией. Бывает найдешь в инете 4-5 вариантов. И заработает хорошо если одна.
Во третьих - простенький логический анализатор - это очень важно. Стоит копейки, решает кучу проблем.
DanilinSA на форуме  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OLED ssd1306 + STM32f030f4 miwutka Песочница (вопросы новичков) 195 07.01.2019 15:38
Видеокамера SONY DCR-HC35-просит настроить дату время - сенсорный экран не работает sobyninsk Видеотехника 3 25.12.2014 09:34
Не работает I2C в ATMega128 pifa AVR 1 05.09.2014 19:45
Atmega16 + 24c04 не работает в железе eu8cc Микроконтроллеры, АЦП, память и т.д 25 29.06.2012 21:54
Proteus 7.6sp0 не корректно работает I2C ( TWI ) в AVR. chapa Proteus 5 15.12.2010 09:41


Часовой пояс GMT +4, время: 14:16.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot