
UPS มักใช้ในแอปพลิเคชันเซิร์ฟเวอร์เพื่อป้องกันการหยุดทำงานของพลังงาน สำหรับแอพพลิเคชั่นที่บ้านเช่นเพื่อปกป้อง NAS อุปกรณ์จ่ายไฟขนาดเล็กที่ไม่หยุดยั้ง (UPS) มีอยู่ แต่พวกเขาทั้งหมดขาดการสื่อสาร USB HID เพื่อปิด NAS/เซิร์ฟเวอร์/โฮสต์เมื่อแบตเตอรี่ต่ำ สำหรับแอพพลิเคชั่นขนาดเล็กเช่นผลิตภัณฑ์ Synology NAS ที่ทำงานที่ 12V ในปัจจุบันไม่มีผลิตภัณฑ์ UPS ที่สามารถบัฟเฟอร์พลังงานและสื่อสารผ่าน USB เมื่อระดับแบตเตอรี่ต่ำอย่างยิ่ง มีเพียงโซลูชันแรงดันไฟฟ้าสูง (110V หรือ 230V) ซึ่งรวมถึงอินเวอร์เตอร์และมีประสิทธิภาพน้อยกว่าและเอาชนะได้สำหรับ Synology 12V Synology ที่เรียบง่าย นี่คือ UPS โอเพ่นซอร์สที่เรียบง่ายโดยใช้ STM32F405 และเขียนด้วย Rust



การสื่อสาร USB HID ขึ้นอยู่กับผลงานที่ยอดเยี่ยมที่ทำโดย Abratchik สำหรับแพลตฟอร์ม Arduino ที่นี่ ฮาร์ดแวร์เป็นเพียงวงจรการชาร์จที่ความจุที่เหลือถูกตรวจสอบโดย MCU

ความสนใจ! PCB นี้ไม่มีวงจรป้องกันแบตเตอรี่ - หากคุณต้องการใช้งานเพียงใช้เคสแบตเตอรี่ Keystone 1047 แทน Keystone 1048p และ Wire A Breakout 2S BMS ก่อนที่จะเชื่อมต่อแบตเตอรี่เข้ากับ PCB ฮาร์ดแวร์สามารถพบได้ในโฟลเดอร์ฮาร์ดแวร์ที่มีไฟล์ขั้นตอนสำหรับเคสรวมถึงไฟล์ Eagle สำหรับ PCB
เชื่อมต่อบอร์ดโดยใช้ ST-Link V3 (พร้อม tagconnect) ไปยังพอร์ต USB บนคอมพิวเตอร์ ตรวจสอบให้แน่ใจว่าได้เปิดเครื่องด้วยตัวเชื่อมต่อ USB-C เพิ่มเติม (St-Link ไม่ได้ให้พลังงาน)
ก่อนอื่นเริ่มเซิร์ฟเวอร์ OpenOCD ในหน้าต่างเทอร์มินัล/คอนโซล: openocd -f interface/stlink-v2-1.cfg -f target/stm32f4x.cfg
แฟลช/เรียกใช้รหัสบนฮาร์ดแวร์โดยใช้:
cargo run --release
หมายเหตุ: การเปิดตัวเป็นสิ่งสำคัญสำหรับ USB ในการทำงานอย่างน่าเชื่อถือ!
ในการตั้งค่าระบบของคุณอย่าลืมทำตามคำแนะนำนี้!