Я пытаюсь прочитать аналоговый магнитометр с помощью Raspberry Pi Zero. Я никогда раньше не работал непосредственно с Pi; это всегда было через Arduino, подключенную к Raspberry Pi. Однако в ходе исследований я обнаружил, что Pi не очень хорошо работает с аналоговыми датчиками, поэтому мне нужно преобразовать аналоговый сигнал в цифровой, чтобы Pi мог его прочитать.
Помимо чтения через Arduino, Adafruit упомянул, что вы можете подключить свой аналоговый датчик к MCP3008, чтобы преобразовать его в цифровой вход. Очень грубая схема показана ниже:
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Помимо выбора магнитометра, какие конструктивные соображения следует учитывать при работе с АЦП? Нужно ли что-то делать, чтобы обеспечить стабильность часов и линий DIN/DOUT? Целесообразно ли, чтобы AGND и DGND были подключены к одной и той же плоскости GND с Pi? Эта схема выглядит слишком упрощенной, так нужно ли что-то еще, чтобы она работала?
На всякий случай, если кто-то спросит, я использую магнитометр в рамках проекта по измерению поля в 10 тесла и записи данных с помощью Raspberry Pi.
Это не специально для АЦП, а для смешивания аналоговых и цифровых схем в одном устройстве.
Цифровые схемы обычно довольно шумные, и вы хотите, чтобы этот шум был как можно дальше от аналоговой части вашей схемы, и часть этого заключается в разделении двух систем.
Во-первых, вы хотите убедиться, что у вас хорошая развязка на шинах питания, и, похоже, вы это сделали.
Во-вторых, вы хотите, чтобы цифровые сигналы (в вашем случае линии данных и особенно часы) были отделены от любых аналоговых сигналов, чтобы минимизировать перекрестные помехи.
Наконец, вы хотите разделить цифровой источник питания, если можете, и иметь одно соединение с шиной, если не можете. В вашем случае это будет означать соединение AGND и земли для вашего магнитометра вместе, а также развязку компонентов, а также наличие одного провода или дорожки, соединяющей цифровую землю, то же самое для питания.
В зависимости от того, насколько точным вы пытаетесь быть, в этом может не быть необходимости , но они помогают для более требовательных аналоговых схем.
Редактировать: что касается одного заземляющего соединения, представьте, что у вас есть аналоговая заземляющая плоскость и цифровая заземляющая плоскость, и ваша аналоговая плоскость соединяется с цифровой плоскостью в месте, где есть шум 0,1 В. Предполагая, что у вас хорошая развязка, это не должно быть проблемой, потому что на вашей шине Vcc будет такой же шум, и ваш аналоговый сигнал будет видеть только разницу между Gnd и Vcc, которая должна быть достаточно стабильной. Ваши аналоговые сигналы будут иметь шум 0,1 В относительно источника питания/цифровой земли, но, поскольку шум одинаков для всей аналоговой схемы, это не имеет значения.
Теперь давайте предположим, что ваш АЦП подключен к тому же месту с шумом 0,1 В, а ваш магнитометр подключен к месту с шумом 0,2 В. Опять же, источник питания для каждого чипа будет иметь одинаковый шум (из-за развязки), поэтому по отдельности чипы не будут видеть шум. Однако, когда вы подаете сигнал от магнитометра (который имеет 0,2 В шума поверх него) на АЦП (у которого земля имеет 0,1 В шума), АЦП увидит 0,1 В шума в сигнале магнитометра.
Ситуация такая же плохая, когда вы сплавляете плоскости вместе, потому что теперь земля аналоговых цепей будет видеть большие токи от цифровых цепей, а каждая аналоговая цепь будет видеть различное напряжение для земли.
пользователь105652
ЛучшееКачествоВакуум
пользователь105652
ЛучшееКачествоВакуум
пользователь105652