# Uln2003



## Meta (May 24, 2010)

Buenas:

Mirando el integrado *ULN2003* para relés, por lo que ve es invertido a su salida. Encima tiene 7, no 8 que son relés que quiero controlar.

Si se fijan, son inversores con histéresis. Lo que no me hace gracia es que si en la salida pongo un 1 desde el PIC, me sale en el relé como 0. Se me ocurre dos preguntas.

1) ¿Existe otro integrado que no sea negado? Si entra un 1, que salga el mismo 1. No invertido.

2) Se que hay un comando para invertir que se llama *comf*, por lo que he visto, te invierte todo el puerto al mismo tiempo. ¿Existe una forma que se pueda volver a invertir cada puerto a 1 independientemente a lo *bsf*?

Sigo trabajando con el proyecto de controlar el puerto serie con PIC y Internet vía Web que puedes ver los avances por aquí.
_ https://www.forosdeelectronica.com/posts/193601/ _






Quiero hacer cosas como estas pero con Internet bajo PHP y Flash. (Y si puedo, con mando a distancia también, ).

http://papolero.iespana.es/mando/index.htm

Hasta otra.


----------



## MrCarlos (May 24, 2010)

Hola Meta

Si hay DARLINGTON ARRAY que no son inversores y de a 8 por paquete.

Entra a este enlace e indaga por “Description”  DARLINGTON ARRAY.http://www.alldatasheet.com/ 
Salen varios pero Mira los que dicen: EIGHT DARLINGTON ARRAY. Creo que son de ST.

saludos
a sus ordenes


----------



## Meta (May 24, 2010)

Hola:

Buscando estoy por aquí.
http://category.alldatasheet.com/index.jsp?sSearchword=EIGHT DARLINGTON ARRAY

Parece que este me conviene lo que hace, pero es de 500 mA. Uso 8 Relés de 250VAC de conmutador 12VDC de bobina que chupa unos 200 mA por cada relé. 200 mA x 8 Relés = 1.6 Amperios, o lo que es lo mismo 1600 mA. Necesito que aguante 1.6A. por lo que veo. 

http://pdf1.alldatasheet.com/datasheet-pdf/view/198946/MITSUBISHI/M63840P.html

Sigo buscando... 

...ya que quiero encontrar uno adecuado, saber su precio y si lo puedo conseguir en locales de mi alrededor, al menos uno compatible.

Saludo.


----------



## cosmefulanito04 (May 25, 2010)

El uln2803/24 es como un 2003 pero de 8 entradas/salidas y 500mA por c/u.

Pero me llama la atencion que digas que el 2003 sea inversor, ya que en las hojas de datos figura como un darlington npn donde la salida es el colector (tipo como un transistor npn en configuracion llave).


----------



## Meta (May 25, 2010)

Son inversores con circuitor Darlington el ULN2003. Voy a mirar la hoja de datos del uln2803/24 y te comento.

Muchas gracias.


----------



## cosmefulanito04 (May 25, 2010)

Me dejaste la duda, yo no use nunca el 2003, pero el 28xx si, junto con el udn2981 para multiplexar 7segmentos, y yo recuerdo que el 28xx no tenia que invertir ni nada raro, en cambio con el 2981 si por la configuracion tipo pnp.

En la hoja del uln2003 figura el circuito interno (el mismo que el 28xx):



Si el equivalente es correcto y supongamos que la carga fuera una R en serie con un led, para encenderlo tengo que mandarle tension a la base para que sature.

En cambio en la hoja de dato del udn2981 el circuito interno es este:



Nuevamente si el equivalente es correcto y supongamos que la carga fuera una R en serie con un led, para encenderlo tengo que mandarle 0v a la base para que el pnp sature.


----------



## Meta (May 25, 2010)

Hola:

En el libro www.pic16f84a.org de la página 15 y figura 2-7 lo llaman circuitor integrado inversior realizados interiormente por Darlington.

Vieno las bobinas de los relés me consume  entorno 50/60 mA de 12vdc cada una. Entonces son 50 * 8 = 400 mA. En caso de que sean finas 60 * 8 = 480 mA. Sí que con un driver que consuma 500 mA parece suficientes pero que sea para 8 relés, no 7 como el ULN2003. Seguiré buscando por ahí el mega adecuado.

Muchas gracias a tod@s por las respuestas y sugerencias.


----------



## Lord Chango (May 25, 2010)

Hola a todos! Yo trabajé hace un tiempo con un ULN2003 y sí, son inversores. Pero eso se puede solucionar fácilmente colocando un 4069 para que invierta las entradas.
Con respecto al problema de la corriente, me parece que no queres usar transistores, pero parece no haber otra solucion.

Saludos!


----------



## Dr. Zoidberg (May 25, 2010)

Los ULN2003/2803 no son inversores ni nada parecido, son transistores comunes con salidas a colector abierto, así que si le metés un uno en la entrada, el relay se activa, y con un cero se apaga....igual de simple que si usaras un transistor, solo que vienen 7/8 por encapsulado.

Eso de inversores que has leído por ahí, es una tontera del tamaño de una casa, considerando las aplicaciones que tiene este C.I.


----------



## Meta (May 25, 2010)

Hola:

También si es posible no usar transistores. En el libro www.pic16f84a.org página 15, Figura 2-8 te muestra algo así:

*PIC*-------->*ULN2003*-------->*7 Relés*
(Bobinas de relés <500 mA x 7).

Sin ningún tipo de transistor. Si es posible lo hago así. En caso de que no se pueda lo haré con transistores  siempre que no quede más remedio. Por lo que veo, necesito un driver para <600 mA por si acaso.

DEsntro de un rato pongo un esquema en bloques de lo que quiero hacer. Por ahora presento un PCB fallido del PIC16F84A, PIC16F88.

Ver el archivo adjunto 29408

Lo estoy modificando con un PIC16F887 (40 patillajes).

- 8 entradas digitales.
- 8 salidas digitales.
- LCD 4x20.
- Puerto serie que controla el PIC.
- Comunicación por red y Internet mediante C# y por páginas Web como PHP, Flash y MySQL.

(Por lo que estoy viendo, me escasea 8 entradas digitales para poner pulsadores, como un PIC de 60 pines me viene muy bien, ya que no lo encuentro, encima debo tener un zócalo preparado para ello, pues opto por otro PIC que puede ser el 16F84A o el 16F88 comunicando por RS232 con el 16F887 y que me sobre pines más que me falten).

Un cordial saludo.


----------



## cosmefulanito04 (May 25, 2010)

Me parece que cada salida por si sola puede manejar 500mA (osea el darlington solo), osea que estas mas que sobrado por cada rele.


----------



## Meta (May 25, 2010)

ezavalla dijo:


> Los ULN2003/2803 no son inversores ni nada parecido, son transistores comunes con salidas a colector abierto, así que si le metés un uno en la entrada, el relay se activa, y con un cero se apaga....igual de simple que si usaras un transistor, solo que vienen 7/8 por encapsulado.
> 
> Eso de inversores que has leído por ahí, es una tontera del tamaño de una casa, considerando las aplicaciones que tiene este C.I.


 
Amigo, mira en la primera imagen del primer post. Dentro veo un inversor y un diodo. Dentro del inversor que ahora no lo vemos al darlinton porque está en su interior. 

Lo se porque lo di en electrónica, .


Siguiendo el tema, por lo que veo, 500 mA es el total de las salidas juntas.


----------



## g.corallo (May 25, 2010)

Meta dijo:


> Amigo, mira en la primera imagen del primer post. Dentro veo un inversor y un diodo. Dentro del inversor que ahora no lo vemos al darlinton porque está en su interior.
> 
> Lo se porque lo di en electrónica, .
> 
> ...




hola a como se ve en la imagen que vos pusiste tienen un inversor pero como dijieron antes con 4069 se soluciona


----------



## Meta (May 25, 2010)

Sí, lo dijeron, pero eso es volver a invertirlo, la idea está bien y lo he llegado a pensar, tanto con hardware *4069* como el software *comf*.

La idea principal es usar hardware lo menos posibles, quiero decir, usar el mínimo de componentes con la misma funcionalidad. 

Para usar un ULN2003 y 4069, osea, dos componentes, mejor usar un componente que haga lo mismo. Menos engorroso al hacer el PCB, menor precio, más fácil para buscar errores si el circuito falla.


----------



## cosmefulanito04 (May 25, 2010)

Meta dijo:


> Amigo, mira en la primera imagen del primer post. Dentro veo un inversor y un diodo. Dentro del inversor que ahora no lo vemos al darlinton porque está en su interior.
> 
> Lo se porque lo di en electrónica, .
> 
> ...



Yo estoy de acuerdo con lo que dice ezavalla, el darlington conectado como te puse arriba no deberia comportarse como inversor. ¿Como conectas la salida?, tal vez ahi este el asunto.

Sobre la corriente, se que suena raro, que ese encapsulado pueda manejar tanta corriente y disipar tanta potencia, pero en la hoja de datos (la 1era), fijate que dice:



> ■ Output current 500 mA *per* driver (600 mA peak)



Y en la hoja de datos del 28xx, dice que hasta 1W por driver se aguanta (como hace con semejante encapsulado, ni idea)

Por otro lado te da la resistencia termica juntura-ambiente y la ºT de juntura:



> RthJA  120 ° C/W
> TJ 150ºC



Suponiendo Tamb=50ºC:

Pdmax=(Tj-Tamb)/RthJA=833mW (por driver)

Vcesat(on)=1,6V (hoja de dato) => Icmax=Pdmax/Vcesat(on)=520 mA


----------



## Meta (May 25, 2010)

Gracias por la información. Otra cosa que quiero saber, si se puede con ese driver no usar transistores para el control de los Relé.


----------



## HADES (May 25, 2010)

Salu2 compañero Meta:

Mua, hace tiempo tuve que utililzar Drivers o Buffers ahora bien a mi me funciono muy bien un Driver-Buffer de numero 74LS541 este es driver NO inversor el 74LS540 SI es inversor asi mismo tambien existen la 74LS240 y la 74LS241 aqui te adjunto las hojas de datos respectivamente:

74LS540 y 74LS541:
Ver el archivo adjunto 74LS540 y 74LS541.pdf

74LS240 y 74LS241:
Ver el archivo adjunto 74LS240 y 74LS241.pdf

Espero te puedan servir Salu2


----------



## cosmefulanito04 (May 25, 2010)

Fijate, si tenes proteus proba este circuito:



Vas a ver que el rele (normal abierto) se activa cuando presiono el pulsador.

Ahora reemplaza el rele, por el led con la R en serie, y vas a ver que el uln conectado asi, funciona al igual que el equivalente que te mostre arriba.

En otras palabras, conectando asi el uln, no funciona como inversor.


----------



## Meta (May 25, 2010)

Probaré las ideas. Voy a mirar las hojas de datos. Ya que quiero hacer la PCB bien. Por lo que veo, necesito 16F88 comunicarlo con 16F887 para tener 8 entradas digitales con pulsadores.

A ver si acabo el proyecto algún día, que llevo desde Marzo del 2008. (Claro que lo he dejado algunos meses por temas de estudio).


Circuito PicRS232 v2.xx





Proyecto general.


----------



## HADES (May 26, 2010)

Bueno espero mis ideas te puedan servir ya dichos drivers que te pase con sus hojas de datos me fueron muy utiles especialmente cuando trabaje etapas de potencia con pic y buffers

salu2


----------



## Meta (May 26, 2010)

Viendo los data sheet no tiene diodo de protección contra la fuerza contraelectromotriz.


----------



## cosmefulanito04 (May 26, 2010)

Ese seria el menor de los problemas, de ultima pones un 1n4001 y listo.

El tema es que esos buffer (SN54LS540, SN54LS541, SN74LS540, SN74LS541) como mucho pueden entregar 24mA con una salida en alto de 3,4v (y seguro que a 24mA se cae mas todavia la tension), no creo que puedas mover el rele con eso, salvo que cambies el rele original con el que trabajabas.


----------



## HADES (May 26, 2010)

mmm dissculpan es que entonces no lei bien es para cargas inductivas!!!

ah! y entonces que tal el L293D este integrado entrega alimentacion de hasta 600mA y 1.2A pico y no es inversor y ya pose diodos de protecion integrados!!

el link para el pdf:
http://pdf1.alldatasheet.com/datasheet-pdf/view/27189/TI/L293D.html


----------



## Dr. Zoidberg (May 26, 2010)

Meta dijo:


> Proyecto general.



Te voy a dar una recomendación...de onda .

Por que diablos hacés tanto lío usando lenguajes tan diferentes como C# y PHP, mas Apache mas el cliente en C# y/o HTML mas toda la bola?

Si usaras JAVA podrías escribir un servlet de 20 líneas sobre Tomcat y quitarte de encima el 99% de los problemas...usando AJAX sobre el cliente o un simple formulario HTML, según sea tu gusto...

Te lo digo por que lo hice en 1997, con transmisión de imágenes a un applet Java y un montón de cosas más para mi tesis de maestría...y te aseguro que es el camino mas corto, y ahora...también el más actual .


----------



## HADES (May 26, 2010)

Con lo del lenguaje de Programacion el Honorable Maestro ha hablado!


----------



## Meta (May 26, 2010)

Buenas:

*1)* Apache, PHP y MySQL lo quiero para almacenar usuarios desde la base de datos como este mismo foro.

*2) *Flash o PHP se hará una Interfaz Web para controlar el PIC a distancia. _(No conozco todavía Ajax y no se si vale la pena perder el tiempo con ello, por eso no lo uso. Casi uso hasta el .net remoting)._

*3)* C# hace de servidor _(también funciona como cliente)_.

*4)* Desde vía Web controlo MySQL, C# lee los datos desde MySQL y los interpreta para el puerto serie.

*5)* Así me ha fucnionado con el 16F84A y 16F88, por eso hice el primer manual sobre instalar servidor Web. (con el tiempo, se hará en Linux). Más adelante haré un buen manual con el control del PIC por Internet.

*6)* PC-Ciente <-----> PC-Servidor <-----> Puerto COM <-----> PIC16F887 <-----> Dispositivos.

*7)* A pesar de que me funciona el control de salida del PIC por puerto COM _(quizás haga también LPT al mismo tiempo)_, en estos momentos estoy liado de conseguir que me funcione los pulsadores del puerto C como entrada y lo pase a puerto D como salida sea por pueto serie o por pulsadores.

*8)* Cuando veas el gran manual, ya verás con es un trabajo muy grande. Eso si, con el tiempo lo mejoraré. Primero tener experiencias de lo que sabe hasta el momento para mejorar en el futuro. Llevo desde Marzo del 2008 y mira la fecha que estamos, estos proyectos me cuesta trabajo y tiempo que no siempre poseo.

*9)* Puedes ver sus avances poco a poco por aquí._ https://www.forosdeelectronica.com/posts/303829/ _y aquí_ https://www.forosdeelectronica.com/posts/301293/ _
*10)* Gracias por tu opición.

Saludo.


----------



## Dr. Zoidberg (May 26, 2010)

Meta dijo:


> *1)* Apache, PHP y MySQL lo quiero para almacenar usuarios desde la base de datos como este mismo foro.



OK, no hay problema. Java también lo hace, y sobre cualquier base, no solo MySQL.



Meta dijo:


> *2) *Flash o PHP se hará una Interfaz Web para controlar el PIC a distancia. _(No conozco todavía Ajax y no se si vale la pena perder el tiempo con ello, por eso no lo uso. Casi uso hasta el .net remoting)._



OK. Da lo mismo usar Flash, HTML, PHP o Java, solo que con este ultimo trabajás todo en el mismo lenguaje, sin necesidad de cambiar nada ni pelear con otro lenguaje. Java también tiene algo parecido al _.net remoting_, solo que cuando lo uses te vas a dar cuenta del error de elegirlo 



Meta dijo:


> *3)* C# hace de servidor _(también funciona como cliente)_.



OK. JAVA hace lo mismo, pero la calidad del servidor (Tomcat es desarrollado por la fundación Apache) es  muy superior a cualquier cosa que vos o yo podamos hacer.



Meta dijo:


> *4)* Desde vía Web controlo MySQL, C# lee los datos desde MySQL y los interpreta para el puerto serie.



Sep...es lo mismo, Java puede leerlos también y comunicarse por el puerto serie, y Java en el servlet puede escribirlos en la base de datos.



Meta dijo:


> *5)* Así me ha fucnionado con el 16F84A y 16F88, por eso hice el primer manual sobre instalar servidor Web. (con el tiempo, se hará en Linux). Más adelante haré un buen manual con el control del PIC por Internet.
> 
> *6)* PC-Ciente <-----> PC-Servidor <-----> Puerto COM <-----> PIC16F887 <-----> Dispositivos.
> 
> *7)* A pesar de que me funciona el control de salida del PIC por puerto COM _(quizás haga también LPT al mismo tiempo)_, en estos momentos estoy liado de conseguir que me funcione los pulsadores del puerto C como entrada y lo pase a puerto D como salida sea por pueto serie o por pulsadores.



La arquitectura que uses da lo mismo, pero el punto 7 no lo entendí.



Meta dijo:


> *8)* Cuando veas el gran manual, ya verás con es un trabajo muy grande. Eso si, con el tiempo lo mejoraré. Primero tener experiencias de lo que sabe hasta el momento para mejorar en el futuro. Llevo desde Marzo del 2008 y mira la fecha que estamos, estos proyectos me cuesta trabajo y tiempo que no siempre poseo.
> 
> *9)* Puedes ver sus avances poco a poco por aquí._ https://www.forosdeelectronica.com/posts/303829/ _y aquí https://www.forosdeelectronica.com/posts/301293/



No me cabe duda que es un gran trabajo, por eso me animé a darte una solución que no requiere tanta carga laboral para lograrlo .



Meta dijo:


> *10)* Gracias por tu opición.



De nada.


----------



## Meta (May 26, 2010)

Estimado amigo:

El Java por lo que veo lo dominas muy bien, precisamente no lo domino pero si el C#. Parece que el Java es muy potente en todo, en temas de Internet es de los mejores.

En el punto *7)* quiero decir que no se como programar en ensamblador la comunicación en paralelo por puerto COM y pulsadores en la misma salida que son los relés.






Esto del Java en Internet parece lo mejor...

Saludo.


----------



## Dr. Zoidberg (May 26, 2010)

Meta dijo:


> En el punto *7)* quiero decir que no se como programar en ensamblador la comunicación en paralelo por puerto COM y pulsadores en la misma salida que son los relés.



Vos querés fijar los bits de salida del port D, ya sea por un dato del puerto serie o por el estado de un pulsador en el puerto C?
Los bits del puerto D operan como "toggle" con los datos de los pulsadores o del puerto serie?


----------



## Meta (May 26, 2010)

Hola:

- Puerto serie actua como entrada.
- Puerto C actúa como toggle _(palanca)_ ya que es entrada digital.
- Puerto D son salidas y son 8 relés.

Estaba pensando en añadir otro PIC en paralelo, que funcione como entrada digital con pulsadores en modo toggle y del puerto COM con otro PIC.






Si no logro hacer mi meta, lo hago de una manera o otra.

Saludo.


----------



## Dr. Zoidberg (May 27, 2010)

Si usaras un 74165 o cualquier registro de desplazamiento de carga-paralelo / salida-serie podrías tener las ocho entradas adicionales usando solo tres terminales del 16F877. No necesitas un pic adicional y el costo de ese chip es insignificante.

Por otra parte, no comprendo cual es el problema con fijar el valor del puerto D usando la comunicación serie y/o los pulsadores del puerto C. Es tan simple como hacer una XOR entre el valor del puerto C o el recibido por el puerto serie y un registro que contenga el ultimo estado del puerto D....


----------



## Meta (May 27, 2010)

Parece bueno el IC.





Por lo qu eveo, debo usar el puerto B en vez del C ya que tiene servicios de interrupción. Lo voy hacer otra vez. Estaba apunto de comprar un expansor de bus, es un integrado de 8 bits Entrada/Salida conectado a I2C.

PCF8574, no se si hay más grande que este, con más pines, por lo que veo, puede usar hasta 8 ó 16 PCF8574 en paralelo, al mismo tiempo, con su nombre cada uno por supuesto.






Si conocen otro expansor de bus I2C con más pines me lo dices, no es lo mismo 8 que 40.

A lo que iba. 
DEbo cambiar el LCD al puerto C y usar los pulsadores 'toggle' en el puert B ya que tiene lo de interrupción. Lo he intentado, pero si le pica la curiosidad hasta el momento les paso lo que he hecho hasta ahora. Eso si, no hagan caso a los comentarios, está a lo chapuza hasta el código, ejejje. Les paso el ejemplo de proteus de prueba, pero voy a cambiar de puerto B como entrada y LCD al C como salida.

Viendo el precio de PCF8574 cuesta 3.80 € y el PIC16F88 4.50 €. Me da que pensar mejor un PIC que el PCF. Claro que si eligo el PIC16F84A también cuaesta 4.50 € y so escojo el PIC16F627 que es el que tienen en un local que conozco vale el mismo precio. Deja ir a otro sitio a ver cuanto cuesta el PCF8574 y les comento.

Muchas gracias de antemano.


----------



## cosmefulanito04 (May 27, 2010)

Otra posible solucion seria implementar un codificador con prioridad, de esta forma por ej. podrias ampliar de 3 lineas a 8.

El unico inconveniente es que solo podrias usar 1 pulsador a la vez, osea no podes presionar 2 o mas pulsadores al mismo tiempo, ya que solo te tomaria el de mayor peso segun hayas puesto en el codificador (por eso debe ser con prioridad).

La otra solucion de usar shifter, tenes la ventaja de poder presionar los pulsadores a la vez, pero es un poco mas complejo el manejo.

Por ultimo, tenes la alternativa 3, que es usar multiplexores, cuyo manejo es parecido al codificador.


----------



## Meta (May 27, 2010)

Gracias por los consejos.

Una curiosidad, mirando estos registros llamados CM1CON0, CM2CON0 y CM2CON1.

¿Hay que deshabilitarlo?

No los he tocado y uso esta configuración.


```
bsf        PEntradasB,EntradaR1B    
    bsf        PEntradasB,EntradaR2B    
    bsf        PEntradasB,EntradaR3B    
    bsf        PEntradasB,EntradaR4B    
    bsf        PEntradasB,EntradaR5B    
    bsf        PEntradasB,EntradaR6B    
    bsf        PEntradasB,EntradaR7B    
    bsf        PEntradasB,EntradaR8B                    
    bcf        PSalidasD,SalidaR1D
    bcf        PSalidasD,SalidaR2D
    bcf        PSalidasD,SalidaR3D
    bcf        PSalidasD,SalidaR4D
    bcf        PSalidasD,SalidaR5D
    bcf        PSalidasD,SalidaR6D
    bcf        PSalidasD,SalidaR7D
    bcf        PSalidasD,SalidaR8D                   
    BANKSEL    ANSEL
    clrf    ANSEL
    clrf    ANSELH
    BANKSEL    TRISB
    movlw    b'11111111'
    movwf    TRISB
    clrw
    clrf    TRISD
    BANKSEL    PORTD
```

Saludo.


----------



## fernandob (May 27, 2010)

cosmefulanito04 dijo:


> Me dejaste la duda, yo no use nunca el 2003, pero el 28xx si, junto con el udn2981 para multiplexar 7segmentos, y yo recuerdo que el 28xx no tenia que invertir ni nada raro, en cambio con el 2981 si por la configuracion tipo pnp.
> 
> En la hoja del uln2003 figura el circuito interno (el mismo que el 28xx):
> 
> ...



hola, estoy mirando un poco y me dio curiosidad esto :
solo por curiosidad, si no les molesta aclararme el ultimo dibujo NO es equivalente a un PNP como han puesto sino a un NPN ya que como se ve en el esquema completo la salida real es la dupla darlington NPN ........o me equivoco ??

y en la data si bien lo dibujan como equivalente a compuertas separadoras NO lo son ya que es capaz de entregar un 1 logico cuando se exita la entrada pero NO es capaz de entregar un 0 (creo que se llama salida push - pull no ?? para hacer una compuerta no inversora ) .
me equivoco ????


----------



## Dr. Zoidberg (May 28, 2010)

fernandob dijo:


> hola, estoy mirando un poco y me dio curiosidad esto :
> solo por curiosidad, si no les molesta aclararme el ultimo dibujo NO es equivalente a un PNP como han puesto sino a un NPN ya que como se ve en el esquema completo la salida real es la dupla darlington NPN ........o me equivoco ??



Fernando:
Ese es un "darlington PNP" de tres etapas. El "darlington" comienza en el PNP y luego tiene dos etapas NPN de muy alta ganancia. Fijate acá: http://en.wikipedia.org/wiki/Sziklai_pair , aunque ese es justo al revés, un NPN con salida PNP...pero se entiende la idea.


----------



## fernandob (May 28, 2010)

hola por favor aclarenmelo, a veces me agarra un lapsus y me parece que el mundo se dio vuelta o me estoy poniendo GA-GA ( y me asusta un poco ) .

yo veo una entrada NPN (la flechita que sale) .
si le doy tension ese T se exita mandando a masa (a travez de Rs) a PNP (unico e interno ) o sea disparandolo o sea haciendolo conducir, el PNP interno que esta mas arriba emisor comun a pata 9 .
al conducir ese PNP interno me exita la base de el darlingon NPN .

entrada NPN
salida NPN 

que no veo ????????

lo unico raro es que no haya una R . limitando la corriente que manda el PNP al darlington, supongo que si esta pero la omitieron en el dibujo .


ah..........puede ser la confusion *que yo miro los T*. pero la costumbre si uno dice salida NPN estas suponiendo que es emisor comun , o sea tipo colector abierto y aca usan como colector comun, te da + cuando se exita. sera eso ?????

*ahi puse el dibujo, diganme si esta ok *


----------



## cosmefulanito04 (May 28, 2010)

Si creo ese equivalente estaria bien y no el que puse yo (faltaria el pull-up en la base del pnp, para garantizar el corte) , ya que como decis si a la entrada tengo 0v no polarizo los 2 transistores y queda abierto por lo tanto el pnp gracias al pull-up que se hace con la R de 20k queda tambien abierto.

Estaba seguro de que con ese driver metiendole 0v a la entrada conducia, tendria que revisar que hice en su momento cuando lo use  .


----------



## Dr. Zoidberg (May 28, 2010)

fernandob dijo:


> yo veo una entrada NPN (la flechita que sale) .
> si le doy tension ese T se exita mandando a masa (a travez de Rs) a PNP (unico e interno ) o sea disparandolo o sea haciendolo conducir, el PNP interno que esta mas arriba emisor comun a pata 9 .
> al conducir ese PNP interno me exita la base de el darlingon NPN .



La entrada no es NPN, esos dos primeros transistores funcionan como una fuente de corriente controlada por tensión. Cuando polarizás la entrada, por el NPN que está conectado al divisor de base del PNP circula una corriente dada por Vbe/1K5=400uA y polariza la base del PNP bajándola de Vcc en 20K * 400uA = 8V, lo que lo manda a conducción. Si no polarizás la entrada, la base del PNP está a Vcc por medio de la R de 20K y está bloqueado.



fernandob dijo:


> entrada NPN
> salida NPN



La salida NO es NPN: El asunto es que el PNP son los tres transistores de arriba en configuración Sziklai, donde los emisores de los NPN son el colector del PNP, y el emisor del PNP es el emisor de todo el conjunto (junto con los colectores de los NPN)



fernandob dijo:


> que no veo ????????
> lo unico raro es que no haya una R . limitando la corriente que manda el PNP al darlington, supongo que si esta pero la omitieron en el dibujo .



La R de base NO VA por que no es un transistor PNP en modo conmutación que excita a los darlington. El mismo PNP forma parte del Darlington, solo que es de tres capas en lugar de dos. Y al estar en configuración Sziklai, el conjunto de los tres transistores se comporta como un Darlington PNP de muy alta ganancia de corriente.



fernandob dijo:


> ah..........puede ser la confusion *que yo miro los T*. pero la costumbre si uno dice salida NPN estas suponiendo que es emisor comun , o sea tipo colector abierto y aca usan como colector comun, te da + cuando se exita. sera eso ?????
> *ahi puse el dibujo, diganme si esta ok *



El circuito "equivalente" que has dibuijado a la derecha está MAS O MENOS correcto, pero te falta la R de 20K de la base del PNP a Vcc, que es la que se encarga de bloquearlo cuando la fuente de corriente de base está al corte.


----------



## fernandob (May 28, 2010)

gracias, nunca escuche de esa configuracion.

se ven en esto 2 cosas :

1-- siempre es bueno teener un ing. cerca 
2 -- que cosa, siempre se aprenden cosas hasta de 2 simples transistores 

saludos y gracias

mirando un poco acerca de esa config. encontre :
http://translate.google.com.ar/tran...refox-a&hs=U3o&rls=org.mozilla:es-ES:official
esa la conozco, es mas, la uso, pero con la salida como emisor comun , no como en el dibujo que parece un "seguidor" o sea el emisor a la carga.
igual voy a seguir mirando un poco por la web.

gracias de nuevo ezevalla


----------



## Dr. Zoidberg (May 28, 2010)

OK. De nada!
Saludos!


----------



## HADES (May 28, 2010)

Salu2 colegas:

Solo tengo una duda para Meta?!

Como te ha ido con el proyecto?especificamente con la etapa de potencia consideraste los numeros de chips que te dimos asi mismo tambien actualice el numero que di y di otro el L293D

salu2 meta


----------



## Meta (May 28, 2010)

Estoy en ello.







Los integrados que me han puesto, muchos me sirven. Sigo atascado con asm y no se que hacer. Sigo con la idea en la cabeza de usar dos PIC, enviar señales RS232 principal del 16F88 al 16F887 con el fin de que me haga caso. Así creerá que el PIC16F88 será el HyperTerminal de Windows.

Así que con los pulsadores o interruptores 'toggle' que haga con el 16F88 lo comunique al 16F887.

Si se fijan, hay un diodo D1, así no se haré un bucle cerrado sólo en el puerto serie.

Otra locura que hice es este.





Ahora sólo con los diodos D2 y D3, los diodos funcionan antiretorno, se que quita 0.7v si es de silicio, 0.3 si es de germanio, en este caso silicio. (No me sirve así).






Por lo que muestra, sólo reconoce envío de byte por teclado, el PIC16F88 hará esa función como si fuera el HyperTerminal de Windows. Desde el 16F88 debe enviar bytes que no corresponda al teclado directamente.

De alguna manera o otra, este proyecto se debe conseguir hacer.



Debe funcionar como si fuera un PLC.
Debe funcionar con entradas digitales mediante pulsadores o interrupores.
Entradas digitales con sensores en otro puerto del PIC.
Entrada digital de 5V con otro puerto más.
Salida digital que controla 8 relés.
Salida para LCD Hitachi 44780 4x20.
Comunicación puerto serie.
 
No se me ocurre otra cosa, si tienen ideas mejores que esta, las cuentan por aquí, please.

*1)* Lo último que se me ocurre es dejar en modo internet por puerto serie sólo salidas a los 8 relés.

*2)* Por otro lado, la posibilidad de grabar otro .hex controlando los 8 relés mediante pulsador, sensores digitales, etc.

*3)* Intentar lograr aunque sea mediante *btfss* _(como si fuera if else)_ en medio del programa cuando es Internet o local.

Saludo.


----------



## cosmefulanito04 (May 29, 2010)

Parece medio loco eso  .

El tema de usar diodo es ¿que pasa cuando mandas 0's por el puerto serie?

-TTL => 0V
-Rs232 => -12v o -10v

Los diodo en esa condicion no conducen, entonces por ej. el Tx del max232 de entrada (antes de llegar a la Pc lo convertis a esta norma) quedaria como punto flotante. Tal vez poniendole una R a tierra despues de los diodos lo podrias resolver ese inconveniente.

Ahora, ¿tantas cuentas vas a realizar que necesitas 2 pics en paralelo?


----------



## Meta (May 29, 2010)

Loco si es, porque me volví loco.

Ahora encontré otro problema que no me habí dado cuenta, pero si lo veía. El desbordamiento de pila. Por lo que parece, el PIC hace funcionamiento no esperado, hace lo que le da la gana. Si soluciono una parte de la pila o stack, encuentro otro.

Lo malo que solo incluye 8 niveles de pila para los 16F, 16 niveles de pila para los 16F modernos de núcleo mejorado. La otra alternativa que tengo es usar en ensamblador el 18F4550 con 31 niveles de pila y me funcionará, eso si, me complicaré con el tema de los fuses al principio, jeejjejeje.

Voy a intentar areglar sea como sea el tema de los desbordamiento de pila del 16F887 a ver si puedo hacer algo hasta el final.


----------



## Dr. Zoidberg (May 29, 2010)

Meta dijo:


> Loco si es, porque me volví loco.
> 
> Ahora encontré otro problema que no me habí dado cuenta, pero si lo veía. El desbordamiento de pila. Por lo que parece, el PIC hace funcionamiento no esperado, hace lo que le da la gana. Si soluciono una parte de la pila o stack, encuentro otro.
> 
> ...



Por que no te sentás un rato, tomás un buen café (o cerveza ) y te ponés a pensar de nuevo en lo que estás haciendo?

Me parecen demasiadas complicaciones para algo tan simple (en los PIC)...y si tenés comportamiento inesperado, tal vez sea a causa del ruido electrico de los relays y *tengas que depurar el hardware antes de seguir con el software*...


----------



## Meta (May 29, 2010)

Hola:

Ni siquiero he comprado los componentes aún, estoy todo el rato con simuladores. Simple cuando funciona, complejo cuando busco alternativas, no por ellos signifique que haga al final complicaciones más loca que se me ocurra, primero opiniones  más ideas antes de lanzarme hacer algo.

Saludo.
*
Edito:*
Por lo que he descubierto, la falla está en desbordamiento de pila. Tengo que corregirlo. Lo he intentado pasar al 18F4550 ya que tiene 31 niveles de pilas, vi que este PIC es más complicado de lo que creía, tengo que cambiar muchos registros con su nuevo nombre y requiere tiempo. Por ahor prefiero volver al 16F887 y solucionar el desbordamiento de pila o stack.

Cualquieron iformación es útil.


----------



## Meta (Jun 1, 2010)

Este IC ULN2803A tiene 18 pines. pero es inversor negado. Algo así quiero pero que no sea negado como muestra en la imagen.


----------



## cosmefulanito04 (Jun 1, 2010)

Que no es inversor!!! , es colector abierto, insisto probalo en el proteus con el circuito que te mostre que tenes el modelo del uln y asi te sacas la duda definitivamente.

Hace de cuenta que estas trabajando con un transitor y no con un buffer tipico de digitales.


----------



## MrCarlos (Jun 1, 2010)

Pero, entonces por qué la entrada es inversa a la salida?
Tomada de las hojas de datos del ULN2803.

saludos
a sus ordenes


----------



## cosmefulanito04 (Jun 1, 2010)

Es como le dije a Meta en un mensaje anterior, si es inversor o no dependera de como hagas la conexion de tu carga.

Fijate como conecta la salida, hace un pull-up a vcc, osea en otras palabras en la hoja te dice que la conexion es una cosa asi:



Este buffer hay que verlo como un transistor en configuracion saturacion/corte.


----------



## Meta (Jun 1, 2010)

Entendido. Entonces aunque aparezca el símbolo del inversor en el dibujo por dentro, en realidad no lo hace.






Saludo.


----------



## cosmefulanito04 (Jun 1, 2010)

Meta dijo:


> Entendido. Entonces aunque aparezca el símbolo del inversor en el dibujo por dentro, en realidad no lo hace.
> 
> 
> 
> ...



Lo hara o no, dependiendo de como pongas la carga, al igual que en un transistor.

Nuevamente, si tenes el proteus/multisim instalado, probalo y sacate las dudas.


----------



## HADES (Jun 2, 2010)

tal vez lo que pasa (SIN OFENDER)es que el compañero meta no sabe como usar la salida con colecto abierto!!

Lo que podes hacer usando el ULN2803 es que a cada salida le conectes una R tipicamente de 270 Ohms desde VCC a cada salida Independientemente y pues si en dicha salida conectas un led y probas te daras cuenta que pues jejejej que no esta inviertiendo(colector abierto) proba comprar el chip y lo haces de por si no es muy caro salu2

pd ups se me fue la letra

PD. pero EZAVALLA entonces porque me funciono a mi no con este integrado especificamente pero algo asi les voy a subir el esquema que trae salu2

He os aqui es un opto aislador con colector abierto H11L1 y su conexion tipica con colector abierto describe la conexion que dije anteriormente lo hice y me funciono el link:
http://download.siliconexpert.com/pdfs/2009/11/22/3/50/30/731/fsc_/manual/h11l3-m.pdf


----------



## Dr. Zoidberg (Jun 2, 2010)

SONIUS dijo:


> Lo que podes hacer usando el ULN2803 es *que a caca salida le conectes una R* tipicamente de 270 Ohms desde VCC a cada salida



Huuuuu!!! Que cochinada!!!!
Y no creo que funcione si ponés la R ahí...


----------



## entropio (Jun 3, 2010)

Ok Saludos Solucionare sus Problemas explicando mi Punto de vista del ULN son arrays darlingtons , cada salida puede drena hasta 500 mA, la confusion creo que viene de que algunos piensan que el ULN2803 se le pone un 1 a la entrada y te genera un 1 a la salida con  un aguante de hasta 500mA, esto es un error, deben de ver el ULN como un drenaje de corriente que soporta hasta 500mA, si se van a proteus ponen un pic el que quieran conectado al ULN ponen un uno en la salida del PIC y a la salida del ULN tendran un cero, la terminal 9 COM del ULN es la aimentacion de la carga, es la que alimenta a las bobinas de los relevadores la corriente pasa por estas y va al ULN por su estado logico cero a tierra, veanlo como la salida a tierra del circuito.

Espero y mi aporte les sea de ayuda


----------



## Meta (Jun 3, 2010)

entropio dijo:


> Ok  [...]si se van a proteus ponen un pic el que quieran conectado al ULN ponen un uno en la salida del PIC y a la salida del ULN tendran un cero, [...]



Eso es lo que no quiero.

PIC----->1----->ULN----->0 o PIC----->0----->ULN----->1

Quiero:

PIC----->1----->ULN----->1 o el PIC----->0----->ULN----->0

De las señales que entra que sea la misma de salida.


----------



## entropio (Jun 3, 2010)

Ok para dejar esto mas claro adjunto una imagen, y hago la aclaracion es es por eso que el datasheet dice que el ULN es un Driver  de alto voltaje alta corriente, en la terminal COM pin 9 creo puede aguantar hasta 50 v creo este voltaje es con que que exitan los arreglos Darlingtons

No meta asi no funcionara el ULNXXX

el ULN funciona asi

PIC ------->1  ULN-------->0
PIC-------->0  ULN-------->ALTA IMPEDANCIA= Circuito Abierto


La ventaja de que el ULN sea un sumidero de corriente es aislar las etapas digitales de las de potencia.

Tu debes de poner una fuente externa diferente de la del PIC o circuito que utilizas  para alimentar la CARGA
Como conclusion el ULN es un un Switch encendido apagado que soporta un determinado voltaje y una determinada corriente. diferente a la de tu circuito


----------



## Meta (Jun 4, 2010)

Precisamente es lo que no quiero, que se invierta los valores a su salida del ULN. Quiero que si en la salida del PIC, haya un 1, en la salida del UNL obtenga el mismo 1, no un 0.

Ese es el IC que estoy buscando y de 8 relés.


----------



## entropio (Jun 4, 2010)

NO META estas confundido  yo ya hice ese proyecto que quieres hacer, tienes el puerto paralelo, por estes sacas señales TTL 0v o 5v, el cual es muy delicado en cuando a corriente, tu quieres accionar creo unos relevadores, me da un poco de hueva leer todo lo atras mencionado pero vi una imagen que pusiste, mira el ULN te sirve pero no has entendido el concepto, el ULN te pone un cero a la salida por que por ahi se va la corriente a tierra por ahi entra la corriente supongo que tus relevadores son RAS12 o 5 de los amarilitos mira esos los alimentas con 12 volt o 5volts de una alimentacion externa no es la del puerto paralelo esta fuente de alimentacion  puede ser de 1 ,2 3Amperes tus reles solo le demandaran creo que 200 mA a cada uno, esta corriente se ira por el cero del ULNXXX a tierra, con lo que tienes se puede hacer pero estas confundido, 

mira tupones un 1 logico TTL por el puerto paralo el ULN pone un cero y cierra el circuito tu rele se acciona es todo velo como si tienes un foco ya conectado a 110v el ULN solo habre el cable despues de la carga  cuando va al NEUTRO es todo

Mira solo que tienes un problema, si tienes un corto en el ULN puedes hecharte el Puerto Paralelo por que no esta asilado el circuito


----------



## cosmefulanito04 (Jun 4, 2010)

Es lo que estamos tratando de decirle hace 20 mensajes atras  , pero todavia no lo cree .

El uln como bien dijimos, no es mas que simplemente un array de transistores en configuracion darlington, y simplemente su conexion es la misma que la de un transistor npn comun y silvestre, pero sin necesidad de usar una Rb que ya la tiene incorporada.

El problema es que el quiere algo que funcione tipo un buffer que se usa en digitales, pero por un tema de manejo de corrientes, eso no es posible (o por lo menos no conozco algun buffer tipo 74LS04 que maneje tanta corriente, aunque en este caso este buffer es inversor). 

En este mensaje tiene la conexion que debe hacer:

https://www.forosdeelectronica.com/f24/uln2003-37269/#post304016

Pero se ve que todavia no lo probo, ya que todavia le sigue dando vueltas al asunto  .


----------



## Meta (Jun 4, 2010)

Hola:

Mejor haré una prueba con Proteus. Uso el puerto serie. En caso de que si en la entrada del ULN le pongo 1 y a su salida me salga 0, (eso no quiero que me pase), pues programo el PIC que en su salida de 0, para que el ULN me de 1 y active los relés.

comf,w
movwf PORTD

Invierto las salidas del PIC con comf y asusnto resuelto.

Saludo.


----------



## cosmefulanito04 (Jun 4, 2010)

Meta dijo:


> Hola:
> 
> Mejor haré una prueba con Proteus. Uso el puerto serie. En caso de que si en la entrada del ULN le pongo 1 y a su salida me salga 0, (eso no quiero que me pase), pues programo el PIC que en su salida de 0, para que el ULN me de 1 y active los relés.
> 
> ...



¿Y como lo vas a conectar al uln?, subi un esquema, si lo conectas mal, vas a poder generar el 0 logico, pero no el 1.


----------



## HADES (Jun 4, 2010)

Meta y por que mejor no probas comprar el ULN2003 y haces la prueba que te dijo cosmefulanito en el post No.61 y pues en protoboard con un simple switch a 5v en la entrada del ULN2003 y ademas no es muy caro para probar y asi salis de una vez de tus dudas no es por nada pero a veces no son muy fiables al pie de la letra los simuladores yo para darme  una IDEA de que esperar los uso pero finalmente valores reales y conexiones en concreto los saco de prueba con el protoboard y tester y es la mejor manera que he obtenido exito salu2


----------



## entropio (Jun 4, 2010)

Dios ayude a Meta el ULN nunca te va dar 1 logico,  es mas velo de esta manera. el ULN su entrada es digital ( ejemplo nomas) y su salida es analogica. lo que tu quieres hacer lo puedes hacer ya, mira pon un 1 logico a la entrada del ULN y cerraras el circuito a la salida, conecta como te puse en el diagrama y ya los reles se accionan es todo. ya funciona, si quieres un buffer que le pongas 1 logico a la entrada y te de un 1 logico a la salida puedes utilizar el  74HCT573 este es un bufer de 3 estados. pones 1 a la entrada, luego das un 1 logico a lacht enable ( osea guardas un dato en su memoria) y luego pones 1 logico a Output enable y sacas el dato cuando pornes 0v a Output Enable se isola el circuito( se abre la salida) es todo


----------



## HADES (Jun 4, 2010)

si y ya le habia comentado al colega Meta de estos tipos de buffers y hasta subi sus pdf unas paginas atras pero en fin haber que dice Meta.


----------



## Meta (Jun 4, 2010)

Compraré componentes pero no este ULN2003 que sólo tiene 7 relé. Por lo que he entendido. Si pongo 1 en la entrada del UL, a la salida se activa el relé. Algo de eso...


----------



## cosmefulanito04 (Jun 21, 2010)

Meta dijo:


> Compraré componentes pero no este ULN2003 que sólo tiene 7 relé. Por lo que he entendido. Si pongo 1 en la entrada del UL, a la salida se activa el relé. Algo de eso...



¿Y al final pudiste con el bendito uln?


----------



## HADES (Jun 21, 2010)

cosmefulanito04 dijo:


> ¿Y al final pudiste con el bendito uln?



Si y es que yo tambien me quede con la curiosidad hasta yo por otros motivos tengo un ULN2803 y 3 ULN2003!! y solo por no tener nada mejor que hacer probe tu configuracion cosmefulanito y sip si funciono para el Rele a ver que cuenta Meta!

salu2!

HADES


----------



## cosmefulanito04 (Jun 21, 2010)

HADES dijo:


> Si y es que yo tambien me quede con la curiosidad hasta yo por otros motivos tengo un ULN2803 y 3 ULN2003!! y solo por no tener nada mejor que hacer probe tu configuracion cosmefulanito y sip si funciono para el Rele a ver que cuenta Meta!
> 
> salu2!
> 
> HADES



A buenisimo que pudiste comprobarlo  .


----------



## Meta (Ago 27, 2010)

Hola:

Ya habían puesto esta imagen:


A mi no me funciona ni con el ULN2003, ni con el ULN2803.











Estoy retomando el proyecto de nuevo antes de que se me acabe las vacaciones.

Saludo.


----------



## Fogonazo (Ago 27, 2010)

Meta dijo:


> ...A mi no me funciona ni con el ULN2003, ni con el ULN2803....



El relee se encuentra mal conectado, lo correcto es conectar la bobina entre +Vcc y la pata correspondiente del ULN2003


----------



## Meta (Ago 27, 2010)

Ahora si me funciona.







Muchas gracias.


----------



## Fogonazo (Ago 27, 2010)

Meta dijo:


> ...Muchas gracias.


De nada            .


----------



## Meta (Ago 27, 2010)

Por cierto, en temas de disparadores como el 40106. ¿Si existe uno que no sea inversor, a parte de ello que tenga 8, no 6 como el 40106?


----------



## Fogonazo (Ago 27, 2010)

Buffer no inversor existen, lo corriente es que sean de solo 6 vías.
Pero también hay de 8 y 9

*100352*

*100322*

*Familias completas:*
http://www.superpbenavides.com/cata...tegrados/Familias Logicas 4000B y 74HCxxx.pdf


----------

