PWM Pulse Width Modulation ME 44476405 November 3
PWM Pulse Width Modulation ME 4447/6405 November 3 rd, 2011 Gregory Bonisteel Bryan Oneal Jieun Yoo
Outline � Introduction and Definition ◦ Duty Cycle � Types of PWM � Method of Generation � Implementation on the HCS 12 � Applications of PWM � Choosing PWM Frequency 2
Presenter: Jieun Yoo � Introduction and Definition ◦ Duty Cycle � Types of PWM � Method of Generation � Implementation on the HCS 12 � Applications of PWM � Choosing PWM Frequency 3
Definition � Pulse Width Modulation (PWM) is the way of controlling a digital signal simulating an analog signal. � The on-off behavior changes the average power of signal. � Output signal alternates between on and off with in specified period. 4
Duty Cycle A percentage measurement of how long the signal stays on. On Off VH VL Duty Cycle (D) Period (T) 5
Duty Cycle � Duty Cycle: � Average signal : (Usually, VL is taken as zero volts for simplicity. ) On Off VH VL Duty Cycle (D) Period (T) 6
Presented by: Bryan O’Neal Duty Cycle Characteristic • The average value of a PWM signal increases linearly with the duty cycle 7
Types of PWM – Lead Edge Modulation � The lead edge is fixed at the lead edge of the window and the trailing edge is modulated. 8
Types of PWM – Trail Edge Modulation � The trail edge is fixed and the lead edge is modulated. 9
Types of PWM – Centered Pulses � The pulse center is fixed in the center of the time window and both edges of pulse are modulated 10
Analog Generation of PWM � Analog PWM signals can be made by combining a saw- tooth waveform and a sinusoid PWM output is formed by the intersection of the saw-tooth wave and sinusoid 11
Presenter: Gregory Bonisteel � Introduction and Definition ◦ Duty Cycle � Types of PWM � Method of Generation � Implementation on the HCS 12 � Applications of PWM � Choosing PWM Frequency 14
Pulse Width Modulator: PWM 8 B 6 CV 1 • Similar to output compare • Port P • Six 8 -bit channels or three 16 -bit channels for greater resolution • Four clock sources (A, B, SA and SB) provide for a wide range of frequencies • Emergency shutdown • Modes of operation – Wait mode – Freeze mode
PWM Block Diagram • Each Channel has; • Enable/disable switch • Dedicated counter • Programmable period and duty cycle • Programmable center or left aligned • Programmable clock select logic • Software selectable duty pulse polarity
PWM Register Memory Map
PWM Enable Register � Located at $00 E 0 � Set PWMEx to 0 to disable the channel � Set PWMEx to 1 to enable it � Note: ◦ Channel is activated when bit is set ◦ If 16 -bit resolution used, then PWME 4/2/0 are deactivated
PWM Polarity Register � Located at $00 E 1 � Set PPOLx to 0, signal goes from low to high � Set PPOLx to 1, signal goes from high to low
PWM Clock Select Register � Located � Set at $00 E 2 PCLK 5/4/1/0 to use clock A PCLK 5/4/1/0 to 1 to use clock SA PCLK 3/2 to 0 to use clock B PCLK 3/2 to 1 to use clock SB
PWM Prescale Clock Select Register • Located at $00 E 3 • Used to prescale clocks A and B
PWM Center Align Enable Register � Located at $00 E 4 � Set CAEx to 0 for left align signal � Set CAEx to 1 for center align signal � Note: ◦ Can only be set when channel is disabled ◦ Signal changes when counter is equal to period register
Left vs. Center Aligned • In the left aligned mode, the PWM counter is a upcounter and rests to zero when it overflows • In the center aligned mode, the PWM counter goes from a down-count to a up-count to downcount, etc.
PWM Control Register � � � � Located at $00 E 5 Set CONxy to 0 to keep PWM channels separate (8 -bit) Set CONxy to 1 to concatenate PWM channels x and y together (16 -bit). x becomes the high byte and y becomes the low byte Channel y determines the configuration Bits PSWAI and PFRZ set either wait or freeze mode Note ◦ Changes only occur when channels are disabled
PWM Scale A Register � Located at $00 E 8 � Programmable scaling of clock A to generate clock SA � Note
PWM Scale B Register � Located at $00 E 9 � Programmable scaling of clock B to generate clock SB � Note
PWM Channel Counter Register � Located at $00 EC through $00 F 1 � One per channel � It tracks the cycle counts � When channel is enabled up-count starts � Note ◦ Writing to counter while a channel is enable can cause irregular PWM cycles
PWM Channel Period Register � � Located at $00 F 2 through $00 F 7 PWMPERx Store a hexadecimal value to limit maximum value of counter Changes occur when one of following happen ◦ Current period ends ◦ Counter is written to ◦ Channel is disabled
PWM Channel Duty Register � Located at $00 F 8 through $00 FD � Store a hexadecimal value to control when signal changes � Changes occur when: ◦ Current period ends ◦ Counter written to ◦ Channel is disabled
PWM Shutdown Register $00 FE
Example: Configuring PWM Channel 0 Frequency: 40 k. Hz � Period = 1/Frequency = 25μs � Duty Cycle = 50% � Positive polarity � Left aligned output � To choose clock source, consider resolution of PWM ◦ Number of distinct duty cycle values is equal to the PWM period in clock cycles � Bus clock period is 125 ns 200*125 ns = 25μs � Since 200 < 255, we can use clock A with a prescaler=1 �
Example: Configuring PWM Channel 0 � PWMCLK = #$00 - PWM 0 uses clock A � PWMPRCLK = #$00 - Prescaler = 1 � PWMPOL = #$01 - Positive polarity � PWMCAE = #$00 - Left aligned � PWMPER 0 = #$C 8 - Period = 200 � PWMDTY 0 = #$64 - Duty cycle = 100/200 = 50% � PWME = #$01 - Enable PWM channel 0
Assembly Code PWME PWMCAE PWMDTY 0 PWMPER 0 PWMPOL PWMCLK PWMPRCLK EQU EQU $00 E 0 $00 E 4 $00 F 8 $00 F 2 $00 E 1 $00 E 2 $00 E 3 ORG LDAA STAA LDAA STAA. . . $1000 #$00 PWMCLK ; Use Clock A PWMPRCLK ; Clock A prescaler = 1 PWMCAE ; Left aligned output #$01 PWMPOL ; Positive polarity (starts high) #$C 8 PWMPER 0 ; Period = 200 (25μs) #$64 ; 100 decimal PWMDTY 0 ; Duty cycle = 50% (100/200) #$01 PWME ; Enable PWM Channel 0
Configuring Channel 0 in C Code // Setup chip in expanded mode MISC = 0 x 03; PEAR = 0 x 0 C; MODE = 0 x. E 2; TERMIO_Init(); // Init SCI Subsystem Enable. Interrupts; PWMPER 0 = 200; // set PWM period (125 ns * 200 = 25 us = 40 k. Hz) PWMDTY 0 = 100; // set initial duty cycle (100/200 = 50%) // setup PWM system PWMCLK_PCLK 0 = 0; // set source to clock A PWMPRCLK_PCKA 0 = 0; // set prescaler for clock A = 1, so clock A = bus clock PWMPRCLK_PCKA 1 = 0; PWMPRCLK_PCKA 2 = 0; PWMCAE_CAE 0 = 0; // "left aligned" output PWMPOL_PPOL 0 = 1; // set duty cycle to indicate % of high time PWMCNT 0 = 0; // write to counter to make changes take effect PWME_PWME 0 = 1; // enable PWM 0
Presenter: Bryan Oneal � Introduction and Definition ◦ Duty Cycle � Types of PWM � Method of Generation � Implementation on the HCS 12 � Applications of PWM � Choosing PWM Frequency 35
PWM Video Into to Applications � You Tube search: PWM Tutorial OR Click Link 36
Motivation for PWM • In the past, motors were controlled at intermediate speeds by using variable resistors to lower delivered power • For example, a variable resister located in the foot pedal and connected in series with the motor of a sewing machine was used to control its speed. • This method was inefficient • PWM provided a great way to have compact and low cost means for applying adjustable power for many devices. 37
PWM Applications � Use as ADC � DC Motors � Telecommunications � Voltage regulation � RC devices � Audio/Video effects � Power delivery � Amplification 38
PWM used with D/A conversion • commonly used in toys • lowpass filter smooths out transients from harmonic effects • frequency values of harmonics doesn’t change, but the amplitude does, which adjusts the analog output signal 39
Application to DC Motors Voltage supplied is directly proportional to the duty cycle � Ability to control the speed of the motor via the duty cycle Example Can be used in regulating room temperature. A PC can sense the current temperature (using an analog-to-digital converter) and then automatically increase/decrease the fan's speed accordingly. � 40
PWM used to transmit data in telecommunications • clock signal is found “inside” PWM signal • more resistant to noise effects than binary data alone • effective at data transmission over long distance transmission lines • The widths of the pulses correspond to specific data values encoded at one end and decoded at the other. • Pulses of various lengths (the information itself) will be sent at regular intervals (the carrier frequency of the modulation). 41
Using PWM to generate an analog voltage level Any shape waveform can be created � PWM frequency should be much higher than the frequency of waveform generated � 42
RC Devices Transmitters send PWM signals to the receivers on board of Radio controlled devices for specific control. 43
Audio devices � Used in audio amplifiers to generate output signals for cellphone speakers to high-power stereo systems � Produce less heat than traditional analog amplifiers � Saving energy. Critical for hand held electronics. � Gives a sound effect similar to chorus when used in audio circuit. 44
Video devices � PWM dimming provides superior color quality in LED video display � With a 12 bits resolution the TLC 5940 PWM dimming can provide up to 68. 7 million colors to a pixel. 45
Power delivery � effective at data transmission over long distance transmission line � Power transfer: PWM used to reduce the total power given to a load without relying on resistive losses 46
Example: PWM with 555 Timer Potentiometer is used to adjust the duty cycle 47
Brightness controlled with a PWM circuit. 48
Frequency of the PWM Signal Lower Limits 1. Must be at least 10 times higher than the control system frequency 2. Higher than 20 k. Hz – audible frequency of sounds to avoid annoying sound disturbances. 3. If too low the motor is pulsed, not continuous, because the motor’s inductance can not maintain the current 4. Inverse of frequency should be much less than the motor/load time constant 5. Higher error from ripple voltages Upper Limits 1. If too high the inductance of the motor causes the current drawn to be unstable 2. MOSFET transistor generates heat during switching 3. Limited by resolution of controller 4. Eddy currents generated in electromagnetic coils which lead to adverse heating 5. Heat losses in electromagnetic materials is proportional to frequency squared 49
Choosing your PWM frequency Input signal (PWM) Output signal (actuator response) 50
Matlab can do PWM! The procedure works similar to the generation of analog PWM using a sinusoid and sawtooth wave 51
Where can I buy a PWM controller? - Texas Instruments - Digikey - Mouser Electronics - Critical Velocity Motor Control Large SMALL Texas Instruments TAS 5508 B 8 -Channel Digital Audio PWM Processor 64 pin chip, max 192 k. Hz frequency $7. 25 18 k. Hz frequency Continuous 28 amps $55. 95 120 amps, used for hybrid vehicles $469. 00 H U G E 52
- Slides: 50