Raspbian ตรวจจับภายใต้แรงดันไฟฟ้าอย่างไร


16

พี่รู้ได้อย่างไรว่ากำลังถูกครอบงำและแสดงสายฟ้าแสง?

อย่างที่พวกเราส่วนใหญ่ทราบกันดีว่าถ้าคุณใช้แหล่งจ่ายไฟที่ไม่ดีคุณจะได้รับสายฟ้าที่บอกว่าคุณกำลังอ่อนแอ

ฉันสังเกตเห็นว่าเมื่อฉันใช้ Pi ของฉันในแบตเตอรี่ 15 นาทีสุดท้ายก่อนที่ Pi จะรีบูทสายฟ้าฟาดก็เริ่มปรากฏขึ้นและในที่สุดก็อยู่ที่นั่นจนกระทั่งรีบูตซึ่งทำให้รู้สึกเพราะแรงดันแบตเตอรี่ของฉันลดลงเหมือนเดิม การระบายน้ำ

นี่ทำให้ฉันคิดว่าฉันสามารถใช้มันเพื่อสร้างโปรแกรมที่ปิด Pi เมื่อตรวจจับค่าคงที่ภายใต้แรงดัน ฉันรู้ว่าก่อนหน้านี้เกิดขึ้นจะดียิ่งขึ้น แต่ฉันไม่ได้กังวลเกี่ยวกับเรื่องนั้น

มีคำสั่งสำหรับแรงดันไฟฟ้าเช่นเดียวsudo vcgenmd measure_tempกับอุณหภูมิหรือไม่ที่จะรู้ว่าแรงดันคืออะไร? ถ้าไม่ใช่ Pi จะรู้ได้อย่างไรว่ากำลังถูก underpowered?

แก้ไข : นี่ไม่ซ้ำกันเพราะคำถามอื่นแนะนำให้คุณต้องการฮาร์ดแวร์ภายนอก ฉันกำลังชี้ให้เห็นว่าสิ่งนี้ไม่จำเป็นอย่างเคร่งครัด


คำตอบ:


4

บางรุ่น Pi มีชิปออนบอร์ดซึ่งตรวจจับแรงดันไฟฟ้าต่ำ ใช้เพื่อขับเคลื่อน LED พลังงานในบางรุ่น Pi

รุ่น A +, B +, Pi2B

LED พลังงานสีแดงเชื่อมต่อกับ GPIO 35 คุณสามารถตรวจสอบ GPIO เพื่อตรวจสอบภายใต้สภาวะแรงดันไฟฟ้า (น้อยกว่า 4.65V)

การตรวจสอบ

ในการตรวจสอบ GPIO คุณจะต้องอ่านค่าของมัน หากค่าปกติ (สถานะกำลังไฟที่ดี) สูง (1) จะมีการระบุแรงดันตกตกเมื่ออ่านค่าต่ำ (0) GPIO จะกลับสู่สถานะปกติหากล้างค่า undervoltage ดังนั้นคุณจะต้องอ่าน GPIO บ่อยครั้งเพื่อตรวจสอบสภาพชั่วคราว


ฉันจะตรวจสอบได้อย่างไรว่า ... GPIO เป็นพินดิจิตอลใช่ไหม
— NULL

@NULL แก้ไขคำตอบ
— joan

19

ถ้าคุณต้องการที่จะทำมันด้วยเชลล์สคริปต์นี่เป็นวิธีแก้ปัญหาที่ใช้ได้กับ Pi 1, 2 & 3 (ไม่ได้ทดสอบในศูนย์) ด้วยคำสั่ง:

/opt/vc/bin/vcgencmd get_throttled

หากคำตอบคือ:

throttled=0x0

คุณดีกับแรงดันไฟฟ้าและอุณหภูมิ SoC

จำนวนบิตที่ส่งคืนหมายถึง:

0: under-voltage
1: arm frequency capped
2: currently throttled 
16: under-voltage has occurred
17: arm frequency capped has occurred
18: throttling has occurred

อ้างอิง: Raspbian Jessie linux 4.4.9 ประสิทธิภาพการย่อยสลายอย่างรุนแรง

มีรายการที่เป็นปัจจุบันมากขึ้นhttps://github.com/raspberrypi/documentation/blob/JamesH65-patch-vcgencmd-vcdbg-docs/raspbian/applications/vcgencmd.md

0: under-voltage
1: arm frequency capped
2: currently throttled
3: Soft Temp limit reached  3
16: under-voltage has occurred
17: arm frequency capped has occurred
18: throttling has occurred
19: Soft Temp limit has occurred

นี่เป็นเรื่องจริงถ้าแรงดันไฟฟ้าต่ำและความร้อนสูงเกินไปมีความหมายเหมือนกันหรือมีความสัมพันธ์ที่รู้จักกันบางอย่างเช่นที่เราสามารถพูดได้ว่าแรงดันไฟฟ้าต่ำเกินไป 0.5 V อุณหภูมิแกนกลางจะเป็น ... แต่นั่นไม่ใช่กรณี
— goldilocks

ฉันแค่ให้ตัวอย่าง ค่าที่ส่งคืนมีหลายบิตที่ตั้งค่าถ้า: 1) การจัดหาไม่ได้ให้อินพุตที่ปลอดภัย (ซึ่งเป็นสิ่งที่ OP ต้องการ); 2) ความถี่ ARM ลดลงเนื่องจากอุณหภูมิที่สูง 3) แรงดันไฟฟ้าเกินถูกปิดเนื่องจากอุณหภูมิสูงมาก ลิงก์ที่ฉันให้ไว้ไม่ต้องสงสัย
— zertyz

1
ถ้าอย่างนั้นทำไมไม่ลองเขียนมันตั้งแต่แรกล่ะ? อย่างไรก็ตามต้อนรับ - แต่โปรดอ่านนโยบายของเราเกี่ยวกับการเชื่อมโยงคำตอบเท่านั้น informationless สิ่งนี้ไม่ได้เป็นอย่างนั้นแม้ว่าข้อมูลจริงในการตอบจะไม่ตอบคำถามจริงเช่นกัน ความคิดคือคำตอบนั้นสมบูรณ์ในตัวเอง สิ่งที่ "อ่านลิงค์นี้" เป็นของความคิดเห็น ฉันรู้ว่าคุณไม่มีชื่อเสียงพอที่จะโพสต์ความคิดเห็นเกี่ยวกับคำถาม แต่มันจะดีถ้าคุณใช้เวลาไม่กี่นาทีในการปรับโครงสร้างนี้ ...
— goldilocks

... โปรดทราบว่าเราไม่ใช่ฟอรั่มสนทนาโดยที่เนื้อของเธรดอยู่ในการโพสต์ตามเวลาที่ไม่เป็นทางการ หากคุณกำลังถามคำถามและมีคนขอข้อมูลเพิ่มเติมให้แก้ไขเป็นคำถามอย่าเพิ่งทิ้งไว้ในความคิดเห็นตอบกลับ ในทำนองเดียวกันหากคุณมีคำตอบและมีคนขอคำชี้แจงสิ่งที่ไม่ได้ระบุไว้อย่างชัดเจนในคำตอบควรได้รับการแก้ไขในคำตอบและไม่เพียง แต่ทิ้งไว้ในบันทึกความคิดเห็น
— goldilocks

1
ควรเป็นคำตอบที่ยอมรับได้
— Feriman

1

ต่อไปนี้จะอธิบายถึงวิธีวงจรอำนาจของทันสมัย Pi (มีหัว 40 เข็ม) ทำงานRaspberry Pi พลังงานข้อ จำกัด

สายฟ้าจะถูกควบคุมโดยเคอร์เนลและ AFAIK ไม่มีวิธีที่ง่ายในการเข้าถึง

สามารถตรวจจับสถานะพลังงานได้ง่ายขึ้น สามารถใช้งานได้โดยตรงผ่านระบบใน B + Pi2 /sys/class/leds/led1และสามารถเข้าถึงได้ผ่านโปรแกรมบน Pi3 https://raspberrypi.stackexchange.com/a/60275/8697

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.