Posteado por: Pablo | septiembre 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.


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: