PIC16F + transistor PNP para manejar DC20V

#1
Hola a todos.

Como dice el titulo, necesito manejar un voltaje de DC20V con un pic16f (o pic12f, todavia lo estoy pensando) y para ello he pensado en un transistor pnp.

El circuito que estoy pensando seria este:

PIC+PNP.JPG

La parte de la derecha (optoacoplador) es un circuito ya montado.
Normalmente en los terminales (J1, J2) se conecta un switch que se activa manualmente pero ahora quiero hacerlo a traves de un pic.
En principio pense en utilizar un rele pero, como consume bastante, si fuera posible quiero hacerlo con un transistor...
Bueno, no solo por el consumo, tambien para aprender sobre transistores un tema que tengo un poco verde jejeje.

El problema viene para calcular la resitencia de base R1 y la pull-up R2.

Manejando npn utilizo las formulas:

R1 = (Voltaje-0.7)/ IntensidadBase;

IntensidadBase = IntensidadColector/hfe

que se puede encontrar en internet (creo que en este foro tambien esta).
Pero esta formula que me funciona para npn parece que no funciona para pnp....

He probado en proteus y tambien en protoboard con diferentes formulas y diferentes medidas de resistencias (algunas incluos un poco al azar, a ver que pasa)
pero no consigo lograr que funcione correctamente.

Si alguien tiene algun consejo o alguna fuente donde puedo consultar este tema se lo agradeceria.

Saludos.
 
#2
Hay varias cosas pero me parece que con esos valores no prendas el led del opto.

Tenes menos de 2mA para alimentar el LED.

No se que opto sera pero generalmente necesitan 10mA o mas.

El resto yo lo implementaría con un NPN a la base del PNP e invertiría la lógica en el PIC.

Cuando hagas consultas aparte de la imagen es de buena practica adjuntar el proyecto por que si uno quiere probar algo me obligas a que tenga que dibujarlo yo.

Saludos.

Ric.
 
#5
Gracias por sus rapidas respuestas
Cuando hagas consultas aparte de la imagen es de buena practica adjuntar el proyecto por que si uno quiere probar algo me obligas a que tenga que dibujarlo yo.
Te pido disculpas y me lo apunto para la proxima.

Tenes menos de 2mA para alimentar el LED.

No se que opto sera pero generalmente necesitan 10mA o mas.
El opto es un TL184GB. En el proteus no habia ese modelo y he puesto uno generico asi que se puede diferenciar de la realidad.
El circuito del opto, encerrado en un cuadradito en mi dibujo, ya es un circuito montado (no por mi) y conectado un switch entre los terminales J1 y J2 y haciendo un calculo sencillo la intensidad que le lega al led del opto, mas o menos seria esta:

Il = (Vcc - Vf)/Rl ; Il = (20-1.25)/13.600 = 1.37mA

Como bien has dicho menos de 2 mA. El caso es que con esa intensidad el circuito del opto funciona (mas que comprobado).
Yo tambien pensaba que los optos necesitan unos 10ma pero, segun el caso, con mucho menos puede llegar a funcionar:

Resistencia en un optoacoplador

Lo que yo propongo es esto de las imágenes.
Me parece muy interesante el circuito, lo voy a probar enseguida, lo unico, como te he dicho, no puedo cambiar las resistencias del opto
asi que ire probando para ver si funciona de alguna manera.

Yo nisiquiera usaria los 20v alimentaria el led del optoacoplador directo.
Si solo necesita unos pocos miliamperios, incluso la pata del PIC directamente puede hacerlo funcionar verdad?.
Interesante, pero que muy interesante...
 
#6
Aqui estoy de nuevo.

Pues he probado el circuito de ricbevi en una protoboard cambiando el BC548 por un 2N3904 que tenia a mano y quitando el led rojo.

Y funciona perfectamente:aplauso::aplauso::aplauso:
Creo que de esta manera se podria utilizar.

El problema que se me plantea ahora es que, recibir un circuito y utilizarlo sin entender el funcionamiento o la forma de disenarlo, pues como que no me gusta. Y los transistores no son precisamente lo mio, asi que estoy buscando y leyendo informacion pero todavia no lo veo claro:unsure::

1) Las resistencias R3 y R4 parece que no son estrictamente necesarias, aunque son recomendables para que los transistores se apaguen del todo cuando tengan que hacerlo?

2) La resistencia R2 para el BC548 parece que es un valor bastante utilizado. Segun la formula :

Ib = (Vcc-Vbe)/Rb

para Vcc =5 (voltaje desde la patilla del pic) y Rb=10Kohms, entonces la intensidad de base tendriamos unos 0.43mA, que pondrian al transistor en estado de saturacion? Esta formula es correcta?

3) El valor de R1 (2k) sinceramente, no veo como sacarle:unsure:. Imagino que decidira la Ib para el segundo transistor pero se puede utilizar la misma formula que para el primero?. Si fuera asi, y suponiendo que la formula de arriba sea correcta en la base del segundo transistor tendriamos unos 9.65mA (para Vcc=20 y R=2K)....

No se si estoy cerca o me estoy alejando asi que agradecere cualquier ayuda o comentario que puedan darme.

Gracias de antemano.
 
#7
Porque tiene que ser un PnP? el opto se puede manejar directamente del puerto, no tiene sentido el transistor.
Solo una resistencia limitadora y listo el opto funciona
 
#9
...

Ver el archivo adjunto 168152

La parte de la derecha (optoacoplador) es un circuito ya montado.
Normalmente en los terminales (J1, J2) se conecta un switch que se activa manualmente pero ahora quiero hacerlo a traves de un pic.
...
La premisa es esta.

Si el esquema de la parte ya en funcionamiento se pudiera reformar, es una de las alternativas alimentar el LED del opto directamente desde el PIC.

Hay que estudiar por que se usa 20V en primer lugar para hacer esto en el circuito existente cuando seguramente hay otras alternativas.

Ric.
 
#10
Que manera de recomplicar las cosas.
pin del pic, diodo, diodo resistencia y negativo. Ya está. Todo en serie y listo, de paso es mas fiable el indicador del led así.
 
#11
Antes de nada, gracias a a todos por su tiempo.

Porque tiene que ser un PnP? el opto se puede manejar directamente del puerto, no tiene sentido el transistor.
Solo una resistencia limitadora y listo el opto funciona
Creo que les estoy liando asi que me intentare explicar lo mas conciso posible.

La parte en funciomaniento (no disenada por mi, y que no puedo modificar) tiene conectado un switch entre el J1 y J2 que puentea los 20V del propio circuito hacia el coupler.
La idea es sustituir ese switch por un PIC que monitorea 6 sensores de temperatura. Si alguno de los sensores pasa de una temperatura indicada (en este caso 115 grados) "apaga" el coupler.

Cuando me encargaron esto y sin pensar demasiado (mala cosa) pense en sustituir el switch por un transistor tal cual.
Pero pensando un poco, lo unico que necesito es activar el coupler.

Si se puede con 5V no es necesario usar los 20V para tal fin.
Solo habria que pensar si con 5V puede sacar suficiente corriente para activar el led del coupler, pero si se puede asi no hace falta complicarse con los 20V.

En ese sentido podriamos decir que este tema ya esta casi solucionado

Entonces porque seguir pensando en el transistor???

Como ya dije, no tengo mucha experiencia sobre transistores y al probar el circuito de ricbevi y comprobar que funcionaba me parecio my interesante aunque no sea para este proyecto pero creo se puede utilizar en otra ocasion. Y me parecio una muy buena oportunidad para aprender un poco mas de transistores y sus calculos.
El caso es que estudiando yo solo no me aclaro demasiado, sobre todo el valor de R1....por eso segui preguntando.

Digamos que ha dejado de ser un problema de procesadores para ser una duda de analogica pura.

Creo que no soy el unico que tiene problemas con estos calculos asi que cualquier guia o sugerencia seria bien recibida.

Gracias de antemano.
 
Última edición:
#12
Si no puedes reformar la parte de lo que ya esta echo y funcionando con 20V, dudo muchísimo que te funcione con 5V sin mas.

Lo puedes intentar ya que no sabemos las características de dicho opto...no la encuentro y sustituir las resistencias del opto-acoplador de 68K por una resistencia de 330R como ya te lo adelantaron.

Suerte.

Ric.
 
#13
Gracias por la respuesta

y sustituir las resistencias del opto-acoplador de 68K por una resistencia de 330R como ya te lo adelantaron.

Ric.
Las resistencias no se pueden cambiar, se quedan asi.
Por lo tanto me parece que con 5 voltios no se puede hacer, hacen falta los 20V y los transistores...

el tema es que todavia no puedo explicar el circuito que me pasaste asi que no quiero utilizarlo aunque funcione.
Por lo tanto estoy pensando en utilizar un rele o un opto para manejar los 20v.

Este fin de semana tengo que trabajar asi que dejo el tema hasta el lunes pero cuando tenga un circuito os lo enviare.

Como ya dije, no tengo mucha experiencia sobre transistores y al probar el circuito de ricbevi y comprobar que funcionaba me parecio my interesante aunque no sea para este proyecto pero creo se puede utilizar en otra ocasion. Y me parecio una muy buena oportunidad para aprender un poco mas de transistores y sus calculos.
Algun consejo sobre los transistores?. Leo bastantes formulas y circuitos pero no logro saber como se calcula combinando varios....

Gracias por su atencion.
 
#14
No necesitas para nada toda esa circuiteria colocar una llave por ejemplo mecánica que alimente el opto o hacerlo con cualquier cosa que lo haga funcionar es exactamente lo mismo, el original tendria una llave bueno pero ahora tu llave es un micro lo lógico trantandose de un opto es comandarlo directamente, ya que solo maneja un diodo....
Explica porque las resistencias no se pueden cambiar? cual es es el motivo? se le puede ponera algo en paralelo? a la de 6k8 inverior puente directo y a la otra un R que en paralelo nos de el justo valor para que con el paralelo la R resultante sea la necesaria para el diodo.....
Es lo más sencillo y lógico del mundo sin tanto lío de tranasistores y resistencias y si no compra un relay de esos que viene para arduino que ya viene todo armado y vas directo del micro a la entrada y la salida a tu J1 y J2 es algo demasiado simple para darle tanta vuelta......

Te recomiendo algo, aprende electrónica, porque un micro sin saber electrónica es lo mismo que nada, un micro no solo es programación, ya que debe inter actuar con un mundo real, y si no se sabe conectar un micro con el mundo real no sirve absolutamente de nada el soft sin el hard no tiene siquiera sentido, todos los procesos de un micro conllevan a presentar o accionar algo es decir conectarse con otro hard si no de que sirve un micro que es un contador si no se como conectar el ingreso de pulsos ni presentar el resultado en algún tipo de display.......
Este caso es casi un juego de niños resolverlo, pero si no aprendes electrónica como se debe siempre sera chino básico y muchas veces el micro te exigirá que sepas Mandarin.........
 
#15
Gracias de nuevo por su tiempo y por su atencion.

Explica porque las resistencias no se pueden cambiar? cual es es el motivo?
Hummmm, vamos a ver, aunque me alargue un poco van a permitirme que me explique con mas detalle

El Famoso circuito en cuestion (J1 J2) es un circuito que controla humidificadores industriales (25 maquinas en diferentes sitios, aunque el numero puede subir a mas hasta final de ano) que ya llevan instaladas y funcionando mas de dos anos. La empresa en que trabajo que, ni ha construido ni ha instalado las maquinas en cuestion, ha recibido el encargo de anadir a la maquina un circuito con 6 sensores de temperatura, uno por cada electrodo, que pare el funcionamiento cuando uno de ellos pase de los 110 o 120 grados C(elegible con un dip switch).
Analizando una de las maquinas in situ (una sala de maquinas estrecha, y oscura como boca de lobo, justo detras de la sauna donde sacan vapor las maquinas) mi superior se fijo en el switch conectado a los terminales J1 y J2. Claramente en el panel se ha abierto un agujero y se ha anadido el swtich despues, seguro no venia de serie con la maquina. Al preguntar al cliente, parece que no se utiliza el famoso switch y lo tiene en ON todo el tiempo. Entonces pensamos que se podria utilizar para comandar la maquina desde el pic que maneja los 6 sensores.

No tengo el plano del circuito ni nada que se parezca asi que linterna y polimetro en mano consegui sacar el circuito que dibuje en el primer post.

De vuelta a la oficina y analizando el circuito a bote pronto pense en comandar con un rele algo que ya he probado bastantes veces y que de seguro no va a fallar. Pero un rele de 5v segun el tipo pero puede llegar a comerse hasta 40ma y tambien tengo que pensar que hacer con la fuente de alimentacion: Lo mas facil seria cojer los 200v y con una fuente regulada sacar los5v y ya esta: Seguro y facil. Pero pensando en el precio y en la instalacion (dentro de la maquina tampoco hay tanto espacio) tambien estoy pensando si no seria posible cojer la alimentacion desde los 20v directamente.
Por ello queria en principio evitar el rele mecanico asi que para reducir el consumo en un principio pense en un transistor. Como los resultados no eran los deseados entonces escribi el primer post.

Despues y segun sus recomendaciones, si es un opto se puede comandar directamente desde el pic con la condicion de cambiar de alguna manera las resistencias de 6k8.

Pero el trabajo se debe realizar in situ, cuando la sauna esta parada y limpia, es decir entre las 1 y 5 AM en una sala de maquinas con poca iluminacion, unos 45 c de temperatura (esta justo detras de la sauna donde los humidificadores sueltan el vapor) y un espacio donde casi no puedo abrir la puerta de la maquina, el ponerme a sacar el circuito, desoldar una resistencia smd 1608 de menos de 2 mm y colocar otra diferente, y repetir la historia 25 veces o mas no se me ha pasado, ni se me va a pasar por la cabeza en ningun momento. Por eso la posibilidad de comandar el opto directamente desde el pic para mi caso no es viable ya que la teoria esta muy bien pero la practica difiere mucho y es a la que hay que adaptarse

Esa es la razon por la que las resistencias de 6k8 se van a quedar asi.

Entonces volvemos al transistor, y el circuito de ricebi funciona y parece que bastante bien y se amolda a mis necesidades, pero no quiero utilizar un circuito “prestado” sin saber bien su significado, aunque funcione. Asi que me he pasado varios dias robando el tiempo aqui y alla para poder estudiar por la web en principio y tambien en libros mas en profundidad sobre los transistores.

Pero mi cabeza ya no es la que era (cosas de la edad o de intentar estudiar entre horas) asi que por mas que leo formulas, teorias, tensiones de base y demas no acabo de digerir como calcular la union en el caso de un level shifter (en ingles parece que lo dicen asi) como el de ricebi. Con un transitor solo, bien, ya voy entrando poco a poco pero la union pnp-npn todavia no me llega, no lo consigo descifrar.

Por eso, aunque ya no es una cuestion de microcontroladores y se convirtio en algo de analogica pura y dura he seguido preguntando y molestandoles en este hilo y aqui sigo haciendolo.

y si no compra un relay de esos que viene para arduino que ya viene todo armado y vas directo del micro a la entrada y la salida a tu J1 y J2 es algo demasiado simple para darle tanta vuelta......
Pandacba, si , conozco esos modulos de rele para Arduino aunque no les he utilizado pero estan baratos en tiendas web y tienen muy buena pinta: sin pensar mucho, les conectas y listo. Y para hobby estan bien pero para aplicaciones industriales? El circuito impreso, seguramente fabricado en china, aguantara conectado unas 14 horas continuadas al dia durante 7 anos que tiene la garantia de la maquina? Tengo mis dudas…

Te recomiendo algo, aprende electrónica,
Pero precisamente si no utilize este modulo o un rele por las buenas no es por otra cosa que porque QUIERO APRENDER ELECTRONICA. Por ello, encima de que me ayudan no quiero ponerme troll pero su comentario me ha sobrado un poco.

Si no se ha entendido mi intencion de aprender y parece que he venido aqui solo a por el circuito y nada mas entonces me siento triste porque ademas de no saber de electronica tampoco se escribir bien mi propio idioma.

Hasta el lunes o el martes no volvere a la oficina pero como ya dije voy a dejar los transistores y voy a pensar en un rele o un opto para manejar los 20V. Cuando tenga un diseno lo colgare aqui.

Gracias por su ayuda.
 
#16
Como te comentaron estudia electrónica analógica ya que a simple vista se ve que el circuito que propusiste en primer termino jamas funcionaria como deseabas.

Como principal causa del circuito que habías propuesto no te funcionara es por que cualquier juntura(PN o NP, diodo o transistor, etc) necesita una diferencia de potencial que depende de los materiales con que este echa puede ser desde 0.2V para Gemanio o 0.65 en Silicio entre otras cosas para empezar a conducir.

Como tu alimentas el emisor del transistor de Silicio con 20Vdc y un estado alto de un PIC es a lo sumo 5Vdc el transistor siempre estará conduciendo ya que tiene o 15V para el estado alto(20-5) o 20V para el estado bajo(20-0).
La única solución es agregar algo que permanezca en alta impedancia a la salida en el estado bajo del PIC(el transistor que agregue cumple esa función).
La resistencia que tanto te preocupa calcular puede estar o no, o ser de ese valor o mucho mas alta dependiendo de lo que pretendas hacer.

Con ella controlaras la corriente que podrá circulara o no en el colector del transistor de salida mediante la de la base como es en cualquier TR de ese tipo.

Si no le pones resistencia y el terminal que va al colector del transistor 2N3906 se coloca a GND y aparece la activación del mismo(cambio de estado), el transistor se destruye instantáneamente si la fuente es capaz de entregar la corriente suficiente.

Con dicha resistencia puedes "jugar" con los valores siempre que en la base del transistor PNP la tensión no sea superior a 19,3...o 19,4VV que sera el limite en que la juntura del transistor dejara de conducir y no trabajara mas como llave.

Si quieres calcular un valor ajustado a lo que usaras, considera que la corriente que debe conducir el 2N3906(según tu esquema original) es de 2mA(según los cálculos poco mas de 1.7mA).

El problema de calcular ajustado algo es las variaciones entre los transistores, temperaturas y una larga cadena de etc que hacen que un diseño justo, sea funcional dentro de ciertas condiciones muy especiales que en la realidad se da en pocas oportunidades.

Has lo que mejor te parezca ya que tu y solo tu arrastraras las consecuencias de lo que decidas.

Solo intente responder a alguien que pregunto algo y lo hice basado en mi experiencia.

Después de mas de 41 años de dedicarme comercialmente a la reparación de equipos electrónicos diversos, las soluciones fluyen de manera natural y espontanea sin la necesidad del uso de largas formulas matemáticas para darme cuenta de algo tan banal como lo que aquí se plantea.

Te reitero mis deseos de suerte con lo que hagas.

Ric.
 
#17
Gracias de nuevo por su respuesta

Como te comentaron estudia electrónica analógica
Si, estoy en ello y por ello solicite su ayuda.


La única solución es agregar algo que permanezca en alta impedancia a la salida en el estado bajo del PIC(el transistor que agregue cumple esa función).
La resistencia que tanto te preocupa calcular puede estar o no, o ser de ese valor o mucho mas alta dependiendo de lo que pretendas hacer.

Con ella controlaras la corriente que podrá circulara o no en el colector del transistor de salida mediante la de la base como es en cualquier TR de ese tipo.

Si no le pones resistencia y el terminal que va al colector del transistor 2N3906 se coloca a GND y aparece la activación del mismo(cambio de estado), el transistor se destruye instantáneamente si la fuente es capaz de entregar la corriente suficiente.

Con dicha resistencia puedes "jugar" con los valores siempre que en la base del transistor PNP la tensión no sea superior a 19,3...o 19,4VV que sera el limite en que la juntura del transistor dejara de conducir y no trabajara mas como llave.

Si quieres calcular un valor ajustado a lo que usaras, considera que la corriente que debe conducir el 2N3906(según tu esquema original) es de 2mA(según los cálculos poco mas de 1.7mA).

El problema de calcular ajustado algo es las variaciones entre los transistores, temperaturas y una larga cadena de etc que hacen que un diseño justo, sea funcional dentro de ciertas condiciones muy especiales que en la realidad se da en pocas oportunidades.
Esta era la explicacion que estaba buscando. Con esto ya me queda un poco mas claro el papel de cada transistor, su funcionamiento y me da pistas de por donde debo seguir mi estudio.

Has lo que mejor te parezca ya que tu y solo tu arrastraras las consecuencias de lo que decidas.
Totalmente de acuerdo. Por eso mismo aunque agradezco su circuito pero no puedo utilizarlo hasta comprender su funciomaniento y el porque de cada cosa.
No es que no crea en usted ni muchisimo menos, no se confunda, pero usted bien lo ha dicho, la responsabilidad cae sobre mi.

Te reitero mis deseos de suerte con lo que hagas.
Gracias.
Todavia sigo de viaje, cuando vuelva me pondre con ello.

Saludos.
 
#18
Hola de nuevo.

Siento por no publicar antes.

Por ciertas circunstancias el proyecto se ha quedado en punto muerto.
Todavia no esta cancelado formalmente, en cualquier momento puede volver a salir el tema pero, si es asi, no sera dentro de poco tiempo, eso seguro asi que ya estoy metido en otro tema totalmente diferente.

Eso si, sigo estudiando analogica a ratos.
Me gustaria poder conocer mucho mas del tema asi que, es posible que dentro de poco me tengan preguntando por aqui;)

Gracias a todos por su ayuda.

Saludos.
 
Arriba