ARDUINO BASED MOTOR PROTECTION
Complete Viva Notes & Cross Questions
TOLANI F G POLYTECHNIC ADIPUR (KUTCH)
SEM VI (Elect.) | BATCH 2
Ram Prakash Sahu (236510309047) | Sandeep Nishand (236510309033)
CHAPTER 1 - PROJECT INTRODUCTION
1.1 Why Motor Protection is Needed?
• Motors are used in industries, homes, offices everywhere
• Common problems: Overload, Short-circuit, Phase failure, Overheating
• Motor failure causes equipment damage, downtime, high maintenance cost
• Arduino-based system gives smart, automatic, low-cost protection
1.2 Problem Statement
Small DC motors in automation, labs, and appliances do not have proper overload protection. A simple,
smart, and low-cost solution is needed.
1.3 Objectives (5 Points)
• Design motor protection system using Arduino UNO
• Measure current using ACS712 current sensor
• Protect motor by switching OFF supply during overload
• Provide portable and safe system using battery supply
• Ensure automatic, reliable, and efficient protection
CHAPTER 2 - COMPONENTS DETAIL
2.1 Components Table
Component Description Purpose
Arduino UNO Microcontroller Main control unit
ACS712 Current Sensor Measures current Detects overload
Voltage Sensor Measures supply voltage Detects over/under voltage
Relay Module Electromechanical switch Disconnects motor during fault
DC Gear Motor Test Motor (6-12V, 300RPM) Demonstrates protection system
Battery & Holder DC Power Supply Portable power source
Connecting Wires Signal & Power connections Links all components
2.2 Arduino UNO - Full Detail
Specification Value
Chip ATmega328P
Clock Speed 16 MHz
Digital I/O Pins 14
Analog Input Pins 6
Flash Memory 32 KB
Operating Voltage 5V
Input Voltage 7-12V
PWM Pins 6 (pins 3,5,6,9,10,11)
Max current per pin 40 mA
2.3 ACS712 Current Sensor - Full Detail
Specification Value
Type Hall-Effect Based
Variants 5A / 20A / 30A
Supply Voltage 5V DC
Output at 0A (Zero Current) 2.5V (midpoint)
Sensitivity - 5A version 185 mV per Ampere
Sensitivity - 20A version 100 mV per Ampere
Sensitivity - 30A version 66 mV per Ampere
Output Type Analog Voltage (0-5V)
Connected to Arduino Pin A0 (Analog Pin 0)
Current Calculation Formula:
Current (A) = (ADC_Value x 5.0 / 1023 - 2.5) / 0.185
Example: ADC = 587 → Voltage = 2.87V → Current = (2.87 - 2.5) / 0.185 = 2A
2.4 Relay Module - Full Detail
Specification Value
Coil Voltage 5V DC
Contact Current Rating 10 Ampere
AC Rating 250V AC / 10A
DC Rating 30V DC / 10A
Control Pin (IN) Connected to Arduino Digital Pin 7
Pins IN, VCC, GND
Type used NO (Normally Open) / NC (Normally Closed)
2.5 DC Gear Motor - Full Detail
Specification Value
Voltage 6-12V DC
Speed 300 RPM
Type DC Geared Motor
Why Gear Motor? Easy to simulate overload by holding shaft
CHAPTER 3 - WORKING & CIRCUIT
3.1 Circuit Connections
Component Pin Connected To
ACS712 VCC Arduino 5V
ACS712 GND Arduino GND
ACS712 OUT Arduino A0
Relay VCC Arduino 5V
Relay GND Arduino GND
Relay IN Arduino Digital Pin 7
Motor Power Through Relay NO contacts
Battery + ACS712 IP+ input
3.2 Working - Step by Step
• Step 1: Arduino powers ON, initializes relay as OUTPUT (HIGH = Motor ON)
• Step 2: ACS712 continuously measures current flowing to motor
• Step 3: Arduino reads analog value from pin A0 every 100ms
• Step 4: Converts ADC value to actual current using formula
• Step 5: Compares current with preset threshold (e.g. 2A)
• Step 6: If current is SAFE (<=2A) → Relay stays ON → Motor runs
• Step 7: If OVERLOAD (>2A) → Arduino sets relay LOW → Motor STOPS
• Step 8: Process repeats continuously in loop()
3.3 Algorithm (from Report)
• 1. Start Arduino
• 2. Initialize relay and sensor pins
• 3. Read current from ACS712
• 4. Compare with threshold value
• 5. If Current <= Limit → Motor ON
• 6. If Current > Limit → Motor OFF
• 7. Repeat continuously
3.4 Arduino Code
int sensorPin = A0;
int relayPin = 7;
float threshold = 2.0; // 2 Amperes
void setup() {
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, HIGH); // Motor ON
[Link](9600);
}
void loop() {
int raw = analogRead(sensorPin);
float voltage = raw * (5.0 / 1023.0);
float current = (voltage - 2.5) / 0.185;
if (current > threshold) {
digitalWrite(relayPin, LOW); // Motor OFF - OVERLOAD
} else {
digitalWrite(relayPin, HIGH); // Motor ON - SAFE
}
delay(100);
}
CHAPTER 4 - ADVANTAGES, APPLICATIONS & COST
4.1 Advantages
• Automatic protection against electrical faults
• Reduces maintenance cost and prevents motor damage
• Simple to implement and very low cost
• Real-time monitoring of motor operation
• Scalable and adaptable for different motor ratings
4.2 Applications
• Industrial motors in factories and plants
• Water pumps, fans, compressors in buildings
• Agriculture borewells - very useful in Gujarat/Kutch
• Automation projects in educational labs
• Motors in conveyor belts, elevators, machines
4.3 Cost Estimation
Component Cost
Arduino UNO Rs. 300
ACS712 Current Sensor Rs. 200
Relay Module Rs. 100
DC Gear Motor Rs. 150
Battery & Holder Rs. 350
Board (Display base) Rs. 700
Connecting Wires & Misc Rs. 100
TOTAL Rs. 1,900
4.4 Motor Rating - How Much HP Can This System Handle?
Formula: 1 HP = 746 Watt | Power = Voltage x Current
ACS712 Variant Voltage Max Watt Max HP
ACS712-5A (Current 12V DC 60 Watt 0.08 HP
Project)
ACS712-20A (Upgraded) 12V DC 240 Watt 0.32 HP
ACS712-30A (Upgraded) 12V DC 360 Watt 0.48 HP
ACS712-20A (AC System) 230V AC 4600 Watt 6.16 HP
ACS712-30A (AC System) 230V AC 6900 Watt 9.25 HP
For 1 HP Motor (746W at 230V = 3.24A): ACS712-20A is sufficient
1 HP System Cost = Approx. Rs. 4,800 - Rs. 5,000
4.5 Future Scope
• IoT Integration - Wi-Fi/GSM for mobile alerts (using NodeMCU/ESP8266)
• LCD/OLED Display - show live current values
• Automatic Restart - motor restarts when fault clears
• Data Logging - save current history on SD card or cloud
• Multiple Motor Protection - separate sensors and relays per motor
• AI/ML - predict faults before they occur (predictive maintenance)
• Expand to 3-phase AC industrial motors
CHAPTER 5 - MCB vs ARDUINO SYSTEM
Examiner Question: 'MCB bhi yahi kaam karta hai na - toh tumhara system kyun banaya?'
Feature MCB Arduino System
Type Mechanical Device Smart/Intelligent Device
Threshold Setting Factory fixed - cannot Programmable - we set it
change
Intelligence None Fully programmable
Reset Manually push switch Automatic reset possible
Display No display Can show current on LCD
Mobile Alerts None SMS/App notification (with IoT)
Data Logging No Yes - SD card or cloud
Response Time 10-20ms (faster) 100ms (adjustable)
Cost Rs. 50-200 (cheaper) Rs. 1,900
Multi-parameter Only current Current + Voltage + Temperature
Remote Control Not possible Yes - via IoT
Monitoring None Real-time monitoring
Best Answer for Viva:
'Sir, MCB ek simple mechanical device hai jisme intelligence nahi hoti - uski trip value factory mein
fixed hoti hai, hum badal nahi sakte. Hamara Arduino system smart hai - hum khud threshold set kar
sakte hain, motor badalne par value update kar sakte hain. MCB mein koi display nahi, koi alert nahi,
data log nahi hota. Hamara system current values monitor kar sakta hai, LCD par show kar sakta hai,
mobile par alert bhej sakta hai aur future mein IoT se remotely control bhi ho sakta hai. Isliye yeh
system MCB se zyada smart, flexible aur advanced hai. Ideal system mein MCB aur Arduino dono
saath use hote hain - MCB short circuit ke liye aur Arduino smart monitoring ke liye.'
CHAPTER 6 - ALL VIVA QUESTIONS & ANSWERS
Section A - Easy Level Questions
Q: What is the full name of your project?
A: Arduino Based Motor Protection System
Q: What is Arduino UNO?
A: Arduino UNO is an open-source microcontroller board based on ATmega328P chip. It has 14 digital
I/O pins, 6 analog inputs, runs at 16 MHz and operates at 5V.
Q: What is overload in a motor?
A: Overload occurs when motor draws more current than its rated value due to excess mechanical
load, voltage drop, or mechanical jamming. This causes excessive heat and burns the motor windings.
Q: What is the purpose of ACS712?
A: ACS712 measures the current flowing through the motor and converts it into an analog voltage
signal (0-5V) that Arduino can read and process to detect overload.
Q: What is a relay?
A: A relay is an electrically operated mechanical switch. It uses a small 5V control signal from Arduino
to switch a larger power circuit (motor supply) ON or OFF safely.
Q: What is Hall Effect?
A: When a current-carrying conductor is placed in a magnetic field, a voltage is produced perpendicular
to both the current and magnetic field. This is called the Hall Effect. ACS712 uses this principle.
Q: What software is used to program Arduino?
A: Arduino IDE (Integrated Development Environment). The programming language is based on C/C++.
Code is uploaded via USB cable.
Q: What is the operating voltage of Arduino UNO?
A: 5V DC operating voltage. Can be powered by 7-12V via DC power jack or directly from USB (5V).
Section B - Medium Level Questions
Q: How does ACS712 measure current?
A: Current flows through internal copper path of ACS712, creating a magnetic field. The Hall-effect IC
detects this field and outputs proportional analog voltage. At 0A output is 2.5V. For every 1A, voltage
changes by 185mV (5A version).
Q: What is the formula to calculate current from ACS712?
A: Current = (Voltage_out - 2.5) / Sensitivity. Where Voltage_out = ADC_Value x (5.0/1023) and
Sensitivity = 0.185 V/A for 5A version.
Q: What ADC value corresponds to 2A overload?
A: Voltage at 2A = 2.5 + (2 x 0.185) = 2.87V. ADC = 2.87 x (1023/5) = 587. So in code: if(raw > 587)
Motor OFF.
Q: What is ADC resolution of Arduino?
A: 10-bit ADC means 2^10 = 1024 steps. Resolution = 5V / 1024 = 4.88 mV per step.
Q: Why can't Arduino directly drive the motor?
A: Arduino digital pins can source/sink only 40mA maximum. DC motors draw hundreds of mA or
Amperes. Connecting directly would damage Arduino. Relay is used as high-power interface.
Q: What is NC and NO in relay?
A: NO (Normally Open) - contact is OPEN when relay is OFF, CLOSES when energized. NC (Normally
Closed) - contact is CLOSED when relay is OFF, OPENS when energized. For fail-safe protection, NC
is preferred.
Q: Which pins of Arduino are used in this project?
A: A0 - reads ACS712 analog output. Digital Pin 7 - controls relay ON/OFF. 5V and GND - power
supply to sensor and relay module.
Q: What is the ACS712 output at 0 current?
A: 2.5V (midpoint of 0-5V range) because it can measure both positive and negative current directions -
positive goes above 2.5V, negative goes below 2.5V.
Section C - Hard / Tricky Questions
Q: What is response time of this system?
A: Arduino reads sensor every 100ms (set by delay() in code). So response time is approximately 100
milliseconds. This can be reduced to 10ms by reducing the delay value in code.
Q: What are the limitations of this project?
A: 1. Only DC motor - not 3-phase AC. 2. No LCD display. 3. No alarm/buzzer. 4. No auto-restart. 5.
Battery dependent. 6. No data logging. 7. Single motor only. 8. No thermal protection.
Q: Kitne HP tak ke motor mein use kar sakte hain?
A: Current project (ACS712-5A, 12V) = 60W = 0.08 HP. With ACS712-20A and AC contactor = 230V x
20A = 4600W = 6.16 HP. For 1 HP (746W at 230V = 3.24A), ACS712-20A is sufficient. Cost for 1 HP
system = approx Rs. 4,800-5,000.
Q: MCB bhi same kaam karta hai - toh tumhara system kyun banaya?
A: MCB is simple mechanical device with fixed factory-set threshold - cannot change. Arduino system is
smart - programmable threshold, can monitor and display current, send mobile alerts via IoT, log data,
auto-restart. MCB has no intelligence or monitoring. Best system uses BOTH - MCB for short circuit +
Arduino for smart monitoring.
Q: What would you change if motor is 3-phase AC?
A: Need 3 separate ACS712 sensors (one per phase), AC-rated contactor instead of simple relay,
phase sequence detection circuit, phase loss detection logic. Arduino code logic remains same but
more complex.
Q: What is difference between overload and short circuit?
A: Overload: 1.2x to 6x rated current, gradual, caused by excess load. Short circuit: 10x to 20x rated
current, instantaneous, caused by wiring fault. Both detected by current threshold but short circuit
needs much faster response (fuse/MCB acts in milliseconds).
Q: Why is ACS712 better than shunt resistor for current measurement?
A: ACS712 Hall-effect provides electrical isolation between measured circuit and output - safer. Shunt
resistor introduces voltage drop in main circuit and has no isolation which is dangerous at higher
currents.
Q: What is the Voltage Sensor listed in your components table?
A: Voltage sensor uses resistive voltage divider to scale down supply voltage (e.g. 12V) to safe 0-5V
range readable by Arduino analog pin. It detects over-voltage or under-voltage conditions alongside
current sensor. It was listed in prototype but detailed implementation was planned for future.
CHAPTER 7 - QUICK REVISION FLASHCARDS
7.1 Important Numbers - Memorize These!
Item Value
Arduino chip ATmega328P
Clock speed 16 MHz
Digital I/O pins 14
Analog input pins 6
ADC resolution 10-bit (0 to 1023)
ACS712 zero-current output 2.5V
ACS712-5A sensitivity 185 mV per Ampere
ACS712-20A sensitivity 100 mV per Ampere
ACS712-30A sensitivity 66 mV per Ampere
Relay coil voltage 5V DC
Relay current rating 10 Ampere
Motor voltage 6-12V DC
Motor speed 300 RPM
Total project cost Rs. 1,900
Most expensive item Board (Rs. 700)
1 HP = 746 Watt
Current project HP rating 0.08 HP (60W at 12V)
1 HP system cost Rs. 4,800 - 5,000
7.2 One-Line Answers
• ACS712 kya karta hai? - Current measure karta hai, analog voltage output deta hai
• Relay kya karta hai? - Electrically operated switch - motor supply connect/disconnect karta hai
• Arduino kya karta hai? - Sensor read karta hai, threshold compare karta hai, relay control karta
hai
• Hall Effect kya hai? - Current-carrying conductor in magnetic field mein voltage produce hoti hai
• Battery kyun use ki? - System portable banane ke liye, mains supply ki zaroorat nahi
• Gear motor kyun? - Shaft pakad ke aasani se overload simulate kar sakte hain
• Overload kya hai? - Motor rated se zyada current draw karta hai
• ACS712 kaunsa pin? - A0 (Analog Pin 0)
• Relay kaunsa pin? - Digital Pin 7
• MCB vs Arduino? - MCB = Cheap but dumb, Arduino = Smart but costly, Best = Dono saath
7.3 3-Step Working Summary (Viva mein yahi bolo)
"ACS712 sensor motor mein jaane wala current measure karta hai aur Arduino ke A0 pin ko
analog voltage bhejta hai. Arduino apne ADC se isko current value mein convert karta hai aur
preset threshold se compare karta hai. Agar current safe limit mein hai toh relay ON rehta hai
aur motor chalta rehta hai. Agar current threshold se zyada ho - overload condition - toh
Arduino turant relay OFF kar deta hai, motor ki supply cut ho jaati hai aur motor damage se
bach jaata hai. Yeh process continuously har 100 milliseconds mein repeat hota hai."
ALL THE BEST FOR YOUR VIVA! - Ram Prakash Sahu