Example 12 Pulse-Width Modulation (PWM): Motors and Servos - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Example 12 Pulse-Width Modulation (PWM): Motors and Servos

Description:

Example 12 Pulse-Width Modulation (PWM): Motors and Servos Lecture L8.1 Using an AC Relay Example 12 Pulse-Width Modulation (PWM): Motors and Servos Lecture L8.1 ... – PowerPoint PPT presentation

Number of Views:351
Avg rating:3.0/5.0
Slides: 15
Provided by: RichardH6
Category:

less

Transcript and Presenter's Notes

Title: Example 12 Pulse-Width Modulation (PWM): Motors and Servos


1
Example 12 Pulse-Width Modulation (PWM)Motors
and Servos
  • Lecture L8.1

2
PIM_9DP256 Block Diagram
PWM Port
3
PWM Pins PP0 PP7
Pins 4,3,2,1, 112,111,110,109
4
PWM Pins PP0 PP7
Pins 4,3,2,1, 112,111,110,109
5
Motor Driver Circuit
Solid-state relay
6
MOS FET Relays
G3VM-61B1
7
Motor Generator Experiment
8
Using an AC Relay
9
Pulse-Width Modulation
10
(No Transcript)
11
// Example 12a Motor demo include lthidef.hgt
/ common defines and macros / include
ltmc9s12dp256.hgt / derivative information
/ include "main_asm.h" / interface to the
assembly module / pragma LINK_INFO DERIVATIVE
"mc9s12dp256b" void main(void) int val int
speed PLL_init() // set system clock
frequency to 24 MHz ad0_enable() //
enable a/d converter 0 lcd_init()
// enable lcd motor1_init() //
enable 8-bit pwm1 for motor while(1) val
ad0conv(7) // 0 - 1023 speed val gtgt
2 // 0 - 255 set_lcd_addr(0x40) // 2nd
line of lcd display write_int_lcd(speed) //
display speed motor1(speed) // set
motor speed ms_delay(100) // delay 100
ms
12
Controlling the Position of a Servo using PWM
13
(No Transcript)
14
// Example 12b Servo demo include lthidef.hgt
/ common defines and macros / include
ltmc9s12dp256.hgt / derivative information
/ include "main_asm.h" / interface to the
assembly module / pragma LINK_INFO DERIVATIVE
"mc9s12dp256b" void main(void) int val int
width PLL_init() // set system clock
frequency to 24 MHz ad0_enable() //
enable a/d converter 0 lcd_init()
// enable lcd servo1_init() //
enable pwm1 for servo while(1) val
ad0conv(7) // 0 - 1023 width (val ltlt
1) 3536 // width 3536 - 5582
set_lcd_addr(0x40) // line 2 of lcd display
write_int_lcd(width) // display width on lcd
set_servo1(width) // move servo to pos
width ms_delay(100) // delay 100 ms
Write a Comment
User Comments (0)
About PowerShow.com