สารบัญ:

Raspberry Pi Box of Cooling FAN พร้อมตัวบ่งชี้อุณหภูมิ CPU: 10 ขั้นตอน (พร้อมรูปภาพ)
Raspberry Pi Box of Cooling FAN พร้อมตัวบ่งชี้อุณหภูมิ CPU: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Raspberry Pi Box of Cooling FAN พร้อมตัวบ่งชี้อุณหภูมิ CPU: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Raspberry Pi Box of Cooling FAN พร้อมตัวบ่งชี้อุณหภูมิ CPU: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: คอม Core i9 ที่มีพัดลมแค่ตัวเดียว 2024, กรกฎาคม
Anonim
Raspberry Pi กล่องพัดลมระบายความร้อนพร้อมตัวบ่งชี้อุณหภูมิ CPU
Raspberry Pi กล่องพัดลมระบายความร้อนพร้อมตัวบ่งชี้อุณหภูมิ CPU

ฉันได้แนะนำราสเบอร์รี่ pi (ต่อไปนี้เป็น RPI) วงจรตัวบ่งชี้อุณหภูมิ CPU ในโครงการก่อนหน้านี้

วงจรแสดงระดับอุณหภูมิ CPU ที่แตกต่างกัน RPI 4 ดังนี้

- ไฟ LED สีเขียวจะเปิดขึ้นเมื่ออุณหภูมิ CPU อยู่ภายใน 30 ~ 39 องศา

- ไฟ LED สีเหลืองแสดงว่าอุณหภูมิเพิ่มขึ้นในช่วง 40 ถึง 45 องศา

- ไฟ LED สีแดงดวงที่ 3 แสดงว่า CPU ร้อนขึ้นเล็กน้อยเมื่อถึง 46 ~ 49 องศา

- ไฟ LED สีแดงอีกดวงจะกะพริบเมื่ออุณหภูมิสูงกว่า 50 องศา

***

เมื่ออุณหภูมิเกิน 50C ความช่วยเหลือใด ๆ เป็นสิ่งจำเป็นสำหรับ RPI น้อยไม่เครียดมากเกินไป

จากข้อมูลที่ฉันเห็นในหน้าเว็บหลายหน้าซึ่งกำลังพูดถึงระดับอุณหภูมิ RPI สูงสุดที่ยอมรับได้ ความคิดเห็นมีความหลากหลาย เช่น มีคนกล่าวว่าอุณหภูมิมากกว่า 60C ยังคงค่อนข้างใช้ได้เมื่อใช้แผงระบายความร้อน

แต่ประสบการณ์ส่วนตัวของฉันบอกบางอย่างที่ต่างไปจากที่เซิร์ฟเวอร์การส่งสัญญาณ (โดยใช้ RPI พร้อมฮีทซิงค์) ทำงานช้าและในที่สุดก็ทำตัวเหมือนซอมบี้เมื่อฉันเปิดเครื่องเป็นเวลาหลายชั่วโมง

ดังนั้นวงจรเพิ่มเติมและพัดลมระบายความร้อนนี้จึงถูกเพิ่มเพื่อควบคุมอุณหภูมิ CPU ภายใต้ 50C เพื่อรองรับการทำงานของ RPI ที่เสถียร

***

วงจรแสดงอุณหภูมิ CPU ที่เปิดตัวก่อนหน้านี้ (ต่อไปนี้จะเรียกว่า INDICATOR) ถูกรวมเข้าด้วยกันเพื่อรองรับการตรวจสอบระดับอุณหภูมิที่สะดวกโดยไม่ต้องดำเนินการคำสั่ง “vcgencmd วัด_temp” บนเทอร์มินัลคอนโซล

ขั้นตอนที่ 1: การเตรียมแผนผัง

การเตรียมแผนผัง
การเตรียมแผนผัง

ในสองโครงการก่อนหน้านี้ ฉันได้กล่าวถึงการแยกแหล่งจ่ายไฟระหว่าง RPI และวงจรภายนอกโดยสมบูรณ์

ในกรณีของพัดลมระบายความร้อน แหล่งจ่ายไฟอิสระค่อนข้างสำคัญ เนื่องจาก DC 5V FAN (มอเตอร์) มีภาระค่อนข้างหนักและมีเสียงดังในขณะทำงาน

ดังนั้น ข้อควรพิจารณาต่อไปนี้จึงเน้นในการออกแบบวงจรนี้

- ออปโตคัปเปลอร์ใช้เพื่อเชื่อมต่อกับพิน RPI GPIO เพื่อรับสัญญาณเปิดใช้งานพัดลมระบายความร้อน

- ไม่มีการดึงพลังงานจาก RPI และใช้เครื่องชาร์จโทรศัพท์มือทั่วไปสำหรับแหล่งพลังงานของวงจรนี้

- ไฟ LED ใช้สำหรับแจ้งการทำงานของพัดลมระบายความร้อน

- ใช้รีเลย์ 5V เพื่อเปิดใช้งานพัดลมระบายความร้อนตามลักษณะทางกล

***

วงจรนี้จะทำงานร่วมกับวงจรแสดงอุณหภูมิ CPU (ต่อไปนี้ INDICATOR) โดยใช้โปรแกรมควบคุมไพทอน

เมื่อ INDICATOR เริ่มกะพริบ (อุณหภูมิเกิน 50C) วงจรพัดลมระบายความร้อนนี้จะเริ่มทำงาน

ขั้นตอนที่ 2: การเตรียมชิ้นส่วน

เช่นเดียวกับโครงการก่อนหน้าอื่น ๆ ส่วนประกอบทั่วไปที่ใช้สำหรับทำวงจร FAN ระบายความร้อนตามรายการด้านล่าง

- ออปโตคัปเปลอร์: PC817 (SHARP) x 1

- 2N3904 (NPN) x 1, BD139 (NPN) x 1

- รีเลย์ TQ2-5V (พานาโซนิค) 5V

- 1N4148 ไดโอด

- ตัวต้านทาน (1/4Watt): 220ohm x 2 (จำกัดกระแส), 2.2K (สวิตช์ทรานซิสเตอร์) x 2

- LED x 1

- พัดลมระบายความร้อน 5V 200mA

- บอร์ดอเนกประสงค์ ขนาดรูมากกว่า 20(W) x 20(H) (คุณสามารถตัดบอร์ดสากลขนาดใดก็ได้เพื่อให้พอดีกับวงจร)

- ลวดดีบุก (โปรดอ้างอิงโครงการ "ตัวบ่งชี้การปิดระบบ Raspberry Pi" ของฉันสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการใช้ลวดดีบุก)

- สายเคเบิล (สายเดี่ยวธรรมดาสีแดงและสีน้ำเงิน)

- ที่ชาร์จมือถือแบบใดก็ได้ อินพุต 220V และเอาต์พุต 5V (ขั้วต่อ USB Type B)

- หัวพิน (3 ขา) x 2

***

ขนาดทางกายภาพของ Cooling FAN ควรมีขนาดเล็กพอที่จะติดตั้งที่ด้านบนของ RPI

สามารถใช้รีเลย์ชนิดใดก็ได้เมื่อทำงานที่ 5V และมีหน้าสัมผัสทางกลมากกว่าหนึ่งตัว

ขั้นตอนที่ 3: การสร้าง PCB Drawing

การทำ PCB Drawing
การทำ PCB Drawing

เนื่องจากจำนวนส่วนประกอบมีน้อย ขนาด PCB สากลที่ต้องการจึงไม่ใหญ่

โปรดดูแลรูปแบบขั้วพินของ TQ2-5V ตามที่แสดงในภาพด้านบน (ตรงกันข้ามกับการคิดแบบเดิมๆ เลย์เอาต์บวก/พื้นจริงจะถูกจัดเรียงกลับด้าน)

โดยส่วนตัวแล้วฉันมีปัญหาที่ไม่คาดคิดหลังจากการบัดกรีเนื่องจากตำแหน่งย้อนกลับ (เมื่อเปรียบเทียบกับผลิตภัณฑ์รีเลย์อื่น ๆ) ขั้วพินของ TQ2-5V

ขั้นตอนที่ 4: การบัดกรี

บัดกรี
บัดกรี

เนื่องจากวงจรนั้นค่อนข้างง่าย รูปแบบการเดินสายจึงไม่ซับซ้อนมากนัก

ฉันกำลังยึดโครงยึดรูปตัว "L" เพื่อยึด PCB ให้เป็นแนวตั้ง

ดังที่คุณเห็นในภายหลัง แชสซีอะคริลิกซึ่งติดตั้งทุกอย่างมีขนาดเล็กเล็กน้อย

ดังนั้น การพิมพ์แบบตีนผีจึงมีความจำเป็น เนื่องจากแชสซีอะครีลิกนั้นเต็มไปด้วย PCB และชิ้นส่วนย่อยอื่นๆ

LED อยู่ที่ด้านหน้าเพื่อให้จดจำการทำงานของพัดลมได้ง่าย

ขั้นตอนที่ 5: การสร้างและติดตั้ง Cooling FAN HAT

การผลิตและติดตั้ง Cooling FAN HAT
การผลิตและติดตั้ง Cooling FAN HAT

ฉันคิดว่า PCB สากลเป็นส่วนที่มีประโยชน์มากซึ่งสามารถนำไปใช้เพื่อวัตถุประสงค์ที่หลากหลาย

Cooling FAN ติดตั้งบน PCB สากลและติดตั้งและยึดด้วยสลักเกลียวและน็อต

เพื่อให้อากาศไหลเวียนได้ ฉันทำรูใหญ่ด้วยการเจาะ PCB

นอกจากนี้ สำหรับการเสียบสายจัมเปอร์อย่างง่าย พื้นที่พิน GIPO 40 ถูกเปิดโดยการตัด PCB

ขั้นตอนที่ 6: ประกอบ PCBs

ประกอบ PCBs
ประกอบ PCBs

ดังที่ได้กล่าวไว้ข้างต้น ฉันวางแผนที่จะรวมวงจรที่แตกต่างกันสองวงจรเป็นหน่วยเดียว

วงจรแสดงอุณหภูมิ CPU ที่ทำไว้ก่อนหน้านี้ถูกรวมเข้ากับวงจร cooling FAN ใหม่ ดังรูปด้านบน, ทุกอย่างถูกรวมเข้าด้วยกันในเคสอะครีลิคใสขนาดเล็ก (15 ซม. x 10 ซม. ลึก)

แม้ว่าพื้นที่แชสซีประมาณครึ่งหนึ่งจะว่างเปล่าและพร้อมใช้งาน แต่ส่วนประกอบเพิ่มเติมจะอยู่ในพื้นที่ที่เหลือในภายหลัง

ขั้นตอนที่ 7: การเดินสาย RPI ด้วยวงจร

การเดินสายไฟ RPI พร้อมวงจร
การเดินสายไฟ RPI พร้อมวงจร

วงจรสองวงจรเชื่อมต่อกันด้วย RPI ในลักษณะแยกโดยใช้ออปโตคัปเปลอร์

นอกจากนี้ยังไม่มีการดึงพลังงานจาก RPI เนื่องจากเครื่องชาร์จโทรศัพท์มือภายนอกจ่ายพลังงานให้กับวงจร

ต่อมาคุณจะรู้ว่ารูปแบบอินเทอร์เฟซแบบแยกส่วนนี้ค่อนข้างคุ้มค่าเมื่อส่วนประกอบเพิ่มเติมถูกรวมเข้ากับแชสซีอะคริลิกในภายหลัง

ขั้นตอนที่ 8: โปรแกรม Python ควบคุมวงจรทั้งหมด

โปรแกรม Python ควบคุมทุกวงจร
โปรแกรม Python ควบคุมทุกวงจร

จำเป็นต้องเพิ่มโค้ดเพียงเล็กน้อยจากซอร์สโค้ดของวงจรตัวบ่งชี้อุณหภูมิ CPU

เมื่ออุณหภูมิสูงกว่า 50C การวนซ้ำ 20 (20) ของการเปิด FAN เป็นเวลา 10 วินาทีและการปิด 3 วินาทีจะเริ่มต้นขึ้น

เนื่องจากมอเตอร์ขนาดเล็กของ FAN ต้องการกระแสไฟสูงสุด 200mA ระหว่างการทำงาน วิธีการเปิดใช้งานมอเตอร์แบบ PWM (Pulse Width Modulation) จึงถูกใช้สำหรับที่ชาร์จมือถือที่มีภาระน้อยกว่า

ซอร์สโค้ดที่แก้ไขแล้วมีลักษณะดังนี้

***

#-*- การเข้ารหัส:utf-8 -*-

##

นำเข้ากระบวนการย่อย สัญญาณ sys

เวลานำเข้าอีกครั้ง

นำเข้า RPi. GPIO เป็น g

##

A = 12

B = 16

แฟน = 25

##

g.setmode(g. BCM)

g.setup(A, g. OUT)

g.setup(B, g. OUT)

g.setup (FAN, g. OUT)

##

def signal_handler (sig, เฟรม):

print('คุณกด Ctrl+C!')

g.output(A, เท็จ)

g.output(B, เท็จ)

g.output(FAN, เท็จ)

f.close()

sys.exit(0)

สัญญาณ.สัญญาณ(สัญญาณ. SIGINT,ตัวจัดการสัญญาณ)

##

ในขณะที่จริง:

f = open('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output('/opt/vc/bin/vcgencmd วัด_temp', เชลล์=จริง)

temp_str = temp_str.decode (การเข้ารหัส = 'UTF-8' ข้อผิดพลาด = 'เข้มงวด')

CPU_temp = re.findall("\d+\.\d+", temp_str)

# แยกอุณหภูมิ CPU ปัจจุบัน

##

current_temp = ลอย (CPU_temp[0])

ถ้า current_temp > 30 และ current_temp < 40:

# อุณหภูมิต่ำ A=0, B=0

g.output(A, เท็จ)

g.output(B, เท็จ)

เวลานอน(5)

elif current_temp >= 40 และ current_temp < 45:

# อุณหภูมิปานกลาง A=1, B=0

g.output(A, จริง)

g.output(B, เท็จ)

เวลานอน(5)

elif current_temp >= 45 และ current_temp < 50:

# อุณหภูมิสูง A=0, B=1

g.output(A, เท็จ)

g.output(B, จริง)

เวลานอน(5)

elif current_temp >= 50:

# CPU เย็นต้องสูง A=1, B=1

g.output(A, จริง)

g.output(B, จริง)

สำหรับฉันอยู่ในช่วง (1, 20):

g.output(แฟน, ทรู)

เวลานอน(10)

g.output(FAN, เท็จ)

เวลานอน(3)

current_time = time.time()

formated_time = time.strftime("%H:%M:%S", time.gmtime(current_time))

f.write(str(formated_time)+'\t'+str(current_temp)+'\n')

f.close()

##

เนื่องจากลอจิกการทำงานของโค้ดไพ ธ อนนี้เกือบจะคล้ายกับวงจรบ่งชี้อุณหภูมิของ CPU ฉันจะไม่ทำซ้ำรายละเอียดที่นี่

ขั้นตอนที่ 9: การทำงานของวงจรพัดลม

การทำงานของวงจรพัดลม
การทำงานของวงจรพัดลม

เมื่อดูกราฟอุณหภูมิเกิน 50C โดยไม่มีวงจร FAN

ดูเหมือนว่าอุณหภูมิ CPU เฉลี่ยจะอยู่ที่ประมาณ 40 ~ 47C ขณะที่ RPI กำลังทำงาน

หากใช้งานระบบจำนวนมาก เช่น เล่น Youtube บนเว็บเบราว์เซอร์ อุณหภูมิมักจะสูงขึ้นอย่างรวดเร็วถึง 60C

แต่ด้วยวงจร FAN อุณหภูมิจะลดลงน้อยกว่า 50C ภายใน 5 วินาที โดยการทำงานของพัดลมระบายความร้อน

เป็นผลให้คุณสามารถเปิด RPI ได้ตลอดทั้งวันและทำงานใดๆ ที่คุณชอบโดยไม่ต้องกังวลเรื่องความร้อนสูงเกินไป

ขั้นตอนที่ 10: การพัฒนาเพิ่มเติม

การพัฒนาเพิ่มเติม
การพัฒนาเพิ่มเติม

อย่างที่คุณเห็น แชสซีอะครีลิกครึ่งหนึ่งยังว่างอยู่

ฉันจะใส่ส่วนประกอบเพิ่มเติมที่นั่นและขยายบล็อกพื้นฐานของกล่อง RPI นี้เป็นสิ่งที่มีประโยชน์มากขึ้น

แน่นอนว่าการเพิ่มมากขึ้นหมายถึงความซับซ้อนที่เพิ่มขึ้นเล็กน้อยเช่นกัน

อย่างไรก็ตาม ฉันกำลังรวมวงจรสองวงจรไว้ในกล่องเดียวในโครงการนี้

ขอบคุณที่อ่านเรื่องราวนี้

แนะนำ: