¿Conduce motores de corriente continua con MOSFET y un microcontrolador?

13

Estoy desarrollando un nano quadcopter usando un microcontrolador Atmega328, alimentado a 3.3V, y motores de CC cepillados muy pequeños. La corriente promedio utilizada por estos motores es de aproximadamente 800 mA a 3,7 V.

Inicialmente, para conducirlos, usé un controlador de motor L293D pero este componente era bastante ineficiente. La corriente medida cuando los motores funcionaban a una potencia máxima era de aproximadamente 500 mA, por lo que el empuje era mucho más bajo de lo que debería ser.

Ahora, para resolver este problema, reemplazaría ese controlador de motor con 4 MOSFET de nivel lógico. Después de una larga búsqueda, encuentro este (2SK4033).

¿Sabes si debería funcionar? ¿Tengo que usarlo junto con un diodo? Si la respuesta es "sí", ¿qué pasa con este (MBR360RLG)?

Elegí estos componentes también porque puedo comprarlos en la misma tienda en línea.

supergiox
fuente
2
Andy ha respondido la parte MOSFET de su pregunta, pero nadie ha mencionado una pregunta más fundamental: ¿cómo planea reemplazar ese L293D con MOSFET 4 N? Poner un N MOSFET en el lado alto podría causar problemas de eficiencia. Un dibujo esquemático podría ayudar a aclarar su idea.
Laszlo Valko
¿Qué quieres decir con "lado alto"? En este momento, el único esquema que tengo es el del L293D. Si pudiera ayudar, puedo publicarlo. Mi idea es que cada motor esté impulsado por un mosfet (4 en general) y, si es necesario, también por un diodo. ¿Cuál podría ser una solución más eficiente?
supergiox
Cada salida L293D incluye un transistor de "lado alto" (entre Vcc y la salida) y un transistor de "lado bajo" (entre GND y la salida). Si reemplaza el transistor de "lado alto" con un N MOSFET, necesitará una fuente de alimentación que pueda proporcionar Vgs (al menos 2..3..4V) por encima del voltaje de salida. O el max. el voltaje de salida será Vcc - Vgs ...
Laszlo Valko
Los Vgs deben ser de 3.3V y la salida (Vds) debe ser de 3.7V (el mismo voltaje de la batería, que es único). Entonces, si existe este problema, ¿cómo puedo hacerlo? ¿Me puede sugerir otra solución?
supergiox
2
Tiene las siguientes opciones: a) usar MOSFET P para el lado alto; b) use un duplicador de voltaje separado o un circuito convertidor DC-DC para proporcionar 2 * Vcc para conducir las compuertas MOSFET del lado alto; c) use un circuito de arranque para proporcionar el voltaje Vout + Vcc adecuado para conducir las compuertas MOSFET del lado alto. Cada uno de estos tiene sus inconvenientes y / o limitaciones.
Laszlo Valko

Respuestas:

17

Los MOSFET deberían funcionar muy bien para esta aplicación. Aquí hay algunas cosas a considerar:

1:

Cuando use un FET para conducir una carga, puede elegir una configuración de lado alto o de lado bajo. El lado alto coloca el FET entre el riel de alimentación y la carga, y el otro lado de la carga está conectado a tierra. En una configuración de lado bajo, un cable de la carga se conecta al riel de alimentación y el FET se coloca entre la carga y la tierra:

HighVsLow

La forma más sencilla de conducir su motor (u otra carga) es usar un MOSFET de canal N en la configuración de lado bajo. Un N-FET comienza a conducirse cuando su voltaje de puerta es más alto que su fuente. Dado que la fuente está conectada a tierra, la puerta puede accionarse con lógica normal de encendido y apagado. Hay un umbral que el voltaje de la puerta debe superar ("Vth") antes de que el FET conduzca. Algunos FET tienen Vth en decenas de voltios. Desea un N-FET de "nivel lógico" con un umbral que sea considerablemente menor que su Vcc.

Hay dos inconvenientes en la configuración FET del lado bajo:

  • El devanado del motor está conectado directamente al riel de alimentación. Cuando el FET está apagado, todo el devanado está "caliente". Estás cambiando la tierra, no la conexión de alimentación.

  • El motor no tendrá una verdadera referencia de tierra. Su potencial más bajo será más alto que la tierra por el voltaje directo del FET.

Ninguno de estos debe importar en su diseño. Sin embargo, ¡pueden ser problemáticos si no los espera! Especialmente con circuitos de mayor potencia :)

Para superar estos problemas, puede usar un P-FET en la configuración de lado alto. Sin embargo, el circuito de conducción se vuelve un poco más complejo. Un interruptor P-FET generalmente tiene su compuerta levantada hacia el riel de alimentación. Este riel de alimentación es más alto que el Vcc de uC, por lo que no puede conectar los pines de E / S de uC directamente a la puerta. Una solución común es usar un N-FET de lado bajo más pequeño para abrir la puerta del P-FET de lado alto:

DualFet

R1 y R3 existen para mantener los FET apagados hasta que Q2 se activa. Necesitará R3 incluso en una configuración de lado bajo.

En su caso, creo que un simple N-FET de lado bajo (con R3) le servirá mejor.


2:

Observe R2 en el último diagrama. Una puerta MOSFET actúa como un condensador, que debe cargarse antes de que la corriente de la fuente de drenaje comience a fluir. Puede haber una corriente de entrada importante cuando proporciona energía por primera vez, por lo que debe limitar esta corriente para evitar daños en el controlador de salida del uC. El límite solo se verá corto por un instante, por lo que no es necesario un gran margen de error. Su Atmel específico, por ejemplo, puede generar 40 mA. 3.3V / 35mA => 94.3 Ohm. Una resistencia de 100 ohmios funcionará muy bien.

Sin embargo, esta resistencia ralentizará los tiempos de encendido y apagado del FET, lo que pondrá un límite superior a su frecuencia de conmutación. Además, prolonga la cantidad de tiempo donde el FET está en la región lineal de operación, lo que desperdicia energía. Si está cambiando a una frecuencia alta, esto podría ser un problema. Un indicador es si el FET se calienta demasiado.

Una solución a este problema es usar un controlador FET. Son efectivamente amortiguadores que pueden generar más corriente y, por lo tanto, pueden cargar la puerta más rápido sin la necesidad de una resistencia limitadora. Además, la mayoría de los controladores FET pueden usar un riel de potencia más alto que el Vcc típico. Este voltaje de puerta más alto reduce la resistencia de encendido del FET, ahorrando energía adicional. En su caso, puede alimentar el controlador FET con 3.7V y controlarlo con los 3.3V de uC.

FetDriver


3:

Finalmente, querrá usar un diodo Schottky para proteger contra picos de voltaje causados ​​por el motor. Haga esto cada vez que cambie una carga inductiva:

LowSideWithDiode

Un devanado de motor es un gran inductor, por lo que resistirá cualquier cambio en el flujo de corriente. Imagine que la corriente fluye a través del devanado y luego apaga el FET. La inductancia hará que la corriente continúe fluyendo desde el motor a medida que colapsan los campos eléctricos. Pero, ¡no hay lugar a donde ir esa corriente! Por lo tanto, atraviesa el FET o hace algo más igual de destructivo.

El Schottky, colocado en paralelo a la carga, proporciona un camino seguro para que la corriente viaje. El pico de voltaje alcanza el máximo en el voltaje directo del diodo, que es solo 0.6V a 1A para el que especificó.

La imagen anterior, una configuración de lado bajo con el diodo flyback, es fácil, económica y bastante efectiva.


El único otro problema que veo con el uso de la solución MOSFET es que es inherentemente unidireccional. Su L293D original es un controlador de medio puente múltiple. Esto hace posible conducir un motor en ambas direcciones. Imágenes conectando un motor entre 1Y y 2Y. El L293D puede hacer 1Y = Vdd y 2Y = GND, y el motor gira en una dirección. O puede hacer 1Y = GND y 2Y = Vdd, y el motor girará en sentido contrario. Bastante práctico

¡Buena suerte y diviertete!

bitsmack
fuente
¡Agradable! ¿Necesito una resistencia entre el micro cable y la puerta? ¿Es 220 Ohm un buen valor? (3.3V / 0.02A = 170 Ohm ~ 220 Ohm)
supergiox
1
Buena pregunta. En el mundo ideal, la puerta no hundirá ninguna corriente. Ese es uno de los beneficios de los FET sobre los BJT. Pero, en el mundo real, la compuerta actúa como un pequeño condensador, que debe cargarse antes de que la corriente de la fuente de drenaje comience a fluir. Desea que se cargue rápidamente, para encender el FET rápidamente. Cuando enciende el pin uC por primera vez, la capacitancia de la puerta aparece como un cortocircuito. El ATmega328 puede generar 40 mA por pin. El límite solo se verá corto por un instante, por lo que no me molestaría con demasiado margen de error. Digamos, 3.3V, 35mA: ~ 100-Ohm. ¡Lo fusionaré más tarde hoy!
Bitsmack
1
Ah, y si está cambiando el motor a altas frecuencias, esta resistencia se convierte en un problema. Disminuye la carga y descarga de la puerta, lo que ralentiza su frecuencia de conmutación. Además, prolonga la cantidad de tiempo donde el FET está en la región lineal de operación, lo que desperdicia energía. Si encuentra que esto es un problema, use un "controlador FET" o algún otro búfer, que está hecho para generar / hundir una corriente mucho más alta hacia / desde la puerta. Entonces puede minimizar (o eliminar) la resistencia.
Bitsmack
Creo que la frecuencia del interruptor es la frecuencia pwm, por lo que debería ser de unos 500Hz.
supergiox
1
Bonito :) Estoy celoso; ¡He estado esperando construir un helicóptero cuádruple desde hace bastante tiempo! Háganos saber ...
bitsmack
12

Esto es lo que buscaría para cualquier MOSFET. Por cierto, esto es de la hoja de datos del 2SK4033: -

ingrese la descripción de la imagen aquí

Usted dice que 800 mA es la corriente promedio pero, ¿podría aumentar a más de 1 A bajo carga? De todos modos, a 1A y con un voltaje de impulsión de puerta de 3.3V, el MOSFET cae aproximadamente 0.15V a través de sus terminales cuando alimenta una carga de 1A. ¿Puede vivir con esta pérdida de potencia (150 mW) y, lo que es más importante, cuando el voltaje de la batería cae por debajo de 3 V, puede vivir con el rendimiento perdido ya que el voltaje de la puerta cae inevitablemente.

Solo tú puedes responder esta pregunta. Hay mejores MOSFET que esto, pero debe calcular las corrientes de carga reales para el motor que espera ver.

EDICIONES

Aquí hay un chip que encontré que podría ser bastante útil en lugar de MOSFET. Es el DRV8850 de TI. Contiene dos medios puentes y esto significa que puede conducir de forma independiente dos de los 4 motores sin necesidad de los diodos de retorno (en efecto, el FET superior funciona como un rectificador síncrono y, por supuesto, esto reduce las pérdidas). La resistencia de encendido para cada FET es de 0.045 ohmios y tiene una potencia nominal de 5A (la potencia disipada es de aproximadamente 1.1 vatios) pero, dado que el OP quiere aproximadamente 1A, esto se vuelve muy trivial. El rango de voltaje de alimentación es de 2V a 5.5V, así que nuevamente esto es muy adecuado: -

ingrese la descripción de la imagen aquí

Andy alias
fuente
Muchas gracias. Sí, los motores podrían aumentar la corriente a un valor ligeramente superior a 1A, pero solo por un corto tiempo. Una regla práctica que sé es considerar una corriente que sea el doble del promedio (1.6A). Creo que 150 mW de pérdida de potencia no es un gran problema.
supergiox
¿Qué pasa con voltajes de batería más bajos cuando la unidad de puerta es más pobre y la pérdida se vuelve mayor? Estoy jugando a los defensores de los demonios, por supuesto.
Andy alias
Sobre el voltaje de la batería cae por debajo de 3V, no sé si entiendo lo que quieres decir. De todos modos, uso un regulador de voltaje (LE33CZ) para alimentar el ATmega a 3.3V. ¿No significa que el voltaje es "siempre" 3.3V? Una pregunta más. ¿Qué hay del diodo?
supergiox
1
A medida que el voltaje de la batería cae a decir 3,4 voltios, la salida del regulador comenzará a caer también y esto significa que los voltios de la unidad a la puerta comienzan a caer y los pies se vuelven más ineficientes. Trate con este escenario antes de los diodos. Los diodos son triviales en comparación.
Andy alias
1
¿Necesita un Fet para controlar cada motor o dos? Laszlo asume que necesitas 2 porque originalmente usaste un L293.
Andy alias
6

Dado que se está utilizando un motor de CC cepillado, no necesariamente necesita un puente H como unidad. Solo dos casos realmente requieren un puente H; necesita conmutar externamente el motor (por ejemplo, piense en motores PM sin escobillas) o necesita invertir el giro. Ninguno de estos parece aplicarse aquí. El uso de una sola dirección o unidad de cuadrante único (SQD) simplificaría enormemente lo que está tratando de hacer.

El FET que está pensando usar (2SK4033) no es una gran combinación para el voltaje del variador que está disponible (Andy ya ha señalado por qué), y entraremos en más detalles sobre cómo elegir FET más adelante.

Conducción de motores de CC cepillados con un solo cuadrante (SQD)

Vth

ingrese la descripción de la imagen aquí

VωRvientoRsolRpdVsiVdrv

yometroyore-pagkyore-rmetrosyopedir

  • yore-pagkyometro
  • yod-rms2yometro2
  • yopediryometro

Criterios básicos para elegir un FET (una especie de ABC de elegir un FET):

  • VDS1,5VB-max

VDS

  • Vth-maxVDrv-min3

    Vth-maxRds

  • ΔTJ-UN

    El aumento de calor es realmente importante. Da cuenta de todas las pérdidas ... pérdida de conducción, pérdida de puerta y pérdida de conmutación.

Selección de parte de muestra basada en 3 criterios:

VB-maxVDrv-minVDSVth-maxRDS

  • VDSVth-max

Rth

PAGTPAGcondPAGSO

dónde

PAGcondRdsyometro2

PAGSO12yometroVsiFPWM(τF+τr)

VgsVdsVgsVmpVds

ingrese la descripción de la imagen aquí

QmpVmpVdrvRsolVmpVdrv

QmpτVdrv2Rsolτ2RsolQmpVdrv2(100Ohmetros)(4nC)3.3V

Tiempo para algunos supuestos operativos. La temperatura ambiente es de 50 ° C (por lo que la temperatura máxima del troquel FET es de 100 ° C), la frecuencia PWM es de 20 kHz (porque las frecuencias más bajas son audibles y realmente de 5 kHz a 10 kHz es simplemente desagradable), el ciclo de trabajo (CC) es del 90% y la corriente del motor (yometroRdsRds

PAGT0.9(33mOhm)(1.2A)2(3.3V)(1.2A)(242nSec)(20kHz) = 36mW + 19mW = 55mW

yometro podría ser 1.65A y el FET todavía estaría en el presupuesto de aumento de calor.

Cabos sueltos

  • Coloque el circuito de accionamiento y los interruptores cerca del motor.

  • Si bien es posible que el micro maneje el FET directamente, una buena idea es un controlador para la protección del micro (algo como un NC7WZ16 podría funcionar aquí).

  • Ciss

  • yometro

gsills
fuente