Contrôle d'une force d'électroaimant avec Arduino

11

Cette question précédente Le contrôle d'un électro-aimant avec Arduino traite uniquement du contrôle binaire (ON ou OFF). De mon côté, je dois choisir la force du champ magnétique.

C'est un électro-aimant fait maison, j'ai réussi à l'alimenter avec 12V DC + une résistance de 5ohm qui donne environ 2Amps. Le champ magnétique résultant est suffisamment grand. La résistance devient chaude, mais c'est supportable.

Maintenant, je veux moduler l'intensité entre 0 et 2 ampères à partir d'une lecture de capteur, donc je prévois d'utiliser un Arduino.

Puis-je utiliser PWM sachant que la charge inductive est importante? Le choix de fréquence du PWM est-il critique? Vais-je avoir des problèmes avec les courants de Foucault dans le noyau mou? (Je ne peux pas utiliser de noyau laminé).

Ma question est donc la suivante: le PWM est-il vraiment un bon choix? Si oui, dois-je conserver la résistance de 5 ohms? Comment puis-je calibrer ma fréquence PWM + alpha? Si non, que pourrais-je faire à la place? Quel circuit?

Merci

repied2
la source
Le PWM est couramment utilisé pour le contrôle continu de l'intensité des charges d'électroaimant, donc oui, cela fonctionnera. Vos préoccupations seront le mécanisme que vous utilisez pour commuter le courant élevé nécessaire à l'électro-aimant (de nombreuses questions sur ce site traitent de cela), le retour inductif (utilisez une diode en polarisation inverse à travers la bobine), et (peut-être) vous assurer que votre fréquence PWM est pas une harmonique de la fréquence de résonance naturelle de votre bobine.
Anindo Ghosh
Les moteurs à courant continu sont également des inducteurs. Peut-être qu'un bouclier moteur serait une solution pratique?
Phil Frost
Si vous avez un oscilloscope, vous pouvez facilement voir si l'inductance sature. Si c'est le cas, vous devriez envisager une fréquence PWM plus élevée. Si la fréquence devient suffisamment élevée, le courant dans l'inductance n'atteindra son maximum / minimum qu'à 100/0% de rapport cyclique.
jippie
@jippie: c'est ce que je ne comprends pas. Si c'est> 50%, alors, à chaque cycle, le temps de montée est plus long que le temps de descente, donc le courant se termine un peu plus haut que là où il a commencé. Alors pourquoi ne sature-t-il pas après plusieurs cycles? (J'ai remarqué que non, mais je peux comprendre pourquoi)
repied2

Réponses:

6

PWM est un bon choix et rappelez-vous que la bobine a besoin d'une diode à connexion inversée à travers elle pour éviter que les contre-faisceaux de l'inductance en circuit ouvert n'endommagent les choses. Vous devrez également utiliser un transistor de puissance d'un certain type pour interfacer entre l'arduino et la bobine - l'arduino ne fournit pas assez de «commande» pour se rapprocher de 2A. Voici un diagramme qui montre un transistor d'un MCU mais il a un moteur au lieu d'une bobine. Cela n'a pas d'importance - l'important est qu'il montre la diode et une méthode de pilotage de la bobine: -

entrez la description de l'image ici

Il affiche également + 5V mais cela peut être + 12V. Choses à surveiller: -

1) La diode doit être évaluée à un courant qui dépasse le courant maximum à travers la bobine.

2) La bobine a toujours besoin de la résistance en série en cas de court-circuit, mais elle peut être réduite à quelque chose comme 1 ohm lorsque vous êtes plus satisfait des opérations.

3) Le transistor doit être évalué pour commuter le courant, alors choisissez probablement celui qui peut facilement gérer au moins 3A.

4) La tension nominale sur le transistor ne doit être que de 20 V ou plus

5) La résistance en série avec la base peut avoir besoin d'être de 100 ohms - essayez ceci pour commencer. À partir d'une ligne 3V3 IO, 100 ohms signifieront un courant de base d'environ 30mA et si le HFE du transistor est bon lors de la commutation de charges de puissance (100+), cela devrait être OK cependant, il peut être préférable d'utiliser un FET pour cela et là sont nombreux à choisir.

Essayez ensuite d'émettre une impulsion d'espace de marquage 50:50 (une onde carrée) et de changer la fréquence et de voir à quoi ressemblent les pertes de cœur avec des fréquences progressivement plus élevées. J'aurais pensé que 1 kHz est un bon point de départ et j'espère que vous serez satisfait de 10 kHz.

Andy aka
la source
Merci pour votre réponse complète. Je l'ai fait fonctionner avec l'arduino 500Hz PWM par défaut et un MOSFET IRF520 (devient chaud donc j'essaierai un meilleur) + diode flyback + optocoupleur. Mais je ne comprends toujours pas pourquoi le courant ne s'accumule pas progressivement (après plusieurs cycles) lorsque le rapport PWM est> 50% car pendant chaque cycle, le temps de montée est plus long que le temps de descente et le courant devrait finir un peu plus haut que là où il a commencé!
repied2
ok, je pense que je l'ai compris grâce à quelques simulations circuitlab.com/circuit/73nx5a/ferropwm .
repied2