Autor Tema: Control de velocidad Motor CC - MOSFET o BJT?  (Leído 14447 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Control de velocidad Motor CC - MOSFET o BJT?
« en: 20 de Agosto de 2013, 13:08:22 »
Hola amigos!! Qué tal?
Estoy trabajando en un robot y quiero utilizar simples transistores para controlar la velocidad de los motores. Prefiero no utilizar un puente H por los siguientes motivos:
- No necesito invertir el sentido de giro (el robot siempre avanza)
- El PIC trabaja a 3.3V y los puente H que consigo son de 5V (L293D).
- Quiero mantener el circuito lo más sencillo posible.

La pregunta es: Qué transistor me recomiendan? BJT o MOSFET? Hasta donde sé, los BJT consumen más corriente y se calientan, pero un MOSFET requiere de un gate driver y me complica el circuito. Salvo que pueda manejar el MOSFET directamente con un pin del PIC. Es recomendable?

El motor que utilizo es este: @6V: 625 RPM. 100mA free-run. 1.1 kg-cm. 1.6A stall. reducción 50:1
El pic a utilizar es el PIC18F26j50.

Espero sus recomendaciones. Muchas gracias!!
« Última modificación: 20 de Agosto de 2013, 13:27:09 por gera »

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3173
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #1 en: 20 de Agosto de 2013, 13:45:32 »
Yo usaria un mosfet, los hay que con bajos voltajes de Vgs manejan bastante corriente de drenador, como el 2SK3570. En cuanto al gate driver, como el consumo del motor es bajo, creo que un par de transistores smd bipolares, un pnp y un npn, en configuración push-pull te servirá.

Me refiero a esta configuración: http://m.eet.com/media/1121178/c0921-figure1.gif

Y los transistores del driver pueden ser unos BC817 y BC807.

Saludos!
« Última modificación: 20 de Agosto de 2013, 13:54:04 por micro_pepe »
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5610
    • Picuino
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #2 en: 20 de Agosto de 2013, 15:26:28 »
Lo más simple es un bjt npn con la base directamente al pic. Puede calentarse un poco, pero con esas corrien no será mucho.
El motor conviene que no pase de cierta corriente. Debería mantenerse por debajo de 1 amperio. El control de corriente puedes hacerlo con el adc conectado al colector.
Para evitar que se queme el bjt hay que añadir un diodo de libre circulación.
Saludos.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5610
    • Picuino
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #3 en: 20 de Agosto de 2013, 15:50:42 »
Si quieres controlar mejor la velocidad del motor, puedes utilizar un mosfet de canal P conectado a Vdd y el driver puedes hacerlo con un transistor npn y una resistencia. Creo que es la mejor opción. Es simple y es versatil. También necesitas un diodo conectado a GND que puedes sustituirlo por un mosfet de canal N directamente controlado por el pic.

El esquema puedes sacarlo de un ESC para motores brushless. Sólo necesitas montar medio puente en H de los tres del esquema.
Adjunto esquema.


Saludos.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3214
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #4 en: 20 de Agosto de 2013, 18:59:11 »
Usaria un mosfet N de gate lógico.
Esta la serie irlz y otros irlr. Revisa la hoja de datos hay unos con el treshold a 4.5v y otros desde 2.5v

Ahora uso mucho irlr8729 y es barato.Es un cañon para lo que tu necesitas pero te andara bien.
Otro mas común es el irfz24/irfz44.

Tambien puedes usar el npn pero no me gusta la caida que tienen para usarlos en equipos con baterias.Luego si metes un darlington pues la caida se te va al doble xD.

Saludos!


Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5610
    • Picuino
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #5 en: 21 de Agosto de 2013, 05:59:29 »
Un detalle Gera: ¿Cómo quieres controlar la velocidad de los motores?

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #6 en: 21 de Agosto de 2013, 09:56:11 »
Muchas gracias por sus respuestas! :) Veo que la mayoría se inclina por utilizar MOSFET. En lugar de utilizar unos bjt como gate driver, puedo usar directamente un IC para este fin. Encontré un par que son bastante prácticos: El TC426 de Microchip y el UCC27423 de TI (puedo pedir muestras de cualquiera de los dos).
Ahora tengo que ver qué mosfets consigo en mi ciudad. Con los que mencionaron ya tengo una referencia.


Ahora uso mucho irlr8729 y es barato.Es un cañon para lo que tu necesitas pero te andara bien.
Otro mas común es el irfz24/irfz44.

Tambien puedes usar el npn pero no me gusta la caida que tienen para usarlos en equipos con baterias.Luego si metes un darlington pues la caida se te va al doble xD.

Claro, el robot funcionará con 3 pilas AA recargables (3.6V) y un boost para levantar eso a 6V. Por eso no quiero nada calentando y consumiendo energía al vicio. Pensé en sobredimensionar los transistores por si luego quiero poner motores más potentes, pero lo que me limita es el boost de 12W (a 6V serían 2A máximo). Por lo tanto quiero mantener todo lo más simple, liviano y eficiente posible (el robot es un velocista).

El motor conviene que no pase de cierta corriente. Debería mantenerse por debajo de 1 amperio. El control de corriente puedes hacerlo con el adc conectado al colector.

Eso pensaba hacerlo con una resistencia de 0.1ohm en serie con el motor. Algo como esto:


Un detalle Gera: ¿Cómo quieres controlar la velocidad de los motores?

Pienso hacerlo por PWM. Seguramente tendré que cuidar la frecuencia ya que los MOSFET aumentan el consumo a mayores frecuencias, cierto? Creo que 12 kHz están bien.

Saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2190
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #7 en: 21 de Agosto de 2013, 09:58:15 »
Yo usaria un mosfet, los hay que con bajos voltajes de Vgs manejan bastante corriente de drenador, como el 2SK3570. En cuanto al gate driver, como el consumo del motor es bajo, creo que un par de transistores smd bipolares, un pnp y un npn, en configuración push-pull te servirá.

Me refiero a esta configuración: http://m.eet.com/media/1121178/c0921-figure1.gif

Y los transistores del driver pueden ser unos BC817 y BC807.

Saludos!

Estoy contigo: es poca corriente. De hecho con un "logic level" no creo ni que haga falta un driver: los hay de menos de 1V VGSth (sin carga claro).

Un saludo.
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3214
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #8 en: 21 de Agosto de 2013, 14:51:26 »
HOla Gera!

YA con esos datos que das pues vete por un mosfet.
No necesitaras el driver para mosfet,como dice manwenwe consiguete un mosfet con bajo voltaje de disparo.

Sobre la frecuencia depende del motor si la escucharas o no xD.Pero desde unos 2KHz vas seguro , yo los he trabajado con 3,7 y 17KHz con motores de 12v@60W

Para el control de corriente si usas un shunt pues metelo directo a un comparador del pic si solo haras corte , te evitas broncas de usar el adc y de atenuar ruidos, promediar ,etc...

P.D. CHeca si el voltaje del shunt es aceptable para el comparador o ADC , sino lo tendrás que amplificar.

--Si tu pic entrega poca corriente mete un buffer,ya sea unas compuertas tipo HC o alguno otro que te guste mas.


Saludos!

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5610
    • Picuino
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #9 en: 22 de Agosto de 2013, 07:21:36 »
El control PWM es muy pobre. Si quieres tener mayor control sobre la velocidad de los motores, como mínimo deberías medir la corriente del motor y compensar el control PWM para mantener la velocidad de giro constante.
Saludos.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 357
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #10 en: 22 de Agosto de 2013, 20:11:18 »
El control PWM es muy pobre. Si quieres tener mayor control sobre la velocidad de los motores, como mínimo deberías medir la corriente del motor y compensar el control PWM para mantener la velocidad de giro constante.
Saludos.
.

Hola muchachos, el tema es interesante, y tambien me inclinaria por MOSFET pero solo del tipo N, y hablando de gate drive por IR2110, pero tengo un consulta extra para Picuino, un ejemplo para implementar esto ultimo que posteaste, a que te refieres con que si no se tiene sensado el consumo del motor de forma dinamica ( en todo momento, me refiero) el PWM es pobre, cual seria una posible solucion, el ejemplo de senseor tipo shunt que posteo gera, seria la manera mas simple (teniendo en cuenta que, una simple resistensia conlleva factores de temperatura , coeficientes  a tener en cuenta, y la presicion ya no seria tal, pero eso podria solucionarce con otros metodos), ahora obiamente acondicionando la señal con algun operacional de precsicion y de ahi a una entrada ADC, cuyos parametros intervengan posteriormente en el control del PWM, pero me gustaria saber como lo harias tu, y si el bot, utiliza dos motores como hacer para que ambos abancen a la misma velocidad como hacer eso con un PIC y dos ADC asociados a dos PWM si entre el seteo de un PWM con su ADC y el segundo PWM y su otro ADC, hay una diferencia de respuesta de aproximadamente  20 a 25 microsegundos, como evitar esa diferencia o es que el bot (en el caso de ir hacia adelante iria derechito, derechito, me refeiero la diferencia del seteo no se notaria?, en fin espero haber ayudado en algo aunque lo enrroscque al final, con mis dudas, saludos, y gracias  :?

Gera, si bien es verdad que los BJT ,calientan un poco mas que los MOSFET, solo un poco mas, el secreto esta en primero tener los motores que vas a utilizar (algo muy importante, para que puedas provarlos sin la electronica y evaluar su funcionamiento), segundo la frecuencia de los o el PWM es muy pero muy importante de 20Khz para arriba 100khz seria lo ideal  no menos de 20Khz ya que los TR que utilices, por debajo de esa frecuencia frien huevos fritos  Otro error que se suele cometer al diceñar un control de velocidad por medio de PWM (es no tener los motores para el cual se va a diceñar dicho controlador), en muchos casos por no tenerlos y una vez construido el controlador y luego conectar el motor en bajas velocidades se suele escuchar un sumbido muyyy molesto, producto de malos calculos de la frecuencia del PWM y demas yerbas, que se pasan por alto, he visto controlsdores exelentemente construidos sin un solo filtro pasabajos  ni siquiera cortachispas ni diodos adicionales en inversa del tipo rapidos en respuesta, colocados sobre los TR.
De calculo en este tipo de aplicacion se muy poco solo lectura pero es realmete un tema interesante el de control de motres ymaginense un Segway comandado por un PIC,eh!, que desafio, en fin solo queria comentar . sludos ;-)
« Última modificación: 22 de Agosto de 2013, 20:27:12 por cicloide2 »

Desconectado BBMNet

  • PIC12
  • **
  • Mensajes: 91
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #11 en: 22 de Agosto de 2013, 21:52:35 »
Si me permites un comentario.

Sólo por ahondar en el tema del MOSFET y apoyando los sugeridos por AKENAFAB y en particular el IRFZ24 te diré que más que por el calentamiento en sí mismo la elección debiera ser porque estas pensando en un sistema a baterías Eso hace importante la pérdida de voltaje en el elemento de control.

Al saturarse el MOSFET el voltaje entre drenaje y fuente es muy bajo dado que la "resistencia interna" es baja. Si le das un vistazo a las especificaciones del IRFZ24 su resistencia estática a 10 amperes es de sólo 0.07 ohms.

Un BJT normalmente tiene un voltaje de saturación alto, en el rango de 1.2 volts, con lo que la pérdida de voltaje puede ser importante sobre todo a alimentación tan baja.  Por comparación, el TIP-31C tiene un voltaje de saturación de 1.2 Volts a 375 mA. Esto es así porque la "resistencia interna" del transistor es grande.

Recordándo que V=I X R y que P=I^2 X R entonces te explicas porqúe el BJT trabaja caliente en comparación con el MOSFET.

Suerte con tu proyecto.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #12 en: 23 de Agosto de 2013, 10:34:58 »
Bien, no quedan dudas entonces que lo mejor para mi aplicación son los MOSFET (sobretodo por la batería).
Pero aún me queda una duda: de qué depende que utilice un gate driver o directamente un pin del pic?
Según me dicen, si el MOSFET tiene un bajo voltaje de saturación, puedo usar directamente el pic. Pero yo tengo por entendido que el driver es necesario para entregar una buena corriente al gate y saturar el transistor lo más rápido posible.

El control PWM es muy pobre. Si quieres tener mayor control sobre la velocidad de los motores, como mínimo deberías medir la corriente del motor y compensar el control PWM para mantener la velocidad de giro constante.
Saludos.

En realidad esto no me afecta, no necesito controlar con precisión la velocidad de los motores. El robot es un seguidor de líneas con un lazo PID, y las salidas de los motores se ajustan solas según la posición de la línea respecto al robot. Cualquier diferencia de velocidad entre los motores será compensada por el lazo.

la frecuencia de los o el PWM es muy pero muy importante de 20Khz para arriba 100khz seria lo ideal  no menos de 20Khz ya que los TR que utilices, por debajo de esa frecuencia frien huevos fritos

Seguro? Los MOSFET solo disipan potencia cuando cambian de estado (on/off), y con mayores frecuencias calientan más. Yo creo que menores frecuencias es mejor. Es cierto que emiten un zumbido, pero eso no importa.
Elegí 12kHz porque a 48MHz el duty me da justo entre 0 y 1000 para salidas de PWM de 0% y 100% respectivamente. Lo que me facilita mucho los cálculos.

Bueno, espero sus respuestas y muchas gracias por todo!!
Saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado BBMNet

  • PIC12
  • **
  • Mensajes: 91
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #13 en: 23 de Agosto de 2013, 13:14:25 »
El pensar que los MOSFET sólo disipan calor cuando cambian de estado es un error muy común. Esto se debe a que al cambiar de estado los MOSFET exhiben una "rampa" de encendido o apagado en la cual la resistencia cambia de muy baja a muy alta y viceversa y es durante este tiempo que se nota más el efecto de calentamiento. La resistencia de encendido de los MOSFET es muy baja y por eso aparentan no disipar calor en ese estado.

Los tiempos de las rampas están dados por la acumulación o depleción de cargas en la zona de compuerta que como debes recordar es como si fuera un capacitor (condensador). Estas "rampas" son totalmente dependientes de cada componente particular de ahí que los hay de velocidad "normal", "rápidos" y "ultra rápidos".

La proporción de los tiempos de encendido y apagado contra los tiempos de las "rampas" de conmutación es lo que define la frecuencia máxima de operación y está directamente relacionada con el efecto que mencionas de que a mayor frecuencia el componente se calienta más. Esto es que entre mayor sea la frecuencia el tiempo de operación se acerca más al tiempo total de las "rampas". Si la frecuencia es muy alta el componente puede llegar a operar como una resistencia de baja a alta pero sin alcanzar el corte ni la saturación. El calentamiento en esta zona es rápido y tiene efectos catastróficos en el MOSFET.

Con respecto a si utilizar un driver o conectar directamente un pin del microcontrolador, nuevamente depende del componente que elijas. Recuerda que los MOSFET son elementos de voltaje no de corriente como los BJT. La corriente que toman en la compuerta es mínima correspondiento a la corriente de fuga que generalmente está en el rango de los nA. Así, si el MOSFET que elijas tiene un voltaje de disparo dentro del rango de salida en nivel alto del microcontrolador entonces no deberás tener ningún problema. En este sentido te sugiero trabajar con un mínimo de alimentación de 5V al PIC para que no necesites un transistor adicional como driver del MOSFET. De la fuente a baterías de 6V para el motor puedes bajar el voltaje con 1 o 2 diodos 1N4001 para alimentar al PIC. Recuerda poner dos capacitores después de los diodos. Uno de mínimo unos 100uF y el otro de 0.1uF. El primero "amortigua" los 5 volts para el PIC y el segundo atenúa los pequeños picos que se "colarán" de la conmutación del motor.

En particular te sugiero montar una resistencia de 1Mohm entre la compuerta y la fuente del MOSFET a manera de protegerlo contra posteriores posibles descargas electrostáticas. La carga es mínima y no afectará al PIC.

El MOSFET IRFZ24N que sugirió AKENAFAB me parece una buena elección ya que está especificado como de conmutación rápida y dispara con un voltaje de compuerta máximo de 4 volts. Sólo recuerda que este tipo de componentes son sensibles a las descargas electrostáticas. Por eso generalmente los venden envueltos en papel aluminio, así que mantenlo protegido hasta que lo vayas a instalar.

Dado que tu motor es pequeño es muy posible que pudieras bajar la frecuencia portadora PWM incluso hasta unos 2000 Hz o menos. Esto te permitirá mayor control de la frecuencia y garantizar que el MOSFET trabaje más frío. No creo que el nivel de ruido acustico sea molesto. Incluso es muy probable que el ruido de los engranes sea más fuerte.

Suerte.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3214
Re: Control de velocidad Motor CC - MOSFET o BJT?
« Respuesta #14 en: 23 de Agosto de 2013, 13:45:44 »
Generalmente cuando uses un transistor de gate lógico no tendrás que usar un driver.

Cuando se usa o no el driver ?, bueno esto depende de la capacitancia y carga del mosfet,de la velocidad de conmutación.
Si el mosfet tiene una capacitancia grande y frecuencia alta la señal de gate debera poder entregar una corriente mayor.
En la hoja de datos viene como Qg y C , están en el orden de nC y pF.



 

anything