Mục lục:

Tự làm điều khiển PWM cho quạt PC: 12 bước
Tự làm điều khiển PWM cho quạt PC: 12 bước

Video: Tự làm điều khiển PWM cho quạt PC: 12 bước

Video: Tự làm điều khiển PWM cho quạt PC: 12 bước
Video: #vixuly #pwm Điều khiển tốc độ động cơ DC dùng kỹ thuật PWM 2024, Tháng bảy
Anonim
Tự làm điều khiển PWM cho quạt PC
Tự làm điều khiển PWM cho quạt PC

Có thể hướng dẫn này mô tả việc xây dựng bộ điều khiển PWM quạt PC 12 V đầy đủ tính năng. Thiết kế có thể điều khiển tối đa 16 quạt máy tính 3 chân. Thiết kế sử dụng một cặp IC tín hiệu hỗn hợp có thể định cấu hình Dialog GreenPAK ™ để điều khiển chu kỳ làm việc của mỗi quạt. Nó cũng bao gồm hai cách để thay đổi tốc độ của quạt:

Một. với bộ mã hóa cầu phương / quay

NS. với một ứng dụng Windows được tích hợp trong C # giao tiếp với GreenPAK thông qua I2C.

Dưới đây, chúng tôi mô tả các bước cần thiết để hiểu cách thức lập trình chip GreenPAK để tạo điều khiển PWM cho quạt PC. Tuy nhiên, nếu bạn chỉ muốn lấy kết quả của việc lập trình, hãy tải phần mềm GreenPAK để xem File thiết kế GreenPAK đã hoàn thành. Cắm Bộ phát triển GreenPAK vào máy tính của bạn và nhấn chương trình để tạo IC tùy chỉnh cho điều khiển PWM cho quạt PC.

Bước 1: Sơ đồ khối hệ thống

Sơ đồ khối hệ thống
Sơ đồ khối hệ thống

Bước 2: Thiết kế bộ giải mã quay SLG46108

Thiết kế bộ giải mã quay SLG46108
Thiết kế bộ giải mã quay SLG46108
Thiết kế bộ giải mã quay SLG46108
Thiết kế bộ giải mã quay SLG46108
Thiết kế bộ giải mã quay SLG46108
Thiết kế bộ giải mã quay SLG46108

Một bộ mã hóa quay được sử dụng để tăng hoặc giảm chu kỳ làm việc của quạt theo cách thủ công. Thiết bị này phát xung trên đầu ra Kênh A và Kênh B của nó, cách nhau 90 °. Xem AN-1101: Bộ giải mã cầu phương không khóa để biết thêm thông tin về cách hoạt động của bộ mã hóa quay.

Có thể tạo bộ giải mã quay xung nhịp bằng Hộp thoại GreenPAK SLG46108 để xử lý tín hiệu Kênh A và Kênh B và xuất chúng dưới dạng xung ngược chiều kim đồng hồ (CCW) và theo chiều kim đồng hồ (CW).

Khi Kênh A dẫn Kênh B, thiết kế xuất ra một xung ngắn trên CW. Khi Kênh B dẫn Kênh A, nó sẽ xuất ra một xung ngắn trên CCW

Ba DFF đồng bộ hóa đầu vào Kênh A với đồng hồ. Tương tự, độ trễ đường ống với OUT0 được đặt thành hai DFF và OUT1 được đặt thành ba DFF sẽ tạo ra cùng một chức năng cho kênh B.

Để tạo đầu ra CW và CCW, hãy sử dụng một vài LUT, để biết thêm thông tin về thiết kế bộ giải mã quay tiêu chuẩn này, hãy truy cập trang web này.

Bộ giải mã vòng quay GreenPAK sẽ nhận các xung đầu vào A và B và xuất ra các xung CW và CCW như trong Hình 4.

Mạch sau cổng XOR đảm bảo rằng sẽ không bao giờ có xung CW và xung CCW cùng một lúc, cho phép xảy ra bất kỳ lỗi nào với bộ mã hóa quay. Độ trễ cạnh giảm 8 ms trên tín hiệu CW và CCW buộc chúng phải ở mức cao trong 8 ms cộng với một chu kỳ đồng hồ, điều này cần thiết cho SLG46826 GreenPAKs hạ lưu.

Bước 3: Thiết kế bộ điều khiển quạt SLG46826

Thiết kế bộ điều khiển quạt SLG46826
Thiết kế bộ điều khiển quạt SLG46826

Bước 4: Tạo PWM với bộ đếm bù trừ

Thế hệ PWM với bộ đếm bù trừ
Thế hệ PWM với bộ đếm bù trừ
Thế hệ PWM với bộ đếm bù đắp
Thế hệ PWM với bộ đếm bù đắp

Một cặp bộ đếm bù có cùng chu kỳ được sử dụng để tạo ra tín hiệu PWM. Bộ đếm đầu tiên đặt một DFF và bộ đếm thứ hai đặt lại nó, tạo ra một tín hiệu PWM chu kỳ nhiệm vụ nhất quán như thể hiện trong Hình 6 và Hình 7.

CNT6 đặt DFF10 và đầu ra đảo ngược của CNT1 đặt lại DFF10. Chân 18 và 19 được sử dụng để xuất tín hiệu PWM ra mạch bên ngoài

Bước 5: Kiểm soát chu kỳ nhiệm vụ với đồng hồ tiêm và bỏ qua đồng hồ

Kiểm soát chu kỳ nhiệm vụ với tiêm đồng hồ và bỏ qua đồng hồ
Kiểm soát chu kỳ nhiệm vụ với tiêm đồng hồ và bỏ qua đồng hồ
Kiểm soát chu kỳ nhiệm vụ với tiêm đồng hồ và bỏ qua đồng hồ
Kiểm soát chu kỳ nhiệm vụ với tiêm đồng hồ và bỏ qua đồng hồ

Bộ điều khiển quạt nhận tín hiệu CW và CCW làm đầu vào từ bộ giải mã quay và sử dụng chúng để tăng hoặc giảm tín hiệu PWM điều khiển tốc độ quạt. Điều này đạt được với một số thành phần logic kỹ thuật số.

Chu kỳ nhiệm vụ cần tăng lên khi nhận được xung CW. Điều này được thực hiện bằng cách đưa thêm một xung đồng hồ vào khối CNT6, làm cho nó xuất ra một chu kỳ đồng hồ sớm hơn so với thời gian nếu không. Quá trình này được thể hiện trong Hình 8.

CNT1 vẫn được tăng xung nhịp với tốc độ không đổi, nhưng CNT6 đã được bổ sung thêm một vài đồng hồ. Mỗi khi có thêm một đồng hồ vào bộ đếm, nó sẽ dịch chuyển đầu ra của nó sang trái một chu kỳ đồng hồ.

Ngược lại, để giảm chu kỳ nhiệm vụ, hãy bỏ qua một xung đồng hồ cho CNT6 như thể hiện trong Hình 9. CNT1 vẫn nhận được xung nhịp với tốc độ không đổi và có những xung đồng hồ bị bỏ qua cho CNT6, nơi bộ đếm không được tăng xung nhịp khi nó được cho là đến. Bằng cách này, đầu ra của CNT6 được đẩy sang phải theo từng chu kỳ đồng hồ tại một thời điểm, rút ngắn chu kỳ nhiệm vụ PWM đầu ra.

Chức năng tiêm đồng hồ và bỏ qua đồng hồ được thực hiện với việc sử dụng một số phần tử logic kỹ thuật số trong GreenPAK. Một cặp khối đa chức năng được sử dụng để tạo ra một cặp tổ hợp máy dò chốt / cạnh. LUT0 4 bit được sử dụng để kết hợp giữa tín hiệu xung nhịp chung (CLK / 8) và tín hiệu xung đồng hồ hoặc tín hiệu bỏ qua đồng hồ. Chức năng này được mô tả chi tiết hơn trong Bước 7.

Bước 6: Nhập NÚT

Đầu vào NÚT
Đầu vào NÚT

Đầu vào BUTTON được gỡ lỗi trong 20 mili giây, sau đó được sử dụng để chuyển đổi một chốt xác định xem chip cụ thể này có được chọn hay không. Nếu nó được chọn, thì LUT 4 bit sẽ chuyển tín hiệu bỏ qua đồng hồ hoặc tín hiệu tiêm. Nếu chip không được chọn, thì LUT 4-bit chỉ đơn giản là chuyển tín hiệu CLK / 8.

Bước 7: Ngăn chặn việc di chuyển chu kỳ nhiệm vụ

Ngăn chặn việc di chuyển chu kỳ nhiệm vụ
Ngăn chặn việc di chuyển chu kỳ nhiệm vụ
Ngăn chặn việc di chuyển chu kỳ nhiệm vụ
Ngăn chặn việc di chuyển chu kỳ nhiệm vụ
Ngăn chặn việc di chuyển chu kỳ nhiệm vụ
Ngăn chặn việc di chuyển chu kỳ nhiệm vụ

Chốt RS 3-bit LUT5 và 3-bit LUT3 được sử dụng để đảm bảo rằng bạn không thể chèn hoặc bỏ qua quá nhiều đồng hồ mà bộ đếm bù lệch cuộn qua. Điều này là để tránh hệ thống đạt đến chu kỳ nhiệm vụ 100% và sau đó chuyển sang chu kỳ nhiệm vụ 1% nếu nó nhận được một đồng hồ được đưa vào khác.

Các chốt RS ngăn điều này xảy ra bằng cách chốt các đầu vào vào khối đa chức năng khi hệ thống còn một chu kỳ đồng hồ nữa là lăn. Một cặp DFF làm trễ tín hiệu PWM_SET và PWM_nRST theo một chu kỳ đồng hồ như thể hiện trong Hình 11.

Một cặp LUT được sử dụng để tạo ra logic cần thiết. Nếu chu kỳ nhiệm vụ thấp đến mức tín hiệu PWM_SET bị trễ xảy ra cùng lúc với tín hiệu PWM_nRST, thì chu kỳ nhiệm vụ giảm hơn nữa sẽ gây ra chuyển đổi.

Tương tự, nếu gần đến chu kỳ nhiệm vụ tối đa, sao cho tín hiệu PWM_nRST bị trễ xảy ra cùng lúc với tín hiệu PWM_SET, thì cần phải tránh bất kỳ sự gia tăng nào nữa đối với chu kỳ nhiệm vụ. Trong trường hợp này, hãy trì hoãn tín hiệu nRST hai chu kỳ đồng hồ để đảm bảo rằng hệ thống không chuyển từ 99% xuống 1%.

Bước 8: Kiểm soát chu kỳ nhiệm vụ với I2C

Kiểm soát chu kỳ nhiệm vụ với I2C
Kiểm soát chu kỳ nhiệm vụ với I2C
Kiểm soát chu kỳ nhiệm vụ với I2C
Kiểm soát chu kỳ nhiệm vụ với I2C
Kiểm soát chu kỳ nhiệm vụ với I2C
Kiểm soát chu kỳ nhiệm vụ với I2C

Thiết kế này kết hợp một cách khác để kiểm soát chu kỳ nhiệm vụ khác với việc bỏ qua đồng hồ / bơm đồng hồ. Một bộ vi điều khiển bên ngoài có thể được sử dụng để viết các lệnh I2C tới GreenPAK để thiết lập chu kỳ nhiệm vụ.

Điều khiển chu kỳ nhiệm vụ qua I2C yêu cầu bộ điều khiển thực hiện một chuỗi lệnh cụ thể. Các lệnh này được trình bày theo thứ tự trong Bảng 1. Dấu "x" biểu thị một bit không được thay đổi, "[" biểu thị một bit START và "]" cho biết một bit DỪNG

Khối PDLY tạo ra một xung cao hoạt động ngắn trên cạnh xuống của tín hiệu CLK / 8, được gọi là! CLK / 8. Tín hiệu đó được sử dụng để tạo xung nhịp cho DFF14 ở tần số ổn định. Khi I2C_SET tăng cao không đồng bộ, cạnh lên tiếp theo của! CLK / 8 khiến DFF14 xuất ra CAO, điều này kích hoạt CNT5 OneShot. OneShot chạy theo số chu kỳ đồng hồ mà người dùng đã viết như được chỉ định trong lệnh I2C "Ghi vào CNT5" trong Bảng 1. Trong trường hợp này, đó là 10 chu kỳ đồng hồ. OneShot cho phép bộ dao động 25 MHz chạy chính xác trong khoảng thời gian của nó và không còn nữa, do đó 3-bit LUT0 nhận được số chu kỳ đồng hồ đã được ghi vào CNT5.

Hình 15 cho thấy các tín hiệu này, trong đó các đồng hồ màu đỏ là những tín hiệu được gửi đến LUT0 3-bit, chuyển chúng vào CNT6 (bộ đếm PWM_SET), do đó tạo ra sự bù đắp cho việc tạo chu kỳ nhiệm vụ.

Bước 9: Đọc máy đo tốc độ

Đọc máy đo tốc độ
Đọc máy đo tốc độ
Đọc máy đo tốc độ
Đọc máy đo tốc độ

Nếu muốn, người dùng có thể đọc giá trị tốc độ kế qua I2C để theo dõi tốc độ quay của quạt bằng cách đọc giá trị CNT2. CNT2 được tăng lên mỗi khi ACMP0H có cạnh tăng và có thể được đặt lại không đồng bộ bằng lệnh I2C. Lưu ý rằng đây là một tính năng tùy chọn và ngưỡng ACMP0H sẽ cần được điều chỉnh theo thông số kỹ thuật của loại quạt cụ thể đang được sử dụng.

Bước 10: Thiết kế mạch bên ngoài

Thiết kế mạch bên ngoài
Thiết kế mạch bên ngoài

Mạch bên ngoài khá đơn giản. Có một nút bấm được kết nối với Pin6 của GreenPAK để chuyển đổi xem thiết bị cụ thể này có được chọn để điều khiển quay hay không và một đèn LED được kết nối với Pin12 và Pin13 để cho biết khi thiết bị được chọn.

Vì quạt chạy ở chế độ 12 V, nên cần có một cặp FET để điều khiển việc chuyển mạch của nó. Pin18 và Pin19 của GreenPAK điều khiển một nFET. Khi nFET được bật, nó kéo cổng của pFET LOW, cổng này kết nối quạt với +12 V. Khi nFET tắt, cổng của PFET được kéo lên bởi điện trở 1 kΩ, ngắt kết nối quạt. từ +12 V.

Bước 11: Thiết kế PCB

Thiết kế PCB
Thiết kế PCB

Để tạo mẫu thiết kế, một vài PCB đã được lắp ráp. PCB bên trái là "Bộ điều khiển quạt", nơi chứa bộ mã hóa quay, giắc cắm 12 V, SLG46108 GreenPAK và các đầu nối cho bảng đột phá FT232H USB sang I2C. Hai PCB bên phải là "Fan Boards", chứa SLG46826 GreenPAKs, nút nhấn, công tắc, đèn LED và đầu cắm quạt.

Mỗi Bảng người hâm mộ có một tiêu đề nam được che phủ ở phía bên trái và một tiêu đề nữ ở phía bên phải để chúng có thể được xâu chuỗi lại với nhau. Mỗi Fan Board có thể được cung cấp tài nguyên để điều khiển độc lập hai quạt.

Bước 12: Ứng dụng C #

Ứng dụng C #
Ứng dụng C #

Một ứng dụng C # đã được viết để giao tiếp với các Bo mạch Quạt thông qua cầu FT232H USB-I2C. Ứng dụng này có thể được sử dụng để điều chỉnh tần số của từng quạt bằng các lệnh I2C do ứng dụng tạo ra.

Ứng dụng ping tất cả 16 địa chỉ I2C một lần mỗi giây và điền vào GUI với các địa chỉ nô lệ hiện có. Trong ví dụ này, Quạt 1 (địa chỉ phụ 0001) và Quạt 3 (địa chỉ phụ 0011) được kết nối với bo mạch. Có thể thực hiện điều chỉnh chu kỳ làm việc của từng quạt riêng lẻ bằng cách di chuyển thanh trượt hoặc nhập giá trị từ 0-256 vào hộp văn bản bên dưới thanh trượt.

Kết luận

Sử dụng thiết kế này, có thể điều khiển độc lập tối đa 16 quạt (vì có thể có 16 địa chỉ I2C phụ) bằng bộ mã hóa quay hoặc với ứng dụng C #. Nó đã được chứng minh cách tạo ra tín hiệu PWM với một cặp bộ đếm bù và cách tăng và giảm chu kỳ nhiệm vụ của tín hiệu đó mà không cần chuyển đổi.

Đề xuất: