Arduino Forum

International => Français => Réalisations et Projets Finis => Topic started by: jfs on Apr 06, 2012, 08:09 pm

Title: Commande de pompe à vide
Post by: jfs on Apr 06, 2012, 08:09 pm
Allez... je me lance pour une première présentation  :smiley-mr-green:

Voici la pompe à vide que j'ai fait avec un compresseur de réfrigérateur :

(http://i29.servimg.com/u/f29/11/19/17/06/img_0115.jpg)

Comme je n'aime pas ce qui n'est pas démontable, je l'ai ouverte en coupant le couvercle au milieu de la soudure, j'ai fabriqué une gouttière en tôle, dans laquelle vient se loger un joint pour rendre le couvercle amovible.

Le filtre au charbon actif, permet de piéger les particules d'huiles qui s'échappent du compresseur :

(http://i29.servimg.com/u/f29/11/19/17/06/img_0116.jpg)

Une vue de l'intérieur de la commande :

(http://i29.servimg.com/u/f29/11/19/17/06/img_0111.jpg)

On voit sur la droite les triacs BT139-800V, au démarrage ils commandent les deux inductions du moteurs puis celui du haut se coupe au bout de quelques 10èmes de secondes.
De l'autre coté du circuit se trouvent les condensateurs, le quartz 16Mhz et une alimentation à découpage de disque dur externe, 230V  >> 5V 2A .
En blanc, les optotriacs MOC 3020.
Sur la gauche, le capteur de pression atmosphérique, sous sa prise se trouve un Atmega168.
En dessous une prise ISP pour la programmation avec l'AVRIsp MKII.
En dessous en blanc deux leds qui attestent du fonctionnement de chaque circuit.

Vue du boitier ouvert :

(http://i29.servimg.com/u/f29/11/19/17/06/img_0112.jpg)

Dans le couvercle se trouve l'écran, ajusté dans un logement fraisé dans la face et le circuit comportant les interrupteurs.
Il a fallut fraiser un peu les circuit imprimés pour que cela passe avec les prises lors de la fermeture du boitier.

L'écran lorsque l'appareil est mis sous tension :

(http://i29.servimg.com/u/f29/11/19/17/06/img_0113.jpg)

Les boutons servent à monter ou descendre la valeur de la dépression à atteindre (le + et - à gauche en bas) et à démarrer et stopper le compresseur ( Start et Stop en bas à droite).

Les boutons sont fait avec des corps de leds blanche qui avaient grillé:

(http://i29.servimg.com/u/f29/11/19/17/06/img_0114.jpg)

Je leurs ai coupé les pattes, elles viennent prendre appuis directement sur les boutons en dessous. Elles ont une collerette qui les empêche de sortir.

Voici mon circuit :
(http://i29.servimg.com/u/f29/11/19/17/06/pav10.jpg)

Une petite vidéo :

http://www.youtube.com/watch?v=LYS60iCJYSc

Un peu de code :

Code: [Select]
#include <LiquidCrystal.h> // Inclusion de la librairie pour afficheur LCD

const int RS=2; //2//declaration constante de broche
const int E=19;//3 //declaration constante de broche

const int D4=18;//4 //declaration constante de broche
const int D5=17;//5 //declaration constante de broche
const int D6=16;//6 //declaration constante de broche
const int D7=15;//7 //declaration constante de broche

LiquidCrystal lcd(RS, E, D4, D5, D6, D7);// initialisation LCD en mode 4 bits

const int PRESSUREPIN = 0; // déclaration de la constante de broche // capteur de pression

const int CurrentPin=7;//4 //declaration constante de broche
const int PlusPin=8;//5 //declaration constante de broche // inter +
const int MinusPin=6;//6 //declaration constante de broche // inter -
const int StartPin=5;//7 //declaration constante de broche // inter start/stop

int plusVal=0; // variable du bouton +
int minusVal=0;// variable du bouton -
int buttonPlus=300; // variable de l'état du bouton +
int buttonMinus=300; // variable de l'état du bouton -
int startVal=0;// variable du bouton start
int  etatStart=0;// variable d'état de la commande de démarrage du compresseur

long Time=0;
long oldTime=0;
long motorOldTime=0;
long oldLcdTime=0;

float pressure=0;
float RTPressure=0;
float atmoPressure=0;
int pressureVal=0;

const int motorPinDem=9;
const int motorPin=10;
int motorState=0;

float filterVal=0.9;


void setup(){

 pinMode(CurrentPin,OUTPUT); // 5 volts pour interrupteurs de sélection
 pinMode(PlusPin,INPUT); // interrupteur +
 pinMode(MinusPin,INPUT); // interrupteur -
 pinMode(StartPin,INPUT); // interrupteur start/stop

 pinMode(motorPinDem,OUTPUT);
 pinMode(motorPin,OUTPUT);

 pinMode (PRESSUREPIN,INPUT);
 pressure=analogRead(PRESSUREPIN);
 atmoPressure=(((pressure/(1023/5))/5)+.04)/.004*10;  // calcul de la pression avec un capteur MPX4250A

 lcd.begin(16,2); // Initialise le LCD avec 20 colonnes x 4 lignes

 delay(10); // pause rapide pour laisser temps initialisation

 // Test du LCD
 //lcd.blink() ;
 
  lcd.print("   Conception   ") ; // affiche la chaîne texte - message de test
 lcd.setCursor(0,1);
 lcd.print("   J-F Schmid   ") ;
 delay(3000); // pause de 3 secondes

 lcd.clear(); // // efface écran et met le curseur en haut à gauche
 delay(10); // pour laisser le temps d'effacer écran
 
 lcd.print("   Etalonnage   ") ; // affiche la chaîne texte - message de test
 lcd.setCursor(0,1);
 lcd.print(" de la pression ") ;
 delay(3000); // pause de 3 secondes

 lcd.clear(); // // efface écran et met le curseur en haut à gauche
 delay(10); // pour laisser le temps d'effacer écran

}

void loop(){

 digitalWrite(CurrentPin,HIGH);
 plusVal=digitalRead(PlusPin);
 minusVal=digitalRead(MinusPin);
 startVal=digitalRead(StartPin);

 pressure=analogRead(PRESSUREPIN);

 RTPressure= lpfilter(float((((pressure/(1023/5))/5)+.04)/.004*10)*.9+(RTPressure*.1), filterVal , RTPressure); // filtrage et conversion en pression atmo
 
 if (plusVal==0) {
   buttonPlus=300;
 }
 else {
   buttonPlus--;
 }
 if (minusVal==0) {
   buttonMinus=300;
 }
 else{
   buttonMinus--;
 }

 //lcd.setCursor(0, 0) ; // positionne le curseur à l'endroit voulu (colonne, ligne) (1ère=0 !)
 Time=millis();
 if (Time-oldLcdTime>100){
   lcd.setCursor(0,0);
   lcd.print("     ") ; // affiche la valeur de la variable
   lcd.setCursor(6,0);
   lcd.print("     ") ;
   oldLcdTime=Time;
 }
 lcd.setCursor(0,0);
 lcd.print(pressureVal) ; // affiche la valeur de la variable
 lcd.setCursor(6,0);
 lcd.print(int(RTPressure-atmoPressure)) ; // affiche la valeur de la variable
 lcd.setCursor(12,0);
 lcd.print("mBar");

 lcd.setCursor(0,1);
 lcd.print(" +  -");

 lcd.setCursor(10,1);
 if (etatStart==0){
   lcd.print("Start");
 }
 else {
   lcd.print("Stop ");
 }

 Time=millis();
 if (minusVal==1){
   Minus();
 }
 else{
 }
 if (plusVal==1){
   Plus();
 }
 else{
 }
 if (startVal==1){
   if (Time-oldTime>500){
     etatStart=!etatStart;
     Time=millis();
     oldTime=Time;
   }
   else{
   }
 }

 else{
 }


 if ((etatStart==0)||((RTPressure-atmoPressure)<pressureVal)){
   Stop();
 }
 else if ((RTPressure-atmoPressure)>pressureVal+20){
   Start();
 }
 else{
 }
}


// ----- memo LCD ---
// LiquidCrystal(rs, enable, d4, d5, d6, d7) ; // initialisation 4 bits
// lcd.begin(cols, rows); // initialisation nombre colonne/ligne
//
// lcd.clear(); // efface écran et met le curseur en haut à gauche
// lcd.home(); // repositionne le curseur en haut et à gauche SANS effacer écran
//
// lcd.setCursor(col, row) ; // positionne le curseur à l'endroit voulu (colonne, ligne) (1ère=0 !)
// lcd.print("texte") ; // affiche la chaîne texte
//
// lcd.cursor() ; // affiche la ligne de base du curseur
// lcd.noCursor() ; // cache le curseur
// lcd.blink() ; // fait clignoter le curseur
// lcd.noBlink() ;// stoppe le clignotement du curseur
// lcd.noDisplay() ; // éteint le LCD sans modifier affichage
// lcd.display() ; // rallume le LCD sans modif affichage
//
// lcd.scrollDisplayLeft(); // décale l'affichage d'une colonne vers la gauche
// lcd.scrollDisplayRight(); // décale l'affichage d'une colonne vers la droite
// lcd.autoscroll() ; // les nouveaux caractères poussent les caractères déjà affichés
// noAutoscroll(); // stoppe le mode autoscroll





void Start(){
 digitalWrite(motorPin,1);
 digitalWrite(motorPinDem,0);
 if (motorState==0){
   motorState=1;
   Time=millis();
   motorOldTime=Time;
 }
 else{
 }
 Time=millis();
 if (motorState==1 && Time-motorOldTime<800 ){  
   digitalWrite(motorPinDem,1);
 }
 else{
 }
}


void Stop(){
 digitalWrite(motorPinDem,0);
 digitalWrite(motorPin,0);
 motorState=0;
}


void Plus(){
 if (Time-oldTime>buttonPlus){
   pressureVal++;
   Time=millis();
   oldTime=Time;
 }
}

void Minus(){
 if (Time-oldTime>buttonMinus){
   pressureVal--;
   Time=millis();
   oldTime=Time;
 }
}




float lpfilter(float data, float filterVal, float filteredVal){

 if (filterVal > 1){
   filterVal = .99;
 }
 else if (filterVal <= 0){
   filterVal = 0;
 }

 filteredVal = (data * (1 - filterVal)) + (filteredVal * filterVal);

 return filteredVal;
}
Title: Re: Commande de pompe à vide
Post by: barbudor on Apr 06, 2012, 08:31 pm
Joli design !
+1
Title: Re: Commande de pompe à vide
Post by: Artouste on Apr 06, 2012, 08:34 pm
bonsoir JF

tu peux obtenir quelle taux de depression avec ton compressseur de frigo ?
c'est quelle reference le MPX de mesure ? 
Title: Re: Commande de pompe à vide
Post by: jfs on Apr 06, 2012, 09:00 pm

tu peux obtenir quelle taux de depression avec ton compressseur de frigo ?


Il me semble que je peux obtenir en deçà de 800mBar de dépression, mais à re-tester
De plus le compresseur lui même s'est bloqué, je suis en train de le remplacer par un autre qui devrait me permettre une dépression plus basse et surtout un meilleur débit.


c'est quelle reference le MPX de mesure ?  


Un MPX4250AP

Petite précision, je route tous mes typons avec fautauchope et j'utilise la méthode imprimante laser pour graver mes circuits imprimés.

Bien entendu cela peut également servir pour une autre régulation, par exemple pour un radiateur en remplaçant le capteur de dépression par un capteur de température, bien entendu le code devra un peu être adapté  XD.
Title: Re: Commande de pompe à vide
Post by: Artouste on Apr 06, 2012, 09:36 pm


tu peux obtenir quelle taux de depression avec ton compressseur de frigo ?


Il me semble que je peux obtenir en deçà de 800mBar de dépression, mais à re-tester
De plus le compresseur lui même s'est bloqué, je suis en train de le remplacer par un autre qui devrait me permettre une dépression plus basse et surtout un meilleur débit.



800mBar c'est déjà intéressant pour pas mal d'application amateur
tu a bloqué ton compresseur à cause de quoi ? manque d'huile ?

Title: Re: Commande de pompe à vide
Post by: jfs on Apr 06, 2012, 10:20 pm

800mBar c'est déjà intéressant pour pas mal d'application amateur
tu a bloqué ton compresseur à cause de quoi ? manque d'huile ?


Je pense que c'est effectivement un manque d'huile, le sac à dépression dans lequel j'avais mis mon stratifié n'était pas parfaitement étanche et le compresseur se mettait en marche un peu trop souvent.... ça à carréement fait sauter les fusible de l'atelier... content mon patron  :smiley-mr-green:
Title: Re: Commande de pompe à vide
Post by: bricofoy on Nov 19, 2012, 07:23 pm
jolie réalisation.

l'huile pour le compresseur, tu peux utiliser du LHM citroen, ça fonctionne très bien, et contrairement à l'huile PAG d'origine, qui est composée d'esthers, ce n'est pas hygroscopique, pour une pompe à videqui est donc susceptible d'aspirer pas mal d'humidité de l'air ambiant,  c'est plutot une bonne chose.
Si tu veux lubrifier au LHM, vide complètement l'ancienne huile et passe un coup de solvant de type dégraissant freins et embrayage, en bombe.


Avec un compresseur de frigo classique, ça descend environ à -850, pour aller plus loin, il faut mettre deux compresseurs en série. C'est ce que j'ai fait pour tirer au vide mon circuit de clim de la voiture.

router avec photoshop.... ça laisse réveur, on applaudi la prouesse ! Mais si tu veux moins te prendre la tête à l'avenir, je te conseille d'installer par exemple KiCAD, c'est libre et gratuit, et extrèmement rapide à prendre en main avec juste le fichier d'aide fourni avec. Et ça fonctionne sous linux, windows et mac.

Title: Re: Commande de pompe à vide
Post by: jfs on Nov 19, 2012, 07:38 pm
Pour kikad, je n'ai pas trouver de fichier de téléchargement pour mac  :smiley-mr-green:

autrement le compresseur à grillé, mais ce n'est pas la lubrification qui est en cause, je projette d'adapter mon montage sur un ancien compresseur d'air comprimé, qui travaillera en aspi.... et là ça va dégommer au niveau débit  XD
Title: Re: Commande de pompe à vide
Post by: bricofoy on Nov 19, 2012, 07:44 pm
oui, mais je doute que ça descende aussi bas en vide qu'un compresseur de frigo. J'avais essayé pour la clim, ça n'allait pas avec le mien. Tout simplement car dans un vrai compresseur la plaque à clapets est bien plus épaisse que dans un compresseur de frigo, il y a alors un volume mort qui est important (juste le volume contenu dans le trou de la plaque), et du coup ce volume limite la dépression atteignable, tout comme si tu veux comprimer à forte pression, il te limite la pression maxi.

pour kicad sur mac : http://www.kicad-pcb.org/display/KICAD/Mac+OS+X  (premier lien google !! tu n'a pas du trop chercher ;) )
Title: Re: Commande de pompe à vide
Post by: jfs on Nov 19, 2012, 07:45 pm
J'ai trouvé, mais la page sur laquelle j'arrivais n'était pas très explicite  :smiley-mr-green: :smiley-mr-green:

Là je télécharge  XD
Title: Re: Commande de pompe à vide
Post by: bricofoy on Nov 19, 2012, 07:51 pm
:)

exemple d'utilisation de kicad +imprimante laser + fer à repasser : http://arduino.cc/forum/index.php/topic,125887.60.html
Title: Re: Commande de pompe à vide
Post by: jfs on Nov 19, 2012, 07:57 pm
Oui, c'est un sujet que j'ai suivi avec attention... comme l'étalonnage de tes injecteur diesel avec des bocaux  ;)

Pour Kikad, il me semble que j'avais déjà essayé de l'utiliser, mais cela ne me plaisais pas vraiment.... je referai un essai
Title: Re: Commande de pompe à vide
Post by: bdureau on May 13, 2014, 09:30 pm

C'est un très beau projet, j'ai par le passé essayé d'autres cicuits avec des comparateurs mais ils sont difficiles à régler.  Je matrise beaucoup mieux l'arduino que j'utilise dans de nombreuses applications.
Aurriez vous s'il vous plait un schema electrique de votre circuit par ce que je desirerai le refaire avec un ATmega 328 et un seul triac pour la sortie (mo modèle de compresseur est different).
Title: Re: Commande de pompe à vide
Post by: jfs on May 13, 2014, 09:54 pm
Je n'ai malheureusement pas de schéma du montage, je l'avais fait au crayon et suis passé directement au typon...
Title: Re: Commande de pompe à vide
Post by: bdureau on May 14, 2014, 07:39 am
Ok je le referai à partir de votre typon et des photos
Merci
Title: Re: Commande de pompe à vide
Post by: bdureau on Jun 12, 2014, 11:33 pm
J'ai fait une version simplifiée de votre pompe que je suis en train d'essayer
Title: Re: Commande de pompe à vide
Post by: bdureau on Jun 15, 2014, 08:56 pm
Les tests de ma version simplifé sont concluant, je vais donc faire un tirage du typon.

Juste une question: pourquoi avez vous 2 sorties avec des triac????
Title: Re: Commande de pompe à vide
Post by: jfs on Jun 15, 2014, 10:40 pm
Les frigos "économiques" ont des moteurs à deux induits, pour le démarrage les deux sont mit sous tensions durant quelques 10èmes de secondes. Une fois le moteur lancé, seul un deux des induits reste alimenté.
Title: Re: Commande de pompe à vide
Post by: Artouste on Jun 15, 2014, 10:50 pm

Les frigos "économiques" ont des moteurs à deux induits, pour le démarrage les deux sont mit sous tensions durant quelques 10èmes de secondes. Une fois le moteur lancé, seul un des des induits reste alimenté.

Salut JF
Tiens , je m'endormirais moins C.N ce soir  :smiley-mr-green:
Je ne connaissais pas "ce point de conception  là"  8)
Title: Re: Commande de pompe à vide
Post by: bricofoy on Jun 15, 2014, 10:52 pm
par contre, pourquoi avoir séparé la commande ainsi plutot que de conserver le relais d'origine qui est intégré dans le boitier du compresseur, ça ça mérite un éclaircissement !
Title: Re: Commande de pompe à vide
Post by: jfs on Jun 16, 2014, 08:47 am
Parce que je voulais faire quelque chose avec des triacs..... et que le compresseur que j'avais n'avait pas de relais  XD
Title: Re: Commande de pompe à vide
Post by: bricofoy on Jun 16, 2014, 08:56 am
le problème que je vois avec ton montage, c'est que tu n'a pas de mesure de courant pour piloter l'enroulement de démarrage. Le relais d'origine il est en série avec l'induit principal, et n'active le second que lorsque le courant dépasse un certain seuil qui indique que le moteur n'est pas lancé.
Bon, dans le cas d'une pompe à vide, en effet normalement il ne doit jamais y avoir de résistance au démarrage du moteur, mais bon...
Title: Re: Commande de pompe à vide
Post by: jfs on Jun 16, 2014, 06:36 pm
J'ai du faire des essais pour savoir combien de temps je devais avoir les deux induits alimentés.
Title: Re: Commande de pompe à vide
Post by: bricofoy on Jun 16, 2014, 06:46 pm
ben je sais que sur ma pompe à vide (avec deux compresseurs en série sinon le vide n'était pas assez poussé) quand il fait froid et qui l'huile est beaucoup moins fluide, il faut plusieurs secondes pour que les moteurs se lancent.
Alors qu'en été, ça démarre immédiatement.
Title: Re: Commande de pompe à vide
Post by: jfs on Aug 01, 2015, 10:14 am
Mise à jour....  :smiley-lol:

Le compresseur de frigidaire avait cramé.... et depuis je n'avais pas eu le temps de refaire une PàV.

Je suis en train de coller des poutre en lamellé collé de 20x32x6000 cm que je presse sous vide.

J'ai donc refait une pompe avec un compresseur acheté en GSB, modifié pour l'occasion.

J'ai rajouté une electrovanne qui remet la chambre de "décompression" à l'air libre afin de faciliter le redémarrage.

Largement modifié le circuit d'air entre le réservoir et la culasse.

Monté ma commande directement sur le boitier interrupteur d'origine (sur les bornes du moteur).

Et... pompe...

(http://i18.servimg.com/u/f18/11/19/17/06/img_5310.jpg)


Résultat plus que satisfaisant, j'arrive à tirer jusqu'à -850 mBar.

Mes poutres sont parfaitement collées.
Title: Re: Commande de pompe à vide
Post by: Artouste on Aug 01, 2015, 12:58 pm
...
J'ai donc refait une pompe avec un compresseur acheté en GSB, modifié pour l'occasion.
Salut JF
tiens c'est "marrant" , je viens de modifier un petit compresseur pneu 12V ( qq € ) pour une utilisation en PAV
destinée à ma campagne pour :
- faire le vide pour mise sous sac des produits "locaux"
- utilisation en compacteur de bouteilles plastiques (ça plait aux gamins ... petits et grands :smiley-mr-green:  )
j'ai simplement collé à l'araldite une valve de chambre à air sur l'entrée d'air (j'ai viré la soupape).

il me reste à lui coller un MPX pour verifier la depression.
(http://www.cjoint.com/doc/15_08/EHbkSVY26J3_pav1.jpg)
(http://www.cjoint.com/doc/15_08/EHbk2Hpu8D3_pav2.jpg)
(http://www.cjoint.com/doc/15_08/EHbk34txvx3_pav3.jpg)



Title: Re: Commande de pompe à vide
Post by: jfs on Aug 01, 2015, 02:01 pm
Excellent  ;)
Title: Re: Commande de pompe à vide
Post by: Artouste on Aug 04, 2015, 09:17 pm
Résultat plus que satisfaisant, j'arrive à tirer jusqu'à -850 mBar.

Mes poutres sont parfaitement collées.
Bonsoir
Pour info, j'obtiens sensiblement le meme taux de dépression ( au MPX5100)
le tirage au vide etant limité par la "techno utilisée"
Plus que suffisant pour "mes utilisations" :smiley-mr-green:

ne pas oublier de prevoir un bocal de decantation intermediaire , ça evite les problemes avec des "trucs trop murs" 8)
Title: Re: Commande de pompe à vide
Post by: Heloderma-kris on Aug 05, 2015, 08:50 am
le bocale de decantation!
 ça me rappelle a un mec qui essayer de capturé des fourmies pour des lezards en aspirant les dites fourmies  a la paille , he bien toute ne sont pas rester dans la paille....

je suis deja sortie :) -->
Title: Re: Commande de pompe à vide
Post by: Artouste on Aug 05, 2015, 10:09 pm
le bocale de decantation!
 ça me rappelle a un mec qui essayer de capturé des fourmies pour des lezards en aspirant les dites fourmies  a la paille , he bien toute ne sont pas rester dans la paille....

je suis deja sortie :) -->
bonsoir krys
 :smiley-mr-green:
C'est le genre de situation où tu te fais avoir une fois , pas deux

vieille locution :

Errare humanum est, perseverare diabolicum


Title: Re: Commande de pompe à vide
Post by: Maxga on Jun 16, 2017, 03:25 pm
Bonjour à tous,
Modéliste depuis bientôt 50 ans, j'utilise toujours le système de la capsule à dépression de carburateur.
Je voudrais passer à un système électronique certainement plus facile à régler et plus précis.
Votre projet m'intéresse mais je ne visualise aucune image alors que je suis enregistré.
Quelqu'un aurait-il conservé les fichiers afin que je puisse envisager la réalisation de cette régulation ?

Merci d'avance ...
A+
Max
Title: Re: Commande de pompe à vide
Post by: jfs on Nov 16, 2017, 10:46 pm
Les images sont toujours visible dans le sujet.