Autor Tema: De 16 botones a 4 bits  (Leído 4393 veces)

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

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1818
    • IDEAA
Re: De 16 botones a 4 bits
« Respuesta #15 en: 08 de Abril de 2009, 00:26:05 »
Cryn, estuve pensando e investigando en lo que me dijiste de poner a dormir el pic para que no consuma...
Encontre un caso optimo y muy economico en recursos, que seria usar un 12HV615, que permite voltajes de hasta 15v de entrada, y tiene 6 pines disponibles. Podria usar 4 como salida, y usar una entrada analogica para los 16 pulsadores.
Otra opcion seria un 12F683, con un regulador de 5v LDO de estos que consumen MUY poquito.
El problema que veo es que no podria poner el PIC a dormir, porque despues no tengo manera de despertarlo, ya que el unico pin libre que me queda es el del reset, pero creo que no hay manera de conectarlo a los 16 pulsadores para que al presionar cualquiera de ellos el PIC se active.
No hay manera de despertar el PIC a traves del pin del ADC?
La verdad nunca use el sleep y estoy medio perdido... me voy a acostar con el datasheet del 12f683 para ver que aprende del SLEEP.

Igualmente tengo que mirar y remirar el consumo, ya que las baterias A23 son de 12v y tienen una capacidad de menos de 60mA, por lo que no da para mucho...
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: De 16 botones a 4 bits
« Respuesta #16 en: 08 de Abril de 2009, 00:51:00 »
Y si usas un codificador comun y corriente, y la alimentacion la pones en serie con los botones? de este modo solo va a consumir energia al ser presionado alguno de los botones

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1818
    • IDEAA
Re: De 16 botones a 4 bits
« Respuesta #17 en: 08 de Abril de 2009, 13:23:03 »
Gera, no estoy seguro de que manera podria tener 16 pulsadores y que todos estuvieran en serie con la alimentacion, sin influir un pulsador sobre el otro  :?:

Lo que si que vi es que un PIC12F683 consume unos 350nA en sleep, y un regulador como el MAX1726 tiene unos 2uA de Iq. Eso me daria una vida de casi tres años en reposo!

CREO QUE SE ME OCURRIO UNA GRAN IDEA!!!

*En el pin A2 tener los 16 pulsadores en modo analogico
*Pin A2 configurado como interrupcion externa
*PIC durmiendo
  • 1. Cuando se presione cualquiera de los botones cambiara el voltaje en A2 que despertara al pic
  • 2. Configuro A2 como analogico y leo el valor
  • 3. Miro que pulsador se presiono y cambio en consecuencia el estado de 4 pines de salida.
  • 4. Vuelvo a configurar A2 como INT_EXT
  • 5. Pic a dormir
  • 6. Vuelta al paso 1

Hay algun inconveniente en todo esto. El primero que se me ocurre es que tengo que ver de diseñar los divisores de voltaje para los 16 pulsadores de manera que TODOS me den un voltaje de al menos 2v es el voltaje que considera el PIC como 1 logico, sino no conseguiria interrumpir para despertar el pic. Esto me deja con menos rango para los valores de los pulsadores, pero supongo que configurando el ADC como 10bits, y 16 valores en voltajes superiores a 2v no deberia ser ningun problema.
El otro problema es que no se si el pic sera tan rapido como para despertar, cambiar el modo del pin A2 y leer el voltaje antes de que se suelte el pulsador. Y menos si lo tengo corriendo a 31kHz internos, que asi consume menos.

Me parece que me estoy haciendo el McGuiver con tan pocos pines y tantas entradas y salidas...  :D
Alguien con algo de conocimiento y no tan aventurado podria decirme si estoy loco?  :P
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: De 16 botones a 4 bits
« Respuesta #18 en: 08 de Abril de 2009, 13:36:52 »
Gera, no estoy seguro de que manera podria tener 16 pulsadores y que todos estuvieran en serie con la alimentacion, sin influir un pulsador sobre el otro  :?:
No entiendo cual es el problema. Se supone q los 16 pulsadores los vas a presionar de a uno, nunca van a haber dos a la vez. Entonces cuando presiones uno, el integrado se va a alimentar y va a poner en su salida el codigo correspondiente a ese pulsador, y cuando lo sueltes se apaga y listo. Osea, los pulsadores van a estar cada uno en serie con la alimentacion, pero en paralelo entre si, de modo q cualquiera q presiones alimente el integrado.

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1818
    • IDEAA
Re: De 16 botones a 4 bits
« Respuesta #19 en: 08 de Abril de 2009, 14:33:01 »
Si, ya entiendo, jeje.... era simple, pero no lo veia  :mrgreen:
Lo que comentan al principio de este post es que nadie conoce codificacores de 16 entradas y 4 salidas, tu conoces alguno?
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: De 16 botones a 4 bits
« Respuesta #20 en: 08 de Abril de 2009, 14:37:46 »
Si, ya entiendo, jeje.... era simple, pero no lo veia  :mrgreen:
Lo que comentan al principio de este post es que nadie conoce codificacores de 16 entradas y 4 salidas, tu conoces alguno?

creo q alguna vez vi uno por ahi, dejame buscar un poco y te cuento

EDIT:
bien, por lo q estuve leyendo parece q no viene un integrado asi... pero este compadre se las ingenio para lograr el mismo efecto con dos codificadores de 10-4
http://www.geocities.com/abe_karnik/encoder16to4.htm
espero q sirva. suerte!!
« Última modificación: 08 de Abril de 2009, 14:46:28 por gera »

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado WillyP

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 280
    • Sitiónica
Re: De 16 botones a 4 bits
« Respuesta #21 en: 08 de Abril de 2009, 15:22:04 »
Marttyn, los codificadores de prioridad hacen ese trabajo. Por ejemplo el CD40107 es de 10 líneas a 4 líneas. Seguramente también debe haber uno de 16 a 4 líneas.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1818
    • IDEAA
Re: De 16 botones a 4 bits
« Respuesta #22 en: 08 de Abril de 2009, 20:02:59 »
gracias gera por el enlace!
Pero la verdad que usar 3 integrados (2 codificadores y unas puertas negadas) me parece incluso mas complejo que el arreglo de diodos que encontre unos post mas atras...
Voy a ver si hago alguna prueba con la idea que tuve. Tal vez funcione, y solo uso un pic de 8 pines!  :mrgreen:
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: De 16 botones a 4 bits
« Respuesta #23 en: 09 de Abril de 2009, 15:19:01 »
Si, la verdad q en lugar de simplificar el problema lo complica por la cantidad de integrados. Si viniera un codificador de esas caracteristicas en un solo chip seria mas facil jeje.
Mucha suerte con tu problema y esperemos q tu solucion funcione ;)

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: De 16 botones a 4 bits
« Respuesta #24 en: 09 de Abril de 2009, 15:36:48 »
y si en vez de aumentar integrados usas un micro con más pines, uno de 18, que tiene todo el puerto B completo y el A de 4 o 5 pines util para algunas otras cosas...

y así usar un teclado matricial directamente gestionado por la interrupción del nible alto del puerto B, ya que no hace falta hacer rotar un 0 o 1 por el otro nible del teclado, simplemente cuando se detecta el cambio de estado se hacen desplazamientos para detectar la tecla presionada, como te dije Pocher lo hizo y Palitroquez lo mejoró, puedes usar de guía esos codigos.

y entonces tienes al micro durmiendo hasta que se presione la tecla, unmicro nanowat, que va consumir mucho menos, como el 18F1320 de 18pines, quizá veas otro mejor...

un saludo.
.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1818
    • IDEAA
Re: De 16 botones a 4 bits
« Respuesta #25 en: 09 de Abril de 2009, 16:38:25 »
Hay pics de 18 pines que tienen 8 pines disponibles tanto en el puerto A como el B, es el caso de los que tienen oscilador interno, como el 16f648A o el 16F88, este ultimo es nanoWatt, y sin tener que ir a la familia 18F, que creo innecesario en este caso.
Estuve mirando los temas de Pali y Pocher, y son una opcion si considero usar un PIC de 18 pines. Pero creo que primero probare mi idea de usar un PIC de 8 pines, nanoWatt y con ADC interno como comente unos post mas atras, creo que puede ser factible. Y si no funciona, aprendere algo, e intentare con uno de 18 pines  :mrgreen:
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: De 16 botones a 4 bits
« Respuesta #26 en: 09 de Abril de 2009, 20:22:27 »
ok, manos a la obra entonces :mrgreen:

esperamos tus resultados, no se te olvide luchar contra el ruido por soft y por hard con el teclado analógico

un saludo
.


 

anything