J'ai conçu des démarreurs progressifs en utilisant les processeurs PIC16C74A / F77. Le passage à zéro peut être délicat si vous devez également travailler dans des environnements bruyants.
Si vous n'avez pas besoin que le processeur soit isolé de la ligne, il n'y a rien de mal avec quelques résistances de haute valeur alimentant une broche CPU. J'utiliserais quelques diodes shottky pour augmenter les diodes de protection interne juste pour une question de robustesse, mais cela fonctionnera bien. Si vous avez besoin d'isolement, utilisez un optoisolateur de sortie à transistor. Faites attention à la vitesse de commutation de l'opto et minimisez le courant du collecteur du transistor pour maximiser la vitesse de commutation.
Cela dit, passons au bruit. Si vous contrôlez autre chose que le chauffage résistif, vous aurez du bruit à affronter, ce qui signifie qu'il est très probable que vous n'ayez pas de bruit de passage à zéro. Ne faites pas l'erreur de débutant en alimentant l'entrée de passage par zéro à une broche d'interruption; cela transformera votre logiciel en une masse fumante de méchanceté lorsque le processeur essaie de faire face à des interruptions de gazillion. (Je parle d'expérience.) Lancer un filtre passe-bas RC ou plus avancé sur la ligne ne fera qu'introduire un déphasage. Si vous pouvez travailler avec ça, tant mieux. Sinon (j'ai dû gérer des systèmes 50/60 et 400 Hz), vous devez essayer d'autres moyens.
Sur ma propre conception, je m'en suis occupé dans le logiciel en sondant la ligne et en faisant essentiellement une routine de vote qui ignorait les transitoires. Le déphasage était dans les limites de ce que je pouvais gérer, il était rapide et il ne s'arrêtait pas même dans un bruit intense. (Testé dans une installation où ils ont retiré les bouchons de filtre d'un four à induction, je n'ai jamais vu une ligne aussi bruyante auparavant!) Si je devais la repenser, je pense que je pourrais essayer une solution externe impliquant un one-shot qui serait " verrouiller "la croix zéro, puis le microcontrôleur l'acquitterait avant que la prochaine interruption puisse être réglée.
Cela dit, je pense que trouver de manière fiable le vrai passage à zéro dans n'importe quelle situation pratique était l'un des éléments les plus délicats de la conception du démarreur progressif. La fermeture de la boucle de contrôle était secondaire, mais c'était surtout juste un réglage. Cela semble être une chose très simple à faire, mais j'ai beaucoup appris sur la différence entre la théorie et la pratique à cette époque. :-)
modifier pour décrire la routine de "vote":
Si je me souviens bien, j'avais une ligne d'E / S qui était haute lorsque la ligne était supérieure à zéro et basse lorsque la ligne était inférieure à zéro. La routine de vote a simplement sondé cette ligne et si 2 des 3 derniers échantillons étaient identiques, j'ai accepté le fait que la ligne avait franchi zéro. C'est très similaire au circuit de vote d'un UART pour détecter la marque et l'espace. L'avantage d'un circuit comme celui-ci est que votre déphasage est fixe (fréquence d'échantillonnage 2 *) et vous pouvez le régler en fonction du type de bruit que vous rencontrez. Je ne me souviens pas spontanément de la rapidité du scrutin, mais si je devais risquer une supposition, je dirais 8 kHz, car ce nombre me vient à l'esprit.
Pourquoi ne pas utiliser un optocoupleur? Le SFH6206 de Vishay possède deux LED anti-parallèles, il fonctionne donc sur le cycle complet de la tension secteur. Si la tension d'entrée est suffisamment élevée, le transistor de sortie est passant et le collecteur est à un niveau bas. Autour du passage à zéro, cependant, la tension d'entrée est trop faible pour activer le transistor de sortie et son collecteur sera tiré haut. Vous obtenez donc une impulsion positive à chaque passage à zéro.
la source
Cette note d'application de Microchip à la page 3 suggère une résistance de 20 MOhms.
Je pense que vous pouvez utiliser le MOC3061 qui a un détecteur de passage à zéro.
Mais il existe de nombreux modèles d'appareils comme vous pouvez le voir ici .
la source
J'ai eu du succès avec la chaîne de traitement suivante:
la source
Il y a probablement BEAUCOUP de façons de le faire ... mais si je le faisais, j'utiliserais un petit transformateur d'isolement au cas où. Il n'est jamais recommandé de connecter directement le secteur à un microcontrôleur, même à travers une grande résistance.
Je suppose que vos options sont d'utiliser un grand diviseur de résistance dans un micro ou un petit transformateur qui pousse les tensions du niveau du secteur à la portée de votre micro. Bien sûr, vous pouvez également utiliser une combinaison des deux.
Si vous ne voulez pas utiliser de microcontrôleur, vous pouvez toujours utiliser un comparateur et faire tester la tension contre 0v. L'impulsion du comparateur sera courte, mais il existe également des moyens de gérer cela.
la source