Arduino Forum

International => Español => Hardware => Topic started by: carmeloco on Apr 25, 2015, 05:59 pm

Title: Switch mediante Mosfet.
Post by: carmeloco on Apr 25, 2015, 05:59 pm
Buenas, necesito substituir el switch de la siguiente imágen por un mosfet, para poder controlar la carga desde un arduino. La alimentación de la carga es de 12V. Comento esto porque más adelante vereis su importancia.

(http://i62.tinypic.com/348shlg.jpg)

He conseguido hacerlo con un Mosfet IRF520N montándolo así:

(http://i57.tinypic.com/57mg5.jpg)

El problema de este montaje, es que yo interpreto que es el equivalente a esto:

(http://i61.tinypic.com/2coh7ol.jpg)

Es decir, quiero interrumpir la corriente desde el positivo de la fuente de alimentación, no desde el negativo. Lo he intentado hacer con uh Mosfet IRF9540N, pero no lo consigo. Lo más estraño es que he hecho un esquema como este con el IRF9540N:

(http://i58.tinypic.com/wvpnad.jpg)

Y funciona bien con tensiones de alimentación por debajo de los 12 V, pero con 12V, no conmuta nunca. La carga se queda siempre alimentada. En cambio, con el montaje hecho con el IRF520N, funciona perfectamente con 12V.

Pongo los links a los datasheets de los mosfet utilizados:

IRF9540N Datasheet (http://www.irf.com/product-info/datasheets/data/irf9540n.pdf)

IRF520N Datasheet (http://www.irf.com/product-info/datasheets/data/irf520npbf.pdf)

No pongo el código, porque creo que es irrelevante, ya que las pruebas que estoy haciendo, son directamente en una protoboard, metiéndole 5V o masa al pin gate del Mosfet.

¿Alguna idea de qué estoy haciendo mal para que no funcione con 12V?
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 25, 2015, 06:43 pm
El problema es que no estas entregándole la tensión Vgs que requiere el IRF540 para poder conducir.
Para eso se usan por ejemplo un optoacoplador que haces las veces de un desplazador de tensiones.

De nuevo.. cuando lo tienes conectado a GND, con el Source a Gnd, la tensión Vgs del Arduino o sea 5V es suficiente para que conmute la carga.
Pero cuando le sumas 12V, la tensión del arduino es 7V menor. En realidad deberías entregarle 12+5 = 17V para que conmute.
Se entiende?

Entonces el truco es, usas un opto como el 4n25, tu prendes el led del opto con una R de 220 o 330 en serie.
Conectas el emisor del fototransistor al Source del IRF540 y el colector al Gate pero luego requieres de una fuente extra que te de los 17V o mayor para que se consiga esa Vgs que te he indicado.

La pregunta que me surge porque lo quieres encender de ese modo o es una tarea que te han impuesto?


Bueno, buscando lo que te estaba explicando surge algo mejor.
Esto resuelve tu problema aunque luzca invertido

(http://www.re-innovation.co.uk/web12/images/stories/reimages/blog/solarregulator/Bootstrapped%20Mosfet%20(1).PNG)

Es un truco que permite que el capacitor almacene carga y cuando el transitor conduce la tensión Vgs adecuada esta disponible.

Facil y simple para tu caso.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 25, 2015, 06:59 pm
Es para hacer un QuickShifter para una moto. El caso es que la línea común a las bobinas de las 4 bujías, es la de 12V. Lo que se hace es cortar momentáneamente esa línea de 12V, para evitar el encendido mientras se hace el cambio de marcha sin embrague, de forma que la marcha entra sin que el motor esté "empujando".

Si necesito 17V adicionales, se me complica la cosa, ya que en la moto, solo hay 12V.

Lo del optoacoplador, lo tenía previsto, por protección, para aislar el arduino, pero conectando el colector a 5V y el emisor al gate del IRF9540N.

Y lo que no comprendo tampoco, es que en el circuito montado con el IRF9640N:

(http://i58.tinypic.com/wvpnad.jpg)

Es que conduce siempre al alimentar la carga con 12V. Da igual que el gate lo ponga a masa o a 5V.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 25, 2015, 07:02 pm
Mira la edicion que hice hace un momento y se superpuso con tu respueta
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 25, 2015, 07:13 pm
OK, muchas gracias surbyte. Necesito más piezas, jajajaja.

El lunes compraré ese transistor 2N3904 y el mosfet IRF540, que creo que se adecua más a las necesidades de corriente, ya que según su datasheet, tiene un Id de 33A.

IRF540N Datasheet. (http://www.irf.com/product-info/datasheets/data/irf540n.pdf)

Porque el 2N3904, no lo puedo substituir por un BC547, ¿no? es el único que tengo a mano ahora mismo.

2N3904 Datasheet (https://www.sparkfun.com/datasheets/Components/2N3904.pdf)

BC547 Datasheet (http://www.arduino.cc/documents/datasheets/BC547.pdf)
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 25, 2015, 08:23 pm
reemplázalo por lo que gustes, los BCXXX son europeos y deben ser mas baratos que los 2NXXXX americanos.
Lo que importa es la función que cumple. Es un NPN común.

igualmente debe haber una forma de montar el IRF540 como cuando estan funcionando para cargar baterias o haciendo una llave de paso.

El enfoque que te dí es el primero que me vino a la mente considerando como funciona el mosfet. Pero sabes que se nos escapan otras formas de conexión que satisfacen, lo que se busca.
Ejemplo.
Si conectas Drain a la batería de 12VDC y source a la bobina que cierra por masa, nos queda que es posible lograr el Vgs necesario.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 25, 2015, 08:57 pm
Para el esquema que me has puesto, tengo condensadores electrolíticos de 100uF. Supongo que sirven, poniendo el positivo arriba, conectado al cátodo del diodo y a la resistencia de 1K, ¿no?
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 25, 2015, 09:34 pm
Si, aunque tardará algo mas en cargarse, pero para probar será suficiente.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 26, 2015, 11:47 am
El circuito que me pusiste, funciona medio bien. Si el corte de corriente es más o menos largo, en la carga se entregan los 12V perfectamente, pero si el corte es pequeño, el circuito no se recupera del todo, y no entrega los 12V, si no que da unos 9V.

La idea es que siempre haya tensión en la carga (que en una moto, normalmente es entre los 13-14V) y se cree un corte de unos 60ms cada vez que se cambia de marcha, por eso necesito un corte rápido y una rápida recuperación de la tensión de carga. El uso del mosfet, es porque, aun y no haber medido la intensidad de la carga, sospecho que puede estar cercana a los 10 A, de forma que quiero usar uno que aguante al menos unos 20.

He probado también este circuito:

(http://i.stack.imgur.com/iLYpg.png)

Pero no me ha funcionado, aunque no he usado el mosfet que aparece ahí, si no un IRF9540N. y el transistor he usado un BC547.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 26, 2015, 06:20 pm
El IRF9540 es el complementario del IRF540 o sea es un Canal P.
Asegurate que el BC547 sature bien lo que perimitrá que el VGS del IRF9540 sea el indicado para saturar.

Yo estuve probando con el simulador usando el IRF540 como tu lo conectaste. Puse una R de 10k entre Gate y Drain que esta a 12VDC.
Se comportaba aparentemente bien.

Otra cosa, esos valores que me dices son con el Cap de 100uF?
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 26, 2015, 09:38 pm
El mosfet que he utilizado en la prueba, es un IRF520. Ahora mismo, solo dispongo de ese y del IRF9540N. He probado con un condensador de 100uF y con uno de 100nF, con resultados aparentemente idénticos.

Si no consigo una conmutación rápida, tendré que olvidarme del proyecto, ya que ahí está la base de esto, y yo hace mucho que no hago cosas con transistores, y no me acuerdo ni de la mitad de la teoria, jajajaja.

Tendré que coger un viejo libro de electrónica, que tengo por ahí guardado.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 27, 2015, 10:32 am
Surbyte, que te parece este modelo:

NDP6020P Datasheet (http://docs-europe.electrocomponents.com/webdocs/12cf/0900766b812cff3e.pdf)

Para este montaje:

(http://i.stack.imgur.com/iLYpg.png)

No acabo de ver claro en los datasheets, el parámetro de tensión que debo aplicar en el Gate, para que haga una correcta conmutación.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 27, 2015, 03:49 pm
Interesante el modelo que elegiste. Al comienzo de la hoja de datos dice que debes garantizar un -Vgs de 4.5V para tener 24A o sea, si tu bc547 cuando satura baja por debajo de 7V (serian -5V) medidos desde gnd, estarás bien.
Luego mirando las curvas me encuentro con otra historia.
La curva de Vds vs Idrain para distintos Vgs dice que para -3V ya tendrias tus 25A pero con un Vds de 2 a 3V.

El 2n3904 del esquema tiene un hfe entre 100 y 300 para una Ic entre 1 y 10mA. Con 2.2K tendremos 5.5mA aprox. Tomemos 100 como peor caso.
Veamos el bc547 que recuerdo estaba por ahi también.
La hoja de datos de Fairchild dice que los modelos A tienen un hfe entre 110 y 220.
Tambien dice que con una Ib = 0.5mA tendremos una Ic de 10mA y en esas condiciones Vce es igual a 90mV
Traducido 5V del arduino o un High me deben entregar 0.5mA.
Veamos. Para ib=0.5mA tiene Vbe = 0.7 => Vout-Ib*R - Vbe = 0 => 5 - 0.5mA*R - 0.7 = 0 =>
R = 5-0.7/(0.5mA) = 8.6K

Un valor de 10k no garantiza 0.5mA pero si eso pasa usa 8.2k y debería andar.

Bueno, fase de pruebas, a ver como resultado todo.
El problema no es el mosFet, solo hay que elegir aquel que me de la corriente que busco, y luego que el transistor le de la Vgs que permita que entrega la corriente deseadas.
A ver que dice la práctica?
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 27, 2015, 06:05 pm
Bueno, no creo que necesite los 25A, supongo que con unos 10 será suficiente, eso sí, a una tensión de unos 14V.

Creo que voy a pedir tanto el mosfet como el 2N3904 y haré las pruebas, a ver qué pasa.

Hoy he llegado a hacer pruebas hasta con un módulo de esos de relé con optoacoplador, y los resultados no parecían muy malos, pero encuentro muy cutre y poco fiable el uso de un rele.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 27, 2015, 06:58 pm
Claro por una cuestión de velocidad. Te va a funcionar bien, ya verás
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 27, 2015, 07:26 pm
Lo que no acabo de ver claro en los datasheet, es qué tensión tengo que aplicar al terminal de gate, para que el mosfet entre en corte o en saturación, y qué tensión puedo aplicar como máximo, para no romprelo.

Por ejemplo entre estos dos:

NDP6020P Datasheet (http://docs-europe.electrocomponents.com/webdocs/12cf/0900766b812cff3e.pdf)

FQU11P06 Datasheet (http://docs-europe.electrocomponents.com/webdocs/0d27/0900766b80d27f41.pdf)

Cuando estudiaba, me costaba bastante le tema de los transistores (se me daba mucho mejor la electrónica digital, puerta lógicas, etc) y a eso, le sumamos que hace mucho que no hago nada con transistores, pues tenemos como resultado que no me acuerdo ni de la mitad de cómo funcionaban los mosfet.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 27, 2015, 08:00 pm
Ponlo en un ambiente controlado, ejemplo una R de 12o 10 ohms circulando 1A eso da 10W pero al menos puedes asegurarte que no pasa nada. Luego para los valores que tienes, pruebalo si se porta como se espera.
Yo no veo modo que lo quemes a menos que lo conectes al revés y le apliques 20V con vgs = 0 dice que no soporate mas de 250uA pero al reves!!!

Si conectas como corresponde con S a 12VD y D a la bobina no hay problema
Lo único que me preocupa es la FEM de la bobina y si el diode se aguanta esa FEM que justamente ahora caigo que es tu temor. Entonces ponle un diodo de recuperación rápido un Schotty para suprimir esos posibles transitorios. A al bobina claro.

Lo mismo que harías con un motor comandado en lógica positiva porque siempre tenemos la cabeza cómoda para ver las conexiones de canal N pero no las P.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 29, 2015, 01:36 pm
Surbyte, estoy super contento, ya que creo que lo tengo solucionado. He montado este circuito:

(http://i270.photobucket.com/albums/jj118/new_clear_days/circuits/pchwnpn.jpg)

Y he hecho una pequeña prueba, y parece que funciona correctamente.

Finalmente, los transistores utilizados han sido el 2N3904 y el NDP6020P. He hecho una prueba con un motorcillo de 12V y funciona correcto. Esta tarde mirare de comprar una fuente de laboratorio (hace tiempo que voy detrás de una) y haré pruebas con más potencia.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 29, 2015, 03:22 pm
Mide la tensión que te queda entre 12 y gate, si tienes mas de 5V estas asegurado para que entregue la corriente que necesitas.

Ahh esa lámpara tiene una R de 4 ohms? COmo en tu esquema anterior?
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on Apr 29, 2015, 10:49 pm
Si, hay casi los 12V. La lámpara representa la carga. Este esquema lo encontré por internet tal cual y me gustó. En sí, es de un post de la parte internacional del foro de arduino.

http://forum.arduino.cc/index.php?topic=130384.45 (http://forum.arduino.cc/index.php?topic=130384.45)

La respuesta también es bastante buena. Mirado con el analizador lógico, desde la pulsación manual del cambio, hasta que genera el corte, pasan 0,3ms así que creo que la cosa funcionará bien.

No he podido hacer pruebas de potencia hoy, ya que se me ha complicado la tarde con otras cosas.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on Apr 30, 2015, 12:18 am
0.3 mseg?
Con una carga resistiva o con la bobina? Con la bobina es lógico.
Hay que tratar de quitarle la carga al Gate. Generalmente se usa una R que genere un camino de descarga.

Me gustaría simularlo pero dame alguna precisión de la carga si podés.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on May 01, 2015, 12:09 am
La medición la he hecho con una carga resistiva. También hay una resistencia de descarga a masa y un optoacoplador para proteger el arduino. Ahora estoy ya montando la primera placa y haciendo algunas pruebas. Cuando tenga un rato te pongo el esquema definitivo.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on May 02, 2015, 12:01 pm
El esquema final es este:

(http://i62.tinypic.com/20l03up.png)

La R3, la he tenido que poner, porque si no, el tiempo de respuesta era mayor y había como unos rebotes a la salida del mosfet.

En cuanto haga las pruebas en el vehículo, y funcione, lo pongo como solucionado, aunque ahora, mirandome el esquema, creo que el optoacoplador no cumple su función del todo, ya que la parte del transistor, la conecto al +5 del arduino. Quizàcon substituirlo por un diodo, obtendría más protección.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on May 02, 2015, 04:15 pm
claro y además de agregarte un retardo el opto no hace nada si el transistor lo terminas alimentando con el arduino.

Luego que hagas los cambios de alimentación en el 2n3904 considera usar un opto mas rápido. En 4N25 es medio de propositos generales o asi lo tengo yo en mi cabeza.
Tal vez no sea el responsable de las demoras y haya que estudiar mejor como quitar la carga almacenada en el MOSFET.


EDITO: leí la transferencia del 4N25 en su hoja de datos y dice 2us asi que no es el remponsable.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on May 02, 2015, 11:18 pm
No, el optoacoplador no añade mucho retardo, lo miré con el analizador logico. De todas formas, no me molesta un retardo de 0,3ms. En ese tiempo, no lo ha da ni tiempo ni a moverse, al desmo del cambio, es más, mecánicamente, casi viene bien ese retardo.

Me estoy planteando eliminar el opto, y poner un diodo a la salida del arduino, para evitar posibles corrientes en contra y punto.

O eso, poner el diodo entre el pin de +5V y el opto.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on May 03, 2015, 05:59 am
La verdad que el opto asi conectado no sirve asi que elimínalo.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on May 03, 2015, 06:25 pm
Surbyte, ¿que te parece esta modificación?

(http://i61.tinypic.com/28a7pmq.png)
Title: Re: Switch mediante Mosfet.
Post by: surbyte on May 03, 2015, 07:04 pm
y que tal si el colector del opto (pin 5) lo conectas a +12 Spark?

Además, pondría un capacitor de al menos 10 a 22uF para estabilizar entre +12 VSpark y GND Spark.

también usaría un diodo en antiparalelo con la bobina. ánodo a gnd y cátodo a Drain del Mosfet.
Que diodo? Empezaría con un 1N4002 (200Vots inversa) o mayor. Cualquiera estaría bien.
Solo para frenar posibles transitorios. 

Title: Re: Switch mediante Mosfet.
Post by: carmeloco on May 03, 2015, 08:39 pm
Te pongo un extracto del esquema eléctrico de una Honda CBR 600 RR, pero básicamente, el encendido de cualquier moto japonesa de 4 tiempos y 4 cilindros en línea, funciona por el mismo principio.

(http://i57.tinypic.com/14j7nfo.png)

Se trata de cortar el cable blanco-amarillo por donde está la X roja. El lado izquierdo, conectaríamos +12V Spark y el derecho conectaríamos a "To spark".  Realmente ese cable, viene de la alimentación principal de 12V de la moto, de forma que 12V spark y 12V, vienen del mismo sitio, o sea, de la alimentación de 12V de la moto.

Lo que se hace, es cortar la alimentación común de todas las bobinas. En otro cable de cada bobina, va a un pin distinto de la ECU, que se encarga de ponerlo a masa, según corresponda el encendido de cada cilindro. El shifter corta la alimentación de todas, para evitar el encendido de cualquiera de las 4 bujías, durante el tiempo de corte, en el que se realiza el cambio de marcha.

Realmente, no creo que haya mucho ruido ahí, ya que a la ecu, tampoco le haría mucha gracia.

Añado el attachment del esquema completo.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on May 03, 2015, 09:33 pm
Tienes toda la razón. Entonces quita el opto no tiene sentido alguno pero si asi funciona, y no molesta dejalo así. Mas vale tener algo de mas y que funcione que lo contrario no?

No visualicé que estamos en el mismo ambiente. No vale la pena ningun cambio.
Si el diodo por la FEM. Nunca esta de mas.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on May 03, 2015, 09:47 pm
De momento, probaré así, a ver qué pasa. Hay que montarlo en la moto y probar. Mi parte ya está hecha, ahora solo falta que el dueño de la moto, consiga el pulsador de cambio, que es la parte cara del asunto (están sobre los 120€).

Tengo a dos "conejillos de indias" en los que haremos las pruebas en sus motos.
Title: Re: Switch mediante Mosfet.
Post by: carmeloco on May 05, 2015, 09:33 pm
Perdona surbyte, pero ¿cómo no lo vi antes?

(http://i60.tinypic.com/iw56k3.png)

El circuito puede ser mucho más sencillo de lo que era.
Title: Re: Switch mediante Mosfet.
Post by: surbyte on May 06, 2015, 12:44 am
Luce bien y el opto te permite polarizar bien el MOSFET.