Autor Tema: [Proteus8] Fallo en la señal entrada pin-micro utilizando OR  (Leído 1668 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Berto

  • PIC16
  • ***
  • Mensajes: 187
[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« en: 29 de Febrero de 2016, 09:55:08 »

Esta señal puede llegar de otros 2 micros //los 3 son 18f452

para evitar :
if(!Input(PIN_B1) && !Input(PIN_B2))//estas son señales que evitan la entrada a if si los otros 2 le mandan un 1

E puesto :

if(!Input(PIN_D5))
//La entrada D5 es la salida de una OR cuyas 2 entradas tienen la salida que debe anular el if
//si cualquiera de las 2 entradas OR esta a 1 debido al correspondiente salida individual de los otros 2 micros

Pero tengo que sustituir la OR por dos diodos, no entiendo porque esto solo funciona en el puerto_D al que le e cambiado
la libre D5 por entrada ya que este atiende la alimentacion standar de un LCD 16x2 (si utilizo otro puerto no me vale recomprobado I/O)

Aunque esto funciona solo con diodos y solo en D5 Tampoco deberia. Cuando una entrada es 1(rojo) la salida que era 0(azul)
pasa a nada(gris) pero internamente Proteus8 lo atiende como flanco alto(lo que deberia ser) siempre que utilize los diodos
en vez de OR

Es un Bug de proteus, se puede realmente cambiar el set_tris 0x87 por 0x88, que diferencia hay en utizar diodos a una or ordinaria???

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7817
Re:[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« Respuesta #1 en: 29 de Febrero de 2016, 10:05:00 »
Falta la imagen.

Citar
que diferencia hay en utizar diodos a una or ordinaria???

Mas que nada. La caida de tension, Puede ser la velocidad de recuperacion en inversa ( 1N4148 o buscar un diodo de  0.3V/0.4V de caida )

Desconectado Berto

  • PIC16
  • ***
  • Mensajes: 187
Re:[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« Respuesta #2 en: 29 de Febrero de 2016, 10:32:19 »

* Foto1649[1].jpg
(16.34 kB, 320x240 - visto 173 veces)


En mi caso la OR es la "simple 2 INput OR Gate" la primera y unica que me da proteus sin especificar nada mas

Los diodos son "DEVICE Generic diode"

Y aunque funciona con los diodos, ambos casos estan dando el mismo error visual-neutro

Desconectado Berto

  • PIC16
  • ***
  • Mensajes: 187
Re:[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« Respuesta #3 en: 29 de Febrero de 2016, 10:38:22 »
Vaya!! e dibujado una AND
pero es la OR mencionada la que utilize

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7817
Re:[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« Respuesta #4 en: 29 de Febrero de 2016, 10:40:51 »
Tenes que ponerle una resistencia de pull-down en E.D5
Ya que como entrada esta en alta impedancia, por lo cual no circularia corriente. Entonces no se polarizaria directamente el diodo. Si le pones la resistencia de pull-down, cuando tengas 5V en S1, vas a tener una corriente definida por la R esa, y en tu resistencia vas a tener una tension de (5V - Vd) tenes que ver que sea lo suficiente grande como para supere el Vih del PIC.

En cambio la compuerta OR (la que dibujaste es una AND) tiene una salida tottem-pole como la del micro. Es decir conecta E.D5 a Vdd o Vss.

Desconectado Berto

  • PIC16
  • ***
  • Mensajes: 187
Re:[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« Respuesta #5 en: 29 de Febrero de 2016, 18:53:54 »
Las pull-down de las que hablais hacen referencia a un desacoplo a masa. No me sirve no es un problema de LOW Todo lo contrario la masa se mantiene pero cuando un anodo recive HOLT toda salida queda neutra. Un desacoplo capacitivo+ tampoco a si como esta el anodo no permite pasar LOW. Esta bien que Proteus tenga en cuenta esto. Lo estoy haciendo desde el principio ya me ocurria cuando montaba circuitos hay que llevar a masa con una resistencia considerable un receptor que pueda acumular W de hecho los condensadores tienen una espiral conductora interna, lineas en placas que dan tantas vueltas que crean inductancias sin querer. Esta clase de cosas se empezaron a tener en cuenta en los 60 con la miniaturizacion, los componentes eran mas sensibles a cualquier corriente parasita.
Pero en esta ocasion me da que es Proteus. No me esplico como esta funcionando en un solo caso con el mismo resultado visual.
Ya me la a hecho antes. Asta hace poco copie y pegue una serie de puertas aunque proteus les dio nombres diferentes y cambie las etiquetas-terminales, una nand empezo a comportarse de forma anomala al parecer lio la copia de esta con la original. Lo unico que hize es borrarla sustityendo por otra nand identica y todo volvio a funcionar sin cambiar nada mas.
Creo que seria un desacoplo capacitivo, invirtiendo a su vez los diodos catodo LOW entrada
pero como el error solo es visual no lo e vuelto a tocar.
Saludos.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7817
Re:[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« Respuesta #6 en: 29 de Febrero de 2016, 19:38:24 »
No entendi nada por que saliste con ese tema Berto.

HOLT? , desacoplo ?

Vos preguntaste por que no te funcionaba, y para mi los problemas que pueden haber son:
1- no tenes una referencia a GND, por mas que proteus te diga que la tenes, deberia marcartelo en gris. Asi como tenes el grafico de los diodos, le faltan componentes. Ya que si no la entrada queda flotando cuando hay un 0 en ambos anodos de los diodos.
2- Otro puerto como el PORTB puede tener activo el pull-up interno, por lo cual siempre estaria en un 1 de la forma que lo tenes. Y deberias desactivarlo para poder utilizar esto.
3- La caida del diodo no deberia superar los 1.5V a 5V de alimentacion. A pesar que la mayoria de los pines soporta hasta 2V para detectar un 1, cuando se lo alimenta a 5V

Listo, tenes tu AND funcionando con diodos.
Si el problema no se soluciona cumpliendo todos los puntos anteriores entonces podria pensar que es el Proteus.

Desconectado Berto

  • PIC16
  • ***
  • Mensajes: 187
Re:[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« Respuesta #7 en: 29 de Febrero de 2016, 20:03:36 »
Quisas quize decir l_to_h refiriendome a un problema con el nivel alto holt-Fuera pero no es el problema que se mantenga ALTO con lo cual deberia desacoplarlo a masa 30k utilizo cuando quiero que pase a bajo en ausencia de señal alta ( desconozco el calculo 30k parece considerable para vencer cualquier capacidad residual l_to_h )
Pero en mi caso es el 1 el que no aparece, todo lo contrario, esto es lo que ocurre:

s1=0  s2=0    E.portD5=0
s1=1  s2=0    E.portD5=neutro (gris ni 0 ni 1)
s1=0  s2=1    E.portD5=neutro

Por lo que dices me pregunto si esto funcionaria if(Input(PIN_D5))
pero tiene cierta logica si no es=0  se cumple el If
if(!Input(PIN_D5))

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7817
Re:[Proteus8] Fallo en la señal entrada pin-micro utilizando OR
« Respuesta #8 en: 29 de Febrero de 2016, 20:57:37 »
Diodo que estas usando?

Proba bajarle la resistencia a 3.9k, ya que tal ves 30K es demasiado, y no hay corriente suficiente que atravieze el diodo , teniendo mucha caida de tension, como la tension no es suficiente como para un 1, ni debe ser lo suficientemente bajo como para un 0.
« Última modificación: 29 de Febrero de 2016, 20:59:41 por KILLERJC »