|
Contador de 4 dígitos configurable
Dada la versatilidad de este circuito
se lo puede colocar virtualmente en cualquier desarrollo o equipo.

El contador funciona alrededor de
un µC de Microchip, el PIC16F84 cuyo programa se encarga de llevar
la cuenta de los impulsos recibidos así como controlar los displays
y demás aspectos que se verán a continuación...
Doble entrada de disparo:
Una con un pulsador hacia el positivo (para flancos de subida)
y otra con un pulsador hacia la masa (para flancos de bajada).
En ambos casos la señal puede ser TTL siempre que al circuito
se lo conecte a 5V de tensión. Gracias a que el sistema de anti
rebote puede ser configurado la entrada de disparo puede provenir
tanto de un pulsador como de una barrera infra roja de cruce peatonal
como así también un censor de efecto Hall o cualquier otro reproductor
mecánico.
Anti rebote configurable:
Por medio del interruptor marcado como AR se puede seleccionar
entre un anti rebote por tiempo (esto quiere decir que entre pulsación
y pulsación el µC esperará un tiempo previamente definido) un
un anti rebote por retorno a reposo de la línea de disparo (cuando
se produzca la vuelta a su estado de reposo del pulsador o entrada).
El caso del anti rebote por tiempo suele ser el mas empleado cuando
un contador es disparado por un pulsador dado que éste presenta
repiques mecánicos indeseados. El tiempo de retardo se puede configurar
por medio de los interruptores J1 y J2 los cuales en combinación
permiten hasta cuatro tiempos diferentes. En tanto, el anti rebote
por retorno a reposo de la línea de disparo es mas apropiado cuando
se lo conecta a barreras IR en líneas industriales, censores mecánicos
o levas (entre varios ejemplos). Si se selecciona por tiempo y
el pulsador permanece presionado el conteo irá avanzando de uno
en fondo y el tiempo de espera entre cada avance dependerá de
como estén los interruptores J1 y J2. Estando ambos abiertos (sus
líneas en estado alto) el tiempo es breve, mientras que estando
ambos cerrados (sus líneas a masa) el tiempo es el mas largo posible.
En tanto, si se configura para esperar la vuelta a reposo de la
línea de disparo por mas que el pulsador permanezca presionado
la cuenta no avanzará sino hasta que se lo suelte. En este caso
los interruptores J1 y J2 no cumplen ninguna función.
Descripción del circuito:
El µC en su interior tiene cuatro variables (dig1, dig2, dig3
y dig4) en las que va acumulando la cantidad de veces que se disparo
el sistema. Este disparo puede producirse tanto por un flanco
ascendente en el pin 2 como por un flanco descendente en el pin
3. Debido a la limitada cantidad de líneas de E/S de este chip
se decidió implementar un integrado decodificador de BCD a display
de 7 segmentos a fin de formar los números sobre los mismos. Este
integrado necesita solo cuatro líneas de entrada para mostrar
el número en los segmentos de un display. Por medio de cuatro
transistores actuando como llaves (corte/ saturación) se logra
manejar cuatro dígitos independientes con tan solo ocho líneas
o cables. Al hacerse el encendido alternado de los dígitos a gran
velocidad para la vista pareciese que están los cuatro encendidos
al mismo tiempo, cuando en verdad solo uno lo esta. Cada display
permanece encendido aproximadamente 3 milisegundos. Las resistencias
de 10K ohms se encargan de fijar estados lógicos definidos. Las
de 4.7K ohms se encargan de limitar tanto la corriente en las
bases de los transistores como así también la carga sobre los
pines del puerto B del microcontrolador. En tanto las de 150 ohms
se encargan de limitar la corriente en los displays. Para mayor
brillo se puede probar con resistencias de 100 ohms o incluso
56 ohms. La alimentación recomendada es de 5V y el consumo no
llega a los 100mA. El pulsador marcado como R es el que reinicia
el micro, volviendo la cuenta a cero.
El firmware:
Este, como todo desarrollo micro controlado necesita de un firmware
(o programa de dispositivo) para funcionar. El mismo puede ser
descargado en versiones ASM
(para ver y modificar si de desea) o HEX
(listo para cargar en el PICmicro). Como todo programa de estos
dispositivos comienza definiendo equivalencias para nombrar posiciones
de la memoria así como valores literales; luego configura los
puertos de E/S (el A como entradas, el B como salidas). Seguidamente
se inicializan los acumuladores (dig1 o unidades, dig2 o decenas,
dig3 o centenas y dig4 o millares) y se ponen en bajo todas las
líneas del puerto B consiguiendo con esto que ningún display quede
iluminado. Luego el programa queda en un ciclo infinito el cual
comprueba si hay actividad en las líneas de entrada (pines 2 y
3) y muestra el contenido actual de la cuenta (haciendo una llamada
a la sub-rutina display). Si no hay actividad en ninguna de las
dos líneas de entrada el ciclo solo se encarga de hacer que en
los displays se vean los acumuladores. Un pulso bajo en el pin
3 o uno alto en el pin 2 hará que el programa salte a la sub-rutina
"increm" la cual aumenta en uno el acumulador de unidades (y maneja
el acarreo de ser necesario). Esta rutina, además, deriva al programa
a otra sub-rutina la cual se encargará de llevar a cabo el anti
rebote que se haya configurado. En caso de ser un anti rebote
por retorno a estado de reposo lo único que se hace es quedar
a la espera que el pin 2 quede en estado lógico bajo y el pin
3 en alto. Mientras se espera que esto suceda se llama a la rutina
de display para que los dígitos sigan mostrando el estado actual
del conteo. Sin esta llamada los mismos quedarían apagados. En
tanto, en caso de ser configurado para un anti rebote por tiempo
el sistema primero determinará dicho tiempo cargando a W inicialmente
con 25 y agregándole mas valor según el estado de los pines 17
y 18. el número restante será la cantidad de veces que se ejecute
la sub-rutina de display antes de retornar al programa principal.
Pero el retorno se produce incondicionalmente, sin verificar en
que estado se encuentran las líneas por lo que si algún pulsador
continua pulsado la cuenta se aumentará nuevamente.
¿Desea usted un CD con todos los contenidos de MAXWELL ELECTRONICA incluyendo los downloads?
|