Comprendre la conception du circuit
Si vous ne voulez pas lire toute l'explication, vous pouvez plutôt regarder cette vidéo:

Voyons maintenant le diagramme du circuit ci-dessous et découvrons comment cette chose fonctionne réellement. Nous voyons les principales parties suivantes du circuit:

Conseil d'administration d'Arduino - C'est notre cerveau. Il donne des impulsions SPWM qui décident comment notre circuit fonctionnera.
IR2110 MOSFET Driver ICC (IC1 et IC2) - Ces appareils prennent les signaux SPWM standard d'Arduino et les rendent compatibles pour changer correctement les MOSFET de pont H à 4 canaux N, en utilisant la méthode de bootstrap.
MOSFETS (Q1, Q2, Q3, Q4) - Ce sont les commutateurs d'alimentation. Ils allument et désactivent la puissance DC d'une manière spécifique pour créer AC à la sortie.
Diodes (1N4007) et condensateurs - Ce sont pour permettre le fonctionnement correct du réseau d'amorçage de l'ICS pour une commutation parfaite des 4 MOSFET.
Autres condensateurs et résistances - Celles-ci sont petites mais très importantes car elles maintiennent tout en douceur.
Alimentation électrique - Nous avons besoin de + 12V et + 5V pour Arduino et les IC IR2110, et une tension CC élevée pour les MOSFET, selon les spécifications de charge.
Que se passe-t-il dans le circuit?
Voyons maintenant comment cela fonctionne étape par étape:
Arduino génère des signaux SPWM à deux broches de sortie (broche 8 et broche 9). Ces signaux continuent de changer la largeur pour créer une forme équivalente à une onde sinusoïdale AC.
IR2110 ICS reçoit ces signaux PWM et les utilisez pour activer et désactiver les MOSFET de manière très spécifique.
Le pont H fabriqué à l'aide de quatre MOSFET convertit l'alimentation en bus CC en sortie de type AC en commandant la direction actuelle à travers la charge à l'aide de la commutation SPWM.
À la sortie, nous obtenons une approximation d'onde sinusoïdale, ce qui signifie qu'il ressemble à une onde sinusoïdale mais est en fait en impulsions à changement rapide.
Si nous ajoutons un circuit filtrant à la sortie, nous pouvons lisser ces impulsions et obtenir une onde sinusoïdale plus parfaite.
Notre code Arduino pour PWM Sine Wave
Alors maintenant, voyons le code. C'est ce que l'Arduino exécutera pour générer les signaux SPWM.
835EA9484999CA2B1A94FC3D1BB3E885B51FF2262Que se passe-t-il dans ce code?
Nous avons d'abord configuré deux broches de sortie (broche 8 et broche 9). Ceux-ci enverront nos signaux PWM.
Ensuite, dans la boucle, nous allumons et désactivons la broche sur un motif spécial.
Nous commençons par des impulsions étroites et augmentons progressivement la largeur d'impulsion, puis nous la réduisons. Cela crée un motif PWM à onde sinusoïdale étagée.
Une fois le premier demi-cycle terminé, nous répétons la même chose sur l'autre broche (broche 9) pour le cycle suivant.
De cette façon, notre pont H change les MOSFET dans une onde sinusoïdale appropriée comme la mode.
Qu'est-ce qui est bon dans cette conception
Le design est en fait très simple. Nous utilisons juste un arduino et quelques composants communs.
Nous n'avons pas besoin d'un générateur d'ondes sinusoïdales ici, à droite. L'Arduino lui-même fait la forme sinusoïdale en utilisant SPWM.
Le pont H fonctionne efficacement en utilisant les CI IR2110 pour s'assurer que les MOSFETs changent correctement sans surchauffe.
Nous pouvons affiner facilement le SPWM, au cas où nous voulons une fréquence d'onde sinusoïdale différente, puis nous modifions un peu le code.
Comment nous devons gérer le retard de démarrage Arduino
Maintenant, une chose très importante que nous devons comprendre est qu'Arduino prend un peu de temps pour commencer après avoir allumé l'alimentation.
Cela se produit parce que lorsque nous allons sur l'Arduino, il exécute d'abord son chargeur de démarrage interne qui prend quelques secondes.
Ainsi, pendant cette période, les ICS et les MOSFET du pilote GATE IR2110 peuvent ne pas recevoir de signaux appropriés d'Arduino.
Si cela se produit, les MOSFET peuvent s'allumer au hasard, ce qui peut endommager instantanément l'ICS ou provoquer un court-circuit ou une explosion.
Afin de s'assurer que le retard de démarrage ci-dessus ne brûle pas les CI et les MOSFET pendant la puissance initiale, nous devons modifier le code ci-dessus comme indiqué ci-dessous:
// By Swagatam - Full Bridge Sine Wave Inverter Code with Delay
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
delay(3000); // Booting delay (wait for 3 seconds before starting)
}
void loop() {
// First pin (8) switching pattern
digitalWrite(8, HIGH);
delayMicroseconds(500);
digitalWrite(8, LOW);
delayMicroseconds(500);
digitalWrite(8, HIGH);
delayMicroseconds(750);
digitalWrite(8, LOW);
delayMicroseconds(500);
digitalWrite(8, HIGH);
delayMicroseconds(1250);
digitalWrite(8, LOW);
delayMicroseconds(500);
digitalWrite(8, HIGH);
delayMicroseconds(2000);
digitalWrite(8, LOW);
delayMicroseconds(500);
digitalWrite(8, HIGH);
delayMicroseconds(1250);
digitalWrite(8, LOW);
delayMicroseconds(500);
digitalWrite(8, HIGH);
delayMicroseconds(750);
digitalWrite(8, LOW);
delayMicroseconds(500);
digitalWrite(8, HIGH);
delayMicroseconds(500);
digitalWrite(8, LOW);
// Second pin (9) switching pattern
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(750);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(1250);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(2000);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(1250);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(750);
digitalWrite(9, LOW);
delayMicroseconds(500);
digitalWrite(9, HIGH);
delayMicroseconds(500);
digitalWrite(9, LOW);
}
Liste de pièces
Conseil d'administration d'Arduino | Arduino Uno (ou toute carte compatible) | 1 |
Ic de pilote MOSFET | IR2110 Conducteur côté haut et bas | 2 |
Mosfets | IRF3205 (ou canal N similaire) | 4 |
Diodes | 1N4007 (pour bootstrap et protection) | 4 |
Résistances | 1kΩ 1 / 4W (traction de porte MOSFET) | 4 |
Résistances | 150Ω 1 / 4W (résistance de la série MOSFET Gate) | 4 |
Condensateurs | 100NF (condensateur bootstrap) | 2 |
Condensateurs | 22uf 25V (filtre d'alimentation) | 2 |
Charger | Toute charge résistive ou inductive | 1 |
Alimentation électrique | + 12V DC (pour MOSFETS) & + 5V DC (pour Arduino) | 1 |
Fils et connecteurs | Convient pour les connexions de circuit | Au besoin |
Conseils de construction
Maintenant, lorsque nous construisons cette chose, nous devons faire très attention à quelques choses importantes. Sinon, cela peut ne pas fonctionner ou pire, quelque chose peut s'éteindre, non? Voici donc quelques conseils de construction super importants que nous devons suivre:
Comment nous devons organiser les pièces sur le tableau
Si nous utilisons une planche à pain, ce circuit peut ne pas fonctionner bien car les MOSFET et les conducteurs de haute puissance ont besoin de connexions solides et solides.
Nous devons donc utiliser un PCB (carte de circuit imprimé) ou au moins une carte perf et souder correctement les pièces.
Si nous fabriquons un PCB, nous devons garder les MOSFET et les circuits intégrés IR2110, afin que les signaux ne deviennent pas faibles ou retardés.
Les fils épais devraient opter pour des chemins de courant élevé comme de l'alimentation des MOSFET et des MOSFET à la charge.
Les fils minces ne peuvent être utilisés que pour les connexions de signal comme Arduino à l'IR2110 ICS.
Comment nous devons placer les MOSFETS
Les quatre MOSFET doivent être placés dans une forme de pont H appropriée afin que le câblage ne devienne pas désordonné.
Chaque MOSFET doit avoir des connexions courtes et épaisses avec l'IC IR2110.
Si nous plaçons les MOSFET trop loin de l'IR2110, les signaux peuvent devenir faibles et les MOSFET peuvent ne pas changer correctement.
Si cela se produit, les MOSFET peuvent devenir chauds et même s'éteindre.
Comment nous devons résoudre le problème de la chaleur
Si nous utilisons des MOSFET IRF3205 ou similaires, ils se réchaufferont si nous ne leur donnons pas de dissipateur thermique.
Nous devons donc réparer un gros dissipateur thermique en aluminium aux MOSFET pour les garder au frais.
Si nous fabriquons un onduleur haute puissance (plus de 100 W), nous devons également fixer un ventilateur de refroidissement sur le dissipateur thermique.
Si les MOSFET deviennent trop chauds à toucher, cela signifie qu'il y a un problème et nous devons vérifier à nouveau le circuit.
Comment nous devons alimenter le circuit
La partie Arduino fonctionne sur 5V et les MOSFET ont besoin de 12 V ou plus pour travailler.
Nous ne devons donc jamais connecter 12V à Arduino, ou il brûlera instantanément!
L'IR2110 ICS a besoin de deux alimentations:
12V pour les MOSFETS de haut niveau
5V pour la section logique
Si nous mélangeons ces lignes électriques, le circuit ne fonctionnera pas correctement et les MOSFET ne changeront pas correctement.
Comment nous devons connecter les fils
La connexion au sol (GND) est super importante. Si le câblage au sol est faible ou long, le circuit peut se comporter étrangement.
Nous devons utiliser un terrain d'entente pour toutes les parties, ce qui signifie que le sol Arduino, le sol IR2110 et le mosfet de mosfet doivent être connectés ensemble.
Si nous voyons le circuit se comporter étrangement (comme le scintillement de sortie ou les mosfets se réchauffer sans charge), nous devons d'abord vérifier les connexions de sol.
Comment nous devons vérifier le circuit avant de le mettre
Avant d'allumer l'alimentation, nous devons revérifier toutes les connexions pour voir si tout est correct.
Si nous avons un multimètre, nous devons l'utiliser pour vérifier les tensions à différents points avant d'insérer les MOSFET.
Nous aurons strictement besoin d'un oscilloscope afin que nous puissions vérifier les signaux SPWM provenant d'Arduino pour voir s'ils semblent corrects.
Comment nous devons tester soigneusement le circuit
La meilleure façon de tester ce circuit en toute sécurité est de commencer par une basse tension.
Au lieu de 12V, nous pouvons d'abord essayer avec 6V ou 9V pour voir si les MOSFETs changent correctement.
Si le circuit fonctionne bien à basse tension, nous pouvons lentement passer à 12 V et enfin à la pleine tension.
Si nous appliquons soudainement une tension complète et que quelque chose ne va pas, quelque chose peut s'éteindre instantanément!
Nous devons donc tester étape par étape et continuer à vérifier la surchauffe ou le mauvais comportement.
Comment nous pouvons ajouter un filtre pour une sortie plus fluide
Ce circuit fait une sortie CA à l'aide de PWM mais il est toujours en impulsions rapides.
Si nous voulons une onde sinusoïdale propre, nous devons ajouter un filtre LC à la sortie.
Ce filtre LC est juste une grande inductance et un condensateur connecté à la sortie.
L'inductance supprime les impulsions de commutation rapide et le condensateur lisse la forme d'onde.
Si nous le faisons correctement, nous pouvons obtenir une onde sinusoïdale pure qui est sûre pour les appareils.
Comment nous devons protéger le circuit des dégâts
Nous devons toujours ajouter un fusible en série avec l'alimentation électrique.
Si quelque chose de short ou d'un MOSFET échoue, le fusible se brisera d'abord et empêchera le circuit de brûler.
Si les MOSFET échouent, parfois ils échouent (ce qui signifie qu'ils restent toujours allumés).
Si cela se produit, un courant énorme peut s'écouler et endommager le transformateur ou d'autres parties.
Il est donc toujours bon de vérifier les MOSFET à l'aide d'un multimètre avant d'appliquer une puissance élevée.
Conclusion
Nous avons donc vu comment nous pouvons faire un onduleur sinusoïdal en utilisant juste Arduino et un circuit MOSFET H-Bridge. Nous avons utilisé des pilotes MOSFET IR2110 pour changer correctement les MOSFET et le contrôle PWM à partir d'Arduino pour générer notre AC modulé sinusoïdal.
Maintenant, une chose à retenir est que cette sortie est toujours faite de légumineuses à commutation rapide, donc si nous avons besoin d'une onde sinusoïdale pure, nous devons ajouter un filtre LC à la sortie pour le lisser.
Mais dans l'ensemble, c'est un moyen très pratique et facile de faire un onduleur sinusoïdal à la maison!