- Composants requis:
- Schéma de circuit et connexions:
- Explication du code:
- Fonctionnement du convertisseur abaisseur DC-DC:
Dans ce projet, nous allons créer un circuit convertisseur Buck utilisant Arduino et N-Channel MOSFET avec une capacité de courant maximale de 6 ampères. Nous allons abaisser le 12v DC à n'importe quelle valeur entre 0 et 10v DC. Nous pouvons contrôler la valeur de la tension de sortie en tournant le potentiomètre.
Un convertisseur abaisseur est un convertisseur CC-CC, qui abaisse la tension CC. C'est comme un transformateur avec une différence; tandis que le transformateur abaisse la tension alternative, le convertisseur abaisseur abaisse la tension continue. L'efficacité du convertisseur abaisseur est inférieure à celle d'un transformateur.
Les composants clés du convertisseur buck sont mosfet; Générateur d'impulsions carrées à canal n ou canal p et haute fréquence (soit un circuit intégré de minuterie ou un microcontrôleur). Arduino est utilisé ici comme générateur d'impulsions, un circuit intégré de minuterie 555 peut également être utilisé à cet effet. Ici, nous avons démontré ce convertisseur Buck en contrôlant la vitesse du moteur à courant continu avec un potentiomètre, ainsi que la tension à l'aide d'un multimètre. Consultez la vidéo à la fin de cet article.
Composants requis:
- Arduino Uno
- IRF540N
- Inducteur (100Uh)
- Condensateur (100 uf)
- Diode Schottky
- Potentiomètre
- Résistance 10k, 100ohm
- Charge
- Batterie 12v
Schéma de circuit et connexions:
Effectuez les connexions comme indiqué dans le schéma de circuit ci-dessus pour le convertisseur abaisseur DC-DC.
- Connectez une borne de l'inductance à la source du mosfet et une autre à la LED en série avec une résistance de 1k. La charge est connectée en parallèle à cet arrangement.
- Connectez une résistance de 10k entre la porte et la source.
- Connectez le condensateur en parallèle à la charge.
- Connectez la borne positive de la batterie à la décharge et la borne négative à la borne négative du condensateur.
- Connectez la borne p de la diode au négatif de la batterie et la borne n directement à la source.
- La broche PWM d'Arduino va à la porte du mosfet
- La broche GND d'Arduino va à la source de mosfet. Connectez-le là ou le circuit ne fonctionnera pas.
- Connectez les bornes extrêmes du potentiomètre à la broche 5v et à la broche GND d'Arduino respectivement. Alors que la borne d'essuie-glace à la broche analogique A1.
Fonction d'Arduino:
Comme déjà expliqué, Arduino envoie des impulsions d'horloge à la base du MOSFET. La fréquence de ces impulsions d'horloge est d'env. 65 Khz. Cela provoque une commutation très rapide du mosfet et nous obtenons une valeur de tension moyenne. Vous devriez en savoir plus sur ADC et PWM dans Arduino, ce qui vous expliquera comment les impulsions haute fréquence sont générées par Arduino:
- Gradateur LED basé sur Arduino utilisant PWM
- Comment utiliser ADC dans Arduino Uno?
Fonction du MOSFET:
Mosfet est utilisé à deux fins:
- Pour une commutation rapide de la tension de sortie.
- Pour fournir un courant élevé avec moins de dissipation de chaleur.
Fonction de l'inducteur: l'
inducteur est utilisé pour contrôler les pics de tension qui peuvent endommager le mosfet. L'inducteur stocke l'énergie lorsque le mosfet est allumé et libère cette énergie stockée lorsque le mosfet est éteint. La fréquence étant très élevée, la valeur d'inductance requise à cet effet est très faible (environ 100uH).
Fonction de la diode Schottky: la
diode Schottky complète la boucle de courant lorsque le mosfet est éteint et assure ainsi une alimentation régulière du courant à la charge. En dehors de cela, la diode Schottky dissipe très peu de chaleur et fonctionne bien à une fréquence plus élevée que les diodes régulières.
Fonction de la LED: La
luminosité de la LED indique la tension d'abaissement à travers la charge. Lorsque nous tournons le potentiomètre, la luminosité de la LED varie.
Fonction du potentiomètre:
Lorsque la borne d'essuie-glace du potentiomètre est rejetée dans une position différente, la tension entre elle et la terre change, ce qui change à son tour la valeur analogique reçue par la broche A1 de l'arduino. Cette nouvelle valeur est ensuite mappée entre 0 et 255 puis donnée à la broche 6 d'Arduino pour PWM.
** Le condensateur adoucit la tension donnée à la charge.
Pourquoi une résistance entre grille et source?
Même le moindre bruit à la porte du MOSFET peut l'activer, par conséquent, pour éviter que cela ne se produise, il est toujours conseillé de connecter une résistance de grande valeur entre la porte et la source.
Explication du code:
Le code Arduino complet, pour générer des impulsions haute fréquence, est donné dans la section de code ci-dessous.
Le code est simple et explicite, nous n'avons donc expliqué ici que quelques parties de code.
La variable x reçoit la valeur analogique reçue de la broche analogique A0 d'Arduino
x = lecture analogique (A1);
La variable w est affectée à la valeur mappée qui est comprise entre 0 et 255. Ici, les valeurs ADC d'Arduino sont mappées de 2 à 255 en utilisant la fonction de carte dans Arduino.
w = carte (x, 0,1023,0,255);
La fréquence normale de PWM pour la broche 6 est d'environ 1 kHz. Cette fréquence ne convient pas à des fins telles que le convertisseur abaisseur. Par conséquent, cette fréquence doit être augmentée à un niveau très élevé. Ceci peut être réalisé en utilisant un code d'une ligne dans la configuration nulle:
TCCR0B = TCCR0B & B11111000 - B00000001; // changer la fréquence de PWM à 65 KHZ env.
Fonctionnement du convertisseur abaisseur DC-DC:
Lorsque le circuit est allumé, le mosfet s'allume et s'éteint avec une fréquence de 65 kHz. Cela amène l'inducteur à stocker de l'énergie lorsque mosfet est allumé, puis à charger cette énergie stockée lorsque mosfet s'éteint. Comme cela se produit à très haute fréquence, nous obtenons une valeur moyenne de tension de sortie pulsée en fonction de la position de la borne d'essuie-glace du potentiomètre par rapport à la borne 5v. Et à mesure que cette tension entre la borne d'essuie-glace et la masse augmente, la valeur mappée sur la broche pwm no. 6 d'Arduino.
Disons que cette valeur mappée est 200. Ensuite, la tension PWM sur la broche 6 sera à: = 3,921 volts
Et comme le MOSFET est un dispositif dépendant de la tension, cette tension pwm détermine finalement la tension aux bornes de la charge.
Ici, nous avons démontré ce convertisseur Buck en faisant tourner un moteur à courant continu et sur un multimètre, vérifiez la vidéo ci-dessous. Nous avons contrôlé la vitesse du moteur avec potentiomètre et contrôlé la luminosité de la LED avec potentiomètre.