Помогите с проблемой подключения нескольких модулей i2c. Была старая плата на arduino nano с двумя модулями ads1115, сейчас мне понадобился wi-fi и я решил переделать все на esp32 и добавил еще один модуль ads1115 (всего сейчас их 3), но возникла проблема в том, что модули иногда отваливаются, esp не может их инициализировать или если она все таки их инициализировала то во время работы иногда перестают идти данные. Подскажите что можно сделать для решения проблемы? Все распаяно на макетке ножками от резисторов.
Почитал что для линии i2c нужно scl и sda подтягивать на питание, но на самом модуле и так это реализовано с резисторами 10кОм.
Ток через резистор не должен быть бОльше максимально допустимого тока через пин микроконтроллера. Но обычно выбирают этот ток гораздо меньше максимального.
адреса менял замыканием ножки addr на землю - 0x48, на sda - 0x4A и на scl - 0x4B, модули расположены максимально близко к esp, на линии i2c больше ничего нет только эти модули, ну и про сканер:
Не совсем понятно, у вас черные провода кудато уходят, а к есп идут уже красные.
Я бы заменил провода, от есп к первому модулю, от первого ко второму, от второго к третьему.
Как можно короче чтобы было.
Если не заработает надо оставить подключенным только один модуль. Стабильно работает?
Именно убрать все провода, оставить только к одному модулю подключение.
Нет черные провода это с чего я считываю сигналы всего 12 датчиков, а красные это питание этих датчиков, по поводу соединения модулей они и так припаяны последовательно, если все убрать и оставить только один модуль сканер вообще ничего не находит, что очень странно
Не видно что нога addr первого модуля куда-то подключена.
Я просто с телефона может просто не видно, у двух следующих подключение addr видно , а у первого такое впечатление что в воздухе висит.
а может ли быть это связано с несогласованностью логических выходов, может стоит попробовать подключить ads1115 например через TX0102, и все запитать не от 3.3 а от 5 вольт, или это дичь?
А если сейчас один модуль оставить? Вы говорили один не работал вообще. После соединения addr на землю сканер его видит?
Как вариант еще замерить номиналы резисторов подтяжки sda scl, тоже бывает всякое, это ктиай . И я бы оставил 10к, на одном модуле, на остальных бы убрал.
Если не поможет то придется втыкать осциллограф и смотреть сам сингал и его уровни.
Да к стати, еще на скорость самой шины глянуть.
И опрос в сканере пореже поставьте, ну раз в секунду хотябы.
нет сканер не видит если оставить один модуль после запайки на землю(
а на счет сопротивления или я что-то не так делаю или еще чего, измерил все резисторы они по 10кОм, но если измерять сопротивление не на самом резисторе а сопротивление между vdd и csl или vdd и sda сопротивление показывает 2.5кОм