Go Down

Topic: Vacuum calculatie probleem. Nano, oled, HX711 en MD-PS002 (Read 1 time) previous topic - next topic

Nonaak

Hoi allemaal,

Ik ben bezig om een vacuum meter te maken. Het lukt best goed allemaal alleen snap ik geen bal van hoe ik het kan calculeren.

misschien dat iemand daar wel raad mee weet.
Ik heb een arduino Nano met een HX711 met dar aan een MD-PS002 sensor.
De Psi data wil ik uitlezen op een Oled display 128X32.
Ik ben nu aan het gokken wat de Psi moet zijn. ik doe dat met een auto vacuum analoge meter.
Maar dat is niet de juiste manier.

Ik heb hier de code voor de Arduino:

#include "HX711.h"
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET LED_BUILTIN
float analog_pot=0;
#define DOUT 2
#define CLK 3

HX711 scale;

//float calibration_factor =5.1714924102396; // 1 Psi is 5.1714924102396 cm Hg
float calibration_factor =51714; // maby
 
Adafruit_SSD1306 display(OLED_RESET);
  #if (SSD1306_LCDHEIGHT != 32)
  #error("Height incorrect, please fix Adafruit_SSD1306.h!");
  #endif
void setup() {
Serial.begin(9600);
scale.begin(2, 3);
scale.set_scale();
scale.tare(); //Reset the scale to 0
long zero_factor = scale.read_average(); //Get a baseline reading


display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)
  // init done
    display.display();
  delay(200);
  // Clear the buffer.
display.clearDisplay();
}

void loop() {
scale.set_scale(calibration_factor); //Adjust to this calibration factor

display.clearDisplay();
  display.setTextSize(1.9);
  display.setTextColor(WHITE);
  display.setCursor(25,0);
  display.println("Vacuum");

  display.setTextSize(2.5);
  display.setTextColor(WHITE);
  display.setCursor(10,16);
//display.print(scale.get_units()*0.0000, 2);
display.print(scale.get_units()*0.135, 2);
display.println(" Psi");
display.println();
display.print(scale.get_units(), 2);
display.println(" £");
  display.setTextColor(BLACK, WHITE); // 'inverted' text
  display.display();

delay(10);

}

als iemand me daar bij kan helpen zal ik dat zeer waarderen.

Gr Aldrik

shooter

je kunt de lokale luchtdruk opvragen, wel een recente pakken want dat verandert elk uur.
en daarnaast kun je een kolomwater pakken bijvoorbeeld 1 meter in een slang en die ophangen.
dan kun je ook mooi ijken. een volledig vacuum kun je niet maken maar 0,2 bar moet wel kunnen. door een waterslang van 10 meter op te hangen (in de hoogte en dan zien waar het waterpeil begint.
verder moet je in de loop niet steeds calibreren maar wel meten en dat doe je niet.
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

Nonaak

Bedankt voor je antwoord Shooter.

Van dat niet elke keer kalibreren maar meten, heeft u mss een voorbeeld?

gr Aldrik

shooter

kalibreren doe je bij het starten dus in de setup en als je een commando geeft om te herijken
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

Nonaak

Bedankt voor je antwoord Shooter,

Ik begrijp wat je zegt, maar helaas ben ik nog niet zo ervaren om dat in praktijk te brengen. ik heb gekeken en opgezocht maar ik kom niet echt verder.

Maar toch erg bedankt dat je de moeite neemt om te antwoorden.

Gr Aldrik

shooter

zorg er eerst eens voor dat je een waarde krijgt van je analoge sensor en die in de seriele monitor kunt zien.
vervolgens ga je die data omzetten naar je display.
dan heb je dus nog een 0 waarde nodig maar dat is bijvoorbeeld 1013 mbar en een andere waarde bijvoorbeeld 1050 mbar en dan is het een kwestie van rekenen tot je de juiste waarde hebt en die stuur je dan naar het display.
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

Nonaak


Go Up