PWM controller with PIC18f2455

Posted on Oct 16, 2012

The use of pulse width modulation (PWM) is common for the use of controlling power to a particular electrical device. Motor speed control, LED contrast control, power supplies are some of the example usage of PWM. 18 series PIC always come with a CCP module which is capable of generating PWM. The picture below shows an example of using the capture/compare/pwm (CCP) module to control the LED brightness. PWM duty cycle is set accordingly using the value obtain from the potential meter through the ADC with 5v being the brightness and 0v dimmest for the LED.

PWM controller with PIC18f2455
Click here to download the full size of the above Circuit.

The test circuit below is constructed to test the PWM module of PIC18f2455. LED of the 2x16 LCD is controlled by a NPN transistor BC547. PWM output is feed through CCP1 for the brightness control. The example below uses the code from ADC and LCD guides. Next step would be to set the CCP module to function as a PWM. Timer 2 is tied to the PWM function for the generation of CCP. PR2 is used to determine the Period of the PWM pulse. CCPR1L and bit 4 and 5 of CCP1CON control the duty cycle of the generated PWM. With this we can obtain a pwm period and maximum duty cycle of PWM Period = (255 + 1) * 4 * (1 / (8 * (10^6))) = 0.000128 Max PWM Duty Cycle period = (1024 * (1/(8*10^6))) =0.000128 allowing us to use full 10 bit to control the duty cycle of the PWM. The 10 bit adc value is set in to the corresponding bit for the control of the PWM. Below is the code for the update of pwm duty cycle. Fill attached contain the project for the example.

Leave Comment

characters left:

New Circuits



Popular Circuits

Circuit converts pulse width to voltage
LED Flasher with 555
Auto-advance projector
high impedance input JFET/BJT buffer circuit
50 Watt Amplifier Circuit Using Transistor
water level circuit
why doesnt this circuit oscillate
Propeller Clock
Acceleration Monitor using ADXL202 and AVR
why have my power dooe locks lost the power to operate correctly
Arduino CAN Bus Interface
From the same period and vehicle route map