Outline
Introduction
PWM Generation in AVR
DC Motor Velocity Control
Using Pulse Width Modulation (PWM)
e-Yantra Team
Embedded Real-Time Systems Lab
Indian Institute of Technology-Bombay
IIT Bombay
March 9, 2020
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 1/19
Outline
Introduction
PWM Generation in AVR
Agenda for Discussion
1 Introduction
Pulse Width Modulation
Duty Cycle
2 PWM Generation in AVR
Timers in AVR
Timer/Counter 5 (TCNT5)
Output Compare Register
TCCR5A
TCCR5B
Summary
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 2/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Pulse Width Modulation
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Pulse Width Modulation
1 Pulse Width Modulation (PWM), is a method of transmitting
information on a series of pulses
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Pulse Width Modulation
1 Pulse Width Modulation (PWM), is a method of transmitting
information on a series of pulses
2 The data that is being transmitted is encoded on the width of these
pulses to control the amount of power being sent to a load
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Pulse Width Modulation
1 Pulse Width Modulation (PWM), is a method of transmitting
information on a series of pulses
2 The data that is being transmitted is encoded on the width of these
pulses to control the amount of power being sent to a load
3 Examples: Electric stoves, Lamp dimmers, and Robotic Servos
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Pulse Width Modulation
1 Pulse Width Modulation (PWM), is a method of transmitting
information on a series of pulses
2 The data that is being transmitted is encoded on the width of these
pulses to control the amount of power being sent to a load
3 Examples: Electric stoves, Lamp dimmers, and Robotic Servos
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Pulse Width Modulation
1 Pulse Width Modulation (PWM), is a method of transmitting
information on a series of pulses
2 The data that is being transmitted is encoded on the width of these
pulses to control the amount of power being sent to a load
3 Examples: Electric stoves, Lamp dimmers, and Robotic Servos
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 3/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
X The signal remains ”ON” for some time and ”OFF” for some time.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
X The signal remains ”ON” for some time and ”OFF” for some time.
X Ton = Time the output remains high.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
X The signal remains ”ON” for some time and ”OFF” for some time.
X Ton = Time the output remains high.
X Toff = Time the output remains Low.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
X The signal remains ”ON” for some time and ”OFF” for some time.
X Ton = Time the output remains high.
X Toff = Time the output remains Low.
X When output is high the voltage is 5v
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
X The signal remains ”ON” for some time and ”OFF” for some time.
X Ton = Time the output remains high.
X Toff = Time the output remains Low.
X When output is high the voltage is 5v
X When output is low the voltage is 0v
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
X The signal remains ”ON” for some time and ”OFF” for some time.
X Ton = Time the output remains high.
X Toff = Time the output remains Low.
X When output is high the voltage is 5v
X When output is low the voltage is 0v
X Time Period(T) = Ton + Toff
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
X The signal remains ”ON” for some time and ”OFF” for some time.
X Ton = Time the output remains high.
X Toff = Time the output remains Low.
X When output is high the voltage is 5v
X When output is low the voltage is 0v
X Time Period(T) = Ton + Toff
X Duty Cycle = Ton*100/(Ton + Toff)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle
X The signal remains ”ON” for some time and ”OFF” for some time.
X Ton = Time the output remains high.
X Toff = Time the output remains Low.
X When output is high the voltage is 5v
X When output is low the voltage is 0v
X Time Period(T) = Ton + Toff
X Duty Cycle = Ton*100/(Ton + Toff)
X Duty Cycle = 50%
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 4/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
X Ton = Time the output remains high = 1
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
X Ton = Time the output remains high = 1
X Toff = Time the output remains Low = 7
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
X Ton = Time the output remains high = 1
X Toff = Time the output remains Low = 7
X Duty Cycle = 12.5%
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 5/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
X Ton = Time the output remains High = 6
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
X Ton = Time the output remains High = 6
X Toff = Time the output remains Low = 2
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
Outline
Pulse Width Modulation
Introduction
Duty Cycle
PWM Generation in AVR
Duty Cycle (Contd..)
X Ton = Time the output remains High = 6
X Toff = Time the output remains Low = 2
X Duty Cycle = 75%
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 6/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM Generation in AVR
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM Generation in AVR
Pulse width waveform generated for motion control of Firebird V is:
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM Generation in AVR
Pulse width waveform generated for motion control of Firebird V is:
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM Generation in AVR
Pulse width waveform generated for motion control of Firebird V is:
Its generation involves the use of following registers:
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM Generation in AVR
Pulse width waveform generated for motion control of Firebird V is:
Its generation involves the use of following registers:
X Timer/Counter register 5 (TCNT5)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM Generation in AVR
Pulse width waveform generated for motion control of Firebird V is:
Its generation involves the use of following registers:
X Timer/Counter register 5 (TCNT5)
X Output Compare registers 5 (OCR5A and OCR5B)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM Generation in AVR
Pulse width waveform generated for motion control of Firebird V is:
Its generation involves the use of following registers:
X Timer/Counter register 5 (TCNT5)
X Output Compare registers 5 (OCR5A and OCR5B)
X Timer/Counter Control registers (TCCR5A and TCCR5B)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 7/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timers in AVR
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timers in AVR
1 The AVR microcontroller ATmega2560 has
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timers in AVR
1 The AVR microcontroller ATmega2560 has
Two 8-bit timers (Timer 0 and Timer 2) and
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timers in AVR
1 The AVR microcontroller ATmega2560 has
Two 8-bit timers (Timer 0 and Timer 2) and
Four 16-bit timers (Timer 1, 3, 4 and 5)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timers in AVR
1 The AVR microcontroller ATmega2560 has
Two 8-bit timers (Timer 0 and Timer 2) and
Four 16-bit timers (Timer 1, 3, 4 and 5)
2 For speed control of Firebird V, Timer 5 is used.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 8/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timer/Counter 5 (TCNT5)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timer/Counter 5 (TCNT5)
1 The Timer/Counter is a register that increments its value after every
clock cycle.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timer/Counter 5 (TCNT5)
1 The Timer/Counter is a register that increments its value after every
clock cycle.
2 The maximum value depends upon the resolution of Counter.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timer/Counter 5 (TCNT5)
1 The Timer/Counter is a register that increments its value after every
clock cycle.
2 The maximum value depends upon the resolution of Counter.
3 For example, a 3 bit counter will have 8 values (i.e. 0-7). Its
waveform will be seen as follows:
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timer/Counter 5 (TCNT5)
1 The Timer/Counter is a register that increments its value after every
clock cycle.
2 The maximum value depends upon the resolution of Counter.
3 For example, a 3 bit counter will have 8 values (i.e. 0-7). Its
waveform will be seen as follows:
4 For n-bit counter, maximum value = 2n − 1.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timer/Counter 5 (TCNT5)
1 The Timer/Counter is a register that increments its value after every
clock cycle.
2 The maximum value depends upon the resolution of Counter.
3 For example, a 3 bit counter will have 8 values (i.e. 0-7). Its
waveform will be seen as follows:
4 For n-bit counter, maximum value = 2n − 1.
5 The Timer/Counter 5 is a 16 bit register.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Timer/Counter 5 (TCNT5)
1 The Timer/Counter is a register that increments its value after every
clock cycle.
2 The maximum value depends upon the resolution of Counter.
3 For example, a 3 bit counter will have 8 values (i.e. 0-7). Its
waveform will be seen as follows:
4 For n-bit counter, maximum value = 2n − 1.
5 The Timer/Counter 5 is a 16 bit register.
6 We use it in 8-bit mode, for PWM generation.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 9/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Output Compare Register (OCR5A, OCR5B and OCR5C)
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Output Compare Register (OCR5A, OCR5B and OCR5C)
1 The value of the Timer/Counter 5 is constantly compared with a
reference value.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Output Compare Register (OCR5A, OCR5B and OCR5C)
1 The value of the Timer/Counter 5 is constantly compared with a
reference value.
2 This reference value is given in the Output Compare Register (OCR).
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Output Compare Register (OCR5A, OCR5B and OCR5C)
1 The value of the Timer/Counter 5 is constantly compared with a
reference value.
2 This reference value is given in the Output Compare Register (OCR).
3 Output Compare Registers associated with Timer 5 for PWM
generation: OCR5A, OCR5B and OCR5C.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Output Compare Register (OCR5A, OCR5B and OCR5C)
1 The value of the Timer/Counter 5 is constantly compared with a
reference value.
2 This reference value is given in the Output Compare Register (OCR).
3 Output Compare Registers associated with Timer 5 for PWM
generation: OCR5A, OCR5B and OCR5C.
4 For motion control of Firebird V, we use OCR5A and OCR5B
registers.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Output Compare Register (OCR5A, OCR5B and OCR5C)
1 The value of the Timer/Counter 5 is constantly compared with a
reference value.
2 This reference value is given in the Output Compare Register (OCR).
3 Output Compare Registers associated with Timer 5 for PWM
generation: OCR5A, OCR5B and OCR5C.
4 For motion control of Firebird V, we use OCR5A and OCR5B
registers.
5 OCR5A is associated with the OC5A pin (PORTL3). This pin is
connected to the enable(EN2) pin of motor driver, which is
associated with the left motor.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Output Compare Register (OCR5A, OCR5B and OCR5C)
1 The value of the Timer/Counter 5 is constantly compared with a
reference value.
2 This reference value is given in the Output Compare Register (OCR).
3 Output Compare Registers associated with Timer 5 for PWM
generation: OCR5A, OCR5B and OCR5C.
4 For motion control of Firebird V, we use OCR5A and OCR5B
registers.
5 OCR5A is associated with the OC5A pin (PORTL3). This pin is
connected to the enable(EN2) pin of motor driver, which is
associated with the left motor.
6 Similarly, OCR5B is associated with the OC5B pin (PORTL4). This
pin is connected to the enable(EN1) pin of motor driver, which is
associated with the right motor.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 10/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM signal for Left and Right motor
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
PWM signal for Left and Right motor
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 11/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
TCCR5A- Timer Counter Control Register A
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
TCCR5A- Timer Counter Control Register A
Bit Symbol Description Bit Value
7 COM5A1 Compare Output Mode for Channel A bit 1 1
6 COM5A0 Compare Output Mode for Channel A bit 0 0
5 COM5B1 Compare Output Mode for Channel B bit 1 1
4 COM5B0 Compare Output Mode for Channel B bit 0 0
3 COM5C1 Compare Output Mode for Channel C bit 1 1
2 COM5C0 Compare Output Mode for Channel C bit 0 0
1 WGM11 Waveform Generation Mode bit 1 0
0 WGM10 Waveform Generation Mode bit 0 1
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
TCCR5A- Timer Counter Control Register A
Bit Symbol Description Bit Value
7 COM5A1 Compare Output Mode for Channel A bit 1 1
6 COM5A0 Compare Output Mode for Channel A bit 0 0
5 COM5B1 Compare Output Mode for Channel B bit 1 1
4 COM5B0 Compare Output Mode for Channel B bit 0 0
3 COM5C1 Compare Output Mode for Channel C bit 1 1
2 COM5C0 Compare Output Mode for Channel C bit 0 0
1 WGM11 Waveform Generation Mode bit 1 0
0 WGM10 Waveform Generation Mode bit 0 1
1 There are 2 types of bits in TCCR5A: Compare output mode bit
waveform generation mode bit.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
TCCR5A- Timer Counter Control Register A
Bit Symbol Description Bit Value
7 COM5A1 Compare Output Mode for Channel A bit 1 1
6 COM5A0 Compare Output Mode for Channel A bit 0 0
5 COM5B1 Compare Output Mode for Channel B bit 1 1
4 COM5B0 Compare Output Mode for Channel B bit 0 0
3 COM5C1 Compare Output Mode for Channel C bit 1 1
2 COM5C0 Compare Output Mode for Channel C bit 0 0
1 WGM11 Waveform Generation Mode bit 1 0
0 WGM10 Waveform Generation Mode bit 0 1
1 There are 2 types of bits in TCCR5A: Compare output mode bit
waveform generation mode bit.
2 Compare Output Mode bits decide the action to be taken when
counter(TCNT5) value matches reference value in Output Compare
Register(OCR5).
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 12/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Compare Output Mode bits
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 13/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Compare Output Mode bits
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 13/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Cont..
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 14/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Cont..
1 We are using non-inverting mode for PWM generation.
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 14/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Cont..
1 We are using non-inverting mode for PWM generation.
2 Non-inverting mode and inverting mode
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 14/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Waveform Generation Bit
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 15/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Waveform Generation Bit
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 15/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
TCCR5B- Timer Counter Control Register B
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 16/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
TCCR5B- Timer Counter Control Register B
Bit Symbol Description Bit Value
7 ICNC5 Input Capture Noise Canceller 0
6 ICES5 Input Capture Edge Select 0
5 – Reserved Bit 0
4 WGM53 Waveform Generation Mode bit 3 0
3 WGM52 Waveform Generation Mode bit 2 1
2 CS52 Clock Select 0
1 CS51 Clock Select 1
0 CS50 Clock Select 1
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 16/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
TCCR5B- Timer Counter Control Register B
Bit Symbol Description Bit Value
7 ICNC5 Input Capture Noise Canceller 0
6 ICES5 Input Capture Edge Select 0
5 – Reserved Bit 0
4 WGM53 Waveform Generation Mode bit 3 0
3 WGM52 Waveform Generation Mode bit 2 1
2 CS52 Clock Select 0
1 CS51 Clock Select 1
0 CS50 Clock Select 1
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 16/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Clock Select Bits
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 17/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Clock Select Bits
PWMfrequency = Clockfrequency /(N ∗ 255)
where,
Clockfrequency = 14745600Hz
N = prescaler factor
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 17/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
In order to use Fast PWM mode to control the speed of dc motors of
Firebird V. We have to initialize following registers with the
corresponding values:
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
In order to use Fast PWM mode to control the speed of dc motors of
Firebird V. We have to initialize following registers with the
corresponding values:
X TCNT5L = 0x00
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
In order to use Fast PWM mode to control the speed of dc motors of
Firebird V. We have to initialize following registers with the
corresponding values:
X TCNT5L = 0x00
X TCCR5A = 0xA9
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
In order to use Fast PWM mode to control the speed of dc motors of
Firebird V. We have to initialize following registers with the
corresponding values:
X TCNT5L = 0x00
X TCCR5A = 0xA9
X TCCR5B = 0x0B
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
In order to use Fast PWM mode to control the speed of dc motors of
Firebird V. We have to initialize following registers with the
corresponding values:
X TCNT5L = 0x00
X TCCR5A = 0xA9
X TCCR5B = 0x0B
X OCR5AH = 0x00
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
In order to use Fast PWM mode to control the speed of dc motors of
Firebird V. We have to initialize following registers with the
corresponding values:
X TCNT5L = 0x00
X TCCR5A = 0xA9
X TCCR5B = 0x0B
X OCR5AH = 0x00
X OCR5AL = 0xFF
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
In order to use Fast PWM mode to control the speed of dc motors of
Firebird V. We have to initialize following registers with the
corresponding values:
X TCNT5L = 0x00
X TCCR5A = 0xA9
X TCCR5B = 0x0B
X OCR5AH = 0x00
X OCR5AL = 0xFF
X OCR5BH = 0x00
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Summary
In order to use Fast PWM mode to control the speed of dc motors of
Firebird V. We have to initialize following registers with the
corresponding values:
X TCNT5L = 0x00
X TCCR5A = 0xA9
X TCCR5B = 0x0B
X OCR5AH = 0x00
X OCR5AL = 0xFF
X OCR5BH = 0x00
X OCR5BL = 0xFF
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 18/19
Timers in AVR
Timer/Counter 5 (TCNT5)
Outline
Output Compare Register
Introduction
TCCR5A
PWM Generation in AVR
TCCR5B
Summary
Thank You!
www.e-yantra.org Firebird ATmega2560 Robotics Research Platform 19/19