DC Motor Speed Control Using Arduino in Proteus
DC Motor Speed Control Using Arduino in Proteus
figure:
• As you can see in the above figure, its exactly the
same as we designed for Direction Control of DC
Motor in Proteus ISIS with a slight difference.
• The difference is NPN transistor which is used for
DC Motor speed control.
• The base of this NPN transistor is connected with
PWM pin of Arduino board.
• So, I am generating a PWM pulse on this pin which
is then applied on the base of transistor.
• Now if I increase the duty cycle of this PWM pulse
then the transistor induction will increase and thus
the speed of the DC motor.
• Now in order to control this PWM pulse I have used
the LDR sensor, now depending on the LDR sensor
the speed of DC motor will increase or decrease.
• Now upload the below code in your Arduino
software and Get the hex file from Arduino software.
int Motor1 = 2;
int Motor2 = 3;
int PWMControl= 6;
int PWM_Value = 0;
void setup() {
pinMode(Motor1, OUTPUT);
pinMode(Motor2, OUTPUT);
pinMode(PWMControl, OUTPUT);
pinMode(PWM_Input, INPUT);
Serial.begin(9600);
}
void loop() {
PWM_Value = analogRead(PWM_Input);
PWM_Value = map(PWM_Value, 0, 1023, 0, 255);
analogWrite(PWMControl, PWM_Value);
if(Serial.available())
{
char data = Serial.read();
Serial.println(data);
if(data == 'C'){MotorClockwise();}
if(data == 'A'){MotorAntiClockwise();}
if(data == 'S'){MotorStop();}
}
}
void MotorAntiClockwise()
{
digitalWrite(Motor1, HIGH);
digitalWrite(Motor2, LOW);
}
void MotorClockwise()
{
digitalWrite(Motor1, LOW);
digitalWrite(Motor2, HIGH);
}
void MotorStop()
{
digitalWrite(Motor1, HIGH);
digitalWrite(Motor2, HIGH);
}
So, now I am starting the simulation and then will
send the commands via virtual Terminal and it will
start moving and then by changing the LDR position
DC motor speed control will take place.
I know its not clear from above figure so that’s why I
have designed this video. In the below video you will
get the clear idea of DC Motor speed motor.
Equipments
1. 1N4007
2. 2N3819
3. 9C12063A4700FKH
4. A700D107M006ATI
5. ARDUNO UNO
6. BATTERY
7. LED-GREEN
8. LOGIC STATES
9. MINRES1K
10. MMBT2222
11. MOTOR
12. NPN
13. OPTOCOUPLER-NPN
14. RELAY
15. TOURCH-LDR
THE END