Controlando la fuerza de un electroimán con arduino

Esta pregunta anterior, Controlar un electroimán con Arduino , trata solo con el control binario (ENCENDIDO o APAGADO). Por mi parte, necesito elegir la fuerza del campo magnético.

Es un electroimán casero, logré alimentarlo con 12V DC + una resistencia de 5ohm que da alrededor de 2Amps. El campo magnético resultante es lo suficientemente grande. La resistencia se calienta, pero esto es soportable.

Ahora quiero modular la intensidad entre 0 y 2 amperios a partir de la lectura de un sensor, por lo que planeo usar un Arduino.

¿Puedo usar PWM sabiendo que la carga inductiva es significativa? ¿Es crítica la elección de frecuencia del PWM? ¿Tendré problemas con las corrientes de Foucault en el núcleo blando? (No puedo usar núcleo laminado).

Entonces mi pregunta es: ¿PWM es realmente una buena opción? En caso afirmativo, ¿debería conservar la resistencia de 5 ohmios? ¿Cómo puedo calibrar mi frecuencia PWM + alfa? Si no, ¿qué podría hacer en su lugar? ¿Qué circuito?

Gracias

PWM se usa habitualmente para el control continuo de la intensidad de las cargas electromagnéticas, por lo que sí funcionará. Sus preocupaciones serán el mecanismo que usa para cambiar la alta corriente necesaria para el electroimán (muchas preguntas en este sitio abordan eso), el retorno inductivo (use un diodo en polarización inversa a través de la bobina) y (tal vez) asegurarse de que su frecuencia PWM sea no es un armónico de cualquier frecuencia de resonancia natural que tenga su bobina.
Los motores de CC también son inductores. ¿Quizás un protector de motor sería una solución conveniente?
Si tiene un osciloscopio, puede ver fácilmente si el inductor se satura. Si es así, debe considerar una frecuencia PWM más alta. Si la frecuencia aumenta lo suficiente, la corriente a través del inductor solo alcanzará su máximo/mínimo en un ciclo de trabajo del 100/0 por ciento.
@jippie: esto es lo que no entiendo. Si esto es > 50%, entonces, durante cada ciclo, el tiempo de 'subida' es más largo que el 'tiempo de bajada', por lo que la corriente termina un poco más alta que donde comenzó. Entonces, ¿por qué no se satura después de muchos ciclos? (Observé que no, pero puedo averiguar por qué)

Respuestas (1)

PWM es una buena opción y recuerde que la bobina necesita un diodo conectado inversamente para evitar que la fuerza contraelectromotriz del inductor de circuito abierto dañe el material. También deberá usar un transistor de potencia de algún tipo para interactuar entre el arduino y la bobina: el arduino no proporciona suficiente "impulso" para acercarse a 2A. Aquí hay un diagrama que muestra un transistor de una MCU pero tiene un motor en lugar de una bobina. Esto no importa, lo importante es que muestra el diodo y un método para conducir la bobina: -

ingrese la descripción de la imagen aquí

También muestra +5V pero esto puede ser +12V. Cosas a tener en cuenta: -

1) El diodo debe estar clasificado a una corriente que exceda la corriente máxima a través de la bobina.

2) La bobina aún necesita la resistencia en serie en caso de cortocircuitos, pero tal vez se reduzca a algo así como 1 ohm cuando esté más satisfecho con las operaciones.

3) El transistor debe estar clasificado para cambiar la corriente, por lo que probablemente elija uno que pueda manejar fácilmente al menos 3A.

4) La clasificación de voltaje en el transistor solo necesita ser de 20 V o más.

5) Es posible que la resistencia en serie con la base deba ser de 100 ohmios; intente esto para empezar. Desde una línea 3V3 IO, 100 ohm significará una corriente base de aproximadamente 30 mA y si el HFE del transistor es bueno al cambiar las cargas de energía (más de 100), debería estar bien, sin embargo, puede ser mejor usar un FET para esto y allí hay mucho para elegir.

A continuación, intente emitir un pulso de espacio de marca de 50:50 (una onda cuadrada) y cambie la frecuencia y vea cómo son las pérdidas del núcleo con frecuencias progresivamente más altas. Hubiera pensado que 1kHz es un buen punto de partida y, con suerte, puede estar satisfecho con 10kHz.

Gracias por tu respuesta completa. Lo hice funcionar con el arduino 500Hz PWM predeterminado y un MOSFET IRF520 (se calienta, así que probaré uno mejor) + diodo flyback + optoacoplador. Pero todavía no entiendo por qué la corriente no se acumula progresivamente (después de muchos ciclos) cuando la relación PWM es> 50% ya que durante cada ciclo, el tiempo de 'subida' es más largo que el 'tiempo de bajada' y ¡la corriente debería terminar un poco más alta que donde comenzó!
ok, creo que lo descubrí gracias a algunas simulaciones circuitlab.com/circuit/73nx5a/ferropwm .