Lý thuyết PWM

Một phần của tài liệu THỰC HÀNH LẬP TRÌNH NHÚNG NÂNG CAO LẬP TRÌNH STM32 (Trang 61 - 63)

Phương pháp điều xung PWM (Pulse Width Modulation) là phương pháp điều chỉnh điện áp ra tải, hay nói cách khác, là phương pháp điều chế dựa trên sự thay đổi độ rộng của chuỗi xung vuông, dẫn đến sự thay đổi điện áp ra.

.

Duty Cycle là tỷ lệ phần trăm mức cao.

Pulse Width (TON) là thời gian ở mức cao trong một chu kì.

Khi làm việc với STM32, tính năng PWM nằm trong khối Timer của vi điều khiển.

Một số thanh ghi quan trọng trong chế độ PWM Generation:

TIMx prescaler (TIMx_PSC): Thanh ghi chứa giá trị chia xung clock được cấp vào từ bus APB.

+ TIMx counter register(TIMx_CNT): Thanh ghi lưu giá trị của Counter (CNT).

CNT[15:0] (Bit 15:0): Dãy bit lưu giá trị CNT.

+ TIMx auto-reload register (TIMx_ARR): Trong chế độ PWM, thanh ghi này lưu giá trị độ phân giải của xung PWM (ví dụ độ phân giải là 100 thì LED có thể có 100 mức độ sáng khác nhau)

ARR[15:0] (Bit 15:0): Dãy bit lưu giá trị ARR

+ TIMx capture/compare register x (TIMx_CCRx): Giá trị của thanh ghi này được dùng để làm mốc

so sánh với Counter

Tài liệu tham khảo: Lập trình nhúng nâng cao

STM32F411 hỗ trợ 2 chế độ PWM như sau

+ Mode1: Nếu sử dụng chế độ đếm lên thì ngõ ra sẽ ở mức logic 1 khi CNT <CRR và ngược lại, ở mức 0 nếu CNT>CRR. Nếu sử dụng chế độ đếm xuống, đầu ra sẽ ở mức 0 khi CNT > CRR và ngược lại, ở mức 1 khi CNT < CRR.

+ Mode2: Nếu sử dụng chế độ đếm lên thì ngõ ra sẽ ở mức logic 0 khi CNT <CRR và ngược lại, ở mức 1 nếu CNT>CRR. Nếu sử dụng chế độ đếm xuống, đầu ra sẽ ở mức 1 khi CNT > CRR và ngược lại, ở mức 0 khi CNT<CRR.

PWM được sử dụng trong rất nhiều ứng dụng như điều chỉnh điện áp đầu ra để thay đổi độ sáng đèn LED, điều khiển động cơ; điều chế bản tin bởi sóng mang, tạo âm thanh…

Một phần của tài liệu THỰC HÀNH LẬP TRÌNH NHÚNG NÂNG CAO LẬP TRÌNH STM32 (Trang 61 - 63)