Sep 232015
 

Contador de revoluciones por minuto RPM con el microprocesador AT89C52

Por: Diego Fernando Manchabajoy Muñoz  deivox24@yahoo.com Valle del Cauca, Colombia

PLANTEAMIENTODEL PROYECTO

Nuestro proyecto trata de un contador de RPM (Revoluciones Por Minuto). Su funcionamiento se basa a partir de unos cálculos y un número de pulsos que se cuentan en el pin 17 del microprocesador AT89C52. Internamente este microprocesador hace sus cálculos tomando una “constante” ya planteada y multiplicándola por la serie de pulsos tomados en 0.1 segundos (100mS).

Se podría explicar este proceso como si el micro tomara muestras de lo que llegara a él y partiendo de esas muestras se hacen los cálculos.

VALOR DE LA CONSTANTE

Se hace una transformación:

Primero que todo se sabe que el RPM va a tomar muestras cada 0.1S entonces se plantea así:N° Pulsos / 0.1S (está dado en segundos y queremos hacer el cálculo en un minuto entonces transfórmanos)(N° Pulsos / 0.1S) * (60S / 1minuto) pero debemos tener en cuenta el cuantos pulsos puede contar en una vuelta entonces:

(N° Pulsos / 0.1S * 30) * (60S / 1minuto)  treinta en nuestro caso por que nuestra rueda se hizo de 30 huecos teniendo estos valores constantes se analizó y deducimos que estos valores se podían convertir en una constante despejando la fórmula creada.

(N° Pulsos ) * (60 / 3) a constante queda de el valor de 20:(N° Pulsos ) * (20)

EL ERROR

El rango de error aquí esta dado por el número de huecos que existe en la rueda, se detalla que si el número de huecos fueran mucho más entonces la constante variaría al valor de uno.

El otro rango de error esta dado en el proceso (microprocesador), el número de pulsos multiplicado con la constante nos da un número en hexadecimal, entones habría que transformarlo. Teniendo en cuenta esto se detalla que hay una serie de instrucciones que requieren de 1uS para su ejecución, entonces no daría preciso en tiempo, daría las muestras de un pequeño tiempo mas atrás

Configuración de patillas (pines) del microprocesador AT89C52 - Electrónica Unicrom

MICROPROCESADOR 89C52

PULSO DE ENTRADA: PIN 17 – P3.5 – T1

DECODIFICACION DISPLAYS: P0 Y P2

Nota: Si  desea obtener el programa del RPM en ensamblador para el AT89C52, comunicarse con el autor a la dirección de correo (email) arriba citada.

Funcionamiento y diagramas de un contador de RPM

Este proyecto aquí presentado nos muestra las RPM (revoluciones por minuto) tomando muestras (pulsos) cada 0.1 Segundos y llevándolas aun proceso interno en el Microcontrolador AT 89C52 y mostrando su resultado por un campo visual (Displays), el circuito es capaz de contar 255 pulsos en 0.1 S, es decir, es capaz de contar hasta 5100 RPM.

Teoría de Funcionamiento:

El núcleo principal de este circuito se basa en el microcontrolador AT89C52

Este microcontrolador tiene 40 pines, 32 de los cuales corresponden a 4 puertos de entrada/salida, los demás son para la alimentación, oscilador (xtal), reset, etc.

Básicamente, las funciones del microcontrolador y las del circuito están diseñadas para detectar la rotación de una máquina por medio de una rueda perforada, que se mueve dentro de un interruptor óptico de ranura, de tal manera que se puedan mandar pulsos cada vez que la señal se interrumpe, y pueda mostrar el resultado en 4 displays de siete segmentos.

El microcontrolador AT89C52 de Atmel tiene dos timer (timer0 y timer1), los cuales se configuran para que uno de ellos temporice el tiempo necesario y el otro para contar los pulsos durante ese tiempo, el temporizador que funciona como contador recibe pulsos externos por el pin 15 del microcontrolador, este pin es activo bajo, es decir, cada vez que hay un flanco de bajada incrementa a uno.

En este caso el receptor de los pulsos está conformado por una rueda perforada que se interpone entre el emisor y el receptor de un dispositivo fototransistorizado. Cuando la rueda impide el paso de la luz entre el emisor y el receptor del circuito, la base del fototransistor no se excita y no circula corriente entre el emisor y colector, y mucho menos por la base del transistor. Este se comporta como un suich abierto por lo tanto se tiene un estado lógico.

Al rotar la rueda, las perforaciones pasan frente al dispositivo fototransistorizado, permitiendo que la luz proveniente del emisor estimule la base del transistor, y por lo tanto se presenta una corriente entre colector y el emisor de este. Esta corriente que pasaría por la base, en este caso se podría representar como un corto entre el emisor y colector polarizando una resistencia que se encuentra en el colector y creando un nivel bajo.

La salida de este va a un smit trigger, donde nos ayudara a eliminar un poco el cambio de estado brusco o como le llamaríamos también el ruido entre el cambio de estado, la salida de este es inversa, cambiando así el pin utilizado para el conteo de estado activo bajo a estado activo alto. Ya en el microcontrolador después de que se ha hecho el proceso debido inmediatamente ira al campo de visualización donde este tiene unas características muy interesantes.

El campo visual funciona por medio de un barrido que se va generando cada 3uS aproximadamente. Como este barrido es demasiado rápido parece que se obtuviera una salida constante. Lo mismo pasa con el puerto de salida, se irán cambiado los datos cada vez que un bit del barrido se habilite, este dato iría directamente a un buffer (impulsor de corriente) y después de este a los displays (conectados en paralelo) por medio de unas resistencias

Lo ideal para este circuito sería que cada vez que se este tomando pulsos la velocidad de la rueda perforada fuera constante, ya que de no ser así, se pueden generar errores y malas interpretaciones.

El proyecto se divide en dos partes: La primera se trata de los cálculos y la decodificación, mientras que la segunda es la etapa de muestreo Hay que tomar en cuenta que aquí no se muestra el sensor acondicionador de la señal de entrada que debe provenir del motor o máquina al que se debe contar las RPM.

proyecto1Diego

La primera parte se trata del proceso de codificación donde se encuentra el micro, un buffer, un decodificador BDC y transistores de habilitación para los displays de cátodo común

proyecto1-1Diego

Esta es la segunda etapa que se trata del muestreo de la variable tomada y codificada en el micro. Solo se trata de 4 displays de cátodo común que se encuentran en cascada, mientras que el pin común se encuentra conectado a los transistores. Transistores deben ser de buena calidad, preferiblemente de switcheo que se utilizan en las fuentes conmutadas

proyecto1-2Diego

Nota: Si  desea obtener el programa del RPM en ensamblador para el AT89C52, comunicarse con el autor a la dirección de correo (email) arriba citada.

http://unicrom.com/cir_medir_rpm.asp  http://unicrom.com/cir_medir_rpm1.asp

  One Response to “Contador de revoluciones por minuto RPM”

  1. Tengo una motocicleta kawasaki z800 y le estoy instalando un tablero digital koso db03r, la señal de rpm me indica el manual que la puedo tomar desde el cdi, ya que la motocicleta lo trae de fabrica, pero el tablero me pide que le ingrese unos valores de entrada y salida de pulso en valore que van desde el 1 al 24, la pregunta es que valores le ingreso?

 Leave a Reply

(requerido)

(requerido)