ARDUINO Пляшут показания с датчика давления (нужна помощь).

gms

✩✩✩✩✩✩✩
4 Мар 2019
3
0
Добрый день уважаемые форумчане.

Имеем Ардуино Нано v3.

К порту А6 подключен датчик давления
https://ru.aliexpress.com/item/DC-5-1-8NPT/32915402276.html (100PSI)

Питание пробовал и через USB порт компьютера и через БП (стабильно 5 вольт).

На выходе с датчика имеем около 0.5 вольта (как и положено при нулевом давлении)

Если подать на порт 5 вольт показания 1024, если подать землю то 0.

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

Пример показаний при нулевом давлении:
pressure =97 pressure =58 pressure =58 pressure =111 pressure =72 pressure =152 pressure =129 pressure =149 pressure =19 pressure =117 pressure =76 pressure =187 pressure =108 pressure =40 pressure =74 pressure =154 pressure =168 pressure =37 pressure =173 pressure =111 pressure =229 pressure =94 pressure =60 pressure =55 pressure =77 pressure =89


Пример программы:

#include <Arduino.h>
#include <TM1637Display.h>

// Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3

// The amount of time (in milliseconds) between tests
#define TEST_DELAY 1000

bool pumpOn;
bool idling;
bool button1;
bool button2;
int pressure = 0;
unsigned long worktimer = 0;

TM1637Display display(CLK, DIO);

void setup()
{
pinMode(A5, INPUT_PULLUP);
pinMode(A6, INPUT);
display.setBrightness(0x0f);
display.clear();
button1 = !digitalRead(A5);
worktimer = millis ();
Serial.begin(9600);
delay(1000);
}

void loop()
{
unsigned long mil;
mil=millis();
if (worktimer + TEST_DELAY < mil) {
worktimer = mil ;
pressure=analogRead(A6);
display.showNumberDec(pressure, false);
Serial.print(" pressure =");
Serial.print(pressure);
}
}

Подскажите пожалуйста куда копать .... ?????
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,005
406
Москва
wan-derer.ru
@gms, замерить показания датчика вольтметром. Если напряжение так же скачет, значит это особенность данного датчика.
Тогда смотреть статью https://alexgyver.ru/arduino-algorithms/ , раздел "Фильтры значений", писать соответствующий фильтр.
Ещё посмотреть в интернетах как правильно подключать такой датчик. Может, его надо подписать, например, к плюсу или согласовывать сопротивление.
 

gms

✩✩✩✩✩✩✩
4 Мар 2019
3
0
Вот что выяснилось. Показания плавают при подключении дисплея на TM1637 и именно при выводе на него любой информации (что-бы горел хотя бы 1 сегмент). На данный момент показания около 97+-5 единиц, что собственно норма !

Так же пробовал менять МИНИ на УНО - разницы нет !

Всем спасибо !
 
Изменено:

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,005
406
Москва
wan-derer.ru
@gms, Возможно, блок питания настолько слабый что напряжение просаживается при работе индикатора. Схему устройства приведи чтобы не гадать тут.
 

gms

✩✩✩✩✩✩✩
4 Мар 2019
3
0
Ув. @Wan-Derer, Как я писал ранее: подключал просто от usb и от БП на 5 вольт 2 ампера через микроУСБ и через пины и лабораторного БП.