Switch mediante Mosfet.

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.

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

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

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:

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

IRF520N Datasheet

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?

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

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.

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:

Es que conduce siempre al alimentar la carga con 12V. Da igual que el gate lo ponga a masa o a 5V.

Mira la edicion que hice hace un momento y se superpuso con tu respueta

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.

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

2N3904 Datasheet

BC547 Datasheet

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.

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?

Si, aunque tardará algo mas en cargarse, pero para probar será suficiente.

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:

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.

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?

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.

Surbyte, que te parece este modelo:

NDP6020P Datasheet

Para este montaje:

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.

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-IbR - Vbe = 0 => 5 - 0.5mAR - 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?

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.

Claro por una cuestión de velocidad. Te va a funcionar bien, ya verás

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

FQU11P06 Datasheet

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.

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.

Surbyte, estoy super contento, ya que creo que lo tengo solucionado. He montado este circuito:

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.

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?

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

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.