Trong bài này chúng ta sẽ phát sóng sin từ vi điều khiển PIC một cách đơn giản nhất, chỉ với vi điều khiển PIC 16F877A hoặc PIC 16F887 và các linh kiện cơ bản như điện trở, tụ điện và FET.. Tuy nhiên đây chỉ là một ví dụ cơ bản, sóng Sin chỉ đáp ứng về mặt dạng ( Hình sin) và tần số chứ không đáp ứng được về mặt công suất.

Mục đích của bài này giúp cho chúng ta hiểu rõ hơn về mạch lọc RC và cách sử dụng chức năng PWM khi thay đổi độ rộng xung một cách linh hoạt giúp ích rất nhiều trong các ứng dụng về PWM, điều khiển công suất... các bạn có thể tham khảo bài : Điều chế độ rộng xung PWM

songsin

Các bạn mở proteus và vẽ mạch như hình bên dưới chú ý :

- PIC 16F877A hoặc PIC 16F887.

- Điện trở 4.7 Kohm

- Tụ điện : 10uF.

songsin

Nguyên lý phát sóng sin trong bài tập này :

- Phát xung vuông tần số cố định F= 1Khz bằng kỹ thuật PWM chỉ có độ rông xung là thay đổi từ 1%--100% duty cycle.

- setup_timer_2(T2_DIV_BY_16,186,1); // Lệnh này cho ta tần số PWM là 1 Khz

- set_pwm1_duty(value) // Lện này cho ta độ rông xung thay đổi theo biến value  theo công thức value=4*186*duty (16 bit)

các bạn có thể sử dụng bảng excel để tính giá trị value tương ứng với duty cycle từ 1%--100% bằng công thức trên. Cứ mỗi 1% tăng lên của duty cycle thì tương ứng với giá trị value tăng gần 7 đơn vị.

Như vậy nếu cứ 1ms thì thay đổi độ rộng xung một lần thì 100ms sẽ chạy được từ 1%--100% sau 200ms thì sẽ đi được hết chu kì của sóng sine như vậy tần số sẽ là 1/0.2=5HZ.

Các bạn có thể download bài học : Phát sóng sin bằng vi điều khiển PIC

Xem mô phỏng bài tập tại đây 

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