Transcript PWM
ME 4447/6405
November 3rd, 2011
Gregory Bonisteel
Bryan Oneal
Jieun Yoo
1
Introduction and Definition
◦ Duty Cycle
Types of PWM
Method of Generation
Implementation on the HCS12
Applications of PWM
Choosing PWM Frequency
2
Introduction and Definition
◦ Duty Cycle
Types of PWM
Method of Generation
Implementation on the HCS12
Applications of PWM
Choosing PWM Frequency
3
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
A percentage measurement of how long the signal
stays on.
On
Off
VH
VL
Duty Cycle
(D)
Period (T)
5
Duty Cycle:
Duty Cycle
On Time
100 %
Period
Average signal :
V avg D V H 1 D V L
(Usually, VL is taken as zero volts for simplicity.)
On
Off
VH
VL
Duty
Cycle (D)
Period (T)
6
Presented by: Bryan O’Neal
• The average value of a PWM signal
increases linearly with the duty cycle
7
The lead edge is fixed at the lead edge of the
window and the trailing edge is modulated.
8
The trail edge is fixed and the lead edge is
modulated.
9
The pulse center is fixed in the center of the time
window and both edges of pulse are modulated
10
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
Introduction and Definition
◦ Duty Cycle
Types of PWM
Method of Generation
Implementation on the HCS12
Applications of PWM
Choosing PWM Frequency
14
• 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
•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
Located at $00E0
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 PWME4/2/0 are
deactivated
Located at $00E1
Set PPOLx to 0, signal goes from low to high
Set PPOLx to 1, signal goes from high to low
Located at $00E2
Set PCLK5/4/1/0 to 0 to use clock A
Set PCLK5/4/1/0 to 1 to use clock SA
Set PCLK3/2 to 0 to use clock B
Set PCLK3/2 to 1 to use clock SB
Presclarer
Bus
• Located at $00E3
• Used
Clock
Frequency to prescale clocks A and B
Resolution PWM
Frequency
Bus Clock Frequency
(2
N
1) PWM Frequency
Located at $00E4
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
• In the left aligned mode,
the PWM counter is a
up-counter 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.
Located at $00E5
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
Located at $00E8
Programmable scaling of clock A to generate
clock SA
Note
Located at $00E9
Programmable scaling of clock B to generate
clock SB
Note
Located at $00EC through $00F1
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
Located at $00F2 through $00F7
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
Located at $00F8 through $00FD
Store a hexadecimal value to control when signal
changes
Changes occur when:
◦ Current period ends
◦ Counter written to
◦ Channel is disabled
$00FE
Frequency: 40 kHz
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*125ns = 25μs
Since 200 < 255, we can use clock A with a
prescaler=1
Example: Configuring PWM Channel 0
PWMCLK = #$00 - PWM0 uses clock A
PWMPRCLK = #$00 - Prescaler = 1
PWMPOL = #$01 - Positive polarity
PWMCAE = #$00 - Left aligned
PWMPER0 = #$C8 - Period = 200
PWMDTY0 = #$64 - Duty cycle = 100/200
= 50%
PWME = #$01 - Enable PWM channel 0
Assembly Code
PWME
PWMCAE
PWMDTY0
PWMPER0
PWMPOL
PWMCLK
PWMPRCLK
EQU
EQU
EQU
EQU
EQU
EQU
EQU
$00E0
$00E4
$00F8
$00F2
$00E1
$00E2
$00E3
ORG
LDAA
STAA
STAA
STAA
LDAA
STAA
LDAA
STAA
LDAA
STAA
LDAA
STAA
...
$1000
#$00
PWMCLK
PWMPRCLK
PWMCAE
#$01
PWMPOL
#$C8
PWMPER0
#$64
PWMDTY0
#$01
PWME
;Use Clock A
;Clock A prescaler = 1
;Left aligned output
;Positive polarity (starts high)
;Period = 200 (25μs)
;100 decimal
;Duty cycle = 50% (100/200)
;Enable PWM Channel 0
Configuring Channel 0 in C Code
// Setup chip in expanded mode
MISC = 0x03;
PEAR = 0x0C;
MODE = 0xE2;
TERMIO_Init(); // Init SCI Subsystem
EnableInterrupts;
PWMPER0 = 200; // set PWM period (125 ns * 200 = 25 us = 40 kHz)
PWMDTY0 = 100; // set initial duty cycle (100/200 = 50%)
// setup PWM system
PWMCLK_PCLK0 = 0; // set source to clock A
PWMPRCLK_PCKA0 = 0; // set prescaler for clock A = 1, so clock A = bus clock
PWMPRCLK_PCKA1 = 0;
PWMPRCLK_PCKA2 = 0;
PWMCAE_CAE0 = 0; // "left aligned" output
PWMPOL_PPOL0 = 1; // set duty cycle to indicate % of high time
PWMCNT0 = 0; // write to counter to make changes take effect
PWME_PWME0 = 1; // enable PWM 0
Introduction and Definition
◦ Duty Cycle
Types of PWM
Method of Generation
Implementation on the HCS12
Applications of PWM
Choosing PWM Frequency
35
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
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
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
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
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
PWM dimming provides superior color quality
in LED video display
With a 12 bits resolution
the TLC5940 PWM dimming can
provide up to 68.7 million colors
to a pixel.
45
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
48
Frequency of the PWM Signal
Lower Limits
1. Must be at least 10 times higher
than the control system frequency
2. Higher than 20kHz – 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
Input signal (PWM)
Output signal (actuator response)
50
The procedure works similar
to the generation of analog
PWM using a sinusoid and
saw-tooth wave
51
Where can I buy a PWM controller?
- Texas Instruments
- Digikey
- Mouser Electronics
- Critical Velocity Motor Control
SMALL
Texas Instruments
TAS5508B
8-Channel Digital Audio
PWM Processor
64 pin chip, max 192 kHz
frequency
$7.25
18 kHz frequency
Continuous 28 amps
$55.95
120 amps, used for
hybrid vehicles
$469.00
H
U
G
E
52