SEARCH
TOOLBOX
LANGUAGES
modified on 17 September 2014 at 19:10 ••• 19,602 views

04-06 SoftwarePWM

From Manuals

Jump to: navigation, search

This example controls the Servo using a software PWM. The servo motor is a HiTEC HS0422.

The signals used for this example are listed below:

Signals Used and Connector Locations for Example 04-06
Signal LPC4330 PIN NAME BAM210E BAM210 BAM200E BAM200 Used for
p21 P6_5 J9-1 J9-1 S2-5 S2-5 Servo Control Signal

The following schematic can be used to build the circuit with a BAM210E or BAM210.

BAM210
Schematic for example 04-06
/*Program Example 4.6: Software generated PWM. 2 PWM values generated in turn, with full on and off included for comparison.
                                                                             */
#include "mbed.h"
DigitalOut motor(p21);
int i;

int main()
{
   while(1) {
       motor = 0;                    //motor switched off for 5 secs
       wait (5);
       for (i=0; i<5000; i=i+1) {    //5000 PWM cycles, low duty cycle
           motor = 1;
           wait_us(400);               //output high for 400us
           motor = 0;
           wait_us(600);               //output low for 600us
       }
       for (i=0; i<5000; i=i+1) {    //5000 PWM cycles, high duty cycle
           motor = 1;
           wait_us(800);               //output high for 800us
           motor = 0;
           wait_us(200);               //output low for 200us
       }
       motor = 1;                    //motor switched fully on for 5 secs
       wait (5);
   }
}

The following image shows the built circuit on a BAM210E.