Make the General Dc Motor Into a Load Sensor Using Microcontroller




Introduction: Make the General Dc Motor Into a Load Sensor Using Microcontroller

this project is meant to read data for sensor. load on the motor is proportional to the change in the internal resistance of the motor. here a dc permanent magnet motor is taken and the values from potential divider circuit is obtained..

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Theorey and Things You Need

This project works on the phenomenon that the internal resistance of the dc motor( both series and shunt or permanent magnet) falls as the load on the shaft of the motor increases. the motor starts drawing more current from the circuit which may damage the circuit. but in this project i used a permanent magnet motor that draws less current on stalling.

the things you need:

1. DC motor( you can get this type of motor from CD player)

2. General purpose diode (IN4001)

3. 0.25 watt 1 kilo-ohm resistor

4. connecting wires

5. 10 k potentiometer

6. microcontroller ( i used freeduino same as arduino uno).

7. buzzer

8. usb cable.

now lets begin with the circuit first.........

Step 2: Circuit Diagram

connect a potentiometer in series to the dc motor and connect it to the 5 volt output of the arduino.

connect the ground pin of the arduino directly to the motor

take a wire and connect or rather tap from some place in the bus between the motor and the potentiometer but not from the signal pin of the potentiometer. more close the taping is from the motor better is the output.

if you like you can put a switch to start and stop the motor

connect a buzzer on 13 pin of freeduino and ground pin.

now that your circuit is ready you have to upload program to the freeduino:

const int analogInPin = A0;

int BUZZER = 13;

int sensorValue = 0;

void setup() {



void loop() {


sensorValue = analogRead(analogInPin);

if ( sensorValue < 500)


digitalWrite(13, HIGH);


else {

digitalWrite(BUZZER, LOW);


Serial.print("motor sensor = " );




Step 3: Conclusion

you can see the output of the motor sensor value and change the sensing value..

the motor is made to rotate by decreasing the potentiometer values and the motor sensor value from freeduino is noted. load is applied on the shaft and the values are again noted and an alarm is observed if load exceeds the tolerance limit. the values from the motor sensor without load or no load condition is found to be higher than the values found after load is applied. so we can conclude the internal resistance of the motor drops when load is applied

to see the video click here

Step 4:

Be the First to Share


    • Backyard Contest

      Backyard Contest
    • Silly Hats Speed Challenge

      Silly Hats Speed Challenge
    • Arduino Contest 2020

      Arduino Contest 2020

    2 Discussions


    Question 2 years ago on Introduction

    hi guys

    I would like to know, how to OFF and ON a DC Motor connected to a weighing sensor, if weight increases than our required weight