Điều chế độ rộng xung (Pulse Width Modulation) (PWM) là thay đổi chiều rộng của xung (Không phải tần số). Tức là tín hiệu PWM chỉ có thời gian ON – OFF là thay đổi còn tần số luôn luôn cố định. Bằng kỹ thuật này, chúng ta có thể điều chỉnh điện áp cho trước. Xét xung vuông như hình bên dưới :

*

Các thời gian ON và OFF khác nhau, tuy nhiên chu kì T ( hay tần số f) là cố định. Vì vậy đây 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.

Bạn đang xem: độ rộng xung là gì

Ứng dụng của PWM :

PWM được ứng dụng nhiều trong lĩnh vực điện – điện tử. Điển hình nhất mà chúng ta thường hay gặp là điều khiển động cơ , điều áp… Sử dụng PWM điều khiển độ nhanh chậm của động cơ , nó còn được dùng để điều khiển sự ổn định tốc độ động cơ.

Xem thêm: đào Bitcoin Là Gì – Cách Tính Lợi Nhuận Máy đào Coin

Ngoài lĩnh vực điều khiển hay ổn định tải thì PWM còn tham gia và điều chế các mạch nguồn như : boot, buck, nghịch lưu 1 pha và 3 pha…

Xem thêm: Pinyin Là Gì – Bính âm Hán Ngữ

 

*

Công thức tính giá trị trung bình của điện áp :

U=Umax * Ton/T ; hay U = Umax*duty ; duty=Ton/T;

Ví dụ : Umax=12V; 20% duty : U=12*20/100= 2.4V

Điều chế độ rộng xung với vi điều khiển PIC :

Vi điều khiển PIC 16F877A cung cấp 2 module CCP (Capture/Compare/PWM) có thể xuất ra 2 Xung độc lập với nhau tại 2 chân RC1 và RC2. Sử dụng Timer 2 (8 bit) để tạo thời gian trễ cho PWM. Có 2 thông số cần phải chú ý : 

1. Số nạp cho timer 2 :

setup_timer_2 (mode, period, postscale) ; period= fc/(fpwm*4*div)-1 trong đó fc là tần số thạch anh, fpwm là tần số PWM cần tính, div là hệ số chia . postscale chọn PWM 1 hay 2. mode : T2_DISABLED, T2_DIV_BY_1, T2_DIV_BY_4, T2_DIV_BY_16.

Ví dụ : phát xung pwm tần số 10khz=10000Hz; duty=20%;

setup_timer_2(T2_DIV_BY_4,74,1); period=12000000/(10000*4*4)-1=74 

2. Tính duty cycle : set_pwm1_duty(value) trong đó value là số nguyên 8 bit hoặc 16 bit

– Đối với 8 bit : value= period*duty

– Đối với 16 bit : value=4* period*duty

trong ví dụ này : set_pwm1_duty((int16)59); hoặc set_pwm1_duty(14) (value=4*74*20/100=59 hoặc 74*20/100=14.8 làm tròn 14)

 Các bạn có thể download bài học tại đây : Điều chế độ rộng xung PWM-PIC-bài 6

Xem video mô phỏng :

Nếu bạn thấy hay hãy đăng ký , chia sẻ giúp tôi nhé chúng tôi sẽ thường xuyên cập nhật kiến thức mới về vi điều khiển PIC tại đây

Chuyên mục: Hỏi Đáp