ลดพลังงานสำหรับตัวติดตาม Raspberry Pi GPS / GSM


10

ฉันเพิ่งสร้างตัวติดตาม GPS / GSM ของ IoT ที่ทำงานได้อย่างสมบูรณ์ด้วย Pi Zero สำหรับโครงการวิทยาลัยและตอนนี้มันเสร็จสิ้นแล้วและทำด้วยฉันต้องการลดจำนวนการดึงของระบบทั้งหมดในปัจจุบันเนื่องจากแบตเตอรี่ 2500mAh สองก้อนสามารถใช้งานได้เท่านั้น เป็นเวลาหนึ่งถึงสองวัน อย่างไรก็ตามฉันยังใหม่กับอุปกรณ์เหล่านี้และฉันชอบความช่วยเหลือเกี่ยวกับการเปลี่ยนแปลงฮาร์ดแวร์และเทคนิค

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

การตั้งค่าปัจจุบันของฉันใช้:


ฉันรู้เกี่ยวกับการจิบ Arduinos และ MSP430 แต่ฉันไม่รู้ว่ามันเป็นไปได้หรือไม่ที่จะทำสิ่งที่ฉันต้องการให้ทำกับไมโครคอนโทรลเลอร์เหล่านี้

คำถามของฉันคือ:

  1. เส้นโค้งการเรียนรู้ที่สูงชันจะไปจากราสเบอร์รี่ Pi ไปยังบอร์ดกระดูกเปลือยมากขึ้นได้อย่างไร
  2. บอร์ดอื่น ๆ เหล่านี้สามารถใช้ระบบ GSM / GPS / Accelerometer พร้อมกันได้หรือไม่?
  3. มีโมดูลอื่น ๆ ที่ให้การทำงานเหมือนกัน แต่ใช้พลังงานน้อยลงหรือไม่ (ฉันไม่พบหมายเลขพลังงานเฉพาะสำหรับโมดูลเหล่านี้)
  4. โมดูลปัจจุบันของฉันจะทำงานกับ MSP430 ได้หรือไม่
  5. คำแนะนำ / ความคิดเห็นใด ๆ

3
นั่นเป็นคำถามสองสามข้อ คุณน่าจะได้คำตอบที่ดีกว่านี้ถ้าคุณให้ความสำคัญมากกว่านี้
Helmar

1
คำถามนี้เป็นการเล่าที่จะทำให้คำตอบง่าย ๆ มันจะดีกว่าถ้าคุณอ้างอิงการออกแบบที่มีอยู่ของคุณจากนั้นกำหนดข้อกำหนดการใช้งานและอินเทอร์เฟซ คุณกำลังทิ้งการสอบสวนทางสถาปัตยกรรมไว้มากมายให้กับทุกคนที่ตอบในขณะนี้ - และสันนิษฐานว่าคุณได้รับคำตอบเหล่านี้แล้ว
Sean Houlihane

คำตอบ:


8

ฉันจะสมมติว่าความต้องการการประมวลผลบนอุปกรณ์ใกล้ศูนย์มากพอ ดูเหมือนว่าคุณกำลังใช้อินพุตเร่งความเร็วเพื่อกำหนดความถี่ในการปลุกอุปกรณ์ GSM

เป็นการดีที่คุณต้องการให้ MCU ซึ่งสามารถเรียกใช้จาก accelerometer เพื่อปลุกจากโหมดสลีปแล้วกำหนดเวลาที่จะส่งตำแหน่ง ping อุปกรณ์ที่ใช้ micro-python ควรเป็นจุดเริ่มต้นที่ดี

ตัวอย่างของการระบายพลังงานของบอร์ดขนาดเล็กบีบีซีไมโครบิทดูเหมือนว่าจะใช้งานสองพันมิลลิวินาทีเมื่อหน้าจอปิด (ทำงานที่ 16 MHz และขับเคลื่อนด้วย accelerometer / magentometer ออนบอร์ด)

Micropython รองรับ 'sleep' แต่จะขึ้นอยู่กับแพลตฟอร์มเป้าหมายว่าประหยัดพลังงานได้มากแค่ไหน สำหรับแอพพลิเคชั่นประเภทนี้จริงแล้วระบบปฏิบัติการแบบฝังตัว C ++ จะไม่ยากที่จะเขียนโค้ดและทำให้ยืดหยุ่นได้มากขึ้นสำหรับการประหยัดพลังงานอีกเล็กน้อย

ขั้นตอนแรกในการคำนวณการระบายพลังงานของคุณคือการระบุโหมดที่แตกต่างและจัดสรรต้นทุนพลังงานให้กับแต่ละงาน สิ่งนี้ช่วยให้คุณสามารถเปรียบเทียบค่าใช้จ่ายข้อความ GPS / GSM กับพลังงานพื้นฐานที่ไม่ได้ใช้งานรายวัน (ไม่ทำงาน) จากนั้นคุณสามารถดูว่าการบันทึกที่มีอยู่ในแต่ละองค์ประกอบคืออะไร ให้โมดูล GSM ของคุณใช้งานได้เพียงไม่กี่นาทีต่อวันการใช้พลังงานอาจไม่มีนัยสำคัญพอสมควร


1
การนอนหลับน่าจะเป็นวิธีที่จะไปกระตุ้นการตื่นขึ้นมาด้วย accelerometer แต่ยังมีการจับเวลาหรือสิ่งอื่นที่เกี่ยวข้องกับการใช้งาน (หายไปในคำถาม OP)
Rsf

5

จากประสบการณ์ของฉันโมดูล GSM และ GPS ใช้พลังงานมากกว่าโปรเซสเซอร์ คาดว่าจะเป็นเช่นนี้เนื่องจากทั้งคู่มีวงจร RF จำนวนมากและโมดูล GSM จำเป็นต้องส่งและรับ

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

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


5

การใช้MicroPythonคุณสามารถเปลี่ยนจาก Pi Zero ที่ใช้ไปเป็นแพลตฟอร์มอื่นได้ PyBoard อย่างเป็นทางการคือSTM32F405RGซึ่งอาจดีพอ แต่มีการรองรับซีรีย์ STM32L4 ที่ใช้พลังงานต่ำเช่นกัน

ขณะนี้คุณใช้ Pi Zero ที่ 1 GHz เพื่อใช้ UART และอุปกรณ์ต่อพ่วง I2C เพื่อเชื่อมต่อ SIM808 และ LSM303 ของคุณ Pi ใช้พลังงานประมาณ 80 mA โดยไม่ใช้งานไม่พูดเมื่อไม่ได้ใช้งาน

หากคุณสามารถลดความถี่สัญญาณนาฬิกาของ CPU คุณก็สามารถลดการใช้พลังงานได้เช่นกัน สำหรับภารกิจนี้สอง MHz จะพอเพียง

ดังนั้นคุณสามารถเปลี่ยนเป็น PyBoard ซึ่งกินได้เพียงสองสาม mA ที่ต่ำกว่า 10 MHz ในโหมดรันพร้อมกับอุปกรณ์ต่อพ่วงทั้งหมด

ป้อนคำอธิบายรูปภาพที่นี่

0.4 mA หยุดน้อยกว่ามากและ 2.4 uA ในโหมดสแตนด์บาย

อาจเป็นไปได้ว่าคุณจะต้องย้ายสคริปต์ของคุณไปยัง MicroPython แต่จะง่ายกว่าการย้ายไปที่ C

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