This mission presents an Arduino primarily based velocity monitoring system the place the RPM (revolutions per minute) of a DC motor is repeatedly displayed on a smartphone utilizing Bluetooth communication.
The Arduino programming employs an interrupt service routine to find out the motor velocity. The authors’ prototype of the mission is proven in Fig. 1.
Circuit and dealing
The primary elements used on this mission are:
Arduino Uno. Arduino Uno is an AVR ATmega328P microcontroller primarily based growth board with six analogue enter pins and fourteen digital I/O pins. The microcontroller has 32kB ISP flash reminiscence, 2kB RAM, and 1kB EEPROM.
Velocity sensor. On this mission, an opto-coupler primarily based velocity sensor module is used. The sort of sensor generates sq. wave of a sure frequency which relies on the velocity of motor. Opto-coupler module FC-03 was used throughout testing.
Coded disc encoder. It has some holes which assist the opto-coupler kind of velocity sensor to generate the sq. wave as talked about above. A coded disc encoder with twenty holes is used on this mission.
Bluetooth module. The favored HC-06 Bluetooth module used for this mission sends the information from Arduino Uno to the Android primarily based smartphone. You may also use HC-05 Bluetooth module instead of HC-06.
Arduino Bluetooth controller. This software program is predicated on the Android platform and helps in communication of the smartphone with the HC-06 Bluetooth module. Arduino Bluetooth Controller by Giumig Apps was used throughout testing.
The inner circuit diagram of the opto-coupler kind velocity sensor module (FC-03) is proven in Fig. 2. The circuit diagram for the monitoring of the motor velocity on smartphone utilizing Arduino Uno is proven in Fig. 3.
As proven in Fig. 3, the output of the velocity sensing module is linked to digital pin 2 (D2) of the Arduino. Utilizing an interrupt primarily based strategy, we are able to detect the heart beat produced by the sensing module (in each ten seconds), which relies on the velocity of the motor. Since there are twenty holes within the coded disc, the velocity (in RPM) =((pulse×6)/20).
After figuring out the motor velocity, the Arduino sends this information to the smartphone (to show) by way of the Bluetooth module. Pin TX of the Arduino is used for this goal.
The supply code is written in Arduino programming language. The ATmega328/ATmega328P is programmed utilizing the Arduino IDE software program.
Choose the right board from Instruments → Board menu in Arduino IDE and burn this system (sketch) by way of the usual USB port in your laptop. Right here, Serial.start(9600) perform initialises the serial port with a baud charge of 9600. The attachInterrupt(0,counter,FALLING) perform calls the interrupt handler “counter” every time a sign linked to interrupt pin 0 of the Arduino makes a high-to-low, that’s, falling edge transition.
After importing the code to Arduino board (Board1), join HC-06 Bluetooth to CON4 and sensor digital output to CON3. Mount the disc encoder wheel on the shaft of the DC motor. Place the disc encoder between the groove of the opto-sensor, as proven within the prototype above.
Pair the Bluetooth between the smartphone and HC-06. Open the Arduino Bluetooth Controller app from an Android cellphone and choose Terminal Mode. Now change on the motor. Because the encoder disc rotates between the optical encoder groove, the RPM of the motor will be learn on the smartphone. The RPM will also be learn on the serial monitor of Arduino.
Obtain Source Code
Souvik Kumar Das is captivated with electronics and MCU-based system design
Shibendu Mahata is M.Tech (gold medallist) in instrumentation and electronics engineering from Jadavpur College. He has a number of publications within the area of sign processing in reputed internationals journals and conferences to his credit score