Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

26/05/2010 #21

Avatar de Meta

Respuesta: Uln2003
Viendo los data sheet no tiene diodo de protección contra la fuerza contraelectromotriz.
26/05/2010 #22

Avatar de cosmefulanito04

Respuesta: Uln2003
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.
26/05/2010 #23

Avatar de HADES

Respuesta: Uln2003
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/datashe.../TI/L293D.html
26/05/2010 #24

Avatar de Dr. Zoidberg

Respuesta: Uln2003
Meta dijo: Ver Mensaje


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 .
26/05/2010 #25

Avatar de HADES

Respuesta: Uln2003
Con lo del lenguaje de Programacion el Honorable Maestro ha hablado!
26/05/2010 #26

Avatar de Meta

Respuesta: Uln2003
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í. Controlar PC desde otro PC y aquí Interfaz puerto serie PicRS232 v2.00 (beta)

10) Gracias por tu opición.

Saludo.
26/05/2010 #27

Avatar de Dr. Zoidberg

Respuesta: Uln2003
Meta dijo: Ver Mensaje
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: Ver Mensaje
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: Ver Mensaje
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: Ver Mensaje
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: Ver Mensaje
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: Ver Mensaje
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í. Controlar PC desde otro PC y aquí Interfaz puerto serie PicRS232 v2.00 (beta)
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: Ver Mensaje
10) Gracias por tu opición.
De nada.
26/05/2010 #28

Avatar de Meta

Respuesta: Uln2003
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.
26/05/2010 #29

Avatar de Dr. Zoidberg

Respuesta: Uln2003
Meta dijo: Ver Mensaje
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?
26/05/2010 #30

Avatar de Meta

Respuesta: Uln2003
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.
27/05/2010 #31

Avatar de Dr. Zoidberg

Respuesta: Uln2003
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....
27/05/2010 #32

Avatar de Meta

Respuesta: Uln2003
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.
Archivos Adjuntos
Tipo de Archivo: zip PicRS232 16F887.zip (90,9 KB (Kilobytes), 36 visitas)
27/05/2010 #33

Avatar de cosmefulanito04

Respuesta: Uln2003
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.
27/05/2010 #34

Avatar de Meta

Respuesta: Uln2003
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.

Código:
    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.
27/05/2010 #35
Excluido


Respuesta: Uln2003
cosmefulanito04 dijo: Ver Mensaje
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.
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 ????
28/05/2010 #36

Avatar de Dr. Zoidberg

Respuesta: Uln2003
fernandob dijo: Ver Mensaje
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.
28/05/2010 #37
Excluido


Respuesta: Uln2003
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
Imágenes Adjuntas
Tipo de Archivo: jpg viajero 2 jpg.JPG (32,8 KB (Kilobytes), 36 visitas)
28/05/2010 #38

Avatar de cosmefulanito04

Respuesta: Uln2003
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 .
28/05/2010 #39

Avatar de Dr. Zoidberg

Respuesta: Uln2003
fernandob dijo: Ver Mensaje
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: Ver Mensaje
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: Ver Mensaje
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: Ver Mensaje
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.
28/05/2010 #40
Excluido


Respuesta: Uln2003
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/trans...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
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.