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

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

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

#1

Сообщение KulibinOrsk » 10.02.2020{, 11:58}

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

Отправлено спустя 1 минуту 58 секунд:
Кстати иногда бывает: иеролгифы по дисплею.
Последний раз редактировалось KulibinOrsk 23.02.2020{, 13:24}, всего редактировалось 1 раз.

KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

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

#2

Сообщение KulibinOrsk » 10.02.2020{, 13:47}

av, спасибо конечно за совет, НО причем тут выходы к земле, если у меня все входы, выходы заняты.

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

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

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

#3

Сообщение Ingwar » 10.02.2020{, 13:50}

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

Gordon0007
Сержант
Сообщения: 138
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 13
Имя: Павел

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

#4

Сообщение Gordon0007 » 22.02.2020{, 18:18}

Буду ждать, ваших результатов!
Пишите в форуме как можно чаче что делали и что помогла

KulibinOrsk
Лейтенант
Сообщения: 515
Зарегистрирован: 25.02.2018{, 08:48}
Репутация: 21
Откуда: Оренбург
Имя: Александр

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

#5

Сообщение KulibinOrsk » 23.02.2020{, 13:23}

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

Webq
Сержант
Сообщения: 131
Зарегистрирован: 15.02.2020{, 13:59}
Репутация: -3
Имя: Юрий

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

#6

Сообщение Webq » 23.02.2020{, 13:47}

KulibinOrsk,
бывает еще и вот так:
СпойлерПоказать

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#7

Сообщение Sancho » 23.02.2020{, 15:51}

Webq писал(а):
23.02.2020{, 13:47}
KulibinOrsk,
бывает еще и вот так:
Смотреть от 8.20
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Webq
Сержант
Сообщения: 131
Зарегистрирован: 15.02.2020{, 13:59}
Репутация: -3
Имя: Юрий

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

#8

Сообщение Webq » 23.02.2020{, 16:15}

Sancho,
Вы правы, раскрытие от 8.20....но сам детектив по поиску неисправности :)

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#9

Сообщение Sancho » 23.02.2020{, 16:24}

Webq, Норм осцил - видно всё. И сразу.

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

Webq
Сержант
Сообщения: 131
Зарегистрирован: 15.02.2020{, 13:59}
Репутация: -3
Имя: Юрий

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

#10

Сообщение Webq » 23.02.2020{, 16:34}

Sancho писал(а):
23.02.2020{, 16:25}

Норм осцил - видно всё. И сразу.
Бесспорно!

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

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

#11

Сообщение Sancho » 23.02.2020{, 17:04}

при запайке резаков 202(поверх) возвратов не было.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Webq
Сержант
Сообщения: 131
Зарегистрирован: 15.02.2020{, 13:59}
Репутация: -3
Имя: Юрий

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

#12

Сообщение Webq » 23.02.2020{, 17:05}

Sancho,
Знать бы почему так происходит часто: одна шина на 10к - и с ней все ок, а другая на 1к-5к - и это не факт что это предел :)

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

Gordon0007
Сержант
Сообщения: 138
Зарегистрирован: 19.04.2018{, 13:37}
Репутация: 13
Имя: Павел

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

#13

Сообщение Gordon0007 » 24.02.2020{, 13:37}

А если не трудно проверьте тоже самое на 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К ом, опасно, я так не делал) сильно не помогло.

Ответить

Вернуться в «Спросить у знатоков»