Controlador de motor PWM de alto voltaje - Mosfets explotan


12

He buscado en cada publicación una respuesta a este problema. He construido un circuito controlador de motor como se muestra en este diagrama. Hice el diagrama lo más preciso posible. Se agregaron los diodos en los mosfets para que el símbolo del mosfet se pareciera al símbolo en la hoja de datos. Como puede ver, es un circuito PWM muy simple que utiliza una placa Arduino UNO. Un pedal de potenciómetro está conectado a una de las entradas analógicas y se utiliza para determinar el ciclo de trabajo de la salida pwm en el pin de salida digital 6.Enlace de circuito

El motor es el motor de 48v más pequeño de este tipo que produce la motenergía, pero este es un motor muy grande en comparación con otros circuitos que he visto así. Puede arrancar fácilmente unos 200 amperios en el arranque.

El circuito funciona: cuando se levanta el vehículo para que las ruedas no toquen el suelo. En ese estado, es muy fácil que el motor gire y no consume tanta corriente. Cuando las ruedas están en el suelo, los mosfets explotan en el momento en que comienzas a pisar el pedal. He construido este circuito unas 4 veces ahora. Incluso usé 18 mosfets en paralelo en una versión, y los 18 explotaron al instante. (200/18 = aproximadamente 7 amperios / mosfet) Cada mosfet debe manejar 32 amperios.

Finalmente acabamos de comprar un controlador de motor de alltrax, y el vehículo funciona bien, pero estoy decidido a descubrir por qué mi propio controlador de motor no funcionó. Me encanta la electrónica y he construido muchos circuitos difíciles a lo largo de los años. No podré dormir bien hasta que descubra lo que estoy haciendo mal.

Hablé con un técnico de Alltrax, y dijo que sus controladores no son más que un montón de mosfets y condensadores. Dijo que los condensadores evitaban que los mosfets explotaran, pero no tenía idea de cómo están conectados al circuito. Creo que tiene una parte de mi información faltante.

Entonces, ¿alguien puede decirme qué estoy haciendo mal? ¿Cómo debo agregar condensadores para arreglar esto? ¿Podría ser la frecuencia? Modificamos el temporizador en el Arduino para que nuestra frecuencia PWM fuera de alrededor de 8000 Hertz, pero el controlador Alltrax funciona a una asombrosa cifra de 18,000 Hertz. Sé que 18k es pequeño a medida que van los controladores de motor, pero pensé que a un motor gigante le gustaría una frecuencia más pequeña.

Además, antes de decir que los mosfets no pueden conectarse en paralelo debido a pequeñas diferencias entre ellos, utilicé exactamente 7 pulgadas de cable calibre 18 para conectar cada uno en paralelo. El cable pequeño actuaría como una pequeña resistencia y aseguraría que cada uno compartiera la carga actual.

Muchas gracias por sus respuestas.


2
Sigue hablando de algún controlador Alltrax, pero no es visible en el esquema.
Harry Svensson

1
¿Es correcto / correcto el número de pieza para los MOSFET en el esquema?
ThreePhaseEel

2
Realmente no soy un experto, pero tengo un mal presentimiento basado en alguna experiencia. Ese motor tiene una potencia de 13 caballos. ¿Estás intentando seriamente controlar la velocidad con un Arduino, 3 FET y 2 resistencias? Considere lo que un controlador industrial costaría para lograr el mismo - con seguridad ...
Paul Uszak

3
¿Qué diodo estás usando en el motor? Es mejor que sea grande.
Andy aka

1
13 hp / 48 V = 210 A. Wow, eso es mucha corriente. ¿Supongo que 500 amperios cuando el motor se detiene? Podrías escribir un libro sobre diodos de retorno y amortiguadores para una corriente tan alta.
Oskar Skog

Respuestas:


29

Aquí está la hoja de datos que debe vincularse desde su pregunta. No debería tener que buscarlo.

Cada mosfet debe manejar 32 amperios

VGS=10


VGS5V×R2R1+R2=4.54VR1R2

VGS=10VRDS(on)

P=I2×R=(32A)2×0.035Ω=35.84W , esto significa que ~ 36W es la disipación de potencia esperada cuandoVGS=10V

Con , el tiene un máximo de 45 mΩ según la hoja de datos.VGS=5VRDS(on)

35.84W=I2×0.045Ω , y si movemos el I alrededor obtenemos: , por lo que puede esperar que 28A pase con seguridad por el MOSFET IF arreglas los valores de resistencia. Definitivamente deberías conseguir un disipador de calor para los MOSFETS. Quizás incluso enfriamiento activo con un ventilador.I=35.840.045=28.2A

Modificamos el temporizador en el Arduino para que nuestra frecuencia PWM fuera de alrededor de 8000 Hertz

No necesita esa alta, 800Hz sería aceptable, eso es lo que cambian los controladores BLDC comunes (ESC). (Si no me equivoco).


Lo que intenta hacer es cargar una compuerta con una resistencia en serie, se parece a la imagen de abajo y podemos usar ese modelo para otras ecuaciones.

La capacitancia de la puerta ( ) tiene un valor máximo deCiss1040pF

Las resistencias y el MOSFET están formando este circuito:

Circuito RC

C=Ciss×3=3120pF porque tienes 3 en paralelo.

R=R1||R2=909Ω

Vs=4.54V

El voltaje sobre el condensador sigue esta ecuación: donde es el voltaje a través del condensador y es con lo que lo está alimentando, en nuestro caso es .

Vc=Ve×(1etRC)
VcVeVs=4.54V

Estás enviando PWM y haré un peor escenario para ti. Es cuando estás tratando de hacer analogWrite (1) , ese es un ciclo de trabajo de . Entonces, el tiempo en que su señal comienza a subir hasta que termina con ese ciclo de trabajo y 8kHz es 488.3 nanosegundos.12561256×18000=

Enchufemos los números en la ecuación anterior para ver cuál será el voltaje en la puerta.

Vc=4.54V×(1e488.3×109(909)×(3120×1012))=0.71V

El MOSFET comienza a abrirse con un mínimo de 1V y un máximo de 2.5V. Entonces, en el peor de los casos, ni siquiera puedes abrir la puerta. Así que ha estado cerrado todo el tiempo.


Otra cosa que realmente necesito señalar es que la razón más probable por la cual sus MOSFETS se están rompiendo es porque cuando lo hace, lo hace muy lentamente debido a las resistencias gigantescas y con tantas capacidades de compuerta. Eso significa que cuando los MOSFET están a punto de cambiar, pasan una gran cantidad de corriente mientras tienen una gran tensión sobre ellos. Y => realmente muy muy mucho calor.P=I×V

Ver esta imagen:

pérdidas de cambio

Como puedes entender, no quieres estar donde se cruzan la línea azul y la línea roja. Y el ancho de esa transición es el mismo independientemente de la frecuencia de conmutación, por lo que cuanto más a menudo cambie, más tiempo se dedica a esa transición dolorosa. Se llama pérdidas de cambio. Y se escala linealmente con frecuencia de conmutación. Y sus altas resistencias, alta capacitancia, conmutación de alta frecuencia, lo más probable es que lo haga permanecer en esa fase de transición todo el tiempo. Y eso equivale a explosiones o romper MOSFETS.


Realmente no tengo tiempo para hacer más cálculos, pero creo que entiendes lo esencial. Aquí hay un enlace a un esquema si quieres jugar. ¡Cuál deberías! .


Mi último consejo para usted es obtener un controlador MOSFET para que pueda bombear varios AMPS en la puerta, en este momento está bombeando miliamperios.


Btw Doctor Circuit, con respecto a su último párrafo, eso es solo un problema con los transistores BJT, entregan más corriente cuanto más caliente son, MOSFET sin embargo entregan menos corriente cuanto más caliente son, por lo que no necesitan ningún tipo especial de equilibrio, lo harán equilibrar automáticamente


CONTINUACIÓN, tiempo de subida y tiempo de caída.

Era bastante malo en el ejemplo anterior, conmutación de 8 kHz y ciclo de trabajo de 1/256. Seré más amable y veré un ciclo de trabajo del 50% = 128/256. Quiero saber y decirte cuánto tiempo pasas en tu dolorosa transición.

Entonces obtuvimos los siguientes parámetros relevantes para la transición dolorosa :

td(on) = Tiempo de retardo de encendido = Tiempo de subida de encendido = Tiempo de retraso de apagado = Tiempo de caída de apagado
tr
td(off)
tf

Haré algunas aproximaciones desagradables, asumiré que la meseta de Miller no existe, asumiré que el voltaje a través del MOSFET disminuye linealmente cuando se enciende y aumenta linealmente cuando se apaga. Asumiré que la corriente que fluye a través del MOSFET aumenta linealmente cuando se enciende y disminuye linealmente cuando se apaga. Asumiré que su motor consume 200 A durante el estado estable de un ciclo de trabajo del 50% con algo de carga, digamos su cuerpo. Entonces 200A mientras estás en ello y acelerando. (Mientras más torque produzca su motor, proporcionalmente, se generará más corriente).

Ahora a los números. De la hoja de datos sabemos los siguientes valores máximos:

td(on) = 40ns = 430ns = 130ns = 230ns
tr
td(off)
tf

Bien, primero quiero saber cuánto dura un período de 8kHz la transición anterior. La transición ocurre una vez cada período. Los retrasos no afectan realmente la transición (a menos que cambiemos a frecuencias realmente muy altas, como 1MHz).

tiempo en transición con un ciclo de trabajo del 50% y fs a 8 kHz = Pensé que vería un valor mucho mayor, esto está ignorando el meseta molinero y cosas parásitas, e ignorando la carga lenta de la puerta. Además, esto ignora el hecho de que el tiempo de subida y el tiempo de caída son en realidad del 10% al 90% de la señal, no del 0% al 100%, lo que supongo en mis cálculos. Entonces multiplicaría el 0.528 por 2 para hacer que mi aproximación sea más cercana a la realidad. Entonces 1%.tr+tf18000=0.00528=0.528%

Ahora sabemos con qué frecuencia pasamos tiempo en esa dolorosa transición. Veamos cuán doloroso es realmente.

P=1T0TP(t)dt

Vr(t)=48V(1t430ns)
Ir(t)=200A430nst

Vf(t)=48V230nst
If(t)=200A(1t230ns)

P=Pr+Pf
Pr=1tr0trVr(t)×Ir(t)dt
Pf=1tf0tfVf(t)×If(t)dt

Pr=1600W LOL! misma respuesta, extraña
Pf=1600W
P=Pr+Pf=3200W

Ahora volvamos a la frecuencia con la que pasó en esta transición de 3200W. Fue alrededor del 1% cuando la realidad entra en acción. (Y pensé que sería mucho más a menudo).

Pavg=3200W×1%=32W Hmm, nuevamente pensé que vería algo mucho ... más grande.


Y ... ¡calculemos el otro 99% del tiempo! De lo cual me olvidé por completo. ¡Aquí está la gran explosión! Sabía que había algo que olvidé.

P 50 % @ 8 k H z = 32 W + 1800 W × 49.5 % = 923 WP=I2×R=(200A)2×(0.045Ω)=1800W Y usted pasa el 49.5% del tiempo en este modo de conducción. Entonces, suP50%@8kHz=32W+1800W×49.5%=923W

Con 3 MOSFET en paralelo es por MOSFET. Eso sigue siendo ... ¡EX-PU-LOSIVE!32W+1800W×49.5%3=329W

Aquí vamos. Ahí está la bomba que estás buscando. EX-PU-LOSION

Esta es mi última edición.


44
Creo que está mostrando claramente lo difícil que es conducir 13 caballos de manera segura y confiable. ¿Y qué hay de bocetos dudosos? ¿Qué hace el motor cuando los OP cargan un nuevo boceto y los pines están flotando / indefinidos? Y posiblemente acortar la fuente de 48V, eso será interesante. Hay mucho que hacer para evitar decepciones / incendios ...
Paul Uszak

77
Bueno, seamos felices de que esté jugando con 48V y no con 480V. Puede sobrevivir a las quemaduras y aprender de por vida, pero es difícil aprender de la muerte por insuficiencia cardíaca.
Harry Svensson

3
@DoctorCircuit el 1 nF es la capacitancia de la puerta, el . No puedes eliminarlos. Son parte del MOSFET . Su Arduino puede empujar unos 20 mA a través de sus transistores. Eso sigue siendo miliamperios . Necesitas empujar varios AMPS para que esto se acerque incluso a algo que funciona. Necesita otra etapa entre el Arduino y los MOSFET que impulsan la carga. Un inversor lógico podría tal vez hacer el trabajo. Pero esto es lo que realmente necesita para impulsar varios AMPS. Ciss
Harry Svensson

2
@DoctorCircuit Este será mi último comentario. Solo mira este video . Mira todo por diversión. Alrededor de las 5:12 muestra los MOSFET utilizados. Ese es aproximadamente 1/3 del tuyo. Y está hecho para un motor mucho menos exigente. El tiempo de subida (que es parte de la transición dolorosa) es 430ns para su MOSFET y 110ns para el ATP206. El tiempo de caída, que también forma parte de la dolorosa transición, es de 230ns para el suyo y 73ns para el ATP206. Por lo tanto, gasta aproximadamente 3-4 veces menos en la transición dolorosa. Entonces, un motor mucho más débil tiene un MOSFET mucho mejor. RDS(ON)
Harry Svensson

3
@DoctorCircuit mentí, este es mi último comentario. Si va a hacer un inversor lógico por su cuenta en lugar de comprar un controlador mosfet. Entonces realmente debes asegurarte de no estar acortando el mosfet durante su transición. Así es como lo haces.
Harry Svensson

8

Los MOSFETS modernos necesitan un cambio rápido, para evitar quedarse en una región peligrosa donde la retroalimentación positiva (interna al silicio) causa destrucción. Lea los párrafos finales de esta respuesta para la explicación en papel de la NASA.

RESUMEN RÁPIDO: Esa resistencia de compuerta ----- 1Kohm ------ es demasiado grande. Use un IC Power Driver, con una tapa de derivación de 0.1UF en su VDD de 12/15/18 voltios para que sus compuertas MOSFET se puedan cargar rápidamente para un encendido rápido.

Los MOSFETS se habrán destruido a sí mismos debido a las clasificaciones SOA del área de operación segura, donde Voltaje * Corriente * PulseWidth define la disipación de energía.

Suponiendo que las uniones FET son de 10U de profundidad (SWAG), tiene un TAU de 1.14 microsegundos para el tiempo constante del área activa de FET. Con Miller Multiplication, el tiempo de encendido superará con creces eso, con 48 voltios en los FET y sin limitación de corriente.

===================================

editar 18 de marzo de 2018

La NASA diagnosticó fallas del MOSFET en varios diseños en curso debido al uso de MOSFETS MODERNOS (el informe de la NASA apareció en 2010; la industria automotriz encontró este mecanismo de falla en 1997). El comportamiento del coeficiente de temperatura previamente negativo de los MOSFETS de tecnología más antigua se ha introducido en las regiones actuales más altas, y ahora existe una nueva región insegura en la región moderada. La NASA hizo que esos proyectos volvieran a la TECNOLOGÍA ANTIGUA, por lo que se podrían construir sistemas confiables.

¿Qué significa esto hoy? Bastante sencillo

--- No permanezca más de 1 microsegundo en la región de conmutación. ---

--- Cargue rápidamente la capacitancia de la compuerta, incluida la capacitancia de drenaje de la compuerta. ---

El título del artículo de la NASA [publicado en 2010] es

"Soporte de caracterización de la operación de inestabilidad térmica MOSFET de potencia" y la frase clave se cita aquí "los diseños que se están produciendo ahora permiten que la región dominada por el portador de carga (una vez pequeña y fuera del área de interés) se vuelva importante y dentro del área de operación segura ( SOA) ".

Con respecto a los diseños más antiguos (MOSFET robusto), extraigo esta oración:

"Los MOSFET anteriores se ejecutaban principalmente en la región dominada por la carga de movilidad. Mientras se mantiene el mismo voltaje de puerta, la región dominada por la carga de movilidad reduce la corriente a medida que aumentan las temperaturas, lo que a su vez disminuye la corriente permitiendo que el sistema tenga retroalimentación negativa lejos de la fuga térmica. De hecho, cuando los nuevos MOSFET de potencia tienen altos voltajes de puerta, las partes están dominadas por la carga de movilidad. Ha sido la intención tácita de los fabricantes mantener los MOSFET en la región dominada por la carga de movilidad, como lo son cuando se usan como interruptor de alta velocidad. Las partes más antiguas tienen un área dominada por el portador de carga. Sin embargo, el área está fuera del SOA normal y las fallas ocurren por otras razones ".


7

Primero, elegiste los FET incorrectos.

FQP30N06 tiene 40 mOhm RdsON a Vgs = 10V. A Vgs = 5V no se especifica, lo que significa que no funcionará.

Elegir un MOSFET es un compromiso: los grandes MOSFET con grandes troqueles de silicio y bajo RdsON tienen mucha capacidad y cambian lentamente. Los MOSFET más pequeños cambian más rápido pero tienen un RdsON más alto.

Sin embargo, va a cambiar a 500-1000 Hz, y su corriente es enorme, por lo que RdsON importa mucho más que la velocidad.

Por lo tanto, debe seleccionar MOSFET To-220 (para enfriar) con un RdsON muy bajo (como algunos mOhms), especificado en un Vgs de ... siga leyendo.

En segundo lugar, utiliza una unidad de compuerta de 5 V en un FET que se especifica para una unidad de compuerta de 10 V, por lo que no está completamente encendido. Así se calienta y explota. Cualquiera puede ver eso mirando la hoja de datos.

Teniendo en cuenta la corriente, iría con una unidad de puerta de 12V para hacer que RdsON sea lo más bajo posible. Por lo tanto, puede elegir FET especificados de 5V o 10V Vgs, sin problema.

OKAY. Ahora tiene un montón de FET y necesita conducirlos con 12V. Obviamente, necesita un controlador que produzca unos pocos amperios en la puerta para encenderlo y apagarlo rápidamente. Verifique la categoría "Controlador MOSFET" en mouser / digikey, hay toneladas de productos adecuados que aceptarán los 5V de su arduino y conducirán adecuadamente un FET.

Necesitará un suministro de 12V, pero eso no es un problema, ya que tiene unos 48V, use un convertidor DC-DC.

Tercero, debes deshacerte del arduino.

Este tipo de controlador necesita un límite de corriente, y esto debe actuar antes de que los MOSFET exploten (no después).

La forma en que se hace esto es muy simple. Pones un sensor de corriente (muy probablemente el efecto Hall aquí) y un comparador. Cuando la corriente supera un umbral, el PWM se reinicia, espera un poco y luego se reanuda. Cuando la corriente supera un umbral mucho mayor, esto significa que alguien clavó un destornillador en los terminales de salida, por lo que el PWM se detiene definitivamente y no se reanuda.

Esto debe suceder a una velocidad que sea incompatible con el software.

La mayoría de los microcontroladores comercializados para el control del motor incluyen comparadores analógicos conectados a la unidad PWM, para este propósito específico. El micro en el arduino no es uno de esos.


4

No hay detección de corriente y, por lo tanto, no hay limitación de corriente en su motor. La posible corriente del motor a cero rpm podría ser de miles de amperios porque la resistencia del devanado de los grandes motores de CC puede ser de miliohmios. Debe aplicar algún tipo de límite de corriente a menos que desee utilizar una enorme cantidad de mosfets y aún arriesgarse a explotarlos. el accionamiento de la compuerta debe verificarse en un osciloscopio. Probablemente será demasiado lento, causando un exceso de calentamiento de mosfet. Considere un chip de controlador o algún tipo de circuito de controlador discreto. Intente reducir la frecuencia de prueba PWM para detectar ruidos de audio objetivos. Es posible que pueda reducir F en gran medida sin quejarse demasiado. Esto enfriará los pies.


2

Si tiene un modelo preciso de todos los componentes de LTSpice, puede analizar por qué falla.

Un modelo preciso de la descarga Q durante la conmutación de corriente conduce a la comprensión del diseño de que uno necesita la gm de cada etapa cuidadosamente seleccionada o su relación inversa RdsOn.

Si se conoce la relación de interruptores electromecánicos como relés de láminas, relés de potencia, solenoides y contactores de gran potencia, la relación entre la corriente de contacto y la corriente de la bobina cae gradualmente de> 3k a 100: 1. La principal diferencia es la corriente de compuerta FET después de la conmutación.

Examine la hoja de datos y verifique el voltaje RdsOn gate3 que planea usar. Debe ser al menos 3 veces el voltaje umbral Vgs (th) para una conmutación eficiente.

Sugerencias resumidas

  • 1) Use etapas en cascada de RdsOn como BJT en cascada con una relación hFe de 100

    • por ejemplo, si RdsOn es de 1 mΩ, utilice un controlador de 100 mΩ y ese utilizará un controlador de 10 Ω (o si la velocidad de rotación se degrada, la pérdida de potencia aumenta y luego se calienta automáticamente, lo que conduce a FET fundidos o explosivos)
  • 2) Use Vgs> = 3x Vgs (th) SIN IMPORTAR A QUÉ se califica Vgs (th). (y <Vgs max)

  • PD

    • Olvidé mencionar junto con 1) el Rdson de la relación FETS / DCR de motor agrupada debe ser de alrededor de 1: 100 o 1% (más o menos) para minimizar las pérdidas de conducción. Aunque un pequeño porcentaje a menudo necesita enfriamiento forzado del aire y mayores, conduce al desastre.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.