Чтение значений с резистора, чувствительного к силе — Arduino

Я пытаюсь прочитать значения с резистора, чувствительного к силе, с помощью Arduino. На самом деле я их уже читаю, но это работает, только если я использую резистор 10 Ом или ниже, и он действительно нагревается. (См. прилагаемую схему). Если я пытаюсь использовать более высокий резистор, Arduino постоянно считывает 1023, как будто FSResistor не было. Как я могу прочитать значения FSR без использования резистора 10 Ом, который нагревается?

Обратите внимание, что FSR без приложения силы имеет сопротивление 50 Ом, а при приложении давления снижается до 5-10 Ом.

Схема

Поменяйте местами резистор и датчик давления и повторите попытку.
@ Дориан, я пробовал, и с резистором 10 Ом я получаю то же самое. С резистором 10 кОм я прочитал 0 вместо 1023.
Хорошо, вы зашли слишком далеко, попробуйте что-то среднее, если у вас есть датчик давления на 50 Ом, используйте резистор на 500 Ом, который даст вам напряжение 5 В/11, около 500 мВ без давления, которое читается АЦП. С 10K у вас есть 5 В * 50/10000 ~ 25 мВ, которые вряд ли можно использовать. Поместите датчик давления на землю.
Для лучшего разрешения используйте AnalogReference(INTERNAL), что даст вам лучшее разрешение около 1 мВ/единица на AnalogRead()
Спасибо, теперь работает намного лучше. Наконец, я использую резистор на 220 Ом. Только вопрос, а почему датчик давления лучше ставить на землю?

Ответы (1)

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Vo = V1* R2 /(R1+R2)

Суммарная мощность Po = V1*V1/(R1+R2)

Блок АЦП (эталонное значение 5 В) = 5 В/1023 ~= 5 мВ

Единица АЦП (внутреннее задание 1,1) = 1,1/1023 ~= 1 мВ

Без давления R1 = 470 Ом:

  • Vo = 5*50/520 = 480 мВ ~= 96 (5 В) или 480 (1,1 В) единиц АЦП
  • Po = 25/520 = 48 мВт

Без давления, R1 = 10 кОм:

  • Vo = 5*50/10050 = 25 мВ ~= 5 (5 В) или 25 (1,1 В) единиц АЦП.
  • Po = 25/10050 = 2,4 мВт

Без давления, R1 = 10 Ом:

  • Vo = 5*50/60 = 4,16 В ~= 803 (5 В) единиц АЦП.
  • Po = 25/60 = 0,41 Вт

Тот же расчет для давления, применяемого до тех пор, пока датчик не будет иметь 10 Ом:

R1 = 10 Ом:

  • Vo = 5*10/20 = 2,5 В ~= 500 (5 В) единиц АЦП.
  • Po=25/20=1,25Вт, поэтому резистор греется

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

При использовании внутреннего эталона вы потеряете логометрический вывод, но увеличение разрешения компенсирует это.