Датчик /датчик давления (0,5 - 4,5 В) неадекватные аналоговые выводы

У меня относительно дешевый датчик давления 0-15psi. Он имеет 3 контакта - заземление 5 В и сигнал. Сигнал выводит напряжение от 0,5 до 4,5 В на основе давления от 0 до 15 фунтов на квадратный дюйм. Я могу проверить, что он реагирует на значительное повышение давления, поэтому он работает, по крайней мере, до определенной точки.

Проблема заключается в том, что чтение от arduino может отличаться более чем на 50% при атмосферном давлении окружающей среды (покоящейся на столе). Это должно быть значительно более точным, если данные датчика должны быть доверены. Основной код:

void setup(){
  Serial.begin(9600);
}

void measurePressure(){
  int rawReading = analogRead(A0);   // Range : 0..1024
  //float rawVoltage = (rawReading * (4.5 / 1023.0)) + 0.5;

  Serial.print("Raw reading: ");
  Serial.println(rawReading);

}

void loop() {
  measurePressure();
  delay(1000);
}

Выходные вариации не являются полностью случайными, кажется, что чтение идет вниз и вверх с интервалом примерно 5-15 секунд. Ниже приведен пример:

Raw reading: 61
Raw reading: 67
Raw reading: 70
Raw reading: 73
Raw reading: 74
Raw reading: 78
Raw reading: 75
Raw reading: 82
Raw reading: 85
Raw reading: 90
Raw reading: 89
Raw reading: 97
Raw reading: 103
Raw reading: 119
Raw reading: 146
Raw reading: 165
Raw reading: 171
Raw reading: 168
Raw reading: 163
Raw reading: 150
Raw reading: 143
Raw reading: 118
Raw reading: 88
Raw reading: 70
Raw reading: 62
Raw reading: 64
Raw reading: 72
Raw reading: 78
Raw reading: 80
Raw reading: 82
Raw reading: 88
Raw reading: 92
Raw reading: 102
Raw reading: 134
Raw reading: 160
Raw reading: 170
Raw reading: 172
Raw reading: 166
Raw reading: 158
Raw reading: 149
Raw reading: 132
Raw reading: 100
Raw reading: 73
Raw reading: 63
Raw reading: 61
Raw reading: 71
Raw reading: 77
Raw reading: 79
Raw reading: 84
Raw reading: 90
Raw reading: 90
Raw reading: 99
Raw reading: 134
Raw reading: 161
Raw reading: 170
Raw reading: 166
Raw reading: 161
Raw reading: 151
Raw reading: 133
Raw reading: 103
Raw reading: 81
Raw reading: 68
Raw reading: 63
Raw reading: 63
Raw reading: 71
Raw reading: 73
Raw reading: 81
Raw reading: 83
Raw reading: 85
Raw reading: 89
Raw reading: 98
Raw reading: 128
Raw reading: 161
Raw reading: 171
Raw reading: 166
Raw reading: 159
Raw reading: 145
Raw reading: 120
Raw reading: 85
Raw reading: 67
Raw reading: 57
Raw reading: 63
Raw reading: 72
Raw reading: 75
Raw reading: 83
Raw reading: 85
Raw reading: 89
Raw reading: 97
Raw reading: 130
Raw reading: 164
Raw reading: 172
Raw reading: 163
Raw reading: 155
Raw reading: 135
Raw reading: 101
Raw reading: 69
Raw reading: 60
Raw reading: 62
Raw reading: 72
Raw reading: 78

Я попробовал добавить 4.7k pull down резистор без каких-либо изменений, но это была просто слепая попытка. У меня также есть мультиметр, и показания кажутся более стабильными в диапазоне от 0,495 до 0,535 В (варианты, похоже, не соответствуют выходу arduino).

Что может быть причиной проблемы?

5 голосов | спросил DominicM 22 MarpmSat, 22 Mar 2014 23:50:02 +04002014-03-22T23:50:02+04:0011 2014, 23:50:02

1 ответ


2
  

Я попробовал такую ​​же настройку с arduino uno, и проблема исчезла. Он также работает на микро, пока gnd и 5v pin подключены к uno. Uno измеренное напряжение составляет 4,88 В, а микро 4.60 В может разность напряжений, эта небольшая причина? Что еще может быть?

Восстановление неверных прав человека от Annonomus Person (AP: Пожалуйста, не редактируйте ответы таким образом, чтобы полностью изменить их смысл. В текущем обсуждении «доска» не имеет смысла. Мы пытаемся различать симптомы, наблюдаемые в двух разных «досках», Arduino Uno и Arduino Micro.)

Похоже, проблема в том, что с питанием от Arduino Micro 5V.

Если вы питаете Micro от внешнего источника питания (а не USB), то 4.6V на выходе Micro 5V будет указывать на то, что регулятор 5V не работает в пределах ожидаемого диапазона.

Если вы используете питание от USB, регулятор не работает. 4.6V указывает на проблему с питанием USB 5V.

Вероятные возможности :, либо восходящее снабжение неадекватно, либо микроны и все, что прикреплено к нему, слишком сильно текут.

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

Либо «4.6V» неадекватно запускает преобразователь, вызывая выход из строя преобразователя, либо сам 4.6V колеблется, с аналогичными результатами на транс-выходе.

И вы также можете проверить землю между микро и преобразователем - уверены ли вы правильно подключены?

ответил gwideman 9 AMpWed, 09 Apr 2014 02:34:59 +040034Wednesday 2014, 02:34:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132