@20strannik08

Как устранить помехи по i2c (Raspberry+pcf8574)?

Здравствуйте! Прошу не пинать сильно, с i2c только начал знакомится. Не для работы или производства, а для самопознания и хобби ради.
Немного предыстории:
К Raspberry pi 4 через преобразователь уровней с 3.3v до 5v подключены два pcf8574. Сам преобразователь подключен вплотную к малинке. А устройства к нему идущие, подключены неэкранироваными проводами длиной 20-30см.

Все вродебы работает, но через раз. Указываю LOW на пины с 0 по 5, и HIGH на 6-й и 7-й. Работает но через раз. Иногда пины, которые быть должны у pcf8574 HIGH рандомно при команде уходят в LOW, иногда нет. Как будто часть команды не доходит или доходит не так как надо. Иногда просто так при бездействии pcf8574 сбрасывается и переводит все пины в состояние по умолчанию в HIGH

Все резисторы с преобразователя уровней я выпаял, как на входе так и на выходе(На входе смысла нет, у малинки уже стоят 4.7k), так же выпаял и с pcf8574 и поставил по 28К на каждый. Так в сумме получилось 14K. Скажите что я не так делаю и какой же номинал резисторов более оптимальный? И где лучше эти резисторы ставить? Или уменьшить номинал резисторов? И где лучше размещать, или равномерно по всем устройствам включая и сам преобразователь так что бы в сумме получился нужный номинал или ставить резисторы только в самом начале на преобразователе уровней, а с устройств все отпаять или наоборот? Как лучше?

P.S. Для манипуляции используется python+lib pcf8574_io, частота i2c по дефолту 100 кГц. Добавлю еще что есть на линии i2c еще пара других устройств, но они работают исправно, проблема ток с этими pcf8574.

Upd. Как время показало, причина не в куллере а в самих помехах, статике и т.д и т.п. лучшее решение ставить после pcf8574 - uln2803 или вообще оптроны.
  • Вопрос задан
  • 756 просмотров
Решения вопроса 1
@Indemsys
Подтягивиющие резисторы скорее всего не при чем.
Если другие I2C приемники работают, то с резисторами подтяжки играться не стоит.
Дело вероятно в трассировке сигналов.
Нужно анализировать целиком всю цепочку начиная от розетки и источника питания малины до конкретных нагрузок к которым подключен pcf8574.
Паразитные милли и наносекундные коммутационные токи в этом контуре вполне могут приводить к сбоям микросхем если трассировка допускает проход этих токов через них.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@IIggoorrII
подтягивающий резистор 10 КОм ставь (я кстати тож на малинке сейчас)
Если не сработает поставь 1 КОм
вот даташит:
https://static.chipdip.ru/lib/368/DOC004368150.pdf
но там ни слова про pull up резисторы

подтяни от sda и scl к плюсу

Я комментарии не могу писать(лимит)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы