![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Đệ tử 3 túi
Tham gia ngày: Oct 2006
Bài gửi: 50
: |
Tôi xin cảm ơn sự nhiệt tình của bác,
cho tôi hỏi, bây giờ ta lọc thông thấp đầu ra của PWM thì sẽ được sine 62.5Hz phải không bác nhỉ? |
![]() |
![]() |
![]() |
#2 | |
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 3 túi
Tham gia ngày: Oct 2006
Bài gửi: 50
: |
Đoạn code của bác , Tôi về thử đã chạy tốt.
Tôi xin hỏi bác câu hỏi cuối cùng trong topic này, mong bác bớt chút thời gian trả lời cụ thể giúp cho tôi và các anh em quan tâm: *Mục đích: -Tạo sóng sine với tần số 50Hz chuẩn, dùng cho Inverter DC-AC (hoặc mục đích khác) -Có tạo deadtime để điều khiển cầu H *Phương pháp thực hiện: -Sử dụng khối công suất PWM của PIC18F4431 để thực hiện việc đặt dutycycle theo quy luật sine. *Tính toán thông số: -Chọn tần số sóng mang PWM là 20Khz ---> Tpwm=50uS -Chọn Thạch Anh là 16MHz. -Có công thức Tpwm=(1+PTPER)/(Fosc:4)--->PTPER=199---->Dutycycle=0-199 -Tần số sóng sin là 50Hz--->Tsin=20ms -Thời gian update dutycycle là Tu=20E-3 / sizeof(sine_table) Bác cho em hỏi, - bảng sin như thế nào là hợp lý trong trường hợp này? - Thời gian update có vấn đề gì liên quan không?vì trong code của bác em chưa thấy đề cập đến nó. Hợac bác có một giải pháp nào khác cho bài toán tạo sin này không? xin cảm ơn Bác |
![]() |
![]() |
![]() |
#4 | |
Trưởng lão PIC bang
|
Trích:
Do đó, chúng ta không có nhiều sự lựa chọn với thời gian cập nhật duty cycle. Cách tốt nhất mà chúng ta có thể làm trong trường hợp này là cập nhật duty cycle sau mỗi chu kỳ PWM. Với cách làm này, chúng ta sẽ có kích thước bảng sin = 20 ms/Tpwm. Như tôi đã giải thích ở một post trước đó, với tần số clock 40 MHz, tần số PWM là 50 kHz, và bảng sin có 800 giá trị, bạn sẽ có tần số của tín hiệu được điều chế là 62,5 Hz. Nếu muốn có tần số tín hiệu được điều chế là 50 Hz, bạn thay đổi độ dài bảng sin, tăng lên thành 1000 giá trị. Cuối cùng, bạn thử nghĩ xem làm thế nào để có nhiều giá trị duty cycle trong một chu kỳ PWM! Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#5 | |
Đệ tử 4 túi
Tham gia ngày: Dec 2006
Bài gửi: 79
: |
Trích:
Với Inverter 3 pha, ta phải giải quyết vấn đề như thế nào? Với vấn đề được đề cập trong topic này thì giải quyết bằng Pic18F4431 và dsPIC30F6010A thì ưu nhược điểm của từng cách như thế nào ah? (Độ phức tạp của chương rình, phần cứng..) thay đổi nội dung bởi: tmtm, 01-09-2008 lúc 09:58 PM. |
|
![]() |
![]() |
![]() |
#6 | |
Trưởng lão PIC bang
|
Trích:
Luồng này bàn về việc tạo tín hiệu sine PWM bằng PIC. Nếu bạn muốn hỏi về nghịch lưu 3 pha, đề nghị bạn mở luồng mới. Với vấn đề tạo sine PWM ở đây, dùng dsPIC có lợi hơn đôi chút về mặt thời gian thực hiện các lệnh, vì dsPIC xử lý dữ liệu 16-bit một cách tự nhiên, còn PIC18 thì chỉ xử lý tự nhiên các dữ liệu 8-bit. Về bản chất thì module PCPWM của PIC18F4431 và MCPWM của dsPIC6010A là giống nhau. dsPIC chỉ cho phép tần số PWM và độ phân giải duty cycle cao hơn so với PIC18. Do đó, ở những trường hợp PIC18 đáp ứng được tần số và độ phân giải thì dsPIC không có ưu thế đặc biệt gì. Chỉ khi yêu cầu về tần số và/hay độ phân giải vượt quá khả năng của PIC18 thì mới cần dùng dsPIC. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#7 | |
Đệ tử 1 túi
Tham gia ngày: Aug 2012
Bài gửi: 24
: |
Trích:
thanhks anh |
|
![]() |
![]() |
![]() |
|
|