Новичку здесь 16 лет.
Мой проект - это мини-робот с печатной платой в качестве шасси, липо-батареей с зарядным устройством и инфракрасными датчиками. Я использовал LSM6DS33TR для своего акселерометра и гироскопа I2C с «подтягивающим резистором» 10К в соответствии с таблицей данных, а ATMEGA328P в качестве микроконтроллера.
Я впервые спроектировал и изготовил собственную промышленную печатную плату. Я изготовил печатные платы с JLCPCB. После отправки файлов и ожидания доставки, когда я замечаю ошибку в своем дизайне. Я заметил, что неправильно подключил подтягивающие резисторы к моей шине I2C, потому что они должны быть подтянуты до 3V3.
Мои вопросы:
- Как я могу перенаправить соединения или внести изменения, чтобы подтянуть SDA и SCL к напряжению питания с уже изготовленной печатной платой?
- Должен ли я изменить дизайн и изготовить другую печатную плату? (Сломался) :)
Вот полная схема проекта, который я сделал: (линии i2c обведены)
pcb
pcb-design
circuit-design
i2c
Дейв Бенемерито
источник
источник
Ответы:
Вы должны «исправить» вашу печатную плату.
Я сделал бы так, как я пытался нарисовать ниже: поместите два подтягивающих резистора (10 кОм) на существующие колодки, закорачивая их. Затем провод от других заканчивается к ближайшему соединению 3V3.
Я нарисовал SMD резистор, но вы также можете использовать «старомодные» осевые.
источник
У вашей доски больше проблем. Например, контакты источника питания для U5 имеют последовательно соединенный с ними конденсатор, который, как я полагаю, должен был быть разъединяющим колпачком между VCC и GND. Я также не вижу развязывающих колпачков для AVR.
В конце может быть лучше переделать доску правильно.
источник
Шину I2C можно исправить без каких-либо изменений печатной платы (другие проблемы, найденные @Unimportant, все еще требуют внимания).
Просто:
Обратите внимание, что программируемые подтягивания не будут точно рекомендованными значениями для использования I2C, поэтому вы должны пересчитать максимальную скорость на основе новой прочности подтягивания.
источник