Autor Tema: Problema con multiplexacion en turnero...  (Leído 9355 veces)

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

Desconectado luchoc

  • PIC10
  • *
  • Mensajes: 47
Problema con multiplexacion en turnero...
« en: 11 de Febrero de 2016, 01:26:54 »
Hola como están?

Tengo un problema al intentar la multiplexacion de un turnero que estoy diseñando.

Antes que nada les paso imágenes para que vean como es el armado que estuvimos pensando en este post


* bmp.jpg
(71.9 kB, 1024x702 - visto 873 veces)

En este diseño se pueden observar 2 74ls48, uno es para los dos display de 7 segmentos y el otro es para los otros dos displays grandes que abajo muestro.


* 7seg_1.jpg
(49.43 kB, 505x593 - visto 631 veces)


Por otro lado tengo el codigo:
Código: [Seleccionar]
DEFINE osc 4 'Definimos la frecuencia
allDigital

TRISA.0 = 1
TRISA.1 = 1
TRISA.2 = 1
TRISB.0 = 0
TRISB.1 = 0
TRISB.2 = 0
TRISB.3 = 0
PORTB.4 = 0
PORTB.5 = 0

w1 VAR  WORD   
w2 VAR  WORD         
w3 VAR  WORD

INICIO:
if PORTA.3 = 0 THEN ;SUMA
    w1=w1+1
    goto MOSTRAR     
endif
if PORTA.2 = 0 THEN ;RESTA
    IF w1>000 THEN
        w1=w1-1   
    ENDIF
    goto MOSTRAR
endif
if PORTA.4 = 0 THEN ;RESET
    w1 = 0
    w2 = 0
    w3 = 0
    goto MOSTRAR 
endif

MOSTRAR:
IF w1=100 THEN w1=0
   
    w2=w1 DIG 0
    w3=w1 DIG 1

    PORTB=240 | w2
    low  PORTB.5
    high PORTB.4             
    PAUSE 100 

    PORTB=240 | w3   
    low  PORTB.4
    high PORTB.5
    PAUSE 100

   
GOTO INICIO   
END

Esto solo lo probé simulándolo en ISIS, tengo todos los componentes pero todavía no hice tiempo de pasarlo a la protoboard pero el error que encuentro es que en la simulación parpadea muy lento, si lo pongo en 10 o menos la PAUSE el programa ISIS muestra el siguiente error:

* error.jpg
(16.84 kB, 743x97 - visto 595 veces)


Mi nivel es básico, es por eso que si todo lo que hice esta mal no tengo problema en hacerlo de nuevo. Intento aprender asi que todos los consejos serán bien tomados!

Muchas gracias!
« Última modificación: 11 de Febrero de 2016, 19:03:47 por luchoc »

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:Problema con multiplexacion en turnero...
« Respuesta #1 en: 13 de Febrero de 2016, 11:50:20 »
No uso Proteus por lo que no te puedo ayudar con ese tema, pero me he entretenido en probar tu programa en la realidad, funcionando con los pauses a 100mSeg y a 10mSeg.

A 100mSeg por dígito:

A 10mSeg por dígito:
Saludos desde Granada, España.

Desconectado luchoc

  • PIC10
  • *
  • Mensajes: 47
Re:Problema con multiplexacion en turnero...
« Respuesta #2 en: 15 de Febrero de 2016, 03:44:37 »
No uso Proteus por lo que no te puedo ayudar con ese tema, pero me he entretenido en probar tu programa en la realidad, funcionando con los pauses a 100mSeg y a 10mSeg.

A 100mSeg por dígito:

A 10mSeg por dígito:

Hola dogflu66  como estas?!

Antes que anda te quería agradecer por tomarte el tiempo de pasar a la etapa de prueba esto y encima filmarlo y subirlo.

Te quería comentar que ya hice la prueba en protoboard y por lo que veo hay algo que esta mal, no debería pasar de números solo, o sea hasta no presionar un botón para avanzar o retroceder la cuenta no deberia pasar, tenes idea porque puede estar pasandome esto? En la simulacion funciona perfecto.

En mi protoboard desconecte todo y deje solo lo que se ve en la foto, o sea que desconecte los botones + - y reset por si había algún switch clavado pero aun así sigue aumentando solo.


* 20160215_030748.jpg
(79.42 kB, 800x503 - visto 714 veces)


Saludos y nuevamente muchas gracias!
« Última modificación: 15 de Febrero de 2016, 05:30:33 por luchoc »

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:Problema con multiplexacion en turnero...
« Respuesta #3 en: 15 de Febrero de 2016, 11:40:35 »
La verdad es que no he montado los botones, le echare otro vistazo a ver si le saco algo.
Saludos desde Granada, España.

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:Problema con multiplexacion en turnero...
« Respuesta #4 en: 15 de Febrero de 2016, 17:29:06 »
No declaraste el Porta.3 y Porta.4 como entradas, por eso se incrementa la variable W1.
De todas formas una vez que te funcionen las teclas, se te van a repetir muchas veces por segundo cuando las pulses.
Saludos desde Granada, España.

Desconectado luchoc

  • PIC10
  • *
  • Mensajes: 47
Re:Problema con multiplexacion en turnero...
« Respuesta #5 en: 15 de Febrero de 2016, 17:37:26 »
Excelente!

Ahora que me recomendas para que no pase lo q decís de que pasen los numero rápidamente al pulsar los botones?

Pensa en que esto esta en total etapa de desarrollo y yo estoy aprendiendo, asi que lo que me recomiendes sera de gran utilidad.

Muchas gracias de antemano!
Mientras voy a probar lo que me comentaste!


Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re:Problema con multiplexacion en turnero...
« Respuesta #6 en: 15 de Febrero de 2016, 17:49:42 »
el error que te muestra el proteus es debido a que no puede simular a la velocidad de conmutación de los transistores.

prueba quitándole los transistores, conecta directamente la salida del pic al común de los 7-seg

igual con los botones, sustitúyelos por LOGICTOGGLE (en debbuging tools)


La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado luchoc

  • PIC10
  • *
  • Mensajes: 47
Re:Problema con multiplexacion en turnero...
« Respuesta #7 en: 15 de Febrero de 2016, 17:57:24 »
el error que te muestra el proteus es debido a que no puede simular a la velocidad de conmutación de los transistores.

prueba quitándole los transistores, conecta directamente la salida del pic al común de los 7-seg

igual con los botones, sustitúyelos por LOGICTOGGLE (en debbuging tools)




Hola PalitroqueZ

Si se que el simulador no puede simular la multiplexion tan rápida, eso esta solucionado ahora el tema es que avanza sin parar sin tocar nada.

Ya probé en la protoboard lo de poner como entrada Porta.3 y Porta.4 y sigue haciendo lo mismo, avanza sin darle bola a nada.

Respecto a LOGICTOGGLE seguramente debe ser algún botón pero la realidad es que mi problema ahora esta en la vida real, en la protoboard. ahora voy a subir un video para que lo vean!

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re:Problema con multiplexacion en turnero...
« Respuesta #8 en: 15 de Febrero de 2016, 18:14:12 »
pusiste el MCLR a VDD ?

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado luchoc

  • PIC10
  • *
  • Mensajes: 47
Re:Problema con multiplexacion en turnero...
« Respuesta #9 en: 15 de Febrero de 2016, 19:04:34 »
pusiste el MCLR a VDD ?

Si, en esta imagen se puede ver:

La resistencia 4 que esta al lado del pin 5 (vdd) es la de MCLR

Aca dejo el video para que vean lo que comentaba

Desconectado luchoc

  • PIC10
  • *
  • Mensajes: 47
Re:Problema con multiplexacion en turnero...
« Respuesta #10 en: 15 de Febrero de 2016, 19:38:17 »
Aca les dejo otro video con la multiplexacion con una puasa de 10 ms ya que con 20 se notaba.


Pero presiento q esto esta muy mal encarado. Nose que opinan ustedes. si hay que volver a programarlo no tengo drama, el tema es cual es el mejor camino para hacer este turnero de prueba.

Desconectado luchoc

  • PIC10
  • *
  • Mensajes: 47
Re:Problema con multiplexacion en turnero...
« Respuesta #11 en: 15 de Febrero de 2016, 19:50:12 »
Aca dejo también la simulación, para que vean q en la simulación funciona bien pero en la vida real no.


El codigo quedo asi:
Código: [Seleccionar]
DEFINE osc 4 'Definino la frecuencia
allDigital

TRISA.0 = 1
TRISA.1 = 1
TRISA.2 = 1
TRISA.3 = 1
TRISA.4 = 1

TRISB.0 = 0
TRISB.1 = 0
TRISB.2 = 0
TRISB.3 = 0
PORTB.4 = 0
PORTB.5 = 0

w1 VAR  WORD   
w2 VAR  WORD         
w3 VAR  WORD

INICIO:
if PORTA.3 = 0 THEN ;SUMA
    w1=w1+1
    goto MOSTRAR     
endif
if PORTA.2 = 0 THEN ;RESTA
    IF w1>000 THEN
        w1=w1-1   
    ENDIF
    goto MOSTRAR
endif
if PORTA.4 = 0 THEN ;RESET
    w1 = 0
    w2 = 0
    w3 = 0
    goto MOSTRAR 
endif

MOSTRAR:
IF w1=100 THEN w1=0
   
    w2=w1 DIG 0
    w3=w1 DIG 1

    PORTB=240 | w2
    low  PORTB.5
    high PORTB.4             
    PAUSE 10 

    PORTB=240 | w3   
    low  PORTB.4
    high PORTB.5
    PAUSE 10
   
GOTO INICIO   
END
« Última modificación: 15 de Febrero de 2016, 20:00:33 por luchoc »

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re:Problema con multiplexacion en turnero...
« Respuesta #12 en: 15 de Febrero de 2016, 20:03:19 »
le colocaste el retardo antirebotes al código de sensar el estado de los pulsadores?

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado luchoc

  • PIC10
  • *
  • Mensajes: 47
Re:Problema con multiplexacion en turnero...
« Respuesta #13 en: 15 de Febrero de 2016, 20:05:21 »
le colocaste el retardo antirebotes al código de sensar el estado de los pulsadores?

Vos decís de ponerle una pausa a los botones cuando esta pulsado?

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:Problema con multiplexacion en turnero...
« Respuesta #14 en: 15 de Febrero de 2016, 20:07:06 »
Revisa el hardware, tiene que estar mal, por más que lo miro no veo el fallo.
Saludos desde Granada, España.


 

anything