Faire ce convertisseur Buck en utilisant Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans ce projet, nous allons abaisser le 12v DC à n'importe quelle valeur DC entre 2 et 11volts. Le circuit qui abaisse la tension DC est appelé convertisseur abaisseur. La tension de sortie ou la tension d'abaissement nécessaire est contrôlée à l'aide d'un potentiomètre connecté à arduino.

Par Ankit Negi



INTRODUCTION AUX CONVERTISSEURS:

Il existe essentiellement deux types de convertisseurs:

1. Convertisseur Buck



2. Convertisseur Boost

Les deux convertisseurs modifient la tension d'entrée en fonction des besoins. Ils sont similaires à un transformateur avec une différence principale. Alors que le transformateur augmente / diminue une tension CA, les convertisseurs CC augmentent / abaissent la tension CC. Les principaux composants des deux convertisseurs sont:

A. MOSFET

INDUCTEUR

C. CONDENSATEUR

BUCK CONVERTER: comme son nom l'indique, buck signifie abaisser la tension d'entrée. convertisseur Buck nous donne la tension inférieure à la tension continue d'entrée avec une capacité de courant élevée. C'est une conversion directe.

BOOST CONVERTER: comme son nom l'indique, boost signifie augmenter la tension d'entrée.

Le convertisseur Boost nous donne la tension DC plus que la tension DC à l'entrée. C'est aussi une conversion directe.

** dans ce projet, nous allons créer un circuit convertisseur abaisseur pour abaisser le 12 V DC en utilisant Arduino comme source PWM.

CHANGEMENT DE FRÉQUENCE PWM SUR LES BROCHES ARDUINO:

Les broches PWM de l'arduino UNO sont 3, 5, 6, 9, 10 et 11.

Pour effectuer PWM, la commande utilisée est:

analogWrite (PWM PIN NO, PWM VALUE)

et la fréquence PWM pour ces broches sont:

Pour les broches Arduino 9, 10, 11 et 3 ---- 500Hz

Pour les broches Arduino 5 et 6 ---- 1 kHz

Ces fréquences conviennent à un usage général comme la décoloration d'une LED. Mais pour un circuit comme convertisseur buck ou boost , il faut une source PWM haute fréquence (dans la plage de dizaines de KHZ) car le MOSFET a besoin d'une haute fréquence pour une commutation parfaite et une entrée haute fréquence diminue la valeur ou la taille des composants du circuit comme l'inducteur et le condensateur. Ainsi, pour ce projet, nous avons besoin d'une source PWM haute fréquence.

La bonne chose est que nous pouvons changer la fréquence PWM des broches PWM d'arduino en utilisant un code simple:

POUR ARDUINO UNO:

Fréquence PWM disponible pour D3 et D11:
// TCCR2B = TCCR2B et B11111000 | B00000001 // pour une fréquence PWM de 31372,55 Hz
// TCCR2B = TCCR2B et B11111000 | B00000010 // pour une fréquence PWM de 3921,16 Hz
// TCCR2B = TCCR2B et B11111000 | B00000011 // pour une fréquence PWM de 980,39 Hz
TCCR2B = TCCR2B et B11111000 | B00000100 // pour une fréquence PWM de 490,20 Hz (Le DEFAULT)
// TCCR2B = TCCR2B et B11111000 | B00000101 // pour une fréquence PWM de 245,10 Hz
// TCCR2B = TCCR2B et B11111000 | B00000110 // pour une fréquence PWM de 122,55 Hz
// TCCR2B = TCCR2B et B11111000 | B00000111 // pour une fréquence PWM de 30,64 Hz
Fréquence PWM disponible pour D5 et D6:
// TCCR0B = TCCR0B et B11111000 | B00000001 // pour une fréquence PWM de 62500,00 Hz
// TCCR0B = TCCR0B et B11111000 | B00000010 // pour une fréquence PWM de 7812,50 Hz
TCCR0B = TCCR0B et B11111000 | B00000011 // pour une fréquence PWM de 976,56 Hz (Le DEFAULT)
// TCCR0B = TCCR0B et B11111000 | B00000100 // pour une fréquence PWM de 244,14 Hz
// TCCR0B = TCCR0B et B11111000 | B00000101 // pour une fréquence PWM de 61,04 Hz
Fréquence PWM disponible pour D9 et D10:
// TCCR1B = TCCR1B et B11111000 | B00000001 // régler le diviseur du minuteur 1 sur 1 pour une fréquence PWM de 31372,55 Hz
// TCCR1B = TCCR1B et B11111000 | B00000010 // pour une fréquence PWM de 3921,16 Hz
TCCR1B = TCCR1B et B11111000 | B00000011 // pour une fréquence PWM de 490,20 Hz (Le DEFAULT)
// TCCR1B = TCCR1B et B11111000 | B00000100 // pour une fréquence PWM de 122,55 Hz
// TCCR1B = TCCR1B et B11111000 | B00000101 // pour une fréquence PWM de 30,64 Hz
** nous allons utiliser la broche no. 6 pour PWM d'où le code:
// TCCR0B = TCCR0B et B11111000 | B00000001 // pour une fréquence PWM de 62,5 KHz

LISTE DES COMPOSANTS:

1. ARDUINO UNO

2. INDUCTEUR (100Uh)

3. DIODE SCHOTTKY

4. CONDENSATEUR (100 uf)

5. IRF540N

6. POTENTIOMÈTRE

7. RÉSISTANCE 10k, 100ohm

8. LOAD (moteur dans ce cas)

BATTERIE 9.12 V

SCHÉMA

Convertisseur Buck utilisant Arduino

Convertisseur Buck utilisant la disposition de câblage Arduino

Effectuez les connexions comme indiqué sur le schéma de circuit.

1. Connectez les bornes d'extrémité du potentiomètre à la broche 5v et à la broche de masse de l'arduino UNO respectivement tandis que sa borne d'essuie-glace à la broche analogique A1.

2. Connectez la broche PWM 6 de l'arduino à la base du mosfet.

3. Borne positive de la batterie pour drainer le mosfet et négative sur la borne p de la diode Schottky.

4. À partir de la borne p de la diode Schottky, connectez la charge (moteur) en série avec l'inducteur à la borne source du mosfet.

5. Connectez maintenant la borne n de la diode Schottky à la borne source du mosfet.

6. Connectez le condensateur 47uf sur le moteur.

7. Enfin, connectez la broche de terre de l'arduino à la borne source du mosfet.

Objectif de mosfet:

Mosfet est utilisé pour commuter la tension d'entrée à haute fréquence et pour fournir un courant élevé avec moins de dissipation de chaleur.

Objectif d'arduino:

Pour une vitesse de commutation élevée du mosfet (à une fréquence de 65 KHz environ)

But de l'inducteur:

Si ce circuit fonctionne sans connecter un inducteur, il y a de fortes chances d'endommager le mosfet en raison de pics de tension élevés sur la borne du mosfet.

Pour empêcher mosfet de ces pointes de haute tension, il est connecté comme indiqué sur la figure car lorsque mosfet est activé, il stocke de l'énergie et lorsque mosfet est éteint, il cède cette énergie stockée au moteur.

But de la diode Schottky:

Supposons que la diode Schottky n'est pas connectée au circuit. Dans ce cas, lorsque le mosfet est éteint, l'inductance libère son énergie vers la charge ou le moteur, ce qui a un très léger effet sur la charge car il y a une boucle incomplète pour le courant. Ainsi, la diode Schottky complète la boucle de circulation du courant. Maintenant, une diode normale n'est pas connectée ici car la diode Schottky a une faible chute de tension directe.
pour indiquer la tension de descente sur la charge.

But du potentiomètre:

Potentiomètre donne une valeur analogique à arduino (basée sur la position de la borne d'essuie-glace) selon laquelle la tension pwm est reçue par la borne de porte du mosfet à partir de la broche 6 de PWM d'Arduino. Cette valeur contrôle finalement la tension de sortie aux bornes de la charge.

Pourquoi la résistance est-elle connectée entre la grille et la source?

Même une petite quantité de bruit peut activer le mosfet. D'où un pull down résistance est connecté entre la grille et la masse, c'est-à-dire la source.

Code de programme

Burn this code to arduino:
int m // initialize variable m
int n // initialize variable n
void setup()
B00000001 // for PWM frequency of 62.5 KHz on pin 6( explained under code section)
Serial.begin(9600) // begin serial communication

void loop()
{
m= analogRead(A1) // read voltage value from pin A1 at which pot. wiper terminal is connected
n= map(m,0,1023,0,255) // map this ip value betwenn 0 and 255
analogWrite(6,n) // write mapped value on pin 6
Serial.print(' PWM Value ')
Serial.println(n)
}

EXPLICATION DU CODE

1. La variable x est la valeur de tension reçue de la broche A1 à laquelle la borne d'essuie-glace du pot est connectée.

2. La variable y est affectée à la valeur mappée comprise entre 0 et 255.

3. ** comme déjà expliqué dans la section ci-dessus pour un circuit comme un convertisseur abaisseur ou élévateur, il faut une source PWM haute fréquence (dans la plage de dizaines de KHZ) car le MOSFET a besoin d'une haute fréquence pour une commutation parfaite et une entrée haute fréquence diminue la valeur ou la taille des composants du circuit comme l'inducteur et le condensateur.

Ainsi, nous allons utiliser ce code simple pour générer une tension pwm d'env. Fréquence 65 kHz: TCCR0B = TCCR0B & B11111000 | B00000001 // pour une fréquence PWM de 62,5 KHz sur la broche 6

Comment ça fonctionne:

Étant donné que le potentiomètre donne une valeur analogique à arduino (en fonction de la position de la borne d'essuie-glace), cela détermine la valeur de tension pwm reçue par la borne de porte du mosfet à partir de la broche 6 de PWM d'Arduino.

Et cette valeur contrôle finalement la tension de sortie à travers la charge.

Lorsque mosfet est allumé, l'inducteur stocke de l'énergie et lorsqu'il s'éteint, cette énergie stockée est libérée vers la charge, c'est-à-dire le moteur dans ce cas. Et comme ce processus se déroule à très haute fréquence, nous obtenons une tension continue abaissée aux bornes du moteur qui dépend de la position de la borne d'essuie-glace, car le mosfet est un dispositif dépendant de la tension.

Images prototypes:

Clip vidéo du circuit de convertisseur Buck expliqué ci-dessus utilisant Arduino




Une paire de: Circuit de débitmètre d'eau numérique simple utilisant Arduino Un article: 4 circuits de capteur de proximité simples - utilisant IC LM358, IC LM567, IC 555