Чтение датчика давления от 4 до 20 мА с использованием uno

У меня есть датчик давления OsiSense™ XMLP, который я хочу считать с моего Arduino uno. Это схема, которую я собираю для измерений от 4 до 20 мА.
Показания от 4 до 20 миллиампер с использованием Arduino

Я читал в Интернете, чтобы узнать, как построить схему. Можете ли вы сказать мне, правильно ли это?

Кроме того, я не понимаю, почему это работает, и я надеюсь, что вы сможете исправить мое мнение. Следуя закону Ома, мы хотим оставить 5 В, когда через цепь проходит 20 миллиампер. Мы знаем, что напряжение в цепи постоянно составляет 24 вольта (короткие кабели), и мы знаем, что максимальный ток составляет 20 миллиампер, поэтому моя математика говорит:

Сопротивление = Напряжение / I (ток)

Нам нужно оставить 5 вольт для Arduino, чтобы он мог считывать показания датчика при максимальном давлении, поэтому мы вычитаем 5 из 24.

Сопротивление = 19/20 мА

Поэтому резистор, который нужно выбрать, чтобы дать нам максимум 5 вольт, это резистор 0,95 кОм. Я не понимаю, где резистор 250 Ом? пожалуйста, помогите.

, 👍1


1 ответ


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

4

Чтобы считать ток с помощью Arduino, вам сначала нужно преобразовать этот ток в напряжение, и вы делаете это, пропуская его через сопротивление. Вас интересует падение напряжения на этом сопротивлении при изменении тока.

схема

Для тока 4–20 мА вам нужно выбрать сопротивление, обеспечивающее напряжение в диапазоне 5 В, которое может считывать Arduino.

Самое большое падение напряжения на резисторе произойдет, когда ток будет максимальным (20 мА), поэтому вы можете использовать это для расчета подходящего номинала резистора:

R = V/I = 5 / 0.02 = 250

И для того же сопротивления при минимальном токе:

V=IR = 0.004 × 250 = 1

Таким образом, на резисторе вы получите от 1 В (4 мА) до 5 В (20 мА).

Резисторы на 250 Ом встречаются не так часто, поэтому вместо них следует использовать более распространенное значение, например, 220 Ом. Замена 250 Ом на 220 Ом даст напряжения:

@20mA: V=IR = 0.02 × 220 = 4.4V
@4mA:  V=IR = 0.004 × 220 = 0.88V

И то, и другое удобно в пределах диапазона Arduino, а также дает немного пространства для маневра в случае любых небольших условий перегрузки по току.

Также может быть полезно защитить аналоговый вход Arduino с помощью резистора + стабилитрона, чтобы предотвратить повреждение в случае, если резистор выходит из строя / отключается, и вы получаете полное выходное напряжение, подаваемое непосредственно на Arduino:

схема

,

Спасибо, что так быстро вернулись ко мне. Я все еще не понимаю правильно. Сегодня вечером я прочитаю еще раз и дам ему впитаться. Как вы можете сказать, я довольно новичок в этом, поэтому, возможно, упускаю какое-то базовое понимание., @resolver101

Во второй схеме R2 предназначен только для ограничения тока через стабилитрон в случае перегрузки. R1 такой же, как и в первой схеме, и пропускает через себя 99,9999% тока для создания падения напряжения., @Majenko

@Majenko, каков ток утечки 1N4733A при 5 В? Когда R1 получил ослабленную ногу, а 24 В будет на R2, то постоянное напряжение 24 В требует резистора 4 Вт для R2. Для базовой защиты также подойдет установка R2 10k и удаление стабилитрона., @Jot

Вы зациклились на 24В. Забудьте о 24В. Это максимум, что может быть при разомкнутой цепи. Он *никогда* не должен превышать 20 мА, что составляет 40 мВт через резистор 100 Ом., @Majenko

Извините, забыл, что ток максимум 20мА. Утечка стабилитрона, вероятно, слишком мала, чтобы иметь какое-либо влияние. Тем более, когда вы устанавливаете 20 мА на 4,4 В. Еще раз извините. Я получаю это сейчас., @Jot