PWM with Arduino


                        

  What is PWM:                 

                   Pulse Width Modulation or PWM is a technique for supply in electrical 
   power to a load that has a relatively slow response. The supply signal  consists 
   of a  train of voltages pulses such that the width of individual pulses controls the
   voltage level to the load. Both AC and DC signal scan be simulated with pwm.
   In   these notes i will describe the use of PWM on an Arduino for controlling LEDS  
   and DC motors.Pulse width modulation (PWM) is an essential skill way for
   connecting Arduino microcontrollers to motors or lights, providing a way to 
   approximate analog voltage   levels with digital signals. Using PWM, you can control
   you can control and program the brightness of   lights and the speed of 
   motors—bringing your projects to life. In Arduino uno you have  pin 3, 5, 6,9, 10 
   and 11 are pwm pins that you can used for generating a pulse that you   want.
   PWM stands for Pulse Width Modulation.

  • It is a technique for getting analog results with digital means!
  • PWM frequency of Arduino is 500 Hz i.e. Arduino throws 500 PWM signals in 1 sec.
  • So, PWM duration of Arduino is 1/500 Hz = 2 ms.
   Digital control is used to create a square wave, a signal switched between LOW 
   and  HIGH in each PWM duration.The Duty cycle (or pulse width) is the % of  
   time the signal remains HIGH in a single PWM duration.
   Here is an Example for understanding Duty cycle.

   int led=6;

   void setup() { 


   pinMode (led,OUTPUT);
   }

   void loop() {
   digitalWrite(led,1);  

   delay(1000); 

   digitalWrite(led,0); 

   delay(1000); 

    }

             DUTY CYCLE: The duty-cycle is simply the ratio of how long each cycle 
   is HIGH versus how long it is LOW. From the example above, we have a signal that 
   is always 50% HIGH and 50% LOW every cycle. To change the duty-cycle of
   the  PWM  signal, we would only need to divide each cycle time into something other 
   than 50/50.  For instance to raise the duty-cycle of the signal we have been
   working with to say  75%, we would need to make the HIGH delay_time a tad bit
   longer than the LOW  delay_time.The duty cycle is controlled by analogWrite
   statement in sketches, such  that:
  
   analogWrite(pin,0) = 0% duty cycle
   analogWrite(pin,64) = 25% duty cycle
   analogWrite(pin,127) = 50% duty cycle
   analogWrite(pin,191) = 75% duty cycle
   analogWrite(pin,255) = 100% duty cycle

                            


                  Now lets see VOLTAGE OUTPUT the voltage output in pwm
   duration approximately the average of pulses that you generate means 
   (High & Low) undergonethrough that duration. For Example 50% PWM 
   obtain by analogWrite(127);   wil give output the average voltage of
                                             5 Volts x 50% ≈ 2.5 Volts
    and this formula used to find where you want to use for 25%, 50%, 75%, and 100%.     you can easly find the voltage output by using this and this output voltage vary with       change in pulses duration means at every HIGH or LOW time that you set and when     you solve for output voltages you got different output voltage this is the used of pwm       that you can got any voltage output in this artical i am naw going to show you the           Fading led by using pwm (Pulse Width Modulation) in defferent output voltages so   
    you can  easly analyzed that how led dim, moderate  and glow with his different             voltages and  different duty cycle. Note that there is change in voltages from 0 to 5       and the change in  value from 0 to 255 so its up to you that you can set any value it 
    is not necessary that  you only used 0,64, 127, 191, 255 for 0%, 25%, 50%, 75%,        100% you can use any  other value that you want 20%, 68% or any etc you want.

     int pwmpin = 6;

     void setup() {

     pinMode(pwmpin,OUTPUT);

       }

     void loop() {

     analogWrite(pwmpin,0);

     delay(1000);


     analogWrite(pwmpin,64);

     delay(1000); 

     analogWrite(pwmpin,127);

     delay(1000);

     analogWrite(pwmpin,255);

     delay(1000);
 
        }


    here you can see that how the voltages changes and what the impact of 
    this change in led.
   you have successfully completed one more Arduino "How to" tutorial and 
   you learned  the concepts of PWM.
   I hope you liked this, If you have any Query please  Comment. 

   There will be more of them, so make sure to click Follow button!
   Hope you enjoyed the lesson, keep looking at my profile for more arduino
   lessons soon.  
PWM with Arduino PWM with Arduino Reviewed by Immad fareed on 05:28 Rating: 5

No comments:

Entertainment

Powered by Blogger.