Autor Tema: Usar mismos pines para varias funciones  (Leído 2597 veces)

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

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
Usar mismos pines para varias funciones
« en: 30 de Enero de 2020, 12:45:34 »
Hola a todos, recurro a ustedes para que me ayuden por favor, tengo un problema con un pic que tiene casi todos sus pines ocupados y en los que sobran, necesito implementar unas funciones adicionales, el pic es el 18f4550 y tengo los pines RB0 y RB1 libres, en ellos necesito implementar un control logico para el gate de un triac y el otro todavia no sabemos qué pero tambien usaremos su funcion como  pin I/O, el problema es que tambien necesito usar el modulo I2C y el conversor ADC (AN12 y AN10), es decir, necesito 3 funcionalidades en esos 2 pines, I/O,ADC y I2C; ¿como puedo implementarlo sin usar jumpers de seleccion? ¿hay algun problema si uno las 3 conexiones a cada uno de esos pines?creo que si habrá problemas, dado que el I2C tiene conexion con resistencias de pull up, me he encontrado con estos inconvenientes. He visto en algunos casos que para un mismo grupo de pines se usan para varias funciones sin necesidad de jumpers, me imagino lo conectan directamente, pero¿eso es correcto?; claramente no usan jumpers por que si no, se llenarían de ese tipo de conectores en su proyecto. Si alguien tiene algunas sugerencias, les agradecería mucho, saludos.  :mrgreen:

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:Usar mismos pines para varias funciones
« Respuesta #1 en: 30 de Enero de 2020, 13:07:37 »
Porqué no utilizas un expansor tipo pcf8570, usan dos líneas, lo controlas por I2C y así disponerse de 8 pines/señales adicionales que puedes usar como I/O.
Claro que quizás debas re-distribuiir los ya usados.
F.
Todos los días se aprende algo nuevo.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:Usar mismos pines para varias funciones
« Respuesta #2 en: 30 de Enero de 2020, 13:24:48 »
Que tal AFREDOSKY,

Lo que intentas hacer por naturaleza no es posible, ya que no cuentas con más pines para habilitación, solo cuentas con dos pines y quieres usarlos intercambiando sus periféricos.
Lo que deberías hacer es como te dice Fet_TACA, es usar un periféricos I2C, de esta manera puedes usar solamente dos pines y agregar puertos I/O, agregar ADC con interfaz I2C y todavía disponer de tu bus I2C para comunicarse con otros dispositivos. Esa es la ventaja que tiene el bus I2C.

Para agregar puertos, puedes usar el PCF8570, el MCP2308, el MCP23017, etc.
En cuanto a los ADC existen muchísimos en el mercado, como el LTC2309, NCD9830, entre otros más.
Te recomiendo que leas sobre el bus I2C para que tengas mejor idea de como usar este bus.

elreypic.

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
Re:Usar mismos pines para varias funciones
« Respuesta #3 en: 30 de Enero de 2020, 16:37:19 »
Fer_TACA, elreypic2, gracias por sus sugerencias; interesante no tenia mayor conocimiento sobre esos dispositivos, voy a estudiar mas como se usan y su implementación, por otro lado, buscando en google, me tope con algo parecido, pero ellos creo que lo usan para desarrollar tarjetas entrenadoras, el uso de los pines es mas o menos lo que yo deseo hacer, adjunto un enlace
https://drive.google.com/file/d/1OlcuzYaZUQn4BqdGg59LUmiN8k0ll84y/view?usp=sharing
veo que usan los mismos pines para varias funcionalidades o quizas para esas funciones si es posible ese tipo de conexion

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:Usar mismos pines para varias funciones
« Respuesta #4 en: 30 de Enero de 2020, 17:31:39 »
Ese tipo de conexionado se usa siempre y cuando no uses dos cosas al mismo tiempo en el puerto.
Si te das cuenta en el mismo puerto B, por jemplo, tienen pulsadores y leds, aunque están conectados juntos obviamente la operación de unos interfiere con los otros. Si por ejemplo estas desarrollando una rutina con los leds y luego presiona algún pulsador, es lógico que eso te ocasionará una operación rara en los leds, por así decirlo.
Ahora bien lo que tú intentas hacer es aún más complicado, porque esos dos pines disponibles que tienes los queires usar como bus I2C, ese bus requiere de resistencias de pull-up, y obviamente essas resistencias afectarán el funcionamiento si es que ahora quieres usar los puertos con el ADC, ya que siemrpe tendrás un voltaje de 5V y no podrás usar el ADC. Es as algo simple y lógico de ver. En este caso para usar uno u otro periférico es necesario tener jumpers para deshabilitar los pull-ups y conectar unos potenciómetros, si digamos quieras usar los ADC.
De ahí nuestra sugerencia de que uses los periféricos mencionados, de esta manera, usando el bus I2C, puedes tener en el bus expansores de puertos, ADCs, DACs, RTCs, etc, conectados al bus.

Espero esto te sirva y te amplie el panorama.

elreypic.