L’intérêt de la régulation est de pouvoir une consigne en terme vide en Kpa. Pour rappel 100Kpa est égal à 1 bar.
Il faut un capteur de pression différentiel, apte à mesurer une dépression. J’ai fixé mon choix sur le MPX5100 de Freescale qui permet de mesurer jusqu’à 100Kpa, ce qui est suffisant pour mon utilisation. Le brochage est le suivant :
- Vout, à connecter sur une entrée analogique de l’arduino. Dans mon cas, j’ai utilisé A1, car A0 est utilisé pour les boutons.
- GND
- VCC – 5V
Pour obtenir une valeur de pression il faut multiplier la valeur mesurée au moyen d’analogRead() par 1.111.
Le fonctionnement du programme est le suivant. On règle la consigne de vide avec les touches Haut/Bas avec une précision de 0.5Kpa. J’ai mis un réglage de la calibration de la pression au 0 sur la touche Select. Le démarrage se fait par la touche Left. Cela a pour effet de mémoriser la consigne dans l’EEPROM. On la retrouve lors de la prochaine mise en route. L’arrêt moteur est sur la touche Droite.
Après démarrage le moteur tourne à fond (commande à 255), jusqu’à ce que la pression atteigne la valeur de la consigne. Cela permet de vider le sac à vide. Lorsque la consigne est atteinte, le moteur est ralenti à une valeur basse, puis la régulation prend la main. Une valeur trop basse de commande a pour effet de bloquer la pompe. 30-40 semble être le minimum. La valeur du vide va osciller autour de la consigne pour se stabiliser rapidement. La régulation est réalisée à 1Khz avec Kp=0.1.
Sur la première ligne, le LCD affiche la version du programme et la consigne de vide.
Sur la seconde ligne, le LCD affiche la valeur courante du vide, la valeur de la commande moteur, et la calibration.
Dans la vidéo suivante, on voit la régulation pour une consigne de 20.5Kpa. Le vide du sac à été réalisé dans un précédent test, la vidéo montre surtout la phase de stabilisation qui est très rapide.
Le code pour un shield V1 est disponible ici.
Le code pour un shield V2 est disponible ici (Merci Jean-Jacques). La différence entre les deux versions est due aux valeurs différentes des résistances pour la détection des touches.
Une utilisation commerciale n’est pas autorisée. Merci de laisser un commentaire si vous réalisez le montage.
Nomenclature des composants: