Problems with Microcontroller Projects? You may face many Problems, but do not worry we are ready to solve your Problems. All you need to do is just leave your Comments. We will assure you that you will find a solution to your project along with future tips. On Request we will Mail you the Codes for Registered Members of this site only, at free service...Follow Me.

DC Motor Speed Control using PWM


This project gives a speed control of DC motor through PWM method. The Dc motor is derived by the L298 driver IC. You can also control the direction of the motor.

There are three buttons to control the motor. Also a bar graph Led display indicate the speed of the motor. An proteus simulation file is also available at the download so that you can check the code on your PC. Project from this Link

Circuit Diagram

DC-moto-speed-control


Bascom Code


$regfile = "m16def.dat" $crystal = 1000000 '============================================================================ Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1024 Config Portb = Input Config Portc = Output Config Porta = Output '============================================================================ Dim A As Word , B As Bit '============================================================================ Declare Sub Progress(num As Word) '============================================================================
= 100 Pwm1a = A
Portc.= 1 Portc.= 0
= 0 '============================================================================ Do '//////////////////////////////////////////////////////////////////////////// If Pinb.= 1 Then
= A + 10
If A >= 250 Then A = 250
Pwm1a = A
Waitms 250 End If '//////////////////////////////////////////////////////////////////////////// If Pinb.= 1 Then
= A - 10
If A <= 10 Then A = 10
Pwm1a = A
Waitms 250 End If '//////////////////////////////////////////////////////////////////////////// If Pinb.= 1 Then 
If B = 0 Then
= 1
Portc.= 0
Portc.= 1
Elseif B = 1 Then
= 0
Portc.= 1
Portc.= 0
End If
Waitms 250
End If '//////////////////////////////////////////////////////////////////////////// Call Progress(a) '//////////////////////////////////////////////////////////////////////////// Loop '============================================================================ End '/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ 
Sub Progress(num As Word
If Num < 25 Then
Portc.= 1
Portc.= 0
Porta = 0 End If If Num < 50 And Num >= 25 Then
Portc.= 1
Portc.= 1
Porta = 0 End If If Num < 75 And Num >= 50 Then
Portc.= 1
Portc.= 1
Porta = &B00000001 End If If Num < 100 And Num >= 75 Then
Portc.= 1
Portc.= 1
Porta = &B00000011 End If If Num < 125 And Num >= 100 Then
Portc.= 1
Portc.= 1
Porta = &B00000111 End If If Num < 150 And Num >= 125 Then
Portc.= 1
Portc.= 1
Porta = &B00001111 End If If Num < 175 And Num >= 150 Then
Portc.= 1
Portc.= 1
Porta = &B00011111 End If If Num < 200 And Num >= 175 Then
Portc.= 1
Portc.= 1
Porta = &B00111111 End If If Num < 225 And Num >= 200 Then
Portc.= 1
Portc.= 1
Porta = &B01111111 End If If Num < 255 And Num >= 225 Then
Portc.= 1
Portc.= 1
Porta = &B11111111 End If 
End Sub

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...

Recent Comments

Popular Projects

Give Support

Give Support
Encourage Me through Comments

Microcontroller Projects

Total Pageviews