Điều chỉnh độ rộng xung PWM (Pulse Width Modulation) bằng

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống kiểm soát năng lượng cho xe máy điện đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 30 - 33)

Khái niệm PWM

PWM là khái niệm chỉ tín hiệu xung mà thường thì chu kỳ (Time period) của nó được cố định còn thời gian tín hiệu ở mức cao (duty cycle) của nó có thể được thay đổi để điều chỉnh điện áp đầu ra[7].

Hình 2.6 Đồ thị dạng xung điều chế PWM[7]

Tạo ra PWM tức là tạo ra những tín hiệu xung mà ta có thể điều khiển duty cycle (và cả Time period nếu cần thiết). PWM được ứng dụng nhiều trong điều khiển. Điển hình nhất mà chúng ta thường hay gặp là điều khiển động cơ và các bộ xung áp, điều áp… Sử dụng PWM điều khiển độ nhanh chậm của động cơ hay cao hơn nữa, nó còn được dùng để điều khiển sự ổn định tốc độ động cơ. 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ư: Boost, buck, nghịch lưu 1 pha và 3 pha,…

22 . Timer/Counter0 trên Atmega328P là một chức năng lý tưởng để tạo ra các tín hiệu PWM theo mong muốn.

Bộ Timer/Counter0 (bộ định thời/bộ đếm 0) trên Atmega 328P Sơ đồ khối Timer/Counter0

Hình 2.7 Sơ đồ khối bộ timer/counter0 trên Atmega 328P[6]

Các định nghĩa của Timer/Counter0

BOTTOM: Bộ đếm đạt tới giá trị BOTTOM khi nó có giá trị 0x00. MAX: Bộ đếm đạt tới giá trị MAX khi nó bằng 0xFF (hệ thập phân 255).

23 TOP: Bộ đếm đạt giá trị TOP khi nó bằng với giá trị cao nhất trong chuỗi đếm, giá trị cao nhất trong chuỗi đếm không nhất thiết là 0xFF mà có thể là bất kì giá trị nào được quy định trong thanh ghi OCRn (n=0,2), tùy theo chế độ thực thi.

Bộ định thời 0 có vài đặc điểm chính như: Bộ đếm đơn kênh, xóa bộ định thời khi có sự kiện so sánh khớp (compare match) và tự nạp lại, có thể đếm từ bộ dao động 32 KHz bên ngoài, chế độ PWM hiệu chỉnh pha,…

Compare Match: Đây là một chức năng của bộ định thời, theo đó giá trị của bộ định thời (giá trị thanh ghi TCNTn (n=0,..,3)) liên tục được so sánh với giá trị của thanh ghi OCRn (n=0,..,3). Khi hai giá trị này bằng nhau sẽ tạo ra sự thay đổi mức logic ở chân OCn (n=0,..,3). Nhờ đó, ta có thể tạo ra xung PWM ở ngõ ra OCn (n=0,..,3) của vi điều khiển. Thanh ghi: Timer/Counter0 có tổng cộng 7 thanh ghi 8-bit bao gồm: TCCR0A, TCCR0B, TCNT0, OCR0A, OCR0B, TIMSK0 và TIFR0. Các thanh ghi này chứa các bit dùng để thiết lập chế độ hoạt động của bộ Timer/Counter0.

Có 4 chế độ hoạt động trên bộ Timer/Counter0 bao gồm: Normal mode (chế độ thường), Clear Timer on Time Compare Match (CTC) mode (chế độ Xóa Timer khi xảy ra Compare Match), Fast PWM mode (chế độ PWM tần số cao) và Phase Correct PWM mode (chế độ PWM với pha chính xác).

Fast PWM mode (chế độ PWM tần số cao)

Chế độ Fast PWM cung cấp một dạng sóng xung tần số cao. Trong chế độ Fast PWM, 1 chu kỳ được tính trong 1 lần đếm từ BOTTOM lên TOP (single-slope) vì vậy tần số hoạt động của Fast PWM có thể nhanh gấp 2 lần tần số của Phase Correct PWM (dual-slope). Tần số cao này làm cho chế độ PWM nhanh phù hợp với điều chỉnh công suất, chỉnh lưu và ứng dụng DAC. Tần số cao cho phép các thành phần bên ngoài có kích thước nhỏ (cuộn dây, tụ điện), và do đó làm giảm tổng chi phí hệ thống. Giá trị TOP (quy định giá trị Time Period) có thể là 0xFF hoặc giá trị mà ta đặt trên thanh ghi OCR0A tùy vào cách mà ta cài đặt các bit WGM (Waveform Generation Modulation) còn giá trị Duty cycle sẽ được quy định bởi giá trị trên thanh ghi OCR0A (TOP là 0xFF) hoặc OCR0B (TOP là OCR0A).

24 Hình 2.8 Chế độ Fast PWM[6]

2.2.4 Chuyển đổi tín hiệu tương tự sang tín hiệu số (ADC – Analog to Digital Converter) trên Atmega 328P

Một phần của tài liệu Nghiên cứu, thiết kế hệ thống kiểm soát năng lượng cho xe máy điện đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 30 - 33)