Mục lục:

Quạt điều chỉnh PWM dựa trên nhiệt độ CPU cho Raspberry Pi: 4 bước (có hình ảnh)
Quạt điều chỉnh PWM dựa trên nhiệt độ CPU cho Raspberry Pi: 4 bước (có hình ảnh)

Video: Quạt điều chỉnh PWM dựa trên nhiệt độ CPU cho Raspberry Pi: 4 bước (có hình ảnh)

Video: Quạt điều chỉnh PWM dựa trên nhiệt độ CPU cho Raspberry Pi: 4 bước (có hình ảnh)
Video: Khui hộp Rasperry pi 4 B và nhượng lại giá 2,4 triêuj 2024, Tháng mười hai
Anonim
Quạt điều chỉnh PWM dựa trên nhiệt độ CPU cho Raspberry Pi
Quạt điều chỉnh PWM dựa trên nhiệt độ CPU cho Raspberry Pi

Nhiều trường hợp cho Raspberry Pi đi kèm với một quạt nhỏ 5V để giúp làm mát CPU. Tuy nhiên, những loại quạt này thường khá ồn và nhiều người cắm nó vào chân 3V3 để giảm tiếng ồn. Các quạt này thường được đánh giá ở mức 200mA, khá cao đối với bộ điều chỉnh 3V3 trên RPi. Dự án này sẽ dạy bạn cách điều chỉnh tốc độ quạt dựa trên nhiệt độ CPU. Không giống như hầu hết các hướng dẫn về chủ đề này, chúng tôi sẽ không chỉ bật hoặc tắt quạt, mà sẽ kiểm soát tốc độ của nó như được thực hiện trên PC thông thường, bằng Python.

Bước 1: Các bộ phận cần thiết

Đối với dự án này, chúng tôi sẽ chỉ sử dụng một số thành phần thường được bao gồm trong bộ dụng cụ điện tử dành cho người có sở thích mà bạn có thể tìm thấy trên Amazon, như cái này.

  • Raspberry Pi chạy Raspbian (nhưng sẽ hoạt động với các phân phối khác).
  • Quạt 5V (nhưng có thể sử dụng quạt 12V với bóng bán dẫn thích ứng và nguồn điện 12V).
  • Bóng bán dẫn NPN hỗ trợ ít nhất 300mA, như 2N2222A.
  • Điện trở 1K.
  • 1 diode.

Tùy chọn, để đặt các thành phần bên trong trường hợp (nhưng chưa được thực hiện):

  • Một miếng protoboard nhỏ, để hàn các thành phần.
  • Co nhiệt lớn, để bảo vệ bảng.

Bước 2: Kết nối điện

Kết nối điện
Kết nối điện
Kết nối điện
Kết nối điện
Kết nối điện
Kết nối điện

Điện trở có thể được cắm theo cả hai cách, nhưng hãy cẩn thận về hướng của bóng bán dẫn và diode. Cực âm của Diode phải được kết nối với dây + 5V (màu đỏ), và cực dương phải được kết nối với dây GND (màu đen). Kiểm tra tài liệu bóng bán dẫn của bạn cho các chân Emitter, Base và Collector. Mặt đất của quạt phải được kết nối với Bộ thu, và đất của Rpi phải được kết nối với Bộ phát

Để điều khiển quạt, chúng ta cần sử dụng một bóng bán dẫn sẽ được sử dụng cấu hình bộ thu inopen. Làm như vậy, chúng ta có một công tắc sẽ kết nối hoặc ngắt kết nối dây nối đất từ quạt với mặt đất của pi mâm xôi.

Một bóng bán dẫn NPN BJT dẫn điện phụ thuộc vào dòng điện chạy trong cổng của nó. Dòng điện được phép chạy từ bộ thu (C) đến bộ phát (E) là:

Ic = B * Ib

Ic là dòng điện chạy qua bộ thu cực phát, Ib là dòng điện chạy qua đế đến bộ phát, và B (beta) là một giá trị tùy thuộc vào từng bóng bán dẫn. Ta tính gần đúng B = 100.

Vì quạt của chúng tôi được đánh giá là 200mA, chúng tôi cần ít nhất 2mA thông qua đế của bóng bán dẫn. Lực căng giữa đế và cực phát (Vbe) được coi là không đổi và Vbe = 0, 7V. Điều này có nghĩa là khi GPIO được bật, chúng ta có 3,3 - 0,7 = 2,6V ở điện trở. Để có 2mA qua điện trở đó, ta cần một điện trở lớn nhất là 2,6 / 0,002 = 1300 ohm. Chúng tôi sử dụng điện trở 1000 ohm để đơn giản hóa và giữ sai số. Chúng tôi sẽ có 2,6mA thông qua chân GPIO hoàn toàn an toàn.

Về cơ bản, quạt là một động cơ điện, nó là một điện tích cảm ứng. Điều này có nghĩa là khi bóng bán dẫn ngừng dẫn, dòng điện trong quạt sẽ tiếp tục chạy như một điện tích cảm ứng cố gắng giữ cho dòng điện không đổi. Điều này sẽ dẫn đến điện áp cao trên chân nối đất của quạt và có thể làm hỏng bóng bán dẫn. Đó là lý do tại sao chúng ta cần một diode song song với quạt sẽ làm cho dòng điện chạy liên tục qua động cơ. Loại thiết lập diode này được gọi là diode Flywheel

Bước 3: Chương trình điều khiển tốc độ quạt

Để kiểm soát tốc độ quạt, chúng tôi sử dụng tín hiệu PWM phần mềm từ thư viện RPi. GPIO. Tín hiệu PWM thích nghi tốt để điều khiển động cơ điện, vì thời gian phản ứng của chúng rất cao so với tần số PWM.

Sử dụng chương trình calib_fan.py để tìm giá trị FAN_MIN bằng cách chạy trong terminal:

python calib_fan.py

Kiểm tra một số giá trị từ 0 đến 100% (nên khoảng 20%) và xem giá trị tối thiểu để quạt của bạn bật là bao nhiêu.

Bạn có thể thay đổi sự tương ứng giữa nhiệt độ và tốc độ quạt ở đầu mã. Phải có nhiều tempSteps như giá trị speedSteps. Đây là phương pháp thường được sử dụng trong bo mạch chủ PC, di chuyển các điểm trên đồ thị 2 trục Nhiệt độ / Tốc độ.

Bước 4: Chạy chương trình khi khởi động

Để chạy chương trình tự động khi khởi động, tôi đã tạo một tập lệnh bash nơi tôi đặt tất cả các chương trình tôi muốn khởi chạy và sau đó tôi khởi chạy tập lệnh bash này khi khởi động với rc.locale

  1. Tạo một thư mục / home / pi / Scripts / và đặt tệp fan_ctrl.py bên trong thư mục đó.
  2. Trong cùng một thư mục, hãy tạo một tệp có tên launcher.sh và sao chép tập lệnh bên dưới.
  3. Chỉnh sửa tệp /etc/rc.locale và thêm một dòng mới trước "lối ra 0": sudo sh '/home/pi/Scripts/launcher.sh'

tập lệnh launcher.sh:

#! / bin / sh # launcher.sh # điều hướng đến thư mục chính, sau đó đến thư mục này, sau đó thực thi tập lệnh python, sau đó quay lại homeocalecd / cd / home / pi / Scripts / sudo python3./fan_ctrl.py & cd /

Ví dụ, nếu bạn muốn sử dụng nó với OSMC, bạn cần khởi động nó như một dịch vụ với systemd.

  1. Tải xuống tệp fanctrl.service.
  2. Kiểm tra đường dẫn đến tệp python của bạn.
  3. Đặt fanctrl.service trong / lib / systemd / system.
  4. Cuối cùng, kích hoạt dịch vụ với sudo systemctl enable fanctrl.service.

Phương pháp này an toàn hơn vì chương trình sẽ tự động khởi động lại nếu bị người dùng hoặc hệ thống giết.

Đề xuất: