A tachometer is a device which measures the speed of an electric motor. Speed of an electric motor is determined by the number of revolutions made by the motor in one minute. In other words speed is measured in rpm. Here we design a simple non contact tachometer using microcontroller which can measure speed with an accuracy of 1 rev/sec.
Principle Behind the Circuit:
The basic principle involves a simple embedded system with a sensor, a controller and an actuator. The sensor used here is the one consisting of a white LED and a phototransistor, the controller used is the microcontroller loaded with a compiled code and the actuator is a display device, displaying the speed of the motor. The sensor senses the speed of the motor without actually being in contact with it by the principle of white light transmission and reflection and generates a signal. This signal is converted into an electric signal and fed to the microcontroller, which is programmed to calculate the speed in terms of number of motor revolutions in one minute. This speed is displayed on the LCD.
Non Contact Tachometer Circuit:
A tachometer is basically used to measure angular speed of a motor. It can be mechanical device with a warm gear and spindle arrangement or a electrical device which converts the angular speed into electrical signal. The electrical tachometer in turn can be an AC tachometer or a DC tachometer. While a conventional tachometer is a contact tachometer which can produce erroneous results due to change in contact parameters, a digital tachometer is preferred which doesn’t requires any contact with the device whose speed is to be measured. It basically works on the principle of retro reflective scanning, wherein a light source device like LED transmits light signal to the retro reflective target device which reflects the light, which is in turn received by the light detector.
Circuit Diagram of Non Contact Digital Tachometer:
How to Design Digital Tachometer:
Sensor Circuit Design: The sensor circuit consists of the white LED, a phototransistor and a timer. The timer circuit is designed such that the 7555 timer operates in monostable mode with a timing of at least 11m sec. Given the time period, T = 1.1 RC and assuming C to be 1uF, we found R to be equal to 10K. Here select a 1uF electrolyte capacitor and a resistor of 100K ohms.
Keeping in view the phototransistor load resistor to be less than Vcc/Ic (Ic being the collector current of 2N5777) and the value of Vcc and Ic being 5V and 1mA respectively, we select the resistor value to be 2K ohms.
Controller Circuit Design: The controller circuit consists of the microcontroller and its interfaces. Here we chose AT89C51 microcontroller. Microcontroller reset circuit consists of a resistor and a capacitor with values such that the voltage at the reset pin doesn’t falls below 1.2V and the timing constant is never less than 100ms.
Here we select a 10K resistor and 10uF capacitor. Since microcontroller oscillating frequency here is 12MHz, we select the values of ceramic capacitors to be 15pF.
The interfacing is accomplished by connecting the 7555 output pin to port pin P0.0 and the LCD display to ports P1 and P2 such that the data pins of the LCD are connected to port P2 and the command pins are connected to P1.
Microcontroller Code: Once the circuit is designed and drawn on a piece of paper, the next step is to write and compile the code. Here we select the Kiel uVision software to write the program in C language.
Prior to writing the code, general steps needs to be followed like creating a new project and selecting the target device or the required microcontroller. Once the code is written, we saved it with .c extension and then added it to the source file group under the target folder. The code is then compiled by pressing F7 key.
Once the code is compiled, a hex file is created. In the next step, we use Proteus software to draw the circuit. The code is dumped into the microcontroller by right clicking on the IC and then adding the hex file. The microcontroller oscillating frequency is selected here to be 12MHz.
Note: Also read the interesting post – Password Based Door Lock System using Microcontroller
How to Operate the Circuit?
When the white LED is powered, it starts conducting and emits white light. A motor is placed in between the LED and the transistor, with its shafted marked with a white dot. As the motor shaft rotates such that the white spots comes in contact with the sensor, the white light is reflected by the dot and falls on the base of the photo transistor. The photo transistor starts conducting more and its collector voltage starts decreasing gradually, until it reaches the logic low level threshold.
At this point, the 7555 timer gets triggered (its trigger pin being connected to the output of the sensor) and generates a high logic signal which is stable for a period of 11 m sec. When the microcontroller receives this signal, as per the program, it accordingly increases the value of count by one (count here representing the motor revolution) and continues this process till 1 sec. The speed of the motor is calculated by multiplying the value of final count by 60 to get the speed in revolutions per minute. This value is then displayed on the LCD display.
Related Post – Digital Voltmeter using ICL7107
- This circuit can be used to calculate speed of rotating wheels, discs and motor shafts.
- This circuit can be used at places where direct contact with motor shafts or wheels is not possible to be made, as in case of vehicles and also in industrial machines.
- This circuit can be used at homes to check speed of small battery operated fans and other motor based devices.
Limitations of the Circuit:
- The ICs used in this circuit are CMOS devices and are highly static, making it impossible to touch them with bare hands.
- It has limited life time due to use of battery for powering the circuit.
- Speed calculation may be affected by the varying duty cycle of the timer.