Autor Tema: Cuando te quedas sin puertos  (Leído 5643 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado poi

  • PIC10
  • *
  • Mensajes: 20
Cuando te quedas sin puertos
« en: 30 de Junio de 2009, 10:59:32 »
Buenas.
Estoy empezando en esto y he pensado en controlar mediante un PIC16f876 2 motores, ademas tengo unos sensores, los tipicos: siguelinea (CNY70), IR, temperatura, LCD (mediante transmision RS232). Por el momento me sobran puertos, pero, Y si una vez montado todo, y quiero ampliarlo algun dia, me faltan puertos,¿Podria comunicarlo con un BUS I2C con otro microcontrolador por ejemplo?. O pensais que seria muy complicado

Gracias

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Cuando te quedas sin puertos
« Respuesta #1 en: 30 de Junio de 2009, 11:55:19 »
Una solución simple y eficaz, te cambias a un PIC con más pines de E/S, yo creo que es una solución con tres B

Buena
Bonita
Barata

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Cuando te quedas sin puertos
« Respuesta #2 en: 30 de Junio de 2009, 11:58:16 »
Hola, directamente podrias usar un I2C I/O expander, sin necesidad de colocar otro micro.

http://focus.ti.com/lit/ds/symlink/pcf8574a.pdf

Seguramente alguien del foro te dara mas data, en el buscador tb

Saludos !

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cuando te quedas sin puertos
« Respuesta #3 en: 30 de Junio de 2009, 12:16:26 »
Pasate al 16F877, tiene mas puertos, el precio debe ser idéntico y los módulos (salvo el adc, + canales analógicos) del PIC exactamente iguales.
« Última modificación: 30 de Junio de 2009, 14:03:40 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado sansanoloko

  • PIC10
  • *
  • Mensajes: 48
Re: Cuando te quedas sin puertos
« Respuesta #4 en: 30 de Junio de 2009, 14:02:13 »
Una opción para aumentar la cantidad de salidas puede ser un registro de desplazamiento, de entrada serie y salida paralela.

Por ejemplo, con el 74HC595 necesitas 4 pines del PIC para obtener 8 salidas digitales, y si necesitas más salidas.... conectas otro 74HC595 en cascada con el primero, y listo, tienes 8 salidas más.... con los mismos 4 pines del PIC. Para implementar las salidas extra solo hay que modificar ligeramente el programa. Yo he implementado un circuito de esta forma con 3 registros en cascada en un PIC16F648A (de 18 pines), obteniendo en total 24 salidas con los registros de desplazamiento.

Esta alternativa es buena para controlar cosas on-off (luces, alarmas, etc.), pero no muy práctica para el pwm de los servomotores y cosas parecidas...

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Cuando te quedas sin puertos
« Respuesta #5 en: 30 de Junio de 2009, 14:41:20 »
Buenas.
Estoy empezando en esto y he pensado en controlar mediante un PIC16f876 2 motores, ademas tengo unos sensores, los tipicos: siguelinea (CNY70), IR, temperatura, LCD (mediante transmision RS232). Por el momento me sobran puertos, pero, Y si una vez montado todo, y quiero ampliarlo algun dia, me faltan puertos,¿Podria comunicarlo con un BUS I2C con otro microcontrolador por ejemplo?. O pensais que seria muy complicado

Gracias

Lo mejor es siempre usar un pic con muchas terminales de sobra. Si haces una PCB ponle unos headers a los pines libres para que puedas conectar lo que quieras después.

El pic que usas ya es obsoleto y por lo tanto caro. Si deseas usar un pic económico compra el PIC16F887 que cuesta la mitad de un PIC16F877A y tiene más terminales que el 876.

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Cuando te quedas sin puertos
« Respuesta #6 en: 30 de Junio de 2009, 15:00:02 »
Eso mismo le digo yo al hombre, yo soy un fuerte defensor de utilizar la menor cantidad de integrados posibles en un diseño, a no ser que de verdad la mejor solución sea la de utilizar componentes externos para ampliar las líneas de E/S, creo que lo mejor es un integrado con bastantes patas.

Y que conste que cuando necesito más integrados para extender la E/S no dudo en utilizar esas técnicas, pero cuidado, eso no es simplemente poner un expansor serie paralelo por I2C o SPI, o un registro de deslazamiento o una interfaz programable 8255, hay que analizar bien que vamos a conectarle a esos integrados, para seleccionar el correcto, porque al final el resultado puede ser muy malo y alejarse demasiado de lo esperado.

Saludos
Reinier

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cuando te quedas sin puertos
« Respuesta #7 en: 30 de Junio de 2009, 15:14:52 »
El pic que usas ya es obsoleto y por lo tanto caro. Si deseas usar un pic económico compra el PIC16F887 que cuesta la mitad de un PIC16F877A y tiene más terminales que el 876.
Depende de donde seas, por ejemplo en mi ciudad ni soñar conseguir un 16F887 y traerlo me costaría el doble del 877 que si hay  :x
No contesto mensajes privados, las consultas en el foro

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Cuando te quedas sin puertos
« Respuesta #8 en: 30 de Junio de 2009, 15:54:41 »
Si pero aún así el 877 sigue teniendo más pines que el 876 ¿no?

Estoy de acuerdo con Suky en que no todos los lugares son iguales, yo por ejemplo, no puedo ni soñar con conseguir por acá ni un registro de desplazamiento, menos un PIC, por eso mis microcontroladores y componentes se las debo a los amigos del foro que solidariamente me las han enviado por correo. Pero ese es tema de otros hilos.

Saludos
Reinier

Desconectado poi

  • PIC10
  • *
  • Mensajes: 20
Re: Cuando te quedas sin puertos
« Respuesta #9 en: 01 de Julio de 2009, 07:03:26 »
Al final he optado por el 877, pero sigo en las mismas, ahora mismo me quedan libres los pines:
A1, A5
B7
C2, C5
D3
Y aun me falta por poner encoders 2 para controlar el giro de las ruedas y algun sensor para evitar obstaculos. Y si por ejemplo, pongo en un futuro en vez de 1, 3 o 4 sensores para evitar obstaculos ya estoy en las mismas ¿no?.
He pensado que los sensores que no tengan mucha importancia, como el de temperatura, humedad y luz sacarlos a otro micro y los sensores que intervienen en el movimiento del motor, y LCD.. dejarlos en el 877. ¿Que pensais?

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Cuando te quedas sin puertos
« Respuesta #10 en: 01 de Julio de 2009, 08:42:41 »
Pude ser una solución, pero yo optaría por sensores conectados a un BUS digamos, que todos sean I2C. Aunque si yo fuese a expandir puertos lo haría mediante expansores I2C.

Saludos
Reinier

Desconectado poi

  • PIC10
  • *
  • Mensajes: 20
Re: Cuando te quedas sin puertos
« Respuesta #11 en: 01 de Julio de 2009, 09:41:40 »
Gracias. He estado mirando lo del expansor de bus I2C y es buena idea.
Aunque lo bueno de poner otro micro conectado al bus con algunos sensores es que el primer micro puede pedirle un dato al segundo micro, y este procesa el dato que queire y se lo envia, quitandole carga al primero.
Investigare un poco mas sobre os exansores de todas formas.


Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Cuando te quedas sin puertos
« Respuesta #12 en: 01 de Julio de 2009, 10:31:57 »
Gracias. He estado mirando lo del expansor de bus I2C y es buena idea.
Aunque lo bueno de poner otro micro conectado al bus con algunos sensores es que el primer micro puede pedirle un dato al segundo micro, y este procesa el dato que queire y se lo envia, quitandole carga al primero.
Investigare un poco mas sobre os exansores de todas formas.


Pero para que complicarte la vida!!!  Si cambiando el micro se soluciona mucho mas sencillo  :undecided:
No contesto mensajes privados, las consultas en el foro

Desconectado poi

  • PIC10
  • *
  • Mensajes: 20
Re: Cuando te quedas sin puertos
« Respuesta #13 en: 01 de Julio de 2009, 15:45:08 »
Ya he cambiado el micro, ahora uso el que me dijisteis, pero si una vez montado, me quedo sin pines, que ya quedan pocos, tendre que tener alguna forma de ampliar.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Cuando te quedas sin puertos
« Respuesta #14 en: 01 de Julio de 2009, 16:23:52 »
Otra opción es que uses un PIC con empaque SMD que tenga muchas más terminales que los DIP.  :laugh:

PIC16F946, 53 pines I/O, incluso tiene desde el puerto A hasta el F  :shock:
http://ww1.microchip.com/downloads/en/DeviceDoc/41250F.pdf

PIC18F8722
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010327


 

anything