Onduleur 12-220 volts sur sinus pur Arduino avec code de programme complet.
Théorie
La réalisation d'une sortie d'onde sinusoïdale est assez difficile et ne peut pas être recommandée pour les onduleurs, car électronique les appareils n'aiment généralement pas les courants ou les tensions qui augmentent de façon exponentielle. Étant donné que les onduleurs sont principalement fabriqués à l'aide de dispositifs électroniques à semi-conducteurs, une forme d'onde sinusoïdale est généralement éliminée.
Les appareils électroniques de puissance lorsqu'ils travaillent avec des ondes sinusoïdales donnent des résultats inefficaces, car les appareils, en règle générale, sont chauffés par rapport aux impulsions rectangulaires.
Ainsi, la meilleure option pour implémenter une onde sinusoïdale sur un onduleur est PWM, ce qui signifie la modulation de largeur d'impulsion ou PWM.
PWM est un moyen amélioré (version numérique) d'exposition de forme d'onde exponentielle à travers des largeurs d'impulsion carrées variant proportionnellement, dont la valeur nette est calculée exactement en fonction de la valeur nette de la forme d'onde exponentielle sélectionnée, ici la valeur "pure" se réfère à la valeur RMS. Par conséquent, le PWM calculé en référence à une onde sinusoïdale donnée peut être utilisé comme un équivalent idéal pour la réplication d'une onde sinusoïdale donnée. De plus, les PWM seront idéalement compatibles avec les dispositifs d'alimentation électroniques (mosfets, BJT, IGBTS) et permettront leur utilisation avec un minimum de chaleur.
Qu'est-ce que SPWM?
La méthode la plus courante consiste à produire un signal sinusoïdal PWM (onde sinusoïdale) ou SPWM, en appliquant plusieurs signaux exponentiellement variables à l'entrée d'un amplificateur opérationnel pour le traitement nécessaire. Parmi les deux signaux d'entrée, l'un devrait être beaucoup plus élevé en fréquence que l'autre.
Utilisation de deux signaux d'entrée
Comme mentionné dans la section précédente, la procédure consiste à fournir deux signaux à variation exponentielle aux entrées de l'amplificateur opérationnel.
Ici, l'amplificateur opérationnel est configuré comme un comparateur typique, nous pouvons donc supposer que l'amplificateur opérationnel commencera immédiatement à comparer les niveaux de tension instantanée de ces deux signaux superposés au moment où ils apparaissent ou sont appliqués à ses entrées.
Pour que l'amplificateur opérationnel implémente correctement le PWM sinusoïdal nécessaire à sa sortie, il est nécessaire que l'un des signaux ait une fréquence beaucoup plus élevée que l'autre. La fréquence la plus lente ici est celle qui devrait être l'onde sinusoïdale de l'échantillon, qui devrait être simulée (répliquée) par les PWM.
Idéalement, les deux signaux devraient être sinusoïdaux (l'un avec une fréquence plus élevée que l'autre), cependant, la même chose peut être réalisée en incluant une onde triangulaire (haute fréquence) et une onde sinusoïdale (onde sélective avec une basse fréquence). Comme on peut le voir sur les images suivantes, le signal haute fréquence est invariablement envoyé à l'entrée inverseuse (-) de l'amplificateur opérationnel, tandis qu'un autre signal sinusoïdal plus lent est fourni à l'entrée non inverseuse (+) de l'amplificateur opérationnel. Dans le pire des cas, les deux signaux peuvent être des ondes triangulaires avec des niveaux de fréquence recommandés, comme décrit ci-dessus. Cependant, cela aidera à obtenir un équivalent raisonnablement bon de l'onde sinusoïdale PWM.
Un signal avec une fréquence plus élevée est appelé un signal porteur, tandis qu'un signal d'échantillonnage plus lent est appelé une entrée modulante.
Créer SPWM avec une onde triangulaire et tendineuse
En se référant à la figure ci-dessus, il est possible de visualiser clairement à travers les points tracés les différents points de tension coïncidents ou se chevauchant des deux signaux pendant une période de temps donnée. L'axe horizontal montre la période de temps de la forme d'onde, tandis que l'axe vertical montre les niveaux de tension de 2 fonctionnant simultanément, la forme d'onde superposée. La figure nous informe de la façon dont l'amplificateur opérationnel répondra aux niveaux de tension instantanée correspondants des deux signaux et produira un PWM sinusoïdal changeant en conséquence à sa sortie. Un amplificateur opérationnel (amplificateur opérationnel) compare simplement les niveaux de tension d'une onde triangulaire rapide changeant instantanément une onde sinusoïdale (il peut également s'agir d'une onde triangulaire) et vérifie les cas dans lesquels la tension de la forme d'onde triangulaire peut être inférieure à la tension de l'onde sinusoïdale et répond créez immédiatement une logique élevée sur vos sorties.
Ceci est maintenu tant que l'onde potentielle du triangle continue d'être inférieure au potentiel de l'onde sinusoïdale et au moment où le potentiel de l'onde sinusoïdale est détecté comme étant inférieur au potentiel instantané de l'onde du triangle, les sorties reviennent avec un minimum et résistent jusqu'à ce que la situation se répète.
Cette comparaison continue des niveaux de potentiel instantanés de deux formes d'onde superposées aux deux entrées des amplificateurs opérationnels conduit à la création de PWM changeant en conséquence, qui peuvent reproduire avec précision la forme sinusoïdale appliquée à l'entrée non inverseuse de l'amplificateur opérationnel.
Amplificateur opérationnel et SPWM
La figure suivante montre la modélisation l'opération ci-dessus:
Ici, nous pouvons observer comment il est mis en œuvre dans la pratique, et c'est ainsi que l'amplificateur opérationnel fera de même (bien qu'à une vitesse beaucoup plus élevée, dans le MS).
Le fonctionnement est assez évident et montre clairement comment l'amplificateur opérationnel doit traiter l'onde sinusoïdale PWM en comparant deux signaux changeant simultanément à ses entrées, comme décrit dans les sections précédentes.
En fait, l'amplificateur opérationnel traitera le PWM sinusoïdal beaucoup plus précisément que la simulation ci-dessus, il peut être 100 fois meilleur, créant un PWM extrêmement uniforme et bien mesuré qui correspond à l'échantillon fourni. Onde sinusoïdale.
Onduleur Arduino deux circuits
liste de pièces
Toutes les résistances 1/4 Watt, 5% CFR
• 10K = 4
• 1K = 2
• BC547 = 4 pièces
• MOSFET IRF540 = 2pcs
• Arduino UNO = 1
• Transformateur = 9-0-9V / 220V / 120V.
• Batterie = 12V
Toutes les résistances 1/4 Watt, 5% CFR
• 10K = 4
• 1K = 2
• BC547 = 4 pièces
• MOSFET IRF540 = 2pcs
• Arduino UNO = 1
• Transformateur = 9-0-9V / 220V / 120V.
• Batterie = 12V
La conception est en fait très simple, comme le montre la figure suivante.
La broche n ° 8 et la broche n ° 9 créent alternativement PWM et commutent les mosfets avec le même PWM.
Mosfet, à son tour, induit une forme d'onde SPWM très actuelle sur le transformateur, en utilisant la puissance de la batterie, forçant le secondaire du transformateur à produire une forme d'onde identique.
Le circuit onduleur Arduino proposé peut être mis à niveau à n'importe quel niveau de puissance supérieur préféré en remplaçant simplement les Mosfets et le transformateur, respectivement, comme alternative, vous pouvez également le convertir en un onduleur à onde sinusoïdale à pont complet ou à pont en H
Arduino Board Power
Images de forme d'onde pour Arduino SPWM
Étant donné que l'Arduino produira une sortie 5V, cela peut ne pas être idéal pour contrôler directement les transistors MOS.
Par conséquent, il est nécessaire d'augmenter le niveau du stroboscope à 12V pour que les Mosfets fonctionnent correctement sans chauffer les appareils.
Pour vous assurer que Mosfety ne démarre pas lorsque Arduino démarre ou démarre, vous devez ajouter le générateur de retard suivant et le connecter à la base des transistors BC547. Cela protégera les Mosfets et les empêchera de brûler pendant un interrupteur d'alimentation et lors du démarrage d'Arduino.
Ajout d'un régulateur de tension automatique
Comme sur tout autre onduleur, à la sortie de cette conception, le courant peut atteindre des limites dangereuses lorsque la batterie est complètement chargée.
Pour contrôler cela, ajoutez un régulateur de tension automatique.
Les collecteurs BC547 doivent être connectés aux bases de la paire BC547 gauche, qui sont connectées à l'Arduino via des résistances 10K.
La deuxième version de l'onduleur utilisant la puce sn7404 / k155ln1
Important:
Pour éviter une mise en marche accidentelle avant de charger l'Arduino, un simple retard dans le circuit de la minuterie peut être inclus dans la conception ci-dessus, comme indiqué ci-dessous:
Code du programme:
/ *
Ce code était basé sur le code Swagatam SPWM avec des modifications apportées pour supprimer les erreurs. Utilisez ce code comme vous utiliseriez les autres œuvres de Swagatam.
Atton Risk 2017
* /
const int sPWMArray [] = {500,500,750,500,1250,500,2000,500,1250,500,750,500,500}; // Ceci est le tableau avec les valeurs SPWM les changer à volonté
const int sPWMArrayValues = 13; // Vous en avez besoin car C ne vous donne pas la longueur d'un tableau
// Les épingles
const int sPWMpin1 = 10;
const int sPWMpin2 = 9;
// Les interrupteurs à broches
bool sPWMpin1Status = true;
bool sPWMpin2Status = true;
void setup ()
{
pinMode (sPWMpin1, SORTIE);
pinMode (sPWMpin2, SORTIE);
}
boucle vide ()
{
// Boucle pour broche 1
pour (int i (0); i! = sPWMArrayValues; i ++)
{
if (sPWMpin1Status)
{
digitalWrite (sPWMpin1, HIGH);
delayMicroseconds (sPWMArray [i]);
sPWMpin1Status = false;
}
d'autre
{
digitalWrite (sPWMpin1, LOW);
delayMicroseconds (sPWMArray [i]);
sPWMpin1Status = true;
}
}
// Boucle pour broche 2
pour (int i (0); i! = sPWMArrayValues; i ++)
{
if (sPWMpin2Status)
{
digitalWrite (sPWMpin2, HIGH);
delayMicroseconds (sPWMArray [i]);
sPWMpin2Status = false;
}
d'autre
{
digitalWrite (sPWMpin2, LOW);
delayMicroseconds (sPWMArray [i]);
sPWMpin2Status = true;
}
}
}
Bonne chance