Lire signal PWM Output Pompe Grundfos UPM3 Hybride

Bonjour à tous,

Cela fait maintenant 3 jours que je galère sur une lecture PWM.

Je refais ma régulation de productions de chaleur et je contrôle une pompe Grundfos UPM3 HYBRID via un signal PWM. Jusqu’ici pas de problème. Étant donné que ma source de production de chaleur étant un insert de cheminée à bois, j’ai besoin de m’assurer du bon fonctionnement de la pompe afin d’éviter la surchauffe.

Ladite pompe est munie d’un PWM Output.

Les informations telles que la vitesse, le mode stand-by ou encore les erreurs (rotor bloqué, etc.) sont transmis sous forme de signal PWM via la pompe : 0 - 70% c’est la puissance de la pompe et 75 à 90% les erreurs. Le 95 à 100% étant le mode stand-by. Jusqu’à la tout va bien…

Sauf qu’en raccordant ce pin à mon arduino uno, je n’ai pas moyen de recevoir la moindre information… le pulseIn me donne 0.

Pour finir, j’ai mesuré avec un voltmètre la tension de sortie (sur le pin Output de la pompe et sur le GND de l’arduino): et je me suis aperçu que

  • à environ 15% ça oscille entre 0.03 et 0.15

  • à 100% ça oscille entre 4 et 5v

  • et en stand-by 10v (j’espère ne pas avoir fumé mon Arduino :o ).

Dans la doc je n’ai pas trouvé d’informations pouvant m’aider. Je me permets de mettre en annexe la doc de la pompe.

Merci d’avoir pris le temps de lire mon poste. J’espère que quelqu’un pourra m’aider.

Bonne soirée !

Grundfosliterature.pdf (200 KB)

j'ai mesuré avec un voltmètre la tension de sortie....

votre voltmètre (je suppose mis en tension continue) ne sait sans doute pas vous afficher un PWM, il vous donnera une Valeur moyenne... Mais sans doute c’est une alternance de 0V et 10V

Il faudrait voir la doc exacte mais Les câbles pour sortie pwm GRUNDFOS (Product Code:43 000083) sont décrits à 0-10v

=> vous Avez sans doute balancé du 10V dans votre pin... elle doit être morte... vérifiez avec un petit test en lecture et écriture.

+1 avec JML, vous avez un signal PMW en 0-10, c’était donc une mauvaise idée de le raccorder directement sur votre carte qui n’as pas apprécié.

Quoi qu’il en soit ça reste mesurable mais par le biais d’un diviseur de tension, ici il est simple il faut diviser par deux pour ramener à 5 volts, donc 2 résistances en séries de la même valeur(entre signal et masse, mesure au point milieu).

Ensuite une lecture avec pulsein(), la doc donne une fréquence de 75hz, soit 13ms, connaissant ce rapport, il va être facile de déterminer le % « duty cycle »

Une autre méthode pour mesurer avec un voltmètre => un filtre RC (résistance et condensateur en série entre signal et masse, mesure point milieu) dimensionné en fonction de la fréquence donnera pour le coup une tension lissée et non plus hachée (disons « analogique ») qui sera mesurable par votre voltmètre.

Si vous avez un oscilloscope, pour la curiosité c’est intéressant à voir.

Merci JML & Jambe pour vos réponses,

C’était en effet pas une bonne idée, je testerai ce soir savoir si le pin à grillé…

Je vais tenter la technique de Jambe selon le schéma annexé.

Une fois les pulses récupérées le calcule ne devrait pas être trop compliqué.

Je vous tiens au courant !

Capture.JPG

Mieux qu’un oscille un analyseur logique à moins de 10 euros.
Il fera toutes les mesures de temps (mais pas les amplitudes).

On trouve des clones de Saleae qui utilisent le logiciel Saleae.

Pour les niveaux c’est pareil 5V maxi.
Pour le pont prendre des résistances autour de 10k pour ne pas tirer trop de courant sur la sortie PWM de la ppompe.

Bonjour,

le schéma craint un max : - il faut raccorder le volto et la pin de l'Arduino au point milieu des 2 résistances - le - du volto et le gnd de l'Arduino doivent être raccordés au - (ou gnd ?) du grundfos - la pin de l'Arduino ne doit pas être reliée au -

par ailleurs, comme on peut "l'espérer", si le - du grundfos n'avait pas été raccordé au gnd de l'arduino, ce dernier est sain et sauf jusqu'à lors

le schéma (totalement erroné) en question

|500x389

par ailleurs, comme on peut "l'espérer", si le - du grundfos n'avait pas été raccordé au gnd de l'arduino, ce dernier est sain et sauf jusqu'à lors

bon point effectivement, un petit espoir !

Voila un nouveau schéma. Le volto sert à rien et ne sera pas présent en vrai.

Il ne me semble pas que le PIN de l’Arduino ait cramé car j’ai fais plusieurs lectures par la suite sur ce pin.

Merci pour votre précieuse aide, je suis vraiment à mes débuts et franchement j’ai de la peine avec le hardware ai j’ai pas de base en électronique… Mais je persévère, un jour ça viendra !

l'image

|500x228

il faudra que tous les GND soient les mêmes (le GND du pont diviseur de tension avec les 2 Résistances doit être relié au GND)

Merci pour toutes ces information !!! :grinning: Ce sera effectivement fait comme ça ! je vais tester ce soir et je vous tiens informé.

et je suppose que le petit dessin du terminal sur Tx et Rx c'est la console série de l'IDE Arduino ? (auquel cas c'est bon, le port USB partagera le GND sinon si c'est un écran série il faut aussi connecter son GND)

J-M-L: et je suppose que le petit dessin du terminal sur Tx et Rx c'est la console série de l'IDE Arduino ? (auquel cas c'est bon, le port USB partagera le GND sinon si c'est un écran série il faut aussi connecter son GND)

Oui, c'est une simulation du terminal IDE de l'Arduino.

OK - à suivre donc ! (pensez à tester votre pin arduino avant pour vous assurer qu'elle n'a pas souffert)

Voila le test effectué...Les pin sont ok. Cependant toujours rien sur le PIN 7 selon le schéma. tout les GND sont ensemble... je comprend pas ou est le problème

Faudrait coller un scope sur le signal pour voir ce que vous recevez vraiment

Une première approximation serait de faire dans la loop un analogRead() et d’imprimer la valeur et regarder cela dans le traceur série de l’IDE (au lieu du moniteur série qui est moins visuel quand ça défile vite)

Bonsoir

S’il s’agit de récupérer le signal de sortie PWM de 'appareil UPM3 dont la doc est jointe au message initial une résistance de tirage (pull up) est nécessaire, la sortie PWM est en collecteur ouvert.

sortie PWM.png

Merci pour cette précieuse info ! Je vais aller tester avec la fonction arduino suivante : pinMode (7, INPUT_PULLUP);

oui, à condition qu'il n'ait rien d'autre à part la carte Arduino sur cette sortie PWM .....du moins rien qui risque de d'amener le niveau haut du PWM a dessus de 5V

Sur cette sortie j'ai mon pont diviseur afin de passer de 10v à 5v. Il y a rien d'autre sur cette sortie PWM de la pompe. Par contre... toujours 0 pulse...

J-M-L: Faudrait coller un scope sur le signal pour voir ce que vous recevez vraiment

Une première approximation serait de faire dans la loop un analogRead() et d’imprimer la valeur et regarder cela dans le traceur série de l’IDE (au lieu du moniteur série qui est moins visuel quand ça défile vite)

En faisant un analogRead(); j'obtiens des valeurs, toujours les mêmes oscillant entre 500 et 600. augmentant et diminuant tranquillement.

Voici le lien de la doc complète. Les infos se trouvent à la page 17 à 19. Si quelqu'un décèle une info : https://net.grundfos.com/Appl/ccmsservices/public/literature/filedata/Grundfosliterature-5439390.pdf

Bonsoir

Sur cette sortie j'ai mon pont diviseur afin de passer de 10v à 5v.

je n'ai pas compris d'où sort ce '10V' dont il est question à plusieurs reprises....la sortie PWM sur le bout de schéma de mon message précédent étant en collecteur ouvert elle n'amène , par elle même, aucune tension tant qu'une résistance de tirage (pull up) n'est pas en place. (le lien donné dans le message précédent n'étant pas cliquable je ne vais pas voircett doc avec mon smartphone)