Страница 1 из 1

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 10 фев 2020, 12:00
KulibinOrsk
За много лет впервые столкнулся с проблемой: ЗАВИСАЕТ ардуинка
Ардуина + ЖК 20х4 по I2c (длина провода 10см).
На входе ардуины 2 кнопки и по логике работы контроллер включает 8 реле через микросхему ULN2003 (последовательно) . Зависания происходят в разные моменты времени.
Установил дополнительно в разные места кондеры по 1000 мк + 0.01мкф. Питание трансформаторное стабилизированное.
Прошу помощи в совете, может кто сталкивался с подобным.

Отправлено спустя 1 минуту 58 секунд:
Кстати иногда бывает: иеролгифы по дисплею.

Ардуино+ЖК 20х4 I2C -зависания

Добавлено: 10 фев 2020, 13:47
KulibinOrsk
[ref]av[/ref], спасибо конечно за совет, НО причем тут выходы к земле, если у меня все входы, выходы заняты.

Отправлено спустя 34 секунды:
Экран кстати утром вешал, но стало на порядок хуже. Чаще стал виснуть.

Ардуино+ЖК 20х4 I2C -зависания

Добавлено: 10 фев 2020, 13:50
Ingwar
Подключите минусы всех устройств в одну точку, куда приходит питание.

Ардуино+ЖК 20х4 I2C -зависания

Добавлено: 22 фев 2020, 18:18
Gordon0007
Буду ждать, ваших результатов!
Пишите в форуме как можно чаче что делали и что помогла

Ардуино+ЖК 20х4 I2C -зависания

Добавлено: 23 фев 2020, 13:23
KulibinOrsk
РЕШЕНО !!!
Кратко суть описана выше.
Детализация: От ардуинки идут дорожки длиной 3см на разъем и далее идет шлейф 10 см (10 проводов) на вторую плату где дисплей. Казалось бы - ну где тут наводки то ловить...... некоторые мне писали что нужно полигоны заливать... т.е. землей все окружить.... но и это не помогло. Ардуинка подвисала.
Теперь РЕШЕНИЕ: несмотря на то, что на модуле I2C который сидит на самом дисплее есть уже "встроенные" резисторы 5кОм к +5В.
Я установил на самой ардуинке резисторы 3кОм между SDA и +5В и SCL и +5В
Я как то давно читал что I2C допускает резисторы между сигнальными проводами и плюсом - до 1ком. В общей сложности получилось что на модуле 5кОм и на ардуинке 3 ком ... около 1.8 кОм
Сутки прибор гоняем - ни одного зависона.

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 23 фев 2020, 13:47
Webq
[ref]KulibinOrsk[/ref],
бывает еще и вот так:

[spoiler]https://www.youtube.com/watch?v=2wRSr5RoHIg[/spoiler]

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 23 фев 2020, 15:51
Sancho
Webq писал(а): 23 фев 2020, 13:47 [ref]KulibinOrsk[/ref],
бывает еще и вот так:
Смотреть от 8.20

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 23 фев 2020, 16:15
Webq
[ref=#ff8000]Sancho[/ref],
Вы правы, раскрытие от 8.20....но сам детектив по поиску неисправности :)

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 23 фев 2020, 16:25
Sancho
[ref]Webq[/ref], Норм осцил - видно всё. И сразу.

Отправлено спустя 59 секунд:
Проезжал на видеомагнитофонах, были такие, с кассетами...

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 23 фев 2020, 17:00
Webq
Sancho писал(а): 23 фев 2020, 16:25
Норм осцил - видно всё. И сразу.
Бесспорно!

С праздником!

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 23 фев 2020, 17:04
Sancho
при запайке резаков 202(поверх) возвратов не было.

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 23 фев 2020, 17:06
Webq
[ref=#ff8000]Sancho[/ref],
Знать бы почему так происходит часто: одна шина на 10к - и с ней все ок, а другая на 1к-5к - и это не факт что это предел :)

Отправлено спустя 51 секунду:
Это мастер и2с так чудит получается?

Ардуино+ЖК 20х4 I2C -зависания. РЕШЕНО !!!

Добавлено: 24 фев 2020, 14:24
Gordon0007
А если не трудно проверьте тоже самое на 3.3В логике уверен, что там будет зависаний побольше. Я протестил на макетке ESP32 с добавление резистора 2.2Ком, зависания уменьшились но продолжает зависать от наводок от пальца (как сенсорная кнопка, но не всегда). Провода 30см, дисплей 2004 4.7Ком встроенные.
Еслидобавить конденцаторы по питанию, уменьшить длину проводов до 3см, уменьшить резисторы на дисплее с 4.7К до 2.2К, (Тогда еще не добавлял доп резисторы со стороны контроллера) тогда наводки от пальца практически исчезают и зависания тоже сводятся к минимуму.

Отправлено спустя 46 минут 5 секунд:
Так же пишут, что можно уменьшить скорость самой шины может помощь решить эту проблему, но это нужно делать в библиотеке. Наибольшее распространение получили в текущий вариант реализации I2C с частотой шины 10кбит/с — в медленном режиме, 100 kHz (Standard mode) и 400 kHz (Fast mode), I2C версии 2.0, которая позволяет достичь гораздо больших скоростей, в 2-3 Мбит/с, но они пока что весьма редкие. Возможно есть возможность добавить настройку для этой шины, где добавить возможность выбора скорости шины.

Отправлено спустя 36 секунд:
Источник https://catethysis.ru/stm32_i2c/, и др форуму
От этой проблемы избавиться не получается, уменьшал резисторы как пишут (от 2,2К ом до 4,7К ом для 3,3v логики) и (от 4К ом до 10К ом для 5v логики) (для длинных линий до 1 метра можно использовать 1К ом, опасно, я так не делал) сильно не помогло.