Autor Tema: Expansor de puertos MCP23x17: ¡qué malo es!  (Leído 8250 veces)

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

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17909
    • MicroPIC
Expansor de puertos MCP23x17: ¡qué malo es!
« en: 02 de Julio de 2010, 07:16:48 »
Compañeros, vengo a contaros el problema que he tenido con unos expansores de puertos MCP23017 de Microchip, que ofrecen dos puertos de 8 pines con las mismas prestaciones que si estuvieran integrados en el PIC: entrada, salida, interrupciones, pullups,... fácilmente gestionables mediante una conexión I2C (o SPI si se trata del modelo MCP23S17).

A priori son estupendos, van muy rápido, son muy sencillos de usar y muy versátiles.

Pero ojo, no los pongáis nunca cerca de un relé. El problema que he tenido con ellos me ha costado más de 600Km con el coche, un montón de horas invertidas y bastante dinero.

En una aplicación donde conviven estos expansores para manejar un panel de leds con unos TPL9202 para gestionar 20 relés, al principio se volvían locos y los leds se encendían y apagaban al ritmo de una bachata sin que el PIC pudiese hacer nada por evitarlo. Los TPL9202 seguían respondiendo bien y por tanto mi aplicación funcionaba aunque no mostraba información válida por los leds.

Pensé que una solución viable sería leer los MCP justo detrás de enviarles un dato, comparar lo leído con lo enviado y en caso de fallo resetear el expansor y escribir de nuevo. Lo implementé en mi librería I2C y los cabrones de los expansores no sólo se han quedado colgados de nuevo, sino que además dejaban a mi PIC en un bucle sin fin porque jamás podía validar que lo enviado era igual a lo leído.

En fin, que ayer decidí tirar los MCP a la basura y divorciarme de ellos para sustituirlos por un PIC que haga su misma función. Y en eso ando.

Pero necesitaba desahogarme y compartirlo para que nadie más cometa mi error: si usas un MCP, que sea muy lejos de cualquier cosa que pueda caerle mal, porque se cerrará en banda y no querrá trabajar más.
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado gauchosuizo

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 457
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #1 en: 02 de Julio de 2010, 09:34:52 »
Hola Manolo

no tendras algun problema con el CEM(compatibilidad electro magnetica) en la placa??
Saludos desde Suiza, Pablo.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #2 en: 02 de Julio de 2010, 10:38:56 »
Hola Manolo

Talvez ya hayas aplicado esto...

- Reducir la velocidad I2C a 100kHz o lo menor que el CI soporte
- Aplicar filtros a la alimentación del CI y a las resistencias pull-up
- Utilizar optos a la salida de cada pin del CI

Tendré en cuenta tu experiencia, gracias.  :mrgreen:

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17909
    • MicroPIC
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #3 en: 02 de Julio de 2010, 12:35:26 »
Gracias por lo consejos, amigos.
Estoy seguro que el circuito podría mejorarse, pero he tomado un montón de precauciones:
- filtro de línea en la alimentación formado por dos bobinas y dos condensadores
- diodo en serie para protección de polaridad inversa
- condensadores de desacople por todas partes
- metido dentro de caja metálica de aluminio con conexión a masa para crear jaula de Faraday

Y por cierto, la velocidad del I2C la tenía puesta a 1KHz. Y no puse optos a la salida de los MCP porque su función era únicamente iluminar leds; sus entradas y salidas no salían fuera ni tenían relación con otros circuitos.

En fin, la prueba de que aquello no va mal es que está funcionando perfectamente, con el PIC y los 3 TPL9202 que ya están dentro. Insisto: si usáis los MCP, que os pillen confesados.
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #4 en: 02 de Julio de 2010, 13:22:34 »
 :D :D

Bueno, pues a buscar un reemplazo entonces... pero que no sea un PIC.  :mrgreen:

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #5 en: 02 de Julio de 2010, 14:02:25 »
Hola amigos,

Entiendo completamente tu rabia e impotencia ante una falla de algo que debería funcionar muy bien. Estoy seguro que no hay mucho que decir en tu PCB, tienes la experiencia y trabajos realizados para dar por descartado error de PCB. Te apoyo en decir que esos MCP23x17 son malos!!!

Muchos tal vez digan que uno no los sabe usar o que uno no sabe programarlos para que trabajen bien, otros dirán muchas cosas respaldando el dispositivo... Pero sus respuestas están dadas porque a ellos les va bien, pero eso depende netamente de la aplicación desarrollada por cada uno.

Hace un tiempo me resulto un trabajo a desarrollar en el que sin dudarlo tome un PIC18F4550-I/P ("Industrial")... para controlar un sistema de llenado y empacado en donde los Reles, Solenoides y demás fuentes y generadores de ruido electromagnético están a merced. 

El resultado es que son MALOS!!, fallan y fallan y como bien te escuche decir en otro hilo.. en casa todo va bien y uno cree que esta perfecto, pero en donde deben hacer su trabajo NO LO HACEN. Se pierden, se desentienden de sus operaciones debidamente programadas y verificadas en taller.  Y uno también se desespera al ver que en taller funciona perfecto pero donde el cliente no, cambias impresos, haces de todo y nada que se soluciona.. Sigues al pie de la letra el hilo "Luchando contra el ruido" y nada da resultado. Hasta llegaba al extremo de perder datos de la FLASH, se perdía el programa.

Al filo del desespero, pregunta a uno de mis profesores de Pregrado y me recordó algo que había escuchado hace tiempo pero no prestaba atención.. Los FREESCALE son mejores en ambientes industriales, por su método de fabricación del CHIP tienen grandes diferencias que los hacen  la mejor opción en proyectos que no deben fallar.

Desde entonces, los uso y hasta ahora me han dado soluciones fiables.

En fin, todo esto que digo es solo para comentar que uno no debe casarse con una marca en especial, cada una ofrece características especiales que en algún momento dan solución a un problema concreto.

SALUDOS!

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5500
    • Picmania by Redraven
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #6 en: 03 de Julio de 2010, 06:17:27 »
Me tomo muy buena nota de tu aviso porque tengo unos cuantos que quería utilizar y veo que hay que hacerlo con mucho, mucho, mucho cuidado, como bien dices parece que son iguales que los puertos verdaderos pero menos iguales de lo que parecería. Gracias maestro por el aviso.
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado picNIC

  • PIC16
  • ***
  • Mensajes: 140
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #7 en: 03 de Julio de 2010, 16:26:33 »
Buenas..
Ya se escucho por muchos lados que los pic son sensibles al ruido para usos robustos. Entonces que me pueden decir , si alguien tiene una referencia, sobre los dspic para aplicaciones de control industrial???
Recuerdo que en el ultimo seminario de dspic alguien realizo la pregunta de que tan sensibles eran al ruido los dspic en ambientes industriales, y la logica respuesta de alguien que esta realizando un servicio para la compania, fue que estaban realizados especialmente para esas aplicaciones y que no tenian ningun problema...

Hoy en dia me encuentro aprendiendo un poco de dspic para realizar un control trifasico, algo asi como un variador de velocidad o inverter de una potencia considerable...
Entonces...
¿que me convendria mas?.. seguir aprendiendo con un dspic que tendria problemas para aplicarlo o cambiarme a un freescale o a un texas? que son palabras mayores y no tienen tanta informacion.

saludos

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17909
    • MicroPIC
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #8 en: 06 de Julio de 2010, 03:55:39 »
Por fin he resuelto el problema: como anticipaba le he puesto un PIC emulando a los expansores y ahora funciona de lujo.

Y como el PIC que he puesto tiene más de 32 pines, para colmo me sale más barato:
2 x MCP23017 = 2 x 1.23€ = 2.46€
1 x 16F887 = 2.34€

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #9 en: 06 de Julio de 2010, 10:11:59 »
Vaya, qué cosas. Qué bueno que ya funciona.

Desconectado picNIC

  • PIC16
  • ***
  • Mensajes: 140
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #10 en: 06 de Julio de 2010, 22:36:29 »
Nocturno no probastes con un expansor de puertos de otras companias???

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17909
    • MicroPIC
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #11 en: 07 de Julio de 2010, 00:51:23 »
No, me decanté directamente por cambiar a un PIC.
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #12 en: 07 de Julio de 2010, 10:58:39 »
Buenas..
Ya se escucho por muchos lados que los pic son sensibles al ruido para usos robustos. Entonces que me pueden decir , si alguien tiene una referencia, sobre los dspic para aplicaciones de control industrial???
Recuerdo que en el ultimo seminario de dspic alguien realizo la pregunta de que tan sensibles eran al ruido los dspic en ambientes industriales, y la logica respuesta de alguien que esta realizando un servicio para la compania, fue que estaban realizados especialmente para esas aplicaciones y que no tenian ningun problema...

Hoy en dia me encuentro aprendiendo un poco de dspic para realizar un control trifasico, algo asi como un variador de velocidad o inverter de una potencia considerable...
Entonces...
¿que me convendria mas?.. seguir aprendiendo con un dspic que tendria problemas para aplicarlo o cambiarme a un freescale o a un texas? que son palabras mayores y no tienen tanta informacion.

saludos


La verdad no puedo generalizar, porque los dsPIC nunca los probé, los PIC32 apenas empiezo y prometen mucho.. como bien decía cada uno puede dar opinión según sus experiencias.. Para mi parecer en 8 bits, Freescale es superior hasta lo que pude probar.. Lo que no me gustaba era que fueran poco flexibles con el oscilador al momento del arranque, decidir si se quiere XT, HS RC solo al programar considero era su talón de Aquiles.  Entiendo que en los últimos que van saliendo al mercado, inclusive los 18FxxJxx de 8 bits ya se ha solucionado dicho problema.


Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 441
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #13 en: 10 de Julio de 2010, 09:50:03 »
Hola amigos,

Entiendo completamente tu rabia e impotencia ante una falla de algo que debería funcionar muy bien. Estoy seguro que no hay mucho que decir en tu PCB, tienes la experiencia y trabajos realizados para dar por descartado error de PCB. Te apoyo en decir que esos MCP23x17 son malos!!!

Muchos tal vez digan que uno no los sabe usar o que uno no sabe programarlos para que trabajen bien, otros dirán muchas cosas respaldando el dispositivo... Pero sus respuestas están dadas porque a ellos les va bien, pero eso depende netamente de la aplicación desarrollada por cada uno.

Hace un tiempo me resulto un trabajo a desarrollar en el que sin dudarlo tome un PIC18F4550-I/P ("Industrial")... para controlar un sistema de llenado y empacado en donde los Reles, Solenoides y demás fuentes y generadores de ruido electromagnético están a merced. 

El resultado es que son MALOS!!, fallan y fallan y como bien te escuche decir en otro hilo.. en casa todo va bien y uno cree que esta perfecto, pero en donde deben hacer su trabajo NO LO HACEN. Se pierden, se desentienden de sus operaciones debidamente programadas y verificadas en taller.  Y uno también se desespera al ver que en taller funciona perfecto pero donde el cliente no, cambias impresos, haces de todo y nada que se soluciona.. Sigues al pie de la letra el hilo "Luchando contra el ruido" y nada da resultado. Hasta llegaba al extremo de perder datos de la FLASH, se perdía el programa.

Al filo del desespero, pregunta a uno de mis profesores de Pregrado y me recordó algo que había escuchado hace tiempo pero no prestaba atención.. Los FREESCALE son mejores en ambientes industriales, por su método de fabricación del CHIP tienen grandes diferencias que los hacen  la mejor opción en proyectos que no deben fallar.

Desde entonces, los uso y hasta ahora me han dado soluciones fiables.

En fin, todo esto que digo es solo para comentar que uno no debe casarse con una marca en especial, cada una ofrece características especiales que en algún momento dan solución a un problema concreto.

SALUDOS!

hola

Siemper he escuchado en algunos circulos, como que los pic no son muy bien vistos para desarrollos comerciales o industriales. La verdad que no he visto en entornos comerciales desarrollos con pic (que no quiere decir que no existan) y en comerciales solo he dado con un producto. ¿Para desarrollos comerciales es mejor utilizar otra cosa?. Porque los que casi siempre trabajamos con pic, si tenemos que portar algun codigo a otros micros que hemos utilizado pocas veces, pufff, el diseño se alarga aparte de no controlar hasta que punto va a funcionar. no se si los micros sencillos de freescale/atmel/etc se puedes programar asi mismos (como los bootloader). un amigo que controla de electronica me enseño a utilizar estos micros, pero lo basico (me dijo que luego avanzara yo que el tiene lio) y no se si se puede estas cosas.yo la verdad que he utilizado los pic para diseños basicos, mas digitales que otra cosa.

saludos de antonio

Desconectado ALE1973

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 229
Re: Expansor de puertos MCP23x17: ¡qué malo es!
« Respuesta #14 en: 10 de Julio de 2010, 11:29:09 »
Buenas... Los paneles de comando de los Arrancadores suaves de Siemens (3RW44), estan hechos con PIC!!!, ese es un ejemplo de desarrollo comercial con pic. El unico que vi por cierto asi de una firma importante....

Saludos