Make the General Dc Motor Into a Load Sensor Using Microcontroller
by anirban63 in Circuits > Sensors
3193 Views, 14 Favorites, 0 Comments
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..
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.........
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() {
Serial.begin(9600);
}
void loop() {
pinMode(BUZZER, OUTPUT);
sensorValue = analogRead(analogInPin);
if ( sensorValue < 500)
{
digitalWrite(13, HIGH);
}
else {
digitalWrite(BUZZER, LOW);
}
Serial.print("motor sensor = " );
Serial.print(sensorValue);
delay(2);
}
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