[Arduino] Régulation pac
#35
Bon le problème est en effet hardware mais aussi logiciel ... J'ai des pertes assez importantes à cause de tous les fils avec
leurs résistances internes et mauvais contact du coup ça fausse les mesures derrières ... ( chute tension, toussa )

Du coup j'ai également contrôlé les capteurs de pression, ce sont bien des capteurs électronique car les valeurs ohmique
ne changent pas en fonction de la pression, au final le capteur BP est prévu pour aller en dépression jusqu'à 0.2V mais pas
le capteur HP ( je suppose )  ce qui serait logique et par contre les deux font une lecture en pression absolue. ( 0.2V à -0.95bars relatif )

J'ai essayé d'étalonner les échelles en 3 points à partir du mini, maxi et d'un point mesuré en réel mais c'est pas vraiment conclulant
à croire que ce n'est pas linéaire non plus ... Difficile à vérifier sans les démonter.


Et le code à jour, plus pour moi ça Siffle
Code :
#include <Stepper.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>

// Définition des pins utilisés par le Shield LCD
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);

#define ONE_WIRE_BUS 6 // Définition de la valeur du BUS OneWire
OneWire oneWire(ONE_WIRE_BUS); // Définition du BUS OneWire
DallasTemperature sensors(&oneWire); // Conversion OneWire > DallasTemperature

// Adressage des sondes DS18B20 ( Evap, surchauffe )
DeviceAddress Sonde_SR = { 0x28, 0xC2, 0x75, 0x82, 0x05, 0x00, 0x00, 0xBB };
DeviceAddress Sonde_SC = { 0x28, 0xFF, 0xEC, 0x99, 0x3C, 0x04, 0x00, 0x9F };

float Surchauffe = 6.5;
float Surchauffe_cal;
int Position_det = 0;
float Temp_BP = 0;
float Temp_HP = 0;
int Pin_Capteur_BP = A4;
int Pin_Capteur_HP = A5;
int Capteur_BP;
float Capteur_BP_Out;
int Capteur_HP;
float Capteur_HP_Out;

// initialize the stepper library on pins 2 through 5:
Stepper myStepper(480, 2, 3, 4, 5);

void setup() {
  //analogReference(EXTERNAL);
 
  // Initialisation écran
  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Initialisation");
  delay(500);
 
  // initialize the serial port:
  Serial.begin(9600);

  // Configuration des sondes DS18B20
  sensors.begin();
  sensors.setResolution(Sonde_SR, 10);
  sensors.setResolution(Sonde_SC, 10);

  // Nombre de tour/min détendeur
  myStepper.setSpeed(4);

  // Fermeture détendeur
  lcd.setCursor(0,1);
  lcd.print("Ferm EEV > 0%");
  //myStepper.step(-500); // 480 + 20 ( sécu )

  delay(3000);
 
  // Ouverture détendeur 50%
  lcd.setCursor(0,1);
  lcd.print("Ouv EEV > 50%");
  //myStepper.step(+240);
  Position_det = 240;

  delay(3000);
}

void loop() {
  // Récupération des températures
  sensors.requestTemperatures();

  int Tension_Analog = map(A1, 0, 1023, 0, 4920);
 
  // Récupération pression BP
  Capteur_BP = analogRead(Pin_Capteur_BP);

  int Tension_BP = map(Capteur_BP, 0, 1023, 0, 4920);
  float Capteur_BP_Out = (float)map(Tension_BP, 0, 4920, 0, 98) / 10;
  Serial.println("CAPTEUR BP");
  Serial.println(Capteur_BP);
  Serial.println(Tension_BP);
  Serial.println(Capteur_BP_Out);
  Serial.println("-----------");
 
  // Conversion Pression/température BP
  float Temp_BP_Out = (float)map(Tension_BP, 0, 4920, -13, 42.30);

  // Récupération pression HP
  Capteur_HP = analogRead(Pin_Capteur_HP);
 
  int Tension_HP = map(Capteur_HP, 0, 1023, 0, 4920);
  float Capteur_HP_Out = (float)map(Tension_HP, 160, 4920, 0, 343) / 10 - 1;
  Serial.println("CAPTEUR HP");
  Serial.println(Capteur_HP);
  Serial.println(Tension_HP);
  Serial.println(Capteur_HP_Out);
  Serial.println("-----------");
 
  // Conversion Pression/température HP
  float Temp_HP_Out = (float)map(Tension_HP, 0, 4920, 10, 92.75);
 
  delay(250);

  // Attribution des valeurs
  float Sonde_SR = sensors.getTempCByIndex(0);
  float Sonde_SC = sensors.getTempCByIndex(1);

 
  Surchauffe_cal = Temp_BP + Surchauffe;

  // Action si Surchauffe_Réelle supérieur à Surchauffe_Calculée
  if (Sonde_SC > Surchauffe_cal && Position_det < 480)
  {
    myStepper.step(+1); // Ouverture détendeur
    ++Position_det;
  }
 
  // Action si Surchauffe_Réelle inférieur à Surchauffe_Calculée
  else if (Sonde_SC < Surchauffe_cal && Position_det > 10)
  {
    myStepper.step(-1); // Fermeture détendeur
    --Position_det;
  }
  else {
    // Rien
  }

  int bouton = analogRead(A0);
 
  // Affichage LCD alterné
  if (bouton > 900)
  {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Te:");
    lcd.print(Temp_BP_Out);
    lcd.setCursor(8,0);
    lcd.print("Tc:");
    lcd.print(Temp_HP_Out);
    lcd.setCursor(0,1);
    lcd.print("SC:");
    lcd.print(Sonde_SC - Temp_BP_Out);
    lcd.setCursor(8,1);
    lcd.print("SR:");
    lcd.print(Temp_HP_Out - Sonde_SR);
   
  }
  else {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Pe:");
    lcd.print(Capteur_BP_Out);
    lcd.setCursor(8,0);
    lcd.print("Pc:");
    lcd.print(Capteur_HP_Out);
    lcd.setCursor(0,1);
    lcd.print("Pos det:");
    lcd.print(Position_det);
  }
 
  delay(250);
}
T'as un problème, t'veux un ban ?  Ohgod
Répondre


Messages dans ce sujet
[Arduino] Régulation pac - par OrOoX - 2019-12-03 20:25:05
RE: [PAC] Régulation pac - par Kissagogo27 - 2019-12-04 14:07:13
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 17:45:48
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-04 19:14:31
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 19:38:20
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-04 19:41:36
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-04 19:51:33
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-04 20:05:38
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 19:58:36
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-04 20:55:03
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 21:16:20
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-04 21:34:32
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 21:43:39
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-04 23:28:49
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-05 06:55:23
RE: [PAC] Régulation pac - par OrOoX - 2019-12-05 09:57:22
RE: [PAC] Régulation pac - par Kissagogo27 - 2019-12-05 12:37:41
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-05 14:00:26
RE: [PAC] Régulation pac - par OrOoX - 2019-12-05 21:14:54
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-05 22:45:08
RE: [PAC] Régulation pac - par OrOoX - 2019-12-05 23:23:40
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-05 23:56:37
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 00:14:43
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 00:27:50
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 13:04:29
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 13:32:24
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 16:40:38
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 16:51:01
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 17:52:55
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 17:58:33
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 20:53:21
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 21:09:50
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 21:28:05
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 21:36:56
RE: [PAC] Régulation pac - par OrOoX - 2019-12-07 19:13:05
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-07 19:24:21
RE: [PAC] Régulation pac - par OrOoX - 2019-12-07 20:21:41
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-07 21:25:32
RE: [PAC] Régulation pac - par OrOoX - 2019-12-07 21:52:29
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-07 22:13:09
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-07 22:30:36
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-07 23:49:28
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-08 00:08:18
RE: [PAC] Régulation pac - par OrOoX - 2019-12-08 09:29:18
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-09 19:21:54
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-09 20:13:18
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-09 20:30:57
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-09 20:37:22
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-09 20:48:31
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-09 21:33:07
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-10 01:06:19
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-10 14:12:01
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-10 14:51:34
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-10 18:27:37
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-10 22:19:02
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-10 22:32:24
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-10 22:34:23
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-10 22:59:35
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-11 00:04:51
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 08:01:56
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 10:45:52
RE: [Arduino] Régulation pac - par Sk_rmouche - 2020-04-11 10:59:24
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 11:06:24
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 13:58:31
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-11 15:49:50
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 16:27:26
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-11 18:12:57
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 18:49:23
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-11 19:31:47
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-11 20:44:12
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-12 07:55:48
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-12 10:05:25
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-12 10:19:07
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-12 13:45:42