สารบัญ:
- ขั้นตอนที่ 1: CPU Load Checking Linux Command
- ขั้นตอนที่ 2: แผนผัง
- ขั้นตอนที่ 3: NE555 การสร้างนาฬิกาที่แตกต่างกัน
- ขั้นตอนที่ 4: อะไหล่
- ขั้นตอนที่ 5: การสร้าง PCB Drawing
- ขั้นตอนที่ 6: การบัดกรี
- ขั้นตอนที่ 7: การประกอบ
- ขั้นตอนที่ 8: แก้ไขวงจรเดิม
- ขั้นตอนที่ 9: การเปลี่ยนแปลงแผนผังดั้งเดิม
- ขั้นตอนที่ 10: การทดสอบ
- ขั้นตอนที่ 11: รหัสหลาม
- ขั้นตอนที่ 12: สัมพัทธภาพระหว่างโหลดระบบและอุณหภูมิ CPU
- ขั้นตอนที่ 13: การสรุปผล
วีดีโอ: ตัวบ่งชี้การโหลด CPU Raspberry Pi: 13 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
เมื่อรัน Raspberry Pi (RPI) แบบ headless โดยไม่มีคอนโซลมอนิเตอร์ จะไม่มีการแสดงภาพที่ชัดเจนเพื่อระบุว่า RPI กำลังทำอะไรบางอย่างอยู่
แม้ว่ารีโมตเทอร์มินัลจะใช้กับ SSH แต่จำเป็นต้องมีการดำเนินการคำสั่ง Linux เป็นครั้งคราวเพื่อตรวจสอบว่าโหลดระบบเป็นภาระของ CPU ในขณะนี้
ดังนั้นวงจรนี้จึงถูกสร้างขึ้นเพื่อช่วยให้รับรู้กิจกรรมที่แท้จริงของ CPU (อาจเป็นแบบกึ่งจริงหรือใกล้เคียงจริง) เพื่อดำเนินการโหลดระบบที่ใช้อยู่ในปัจจุบัน
แม้ว่ามีเพียงการเขียนโปรแกรมหลามและวงจรที่ง่ายกว่ามากเท่านั้นที่สามารถรองรับการทำงานแบบเดียวกันได้ แต่โค้ดหลามที่ซับซ้อนเล็กน้อยจะต้องใช้เพื่อจำลองตรรกะการควบคุม LED ที่ซับซ้อนซึ่งต้องการโดยวงจรนี้
ความซับซ้อนที่เพิ่มขึ้นอย่างขัดแย้งกันของโค้ด python จะทำให้ CPU มีภาระมากขึ้นเมื่อโหลดระบบเพิ่มขึ้น
ดังนั้น การปิดฟังก์ชันการบ่งชี้ใดๆ ให้มากที่สุดเท่าที่จะเป็นไปได้กับวงจรฮาร์ดแวร์ภายนอกจะสมเหตุสมผล เนื่องจากบริการนี้ควรทำงานตลอดเวลาและบ่อยครั้ง เช่น ทุกๆ 5 วินาที
และวงจรนี้จะเพิ่มคุณสมบัติตลกเล็กน้อยให้กับ RPI ที่ทำงานแบบไม่มีหัว
ขั้นตอนที่ 1: CPU Load Checking Linux Command
มีคำสั่ง Linux สำหรับตรวจสอบโหลด CPU ที่หลากหลาย เช่น top, iostat, sysstat และ uptime
แต่ละคำสั่งมีคุณสมบัติที่เป็นประโยชน์เฉพาะในแง่ของความหลากหลายของข้อมูลและการแสดงความเรียบง่ายของข้อมูล
คำสั่งบนสุดคือข้อมูลที่มีข้อมูลสมบูรณ์และละเอียดที่สุดที่มีให้สำหรับการรับรู้โหลดของระบบทันที
แต่มันทำงานเป็นโหมดการวนซ้ำ (แสดงข้อมูลอย่างต่อเนื่องบนหน้าจอ) และรูปแบบข้อมูลค่อนข้างซับซ้อนในการดึงเฉพาะข้อมูลโหลดของ CPU ที่ต้องการอย่างง่ายๆ
คำสั่ง iostat ให้ข้อมูลโหลดระบบในเชิงลึกโดยแยกผู้ใช้และระบบที่รันคิวซึ่งกำลังสร้างภาระให้กับ CPU ในปัจจุบัน
แต่ก็ยังซับซ้อนโดยไม่จำเป็นในการรับโหลด CPU ปัจจุบันในลักษณะที่รวดเร็วและใช้งานง่าย
ในกรณีของเวลาทำงาน ข้อมูลโหลดระบบที่ง่ายมากจะแสดงเป็นค่าเฉลี่ย 1 นาที ค่าเฉลี่ย 5 นาที และค่าเฉลี่ยสรุป 15 นาที
ดังที่กล่าวไว้ข้างต้น การลดความซับซ้อนของโค้ด python เป็นสิ่งจำเป็น เนื่องจากควรดำเนินการค่อนข้างบ่อย เช่น ทุกๆ 5 วินาทีหรือ 10 วินาที
เมื่อโค้ด python ซับซ้อน มันจะสร้างภาระให้กับ CPU มาก
เป็นเรื่องที่ขัดแย้งกันที่คุณต้องรับภาระ RPI เพื่อตรวจสอบการโหลดระบบ
ดังนั้นฉันจึงเลือกคำสั่ง uptime เพื่อรวบรวมโหลด CPU และทำงานร่วมกับวงจรตัวบ่งชี้เพราะมันง่ายที่สุด
แต่เนื่องจากเวลาทำงานแสดงค่าเฉลี่ยของโหลดระบบ 1 นาที วงจรไฟแสดงจะต้องไม่ทำงานเหมือนโหมดเรียลไทม์อย่างเคร่งครัด
วงจรนี้ยังสามารถให้คำใบ้ที่เป็นประโยชน์ซึ่งแสดงให้เห็นว่า RPI ทำงานอย่างไรในตอนนี้
ขั้นตอนที่ 2: แผนผัง
วงจรนี้จะได้รับ 4 ระดับที่แตกต่างกัน (เช่น 00->LOW, 01->LIGHT, 10->MEDIUM, 11->HIGH) ของโหลด CPU ปัจจุบันจาก RPI ผ่านอินพุต opto-coupler สองตัว
74LS139 (ตัวถอดรหัส 2 ถึง 4 ตัวและตัวแยกมัลติเพล็กเซอร์) กำลังถอดรหัสอินพุตสองบิตเป็นหนึ่งในเอาต์พุตเดี่ยวจาก 4 วิธีที่เป็นไปได้ เช่น 00(LOW)->B0, 01(LIGHT)->B1, 10(MEDIUM)->B2, 11(สูง)->B3.
เนื่องจากเอาต์พุต 74LS139 เป็นระดับย้อนกลับ (00 อินพุต -> B0 กลายเป็น LOW และเอาต์พุตอีก 3 รายการสูง) อินเวอร์เตอร์ 74HC04 จะใช้เพื่อทำให้เอาต์พุตย้อนกลับอีกครั้ง
เมื่อเอาต์พุต 74LS139 เป็นค่าปกติของ HIGH 74HC04 จะไม่จำเป็น
แต่อย่างใด 74LS139 ทำแบบนั้น (โปรดตรวจสอบตารางความจริงของ 74LS139)
เมื่อเลือกเอาท์พุต 74LS139 ตัวใดตัวหนึ่ง จะเปิดใช้งานสวิตช์แอนะล็อกหนึ่งตัวจากสวิตช์ 4 ตัวที่รวมอยู่ใน CD4066 IC
CD4066 สามารถรองรับสวิตช์แบบอะนาล็อกได้ 4 ตัว และแต่ละสวิตช์ประกอบด้วยอินพุตควบคุม 1 ตัวและเอาต์พุตแบบอะนาล็อก 2 ตัว
เมื่ออินพุตควบคุมมีค่าสูง การเชื่อมต่อเอาต์พุตสองรายการจะกลายเป็นอิมพีแดนซ์ต่ำ (ความต้านทานกลายเป็น 0) และส่วนอื่นๆ จะกลายเป็นอิมพีแดนซ์สูง (ความต้านทานระหว่างเส้นทางเอาต์พุตสองเส้นทางจะกลายเป็นระดับหลายร้อยเมกะโอห์ม)
เพียงควบคุม 1 (พิน 13) ของ CD4066 ให้สูง เส้นทางระหว่างเอาต์พุต 1 (พิน 1) และเอาต์พุต 2 (พิน 2) ที่เชื่อมต่อในขณะที่เอาต์พุตอื่นไม่ได้เชื่อมต่อ (ในสถานะอิมพีแดนซ์สูง)
ในทำนองเดียวกันอินพุตสูงของการควบคุม 2 (พิน 5) ทำให้เอาต์พุต 1 (พิน 4) และเอาต์พุต 2 (พิน 3) เชื่อมต่อในขณะที่เอาต์พุตอื่นถูกตัดการเชื่อมต่อ
จากนั้น LM555 จะกะพริบ LED สองดวงด้วยอัตราการกะพริบต่างกัน
ดังที่คุณเห็นในแผนผังด้านบน NE555 จะทำงานโดยมีค่าแนวต้านหนึ่งใน 4 (12k, 24k, 51k, 100k) แนวต้านที่เป็นไปได้
ขั้นตอนที่ 3: NE555 การสร้างนาฬิกาที่แตกต่างกัน
ตามที่แสดงในแผนผัง NE555 จะดำเนินการหนึ่งในค่าความต้านทานที่เป็นไปได้ เช่น 12k, 24l, 51k และ 100k
อันที่จริง ส่วนของวงจรไทม์มิ่ง NE555 เป็นตัวบ่งชี้ภาพหลักที่สนับสนุนส่วนหนึ่งของวงจร
รูปแบบการทำงานของวงจรมีดังนี้
- เมื่อไม่มีการโหลด CPU ที่สำคัญ โปรแกรม python ที่ติดตั้งใน RPI จะส่งเอาต์พุต 00 ไปที่วงจรตัวบ่งชี้ จากนั้นสองเส้นทางเอาท์พุตของ CD4066 กำลังเปิดใช้งานและ NE555 ทำงานด้วยค่าตัวต้านทาน 12k ดังนั้นไฟ LED จะกะพริบ 1.5 ครั้งต่อวินาที (กะพริบค่อนข้างเร็ว)
- CPU โหลดเบา ๆ (จากนั้นความยาวของคิวเวลาทำงานจะกลายเป็น 0.1 ~ 0.9 ระดับ) python จะส่ง 01 ไปยังวงจร จากนั้น CD4066 เปิดใช้งานด้วยเอาต์พุตที่เชื่อมต่อกับตัวต้านทาน 24k ส่งผลให้ LED กะพริบลดลง 1.2 ครั้งต่อวินาที (LED กะพริบลดลงเล็กน้อย แต่ยังเร็วอยู่เล็กน้อย)
- เมื่อโหลด CPU เพิ่มขึ้นอย่างมาก (จากนั้นความยาวรันคิวเวลาทำงานจะกลายเป็น 1.0 ~ 1.9 ระดับ) python จะส่งออก 10 ไปยังวงจร จากนั้นเปิดเส้นทางการเชื่อมต่อตัวต้านทาน 51k และ NE555 ทำงาน 0.8 ครั้งต่อวินาที ตอนนี้อัตราการกะพริบจะลดลงอย่างมาก
- ภาระงานหนักของ CPU และความยาวของคิวการรันไทม์จะนานขึ้น (มากกว่า 2 งานจะรอดำเนินการโดย CPU และเวลาทำงานจะรายงานมากกว่า 2.0) เมื่อเลือกการเชื่อมต่อตัวต้านทาน 100k NE555 จะกะพริบ LED 0.5 ครั้งต่อวินาที (ความเร็วกะพริบช้ามาก)
***
พร้อมกับโหลดระบบที่เพิ่มขึ้น ความเร็วการกะพริบของ LED จะลดลงตามไปด้วย
เมื่อไฟ LED กะพริบค่อนข้างช้า RPI ก็จะโอเวอร์โหลดอย่างมากอย่างแน่นอน
วิธีนี้เป็นวงจรบ่งชี้โหลดรายงานระดับโหลดปัจจุบันของ RPI
ขั้นตอนที่ 4: อะไหล่
ในการทำวงจรนี้จะใช้ชิป IC ต่างๆ
แม้ว่าฉันกำลังพูดถึง 74LSxx ซึ่งเป็นชิป IC แบบเก่าประเภท CD40xx คุณสามารถใช้ชิป TTL และ CMOS รุ่นล่าสุดได้ เช่น 74HC4066 และ 74ASxx เมื่อชิป IC ที่เลือกเป็นแบบ DIP
นอกจากนี้ยังสามารถใช้ชนิดยึดพื้นผิวของแพ็คเกจ IC ขนาดเล็กได้เมื่อคุณสามารถบัดกรีชิ้นส่วนขนาดเล็กบน PCB สากลได้อย่างเหมาะสม
ส่วนอื่นๆ เป็นส่วนทั่วไปที่คุณสามารถซื้อได้ง่ายจากร้านค้าออนไลน์ทางอินเทอร์เน็ต
- 74LS139 (ตัวถอดรหัส 2 ถึง 4, ตัวแยกสัญญาณ) x 1
- 74HC04 (อินเวอร์เตอร์ 6 ตัว) x 1
- CD4066 (ไอซีสวิตช์อนาล็อก 4 ตัว) x 1
- NE555 ไอซีตั้งเวลา x 1
- ตัวเก็บประจุ: 10uF x 1, 0.1uF x 1
- PC817 opto-coupler x 2 (สามารถใช้ opto-coupler 4 พินทั่วไปได้)
- ตัวต้านทาน: 220ohm x 4 (ขีดจำกัดกระแสไฟ LED), 4.7K (อินเทอร์เฟซ Opto-coupler) x 2, 12K, /24K/51K/100K (การควบคุมเวลาของนาฬิกา) x 1
- LED x 2 (สีต่างๆ เช่น เหลือง เขียว แดง เขียว)
- บอร์ดอเนกประสงค์ 30(W) คูณ 20(H) ขนาดรู (คุณสามารถตัดบอร์ดสากลขนาดใดก็ได้เพื่อให้พอดีกับวงจรนี้)
- ลวดดีบุก (สำหรับทำลวดลายสายไฟบน PCB สากล)
- หัวพิน (3 ขา) x 3
- หัวพินไอซี (4 ขา) x 4
- สายไฟสีแดง/น้ำเงิน
***
ขั้นตอนที่ 5: การสร้าง PCB Drawing
แม้ว่าฉันกำลังแสดงภาพวาด PCB ในแต่ละโครงการ แต่การออกแบบการเดินสายเป็นเพียงข้อมูลอ้างอิงซึ่งจะแนะนำให้คุณแก้ไขการบัดกรีแต่ละส่วนบน PCB สากล
แต่คุณไม่จำเป็นต้องยึดติดกับรูปแบบการเดินสายนี้
ดังที่คุณเห็นแผนภาพการเดินสายไฟด้านบน ค่อนข้างซับซ้อนและต้องใช้ PCB ขนาดใหญ่มาก
คุณสามารถใช้สายเคเบิลทั่วไปเพื่อเชื่อมต่อชิ้นส่วนต่างๆ แทนลวดดีบุก เพื่อลดขนาดของ PCB ที่บัดกรีเสร็จแล้ว
ใช้เฉพาะภาพวาด PCB เพื่อตรวจสอบและยืนยันการบัดกรีที่ถูกต้องระหว่างส่วนต่างๆ
เมื่อจำนวน TTL หรือ CMOS IC เพิ่มขึ้น โดยปกติการวาด PCB จะค่อนข้างซับซ้อนเกินกว่าการรวมเข้ากับด้านเดียวของ PCB
ดังนั้น PCB หลายชั้นจึงมักใช้สำหรับวงจรดิจิตอลระดับอุตสาหกรรมซึ่งรวมถึง TTL, CMOS และไมโครโปรเซสเซอร์จำนวนมาก
ขั้นตอนที่ 6: การบัดกรี
ฉันใช้ลวดดีบุกและสายเคเบิลทั่วไปร่วมกันเพื่อลดขนาด PCB ให้ได้มากที่สุด
เมื่อเปรียบเทียบกับการวาด PCB ตำแหน่งของแต่ละส่วนจะเปลี่ยนไปโดยสิ้นเชิง
แต่ยังคงใช้การวาด PCB เพื่อตรวจสอบการเชื่อมต่อที่ถูกต้องระหว่างชิ้นส่วนขณะบัดกรี
คุณสามารถเห็นตัวต้านทาน 12k/24k/51k/100k ถูกเสียบบนหัวพิน IC โดยไม่ต้องบัดกรี
ดังนั้นคุณสามารถแทนที่ตัวต้านทานเป็นค่าอื่นเพื่อเปลี่ยนรูปแบบการทำงานของวงจรได้อย่างสะดวกในภายหลัง
ขั้นตอนที่ 7: การประกอบ
วงจรแสดงการโหลดที่เสร็จสมบูรณ์ (ต่อไปนี้คือ INDICATOR) ถูกติดตั้งลงในกล่อง RPI ของเครื่องเล่นเพลงดังแสดงในภาพด้านบน
เครื่องเล่นเพลงนี้ติดตั้งกับ DAC และฉันกำลังใช้เครื่องเล่นนี้เพื่อเล่นมิวสิควิดีโอเมื่อเร็วๆ นี้
เกี่ยวกับกล่อง RPI นี้ ฉันจะอธิบายในภายหลัง และตอนนี้เรามาเน้นที่ INDICATOR เนื่องจากวงจรเป็นหัวข้อหลักของโครงการนี้
ฉันเพิ่งซื้อ Raspberry Pi 4 รุ่น B 2GB (ต่อไปนี้ RPI 4B) เพื่อรองรับแอปพลิเคชันเล่นวิดีโอ
เนื่องจาก RPI 4B ได้เพิ่มประสิทธิภาพของ CPU 4 คอร์ การจัดการโหลดของระบบจึงได้รับการปรับปรุงอย่างมากจาก RPI 3B+
ดังนั้นเอาต์พุตความยาวรันคิวเวลาทำงานจึงควรได้รับการปฏิบัติแตกต่างจาก RPI 3B+
- สำหรับการโหลดระบบแบบธรรมดา เช่น การเล่นวิดีโอ ความยาวรันคิวมักจะน้อยกว่า 0.5 (ดังนั้น โหลดระบบ LOW จะอยู่ที่ระดับ 0.0 ~ 0.5)
- เมื่อมีการเพิ่มโหลดระบบเพิ่มเติมเล็กน้อย เช่น การเล่นวิดีโอและการคัดลอกไฟล์จากและไปยังประเภทไดเรกทอรีภายในเครื่อง ส่งผลให้ CPU มีภาระเล็กน้อย (ดังนั้นระดับการโหลด LIGHT จะอยู่ที่ 0.5 ~ 1.0)
- เมื่อมีการโหลดจำนวนมาก เช่น การเล่นวิดีโอบนเบราว์เซอร์ที่ไซต์ Youtube และการท่องเว็บบนเบราว์เซอร์อื่น ความเร็วในการทำงานของ RPI 4 จะช้าลงเล็กน้อย (ดังนั้น ระดับการโหลด MEDIUM จะเป็น 1.0 ~ 2.0)
- ในที่สุดโหลดระบบ RPI 4 จะสูงเมื่อใช้งานเว็บเบราว์เซอร์หลายตัวและคัดลอกไฟล์จำนวนมากไปยังเซิร์ฟเวอร์ RPI อื่นผ่านเครือข่าย (จากนั้นความยาวของคิวรันจะมากกว่า 2.0)
***
ข้อมูลระดับการโหลดนี้จะถูกใช้โดยจะได้รับการพัฒนาโค้ดหลามในขั้นตอนต่อไป
ขั้นตอนที่ 8: แก้ไขวงจรเดิม
เนื่องจากการออกแบบวงจรเดิมมีข้อบกพร่องหลายอย่าง ผมจึงทำการปรับเปลี่ยนวงจรดังรูปด้านบน
สาเหตุของการเปลี่ยนแปลงมีดังนี้
- ชีพจรนาฬิกา NE555 ประกอบด้วยรูปคลื่นสูงและต่ำ แต่โดยปกติระยะเวลาสัญญาณ HIGH และ LOW (t=1/f) จะไม่เท่ากัน (เช่น HIGH คือ 70% และ LOW เท่ากับ 30% ในวงจรเดิม) ดังนั้น อัตราการกะพริบของไฟ LED สองดวง (ไฟ LED สีเขียว/เหลืองในการออกแบบดั้งเดิม) จึงไม่เท่ากัน (ไฟ LED ดวงหนึ่งเปิดนานกว่าอีกดวงหนึ่ง) ด้วยเหตุนี้ การแสดงภาพด้วยไฟ LED ที่กะพริบจึงไม่เป็นที่จดจำได้ง่ายนัก'
- ดังนั้นฉันจึงเพิ่ม LED และสร้างรูปแบบการวนซ้ำแบบวงกลมด้วย CD4017 เพื่อให้จดจำสถานะการทำงานได้ง่าย
- ยังเปลี่ยนรูปแบบการกะพริบของ LED แบบย้อนกลับเช่นกะพริบช้าที่โหลดต่ำและกะพริบเร็วขึ้นด้วยโหลดสูง (วงจรเดิมทำให้กะพริบเร็วขึ้นในโหลดต่ำและกะพริบช้าที่โหลดสูง) ในสถานการณ์โหลดสูง การดำเนินการ RPI ใดๆ จะซบเซา และการแสดงไฟ LED ที่กะพริบช้าๆ จะไม่ทำให้คุณมีความสุข (ในด้านจิตวิทยา ฉันกำลังเลือกรูปแบบการแสดงในเชิงบวกมากขึ้น)
***
แม้ว่าส่วนแสดงผล LED จะมีการเปลี่ยนแปลงอย่างมาก แต่ระดับการเปลี่ยนแปลงโดยรวมกับวงจรเดิมนั้นไม่มากนักอย่างที่คุณเห็นในขั้นตอนต่อไป
ขั้นตอนที่ 9: การเปลี่ยนแปลงแผนผังดั้งเดิม
การเพิ่ม CD4017 และ LED 8 ดวงเป็นการดัดแปลงที่สำคัญ
นอกจากนี้ หากต้องการเปลี่ยนความถี่การตอกบัตร NE555 และไฟ LED กะพริบแบบย้อนกลับ ค่าตัวต้านทานจะเปลี่ยนไปดังแสดงในแผนผังด้านบน
เนื่องจากส่วนของวงจรที่เพิ่มเข้ามานั้นเป็นวงจรไล่ตามแบบธรรมดาของ CD4017 ฉันจะข้ามคำอธิบายรายละเอียดอื่น ๆ ของวงจรที่ดัดแปลง
ส่วนวงจรที่เปลี่ยนแปลงทั้งหมดสามารถทำเป็นบอร์ด PCB ของลูกสาวซึ่งมีการบัดกรี CD4017 และ 8 LEDs
บอร์ดลูกสามารถต่อเข้ากับเมนบอร์ด (เมนบอร์ด) ได้ตามภาพในขั้นตอนที่ 8
ขั้นตอนที่ 10: การทดสอบ
วิดีโอการทดสอบของขั้นตอนการปฏิบัติงานทั้งหมด (สถานะโหลดต่ำ น้ำหนักเบา ปานกลาง และสูง) จะแสดงโดยไฟล์ที่จัดเก็บไว้ใน Google ไดรฟ์ด้านล่าง
***
drive.google.com/file/d/1CNScV2nlqtuH_CYSW…
***
ตามการโหลดของระบบในปัจจุบัน อัตราการกะพริบจะเปลี่ยนไปจากสถานะใดสถานะหนึ่งจาก 4 สถานะที่แสดงในวิดีโอ
ขั้นตอนที่ 11: รหัสหลาม
เนื่องจากลอจิกควบคุมส่วนใหญ่รวมอยู่ในวงจรฮาร์ดแวร์ภายนอก ลอจิกการทำงานของโค้ดหลามจึงค่อนข้างง่ายรวมถึงขั้นตอนต่อไปนี้
- รับข้อมูลอุณหภูมิ CPU เพื่อเปรียบเทียบสัมพัทธภาพระหว่างโหลดระบบกับการเพิ่มอุณหภูมิ
- รวบรวมโหลดระบบเฉลี่ย 1 นาทีจากเอาต์พุตเวลาทำงาน
- ทำการประทับเวลาเช่น yy-mm-dd hh:mm:ss format
- อุณหภูมิในการเขียน โหลดระบบพร้อมกับประทับเวลา
- ตามข้อมูลเอาต์พุตโหลดของระบบปัจจุบัน (00, 01, 10, 11) ถึงวงจร INDICATOR
- นอนหลับ 5 วินาทีก่อนเริ่มขั้นตอนดังกล่าวข้างต้น
เนื่องจากโปรแกรม python ต้องการการเยื้องที่เข้มงวดภายในซอร์สโค้ด โปรดดาวน์โหลดไฟล์ต้นฉบับจาก google ไดรฟ์โดยไปที่ลิงก์ด้านล่าง
***
drive.google.com/file/d/1BdaRVXyFmQrRHkxY8…
***
เนื่องจากฉันไม่ได้ใช้ RPI เป็นคอมพิวเตอร์เดสก์ท็อป การเรียกใช้แอปพลิเคชัน Libre office หรือเว็บเบราว์เซอร์จึงหายากมาก
โดยปกติฉันกำลังเล่นมิวสิกวิดีโอ คัดลอก/ย้ายไฟล์ หรือเขียนโปรแกรม python ด้วย RPI 4B 2GB ที่ซื้อมาใหม่
ดังนั้น โหลดเฉลี่ยมักจะน้อยกว่า 1.0 ในกรณีของฉัน ดังนั้นฉันจึงเปลี่ยนระดับ LOW/LIGHT/MEDIUM/HIGH ในโค้ดของฉัน (คุณสามารถเปลี่ยนเงื่อนไขการทดสอบเป็นอย่างอื่นได้)
แต่เมื่อคุณดูวิดีโอ Youtube ที่มี RPI เป็นประจำ การโหลดระบบมากกว่า 2.0 มักจะเกิดขึ้น
ขั้นตอนที่ 12: สัมพัทธภาพระหว่างโหลดระบบและอุณหภูมิ CPU
โดยปกติฉันเดาและมั่นใจว่าการเพิ่มภาระของระบบจะทำให้อุณหภูมิของ CPU สูงขึ้น
แต่จนถึงตอนนี้ฉันยังไม่มีภาพที่ชัดเจนของการทำงานร่วมกันระหว่างพวกเขา
ดังที่คุณเห็นในกราฟด้านบน ความสัมพันธ์เหล่านี้มีความสัมพันธ์ที่แน่นแฟ้นมากดังนี้
- เพื่อให้เปรียบเทียบง่าย ๆ ฉันกำลังคูณ 10 กับโหลดระบบโดยเฉลี่ย มิฉะนั้นขนาดของโหลดระบบจะเล็กมาก (0.0 ~ 2.0) การเปรียบเทียบโดยตรงกลายเป็นเรื่องยาก
- เนื่องจากวงจรพัดลมระบายความร้อนถูกติดตั้งไว้ที่กล่อง Pi เล่นเพลง อุณหภูมิของ CPU จะต้องไม่เกิน 50C
- เมื่อโหลดระบบอยู่ในช่วง 0.0 ~ 1.0 อุณหภูมิจะอยู่ในช่วง 45 ~ 48C (ฝาครอบโลหะของ CPU จะอุ่นขึ้นเล็กน้อย)
- แต่ใช้งานหนัก (โดยปกติคือเว็บเบราว์เซอร์และเล่นวิดีโอ Youtube) โหลดทะยานขึ้นและอุณหภูมิ
***
เนื่องจาก RPI 4B ถูกติดตั้งด้วย CPU 4 คอร์ ในทางทฤษฎีแล้ว ประสิทธิภาพการทำงานจะไม่ลดลงจนถึงระดับโหลดมากนัก (คิวการรันอัพไทม์) 4.
แต่ยังน้อยกว่าระดับโหลดเฉลี่ย 4 จำเป็นต้องมีการควบคุมอุณหภูมิที่เหมาะสม
ขั้นตอนที่ 13: การสรุปผล
ฉันทำโปรเจ็กต์นี้เสร็จโดยติดตั้ง INDICATOR ลงในกล่อง Pi ดังรูปด้านบน
ระหว่างการใช้งานกล่อง Pi นี้โดยปกติ INDICATOR ไม่ค่อยแสดงไฟ LED ระดับสูงและไดนามิกกะพริบ
โดยปกติแล้วจะยังคงอยู่ในสถานะ LED ที่กะพริบช้าๆ (ดังนั้น ระดับ LOW หรือ LIGHT)
อย่างไรก็ตาม เพิ่มตัวบ่งชี้ภาพทำให้ตลกเล็กน้อย อย่างน้อยก็แสดงว่า RPI กำลังทำอะไรบางอย่างอยู่
ขอบคุณที่อ่านเรื่องราวนี้…..
แนะนำ:
วิธีทำความสะอาดพัดลม CPU: 8 ขั้นตอน
วิธีทำความสะอาดพัดลม CPU: การไม่ทำความสะอาดพัดลม CPU อาจทำให้พัดลมทำงานช้าลงหรือทำงานล้มเหลวโดยสิ้นเชิง หากพัดลมไม่ทำงาน อุณหภูมิภายในยูนิตระบบจะเพิ่มขึ้นอย่างมาก ซึ่งทำให้เกิดความร้อนสูงเกินไป วิดีโอนี้ช่วยให้คุณ
Raspberry Pi Box of Cooling FAN พร้อมตัวบ่งชี้อุณหภูมิ CPU: 10 ขั้นตอน (พร้อมรูปภาพ)
Raspberry Pi Box of Cooling FAN พร้อมตัวบ่งชี้อุณหภูมิของ CPU: ฉันได้แนะนำ raspberry pi (ต่อไปนี้เป็น RPI) วงจรตัวบ่งชี้อุณหภูมิ CPU ในโครงการก่อนหน้านี้ วงจรแสดง RPI 4 ระดับอุณหภูมิ CPU ที่แตกต่างกันดังนี้ - ไฟ LED สีเขียวเปิดเมื่อ อุณหภูมิ CPU อยู่ภายใน 30 ~
ตัวบ่งชี้อุณหภูมิ CPU Raspberry Pi: 11 ขั้นตอน (พร้อมรูปภาพ)
ตัวบ่งชี้อุณหภูมิ CPU Raspberry Pi: ก่อนหน้านี้ฉันได้แนะนำวงจรตัวบ่งชี้สถานะการทำงานของราสเบอร์รี่ pi อย่างง่าย (ต่อไปนี้เป็น RPI) คราวนี้ฉันจะอธิบายวงจรตัวบ่งชี้ที่มีประโยชน์มากขึ้นสำหรับ RPI ที่ทำงานในลักษณะหัวขาด (ไม่มีจอภาพ) วงจรด้านบนแสดง อุณหภูมิซีพียู
$ 3 คอมพิวเตอร์ CPU Intake Fan Duct: 7 ขั้นตอน (พร้อมรูปภาพ)
$3 คอมพิวเตอร์ CPU Intake Fan Duct: การมีท่อไอดีตรงจากด้านข้างของเคสคอมพิวเตอร์ของคุณไปยังพัดลม CPU จะช่วยให้คุณระบายความร้อนได้ดีกว่าตัวเลือกการระบายความร้อน (อากาศ) อื่นๆ แทนที่จะใช้ลมเข้าจากพอร์ตด้านหน้าซึ่งมีเวลาอุ่นเครื่องจากส่วนประกอบอื่นๆ
พัดลมควบคุม PWM ตามอุณหภูมิ CPU สำหรับ Raspberry Pi: 4 ขั้นตอน (พร้อมรูปภาพ)
พัดลมควบคุม PWM ตามอุณหภูมิของ CPU สำหรับ Raspberry Pi: หลายกรณีสำหรับ Raspberry Pi มาพร้อมกับพัดลม 5V ขนาดเล็กเพื่อช่วยระบายความร้อนของ CPU อย่างไรก็ตาม พัดลมเหล่านี้มักจะมีเสียงดังและหลายคนเสียบเข้ากับพิน 3V3 เพื่อลดเสียงรบกวน พัดลมเหล่านี้มักจะได้รับการจัดอันดับสำหรับ 200mA ซึ่งค่อนข้างเ