Table des matières:

Comment contrôler un MOSFET avec Arduino PWM : 3 étapes
Comment contrôler un MOSFET avec Arduino PWM : 3 étapes

Vidéo: Comment contrôler un MOSFET avec Arduino PWM : 3 étapes

Vidéo: Comment contrôler un MOSFET avec Arduino PWM : 3 étapes
Vidéo: Hack: modify 20A DC 10-60V PWM Motor Speed Controller and control with Arduino 2024, Juillet
Anonim
Image
Image
Schéma
Schéma

Dans cette instructable, nous verrons comment contrôler le courant via un MOSFET à l'aide d'un signal de sortie Arduino PWM (Pulse Width Modulation).

Dans ce cas, nous allons manipuler le code arduino pour nous donner un signal PWM variable sur la broche numérique 9 de l'arduino, et nous allons ensuite filtrer ce signal pour nous donner un niveau DC réglable qui peut être appliqué à la porte du MOSFET.

Cela nous permettra de contrôler le transistor d'un état éteint sans courant à un état où seulement quelques milliampères de courant circulent ou à un état où plusieurs ampères de courant circulent à travers le transistor.

Ici, je vais configurer le PWM de sorte que nous ayons 8192 pas de variation de largeur d'impulsion qui nous donnent un contrôle très fin sur le MOSFET.

Étape 1: schéma de circuit

Le circuit est très simple. Le signal PWM de la broche D9 de l'arduino est intégré ou filtré par la combinaison de R1 et C1. Les valeurs indiquées fonctionnent bien avec une fréquence de fonctionnement de 1,95 kHz ou un fonctionnement sur 13 bits avec 8192 étapes (2 à la puissance 13 = 8192).

Si vous décidez d'utiliser un nombre d'étapes différent, vous devrez peut-être modifier les valeurs R1 et C1. Par exemple, si vous utilisez 256 étapes (opération de 8 bits), la fréquence PWM sera de 62,45 KHz, vous devrez utiliser une valeur C1 différente. J'ai trouvé que 1000uF fonctionnait bien pour cette fréquence.

D'un point de vue pratique, un réglage PWM de 0 signifie que le niveau CC sur la porte MOSFET sera de 0 V et que le MOSFET sera complètement éteint. Un réglage PWM de 8191 signifie que le niveau CC sur la porte MOSFET sera de 5 V et que le MOSFET sera sensiblement sinon complètement allumé.

La résistance R2 est en place juste pour s'assurer que le MOSFET s'éteint lorsque le signal sur la porte est supprimé en tirant la porte à la terre.

À condition que la source d'alimentation soit capable de fournir le courant dicté par le signal PWM sur la porte MOSFET, vous pouvez la connecter directement au MOSFET sans résistance en série pour limiter le courant. Le courant sera limité par le MOSFET uniquement et il dissipera tout excès de puissance sous forme de chaleur. Assurez-vous de fournir un dissipateur de chaleur adéquat si vous l'utilisez pour des courants plus élevés.

Étape 2: Code Arduino

Code Arduino
Code Arduino

Le code arduino est joint. Le code est bien commenté et assez simple. Le bloc de code sur les lignes 11 à 15 configure l'arduino pour un fonctionnement PWM rapide avec une sortie sur la broche D9. Pour modifier le niveau PWM, vous modifiez la valeur du registre de comparaison OCR1A. Pour modifier le nombre d'étapes PWM, vous modifiez la valeur de ICR1. par exemple 255 pour 8 bits, 1023 pour 10 bits, 8191 pour 13 bits. Sachez que lorsque vous modifiez l'ICR1, la fréquence de fonctionnement change.

La boucle lit simplement l'état de deux boutons-poussoirs et incrémente la valeur OCR1A vers le haut ou vers le bas. J'ai prédéfini cette valeur dans le setup() sur 3240, ce qui est juste en dessous de la valeur à laquelle le MOSFET commence à s'allumer. Si vous utilisez un transistor différent ou un circuit de filtrage C1 et R1, cette valeur sera légèrement différente pour vous. Le mieux est de commencer avec la valeur prédéfinie à zéro la première fois que vous essayez ceci juste au cas où !

Étape 3: Résultats des tests

Résultats de test
Résultats de test
Résultats de test
Résultats de test

Avec ICR1 réglé sur 8191, voici les résultats que j'ai obtenus en faisant varier le courant entre 0 et 2 AMPS:

OCR1A (réglage PWMCourant (ma)Tension de grille (Vdc)3240 0 ma 0v3458 10ma 1.949v4059 100ma 2.274v4532 200ma 2.552v4950 500ma 2.786v5514 1000ma 3.101v6177 1500ma 3.472v6927 2000ma 3.895v

Conseillé: