Измерение тока напрямую с Arduino

Безопасно ли измерять ток таким образом, если измеренное падение напряжения не превышает 5 В? Я спрашиваю об этом, потому что почти во всех схемах измерения тока они использовали в своей конструкции операционный усилитель.

Нужен ли резистор между шунтирующим резистором и АЦП? Есть ли какой-либо заметный ток, протекающий через АЦП Arduino, который может повредить его?

схема

, 👍1

Обсуждение

Куда вы подключаете землю Arduino?, @Edgar Bonet

@EdgarBonet точки соприкосновения., @ElectronSurf

Вам нужно измерить на другой стороне чувствительного резистора. В противном случае вы всегда будете измерять 0 вольт. Причина, по которой во многих конструкциях используются операционные усилители, заключается в том, что они могут поддерживать чувствительный резистор как можно ниже. Чувствительные резисторы с более высоким значением будут создавать более высокие падения напряжения, что приведет к более низкому напряжению, подаваемому на нагрузку., @Gerben

@Gerben Спасибо, исправил схему., @ElectronSurf

Вы должны показать (и подключить) «источник питания -» к Arduino GND. Обычно схематика более ясна, когда GND находится внизу., @DataFiddler

Может быть, я недостаточно ясно выразился… «Куда вы подключаете землю Arduino?» Я имел в виду «Пожалуйста, покажите заземление на схеме»., @Edgar Bonet

@EdgarBonet обновил схему., @ElectronSurf


2 ответа


Лучший ответ:

2

Представьте, что вы ожидаете, что через вашу цепь будет проходить ток силой 1 А. Резистор 0,1 Ом даст вам падение напряжения 0,1 В. Это вызывает две проблемы.

Во-первых, в Arduino встроен дешевый АЦП. Он должен быть простым в использовании, но не очень точным. Он имеет нелинейность в сторону нижнего и верхнего диапазона. Вы получите более точные показания при измерении напряжения около 2,5 В.

Во-вторых, точность ваших измерений снижается в 50 раз. Arduino содержит АЦП с разрешением 10 бит. Это означает, что между 0 В и 0,1 В есть только 20 шагов. Это не совсем точно.

Решение? Используйте операционный усилитель в качестве "дифференциального усилителя". Если вы умножите разницу напряжений на 25, вы получите 2,5 В на выходе усилителя, когда на резисторе падение напряжения 0,1 В. Это значение намного точнее при считывании с помощью аналогового считывания Arduino, и даже незначительное изменение напряжения на резисторе даст вам в 25 раз большее изменение на выходе усилителя. Таким образом, это намного точнее и точнее.

,

Я копался в «области» операционных усилителей, и, честно говоря, хороший операционный усилитель для измерения тока стоит дорого, я думал использовать Arduino, и если мне нужно больше точности, я мог бы использовать 12-битный АЦП или немного увеличить значение шунтирующего резистора ... но вопрос; Безопасно ли подключать шунтирующий резистор напрямую к АЦП Arduino или нет., @ElectronSurf

Этот ответ верный, но не полный. Вы можете использовать внутреннее опорное напряжение 1,1 В для вашего АЦП. Таким образом, 0,1 В будет соответствовать примерно 90 шагам между ним и 0 В. Таким образом, вы можете получить полезные, но не отличные результаты с помощью встроенного подхода. Дифференциальный усилитель — это, безусловно, путь., @Kwasmich

@newbie Я недавно успешно использовал LM358 для повышения напряжения в 20 раз для моего отзыва о зарядном устройстве. Они стоят буквально 6 центов каждый с бесплатной доставкой из Китая. Просто держите выход в «середине» напряжения (2,5 В), @Filip Franik

@FilipFranik это возможно, и я даже купил несколько LMC6482, которые намного превосходят LM358, но они не могут доходить до заземляющей шины 0 В, минимум в моем случае был 9 мВ (максимум 20 мВ!), что означает, что он не может Измерьте небольшое падение напряжения (например, 5 мВ) на резисторе 0,1 Ом. кроме того, вам нужны четыре резистора 1%, которые должны совпадать два на два ... это становится сложным ... Я хочу измерить ток просто с помощью Arduino., @ElectronSurf

@newbie Настоящая сила Arduino заключается в том, что вы можете использовать дешевое оборудование, но компенсировать неточные значения резисторов и аппаратную нелинейность внутри программного обеспечения. Если вы хотите добиться точности, просто соберите схему, подключите к ней (дорогой) амперметр и измерьте то, что показывает АЦП для каждой силы тока. Затем используйте алгоритм линейной интерполяции, чтобы получить точные значения между измерениями. Таким образом вы получите больше точности, чем вам нужно., @Filip Franik


1

В Arduino поступает плохой ток, если напряжение АЦП превышает Vcc (5 В). Этот нежелательный ток может быть ограничен резистором. Но если на шунтирующем резисторе такое высокое напряжение, что-то еще не так. Вы скорее страдаете от слишком малого напряжения для полезного измерения.

Мое первое сомнение скорее в том, безопасно ли это для шунтирующего резистора.

,