Aide pour un projet de presse chauffante

Bonjour à tous,

J'ai comme projet de développer une petite presse à plateaux chauffants, et je souhaiterais gérer l'ensemble des opérations travers un micro-controleur (je suis parti sur un Arduino Mega, mais peut être le Uno sera suffisant, à voir...)

Première étape: la régulation de température.

Afin de chauffer la bête, il me faut 12 cartouches chauffantes, 6 sur chaque plateau (inférieur et supérieur), et je voudrais réguler chaque plateau sur 2 zones. J'ai donc prévu 4 sondes PT100, les informations de chacune d'entre elles permettront de réguler 3 cartouches.

Le schéma que j'ai imaginé pour le moment est ci-joint.

J'ai une arrivée triphasée, et afin d'équilibrer les phases, je trouvais pertinent que, pour chacune des boucles de régulation, les 3 cartouches soient réparties sur chacune des phases. Ainsi, lorsqu'une boucle est en chauffe, les 3 phases doivent être sollicitées de manière identique et équilibrée...
Je pilote chacune ces résistances par un relais statique SSR 10-SA, via une sortie numérique de l'Arduino. Chaque sortie pilote donc 3 relais, mais le courant de commande étant de 7,5 mA par relais, ça doit passer,non?

Pour la régulation, j'aimerai une régulation PID, même si pour le moment, j'ai un peu du mal à voir comment la mettre en place en ayant une alimentation "tout ou rien" des cartouches et que l'alimentation ne peut être négative... Je pense donc utiliser une sorte de PWM mais avec une période beaucoup plus importante, de l'ordre de 2 secondes par exemple. En effet, vu l'inertie du bousin, je ne pense pas avoir besoin de commuter toutes les millisecondes... Ainsi, ma régulation PID me donnerait une pourcentage de puissance max en consigne, qui se traduirait par un temps de fermeture relatif à la période du pseudo PWM (par exemple, si ma période est de 2 secondes et que ma consigne est de 60%, je doit fermer le relais statique 1,2 secondes et l'ouvrir les 0.8 secondes restantes).

Est ce que j'ai bon sur le principe?

Si oui, alors je continue... Etant donné que j'ai 4 boucles de régulations, l'idéal serait de décaler chaque début de période pour éviter une consommation instantanée trop importante. Le schéma joint représente l'idée.
modulation chauffage boucles regul.JPG
Toujours sur une période de 2 secondes et une régul à 60%, la boucle 1 partirait à t=0, la boucle 2 à 0.5s, la 3 à 1s et la dernière à 1.5s. De cette manière, je répartie la consommation électrique sur ma période.

Est ce que j'ai toujours bon? Ou est-ce que je me met Martel en tête pour des broutilles?

Enfin,pour la mesure des sondes PT100... D'après ce que j'ai pu trouver ça et là, en effectuant directement la mesure des PT100 par l'Arduino, et ce même en imposant des intensités pouvant fausser les mesures (si > 1mA), il est difficile de d'obtenir une précision meilleure que +/- 3°C, ce qui est insuffisant pour moi. Je me suis donc orienté vers un module ADS 1115 CAN 16 bits, d'Adafruit, qui a le mérite d'offrir un pas de mesure bien plus fin et d'avoir un gain réglable.

Sur une plage 0-200°C, la résistance de la PTT100 varie entre 100 et 176Ω.
J'aurais ainsi la PT100 en série avec une résistance précise de 4900 Ω, le tout alimenté par le 5V. Ainsi, le courant max passant dans la sonde est de 1 mA (à 0°C), et ma mesure analogique doit osciller entre 0.1 V (à 0°C) et 0.172V (à 200 °C). En réglant le gain à x16, j'obtiens une résolution de 0.125mV / bit, soit 576 bits pour la plage 0-200°C, et donc une résolution de 0.35 °C environ, ce qui me conviendrais.

Est ce que mon schéma vous parait correct de même que mon calcul de résolution?

D'avance merci pour l'aide que vous pourrez m'apporter.

modulation chauffage boucles regul.JPG

Le PWM ne fonctionne pas de la même façon en courant alternatif et continu

En courant continu, grâce au PWM et une interface de puissance, on fait varier le rapport cyclique d'alimentation de la charge. Comme la tension d'alimentation est constante, on obtient sur la charge, une tension hachée. Ce qui peut se résumer (en simplifiant) à faire varier la tension moyenne sur la charge.

En alternatif, la tension oscille de façon sinusoïdale du positif au négatif. Ce que l'on "appelle" généralement 220V est en fait l'intégrale de la tension pendant une 1/2 période, soit une alternance.

Si tu module ta tension alternative avec un signal PWM dédié au courant continu, tu n'es jamais sur d'être en phase avec le courant alternatif. Donc la tension moyenne sur la charge est imprévisible.

La seule solution consiste à synchroniser ton signal PWM avec le passage par 0 volt d'une alternance.
Pour cela il faut mettre en place un détecteur de passage par 0.
A partir du moment où on détecte le passage par 0, on fait basculer une pin à l'état bas, puis on arme un timer pour une durée variant de 0 à 10 ms (durée d'une alternance). Quand le timer arrive à la fin du temps prévu, on fait basculer la même pin à l'état haut. Cette pin restera à l'état haut jusqu'à la fin de l'alternance, autrement dit au prochain passage de la tension par 0. Et on recommence.
Plus longtemps la pin va rester à l'état haut, plus on va utiliser longtemps l'alternance.
C'est un peu le principe du PWM en continu, la différence étant que l'on est synchronisé avec la sinusoïde.
La pin étant reliée à un optoisolateur genre MOC3041, lui même relié à un triac.
En gros on fabrique un variateur à décalage de phase.

Dans le cas de plusieurs charges alimentées sur 3 phases, il va te falloir un déteceur de passage par 0V ET un timer pour chaque phase.

D'autre part les relais statiques sont souvent conçus à base de triac associé à un détecteur de passage par 0V. Je n'ai pas vérifié le datasheet. Il faudrait vérifier s'il peut servir pour un pilotage avec un principe de variateur de ce type

Principe de variateur de tension alternative à décalage d'angle de phase

Merci pour ta réponse.
En fait, je me suis mal exprimé...
Pour moi, l'expression "pseudo PWM" voulais surtout dire une modulation de la puissance par une gestion de la durée d'ouverture du tout ou rien, mais bien appliqué à l'alternatif. En fait, c'est plus une modulation par train d'onde (si j'ai bien compris) que je souhaite faire...

Le relais serait commandé en numérique en gérant des durées d'ouverture et de fermeture.
Si je prend une période de référence de 2 secondes, j'ai donc 100 oscillations. Si mon PID me renvois une consigne à 60%, il faut donc que je ferme le relais pour 60 oscillations, soit 1,2 secondes, et l'ouvre sur les 40 restante, soit 0.8 secondes. Si je fait la moyenne sur les 2 secondes de la période, la puissance doit donc bien être Pmax x 60%, et la tension moyenne proche de zéro (en fonction de la fermeture du relais par rapport à l'oscillation du réseau). Mais y-a-il des précautions particulières à prendre, et notamment une synchronisation vis à vis du réseau, pour que le nombre d'oscillations soit effectivement entier? Et puis tout simplement est-ce que l'on peut piloter de cette manière avec un arduino et des relais statiques?

D'avance merci

En cherchant avec la notion de "train d'onde", je suis tombé là dessus
Regulation par train d'onde

Vu la réponse d'Icare et le code proposé, ça semble donc possible... :slight_smile:

et notamment une synchronisation vis à vis du réseau, pour que le nombre d'oscillations soit effectivement entier?

Si le relai statique est équipé d'un détecteur de passage par 0, il va "être passant" à partir du début de la prochaine 1/2 sinusoïde

l'exemple "relay" de la librairie pid réponds très exactement à ta problématique, avec en effet une mise en oeuvre de "pwm lente" comme tu le suggères

papakkamayo:
Mais y-a-il des précautions particulières à prendre, et notamment une synchronisation vis à vis du réseau, pour que le nombre d'oscillations soit effectivement entier?

Non, pas besoin de se prendre la tête avec une détection de passage à zero pour piloter des résistances. Avec une charge inductive, ça ne serait pas la même histoire, et il vaudrait mieux s'en préoccuper, en effet.

sinon une autre solution est d'employer la technique du gradateur, avec détection de passage à zéro et activation du relais sur un certain pourcentage de la demi-période selon la puissance voulue. par exemple comme ça : Arduino tehNiq: AC dimmer
mais je pense que dans le cas précis de résistances chauffantes, c'est se compliquer la vie pour rien. enfin tout dépend de l'inertie thermique des plaques chauffantes

µBonjour Bricofoy

bricofoy:
l’exemple “relay” de la librairie pid réponds très exactement à ta problématique, avec en effet une mise en oeuvre de “pwm lente” comme tu le suggères
Arduino-PID-Library/examples/PID_RelayOutput at master · br3ttb/Arduino-PID-Library · GitHub

Merci pour le lien, ça a l’air effectivement de répondre tout à fait à mes attentes! Nickel.