Páginas

Saturday, September 26, 2009

No es tan facil cambiar de puerto

Rediseñando un sensor de viento, fue necesario cambiar la referencia del microcontrolador usado (de un PIC16F668 a un PIC18F1320). Por haber sido un cambio radical en el PIC habia libertad total en el rediseño del PCB respecto a que puertos usar para que funciones. Debido a eso cambié del puerto B a el puerto A los optoacopladores usados para leer la posicion de la aleta de viento.

En primera instancia no haria problema con el cambio de puerto, pues desde el codigo se arregla. Pues resulta que entre el puerto A y el puerto B de el PIC18F1320 hay una grandisima diferencia que es muy facil pasar por alto:

El puerto A es leido a traves de un Schmith Trigger, mientras que el puerto B no. De forma que los niveles a los que el PIC define el valor logico en su entrada son diferentes para el puerto A y el puerto B, asi:

  • Input High Voltage TTL Buffered:  0,25 * Vdd +0,8

  • Input High Voltage Schimth Trigger Buffered: Vdd * 0,2


Quiere decir esto que a 5Vdd, en el Puerto B cualquier valor mayor a 2,05V será reconocido como Alto, mientras que en el puerto A esto será solo con valores mayores a 4V. Una diferencia nada despreciable.

Debido a una limitacion del hardware, hace que la salida de los optoacopladores sea solo un par de centecimas de voltio mayor a 4V, por lo que será entonces necesario cambiar nuevamente el diseño del PCB para que los optoacopladores vuelvan al puerto B.

No comments:

Post a Comment

I would be glad to know your opinion about my post, please do not forget to sign it ;)