Professional Documents
Culture Documents
Day 4 - PWM Modules Slide F11
Day 4 - PWM Modules Slide F11
Day 4 - PWM Modules Slide F11
(DSP+FPU)
Up to 72MHz
3
Nội dung
1. Bộ điều chế độ rộng xung PWM
2. Sử dụng PWM trong Mbed
3. Một số ví dụ trên Visual Studio Code
4. Một số bài tập về nhà
4
Nhắc lại các bộ dao động
Clock tree
5
Nhắc lại các bộ dao động
Clock tree
6
Nhắc lại sơ đồ khối bộ Timer
7
1. Bộ điều chế độ rộng xung PWM
Các kiến thức cơ bản
• Cấu hình timer cho pwm: sẽ quyết định độ rộng của 1 chu kỳ xung pwm là bao
nhiêu (period)
• Cấu hình PWM : sẽ quyết định phần trăm của xung mức cao là bao nhiêu
phần trăm (pulse width)
9
1. Bộ điều chế độ rộng xung PWM
Các kiến thức cơ bản
10
1. Bộ điều chế độ rộng xung PWM
Khảo sát thí nghiệm
11
1. Bộ điều chế độ rộng xung PWM
Số lượng bộ PWM được hỗ trợ
• TIM1_CHx
PA_8,PA_9,PA_10,PA_11:
TIM1_CH1,TIM1_CH2,TIM1_CH3,TIM1_CH4
• TIM3_CHx
PA_6,PA_7,PB_0,PB_1 :
TIM3_CH1,TIM3_CH2,TIM3_CH3,TIM3_CH4
• TIM5_CHx
PA_0,PA_1,PA_2,PA_3 :
TIM5_CH1,TIM5_CH2,TIM5_CH3,TIM5_CH4
12
1. Bộ điều chế độ rộng xung PWM
13
2. Sử dụng PWM trong Mbed
• Sử dụng hàm PwmOut để khai báo và sử dụng điều khiển tín hiệu
ngõ ra là PWM
Ví dụ: PwmOut LED_0(PA_8); //TIM1_CH1
• Sử dụng hàm period để thiết lập chu kỳ của tín hiệu xung PWM
Ví dụ: LED_0.period(2.0f); // 2 second period
• Sử dụng hàm write để thiết lập mức phần trăm thời gian xung
dương của tín hiệu PWM
Ví dụ: LED_0.write(0.5f);
// 50% duty cycle
//relative to period 1s ON 1s OFF
14
2. Sử dụng PWM trong Mbed
• Chu kỳ xung mặc định là 0.02s, Xung mặc định là 0
• Có thể thay thế hàm write bằng hàm pulsewidth cho thời gian xung
dương
Ví dụ: LED_0.pulsewidth(2);
// alternative to LED_0.write, set duty cycle time in 2 seconds
15
2. Sử dụng PWM trong Mbed
Thư viện hỗ trợ sử dụng các hàm PWM
16
2. Sử dụng PWM trong Mbed
Thư viện hỗ trợ sử dụng các hàm PWM
17
3. Một số ví dụ viết trên Visual Studio Code
Trích mạch nguyên lý KIT STM32F103
18
3. Một số ví dụ viết trên Visual Studio Code
Ví dụ 1: Nhấp nháy LED đơn chu kỳ 1s dùng PWM
Mbed
19
3. Một số ví dụ viết trên Visual Studio Code
Ví dụ 2: Điều khiển LED RGB dùng PWM
Mbed
20
4. Một số bài tập về nhà
BTVN 1: Điều khiển động cơ Servor
21
Tra cứu thư viện Mbed trên máy tính
ACER là tên máy tính của mình nhé! Các bạn là khác!
C:\Users\ACER\.platformio\packages\framework-
mbed\drivers 22
22
Chỉnh sửa HAL API trên máy tính
ACER là tên máy tính của mình nhé! Các bạn là khác!
C:\Users\ACER\.platformio\packages\framework-
mbed\targets\TARGET_STM\TARGET_STM32F1\device 23
23
Tra cứu thư viện Mbed trên web
https://os.mbed.com/docs/mbed https://os.mbed.com/docs/mbed-
-os/v5.11/apis/drivers.html os/v6.14/apis/drivers.html 24
24
Trang cộng đồng Mbed
https://os.mbed.com/code/?_ga=2.36443874.3551047
79.1540041349-1319084337.1540041349
25
25
Trang cộng đồng ST
https://community.st.com/s/
26
26
Được giải đáp thắc mắc trong và sau khi học tại diễn đàn này
https://www.facebook.com/groups/1952065898399986/
27
27
Youtube
https://www.youtube.com/channel/UC7b10JGIt5MlQK
28
RLBMHR3eA/featured 28
https://www.facebook.com/elec2pcb/
29
29
Website
30
30