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.