TEP , The Engineering Projects , Tutorials

Arduino

DC Motor Speed Control using Arduino in Proteus,DC Motor Speed Control, speed control dc motor, speed control of dc motor, control speed of dc motor, dc motor in proteus, dc motor proteus, dc motor arduino
TEP , The Engineering Projects , Boxes

DC Motor Speed Control using Arduino in Proteus

TEP , THe Engineering Projects , Shares 2.5K Views
TEP , The ENgineering Projects , Reaction 40
TEP , The ENgineering Projects , Reaction 700
TEP , The ENgineering Projects , Reaction 60
TEP , The ENgineering Projects , Reaction 25
TEP , The ENgineering Projects , Reaction 60
TEP , The Engineering Projects , Pintrest TEP , The Engineering Projects , Pintrest TEP , The Engineering Projects , Pintrest TEP , The Engineering Projects , Pintrest TEP , The Engineering Projects , Pintrest TEP , The Engineering Projects , Pintrest TEP , The Engineering Projects , Pintrest TEP , The Engineering Projects , Pintrest
Shares: 691
TEP , The Engineering Projects , PCBWAY

DC Motor Speed Control using Arduino in Proteus,DC Motor Speed Control, speed control dc motor, speed control of dc motor, control speed of dc motor, dc motor in proteus, dc motor proteus, dc motor arduino
Hello friends, hope you all are fine and having fun with your lives. Today, I am going to share a tutorial on DC Motor Speed Control using Arduino in Proteus ISIS. In my previous post, we have seen How to design a DC Motor Direction Control Project using Arduino in Proteus ISIS and if you haven't checked it out then I would recommend you to have a look at it first. Because, in today's tutorial, I am gonna extend that tutorial and will add the DC Motor Speed Control in it. So, today, we will control both the direction as well as speed of the DC Motor. Moreover, you should also have a look at How to use Arduino PWM Pins if you are not much familiar with PWM control.

In the previous tutorial, we have seen How to control the direction of a DC Motor, which is important when you are working on some robot and you need to move that robot in both forward and reverse direction. So, in such cases you need to do the direction control of DC motor. But in most projects, along with direction, we also need to control the speed of DC motor so that we can implement some PID algorithm on the motors. So, in such cases, there comes a need for DC Motor Speed control, which we are gonna cover in today's post. So, let's get started with it.

DC Motor Speed Control using Arduino in Proteus

  • As I have explained earlier, I am gonna take it further from our previous tutorial. So, in previous tutorial, what we have done is, we have controlled the direction of DC Motor using Serial Terminal.
  • When we send commands on the Serial Terminal the motor moves in clockwise or Anti-clockwise direction.
  • So, now the above mentioned functionality will remain the same but an addition will be of speed control.
  • I have placed a LDR sensor in the simulation and depending on the value of that LDR sensor our DC motor speed will either increase or decrease.
  • So, you can download the complete simulation of DC Motor Speed Control by clicking the below button:
Download DC Motor Simulation

  • As I always recommend, design this simulation on your own so that you learn most of it.
  • So, first of all, design a circuit as shown in below figure:
DC Motor Speed Control using Arduino in Proteus,DC Motor Speed Control, speed control dc motor, speed control of dc motor, control speed of dc motor, dc motor in proteus, dc motor proteus, dc motor arduino
  • 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_Input = A0;

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.
DC Motor Speed Control using Arduino in Proteus,DC Motor Speed Control, speed control dc motor, speed control of dc motor, control speed of dc motor, dc motor in proteus, dc motor proteus, dc motor arduino
  • 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.
So, that's all for today. I hope you have got the idea of DC Motor Speed Control. Take care and have fun !!! :)  
TEP , The Engineering Projects , TagsDC Motor Speed Control using Arduino in Proteus
DC Motor Speed Control
speed control dc motor
speed control of dc motor
control speed of dc motor
dc motor in proteus
dc motor proteus
dc motor arduino
TEP , The Engineering Projects , Comments

Write a Comment

TEP , The Engineering Projects , WordPress TEP , The Engineering Projects , Google TEP , The Engineering Projects , Twitter TEP , The Engineering Projects , Facebook TEP , The Engineering Projects , User
TEP , The Engineering Projects , Robot
TEP , The Engineering Projects , Comments Comments on ‘’ DC Motor Speed Control using Arduino in Proteus ‘’ (5)
TEP , The Engineering Projects , Comment
TEP , The ENgineering Projects , Reaction 40
TEP , The ENgineering Projects , Reaction 700
TEP , The ENgineering Projects , Reaction 60
TEP , The ENgineering Projects , Reaction 25
TEP , The ENgineering Projects , Reaction 60
Pls help me sir for writing program for my project.It deals with sensors(temperature LM35.Humidity DHT11,Heart beat rate). As mentioned above the sensor sensed value is display in LCD 16 x 2 display.In my project am fix the threshold value .if the measured value is decreased or increased ithe information will b send to mobile phone via GSM SIM900A .PLEASE HELP TO DEVELOP A PROGRAM FOR THE SAME. And also i include the program i had written.pls take action to correct my pgm or ur send the exact pgm to ma mail Pgm: #include #include LiquidCrystal lcd(12,11,5,4,3,2); SoftwareSerial mySerial(9,10); void setup() { pinMode(A2,INPUT); pinMode(A3,INPUT); pinMode(A4,INPUT); lcd.begin(16, 2); lcd.clear(); lcd.print("emergency"); mySerial.begin(9600); Serial.begin(9600); delay(100); } void loop() { int x=analogRead(A2),Y=analogRead(A3),z=analogRead(A4); if((x>=35)!!(Y>=100)!!(z>=120)) { if(Serial.available()>0) switch(Serial.read()) { case 's': SendMessage(); break; case 'r': ReceiveMessage(); break; } if(mySerial.available()>0) Serial.write(mySerial.read()); }} void SendMessage() { lcd.setCursor(0,1); lcd.print('x'); lcd.print('y'); lcd.print('z'); lcd.print(millis()/1000); mySerial.println("AT+CMGF=1"); delay(1000); mySerial.println("AT+CMGS=\"+91xxxxxxxxxx\"\r"); delay(1000); mySerial.println("Medical aid needed"); delay(100); mySerial.println((char)26); delay(1000); } void ReceiveMessage() { mySerial.println("AT+CNMI=2,2,0,0,0"); delay(1000); }
TEP , The Engineering Projects , Comment
TEP , The ENgineering Projects , Reaction 40
TEP , The ENgineering Projects , Reaction 700
TEP , The ENgineering Projects , Reaction 60
TEP , The ENgineering Projects , Reaction 25
TEP , The ENgineering Projects , Reaction 60
I have copied the code and simulation file. when i run the simulation, the motor gets on but when i give the input in virtual terminal , motor is not rotating. it shows a warning msg as "Simulation is not running in real time due to excessive CPU load." . What should i do? pls help.
TEP , The Engineering Projects , Add

Top PCB Design Service

PCB
TEP , The Engineering Projects , PCB Online
TEP , The Engineering Projects , Add

Embedded Tools

ARDINO
TEP , The Engineering Projects , ARDUINO
TEP , The Engineering Projects , Subscribe

Subscribe Now !!!

Learn Free Pro Tricks

TEP , The Engineering Projects , Mail Receive Quality Tutorials Straight in your Inbox by Submitting your Email ID Below
TEP , The Engineering Projects , Mail
TEP , The Engineering Projects , Books

Engineering Books

TEP , The Engineering Projects , Arduino Programming Book
SALE $20
Text Book for arduino $20
TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star (5.0)
TEP , The Engineering Projects , Arduino Programming Book
SALE $20
Text Book for raspberry pi $20
TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star (3.0)
TEP , The Engineering Projects , Arduino Programming Book
SALE $20
Text Book for arduino $20
TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star (4.7)
TEP , The Engineering Projects , Arduino Programming Book
SALE $20
Text Book for raspberry pi $20
TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star TEP , The Engineering Proects , Star (5.0)
TEP , The Engineering Projects , Category

Categories

TEP , The Engineering Projects , Arduino
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K
TEP , The Engineering Projects , Arduino
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K
TEP , The Engineering Projects , Arduino
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K
TEP , The Engineering Projects , Arduino
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K
TEP , The Engineering Projects , Arduino
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K
TEP , The Engineering Projects , Arduino
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K
TEP , The Engineering Projects , Arduino
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K
TEP , The Engineering Projects , Arduino
Matlab
200
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K
TEP , The Engineering Projects , Arduino
TEP , The Engineering Projects , Notification 20K
TEP , The Engineering Projects , Tick 900
TEP , The Engineering Projects , Views 900
TEP , The Engineering Projects , Comments 20K