Day 4 - PWM Modules Slide F11

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Cortex-M3

(DSP+FPU)
Up to 72MHz

Website: elec2pcb.com - Email: elec2pcb@gmail.com - Mobile: 0905 912 019


Chuẩn bị trước khi tham gia khóa học
1. Phần mềm Visual Studio Code (tải tại đây), hướng dẫn cài đặt
(tải tại đây)
2. Phần mềm nạp STM32 ST-Link Utility (tải tại đây)
3. Driver cho mạch nạp ST-Link (tải tại đây)
4. Phần mềm nạp Bootloader (tải tại đây)
5. Driver cho module USB-UART chip CP2102 (tải tại đây)
6. Tài liệu đọc của khóa học (tải tại đây)
7. Tài liệu video của khóa học (tải tại đây)
8. Diễn đàn trao đổi trong và sau khi học xong (Link đến)

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

• Xung là các trạng thái cao / thấp (HIGH/LOW) về mức điện áp


được lặp đi lặp lại. Đại lượng đặc trưng cho 1 xung PWM (Pulse
Width Modulation) bao gồm tần số (frequency) và chu kì xung
(duty cycle).
• Tần số là số lần lặp lại trong 1 đơn vị thời gian. Đơn vị tần số là
Hz, tức là số lần lặp lại dao động trong 1 giây.
8
1. Bộ điều chế độ rộng xung PWM
Các kiến thức cơ bản

PWM có 2 thành phần chính để tạo ra duty cycle của pwm là :


+ độ rộng của 1 chu kỳ xung (period)
+ giá trị của xung cao là bao nhiêu so với period (pulse width).

• 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

Ngoài ra còn có thể điều chỉnh TIM2_CH1,2,3 để sử dụng


A_1,PA_2,PA_3 : TIM2_CH2,TIM2_CH3,TIM2_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

Website: elec2pcb.com - Email: elec2pcb@gmail.com - Mobile: 0905 912 019

30
30

You might also like