
Los UPS se usan comúnmente en aplicaciones de servidores para proteger contra cortes de energía. Para las aplicaciones domésticas, por ejemplo, para proteger un NAS, existen pequeñas fuentes de alimentación ininterrumpidas (UPS), pero todos carecen de la comunicación HID USB para cerrar el NAS/Server/Host cuando la batería se reduce. Para aplicaciones a pequeña escala como Synology NAS Products que funcionan a 12V, actualmente no existe un producto UPS que pueda amortiguar la energía y comunicarse a través de USB cuando el nivel de la batería se vuelve críticamente bajo. Solo existen soluciones de alto voltaje (110V o 230V), que también incluyen un inversor y, por lo tanto, son mucho menos eficientes y superadas para un NAS de sinología simple de 12 V. Este es un ups de código abierto simple, basado en un STM32F405 y escrito en óxido.



La comunicación HID USB se basa en el gran trabajo realizado por Abratchik para la plataforma Arduino aquí. El hardware es esencialmente solo un circuito de carga donde el MCU monitorea la capacidad restante.

¡Atención! Esta PCB no contiene un circuito de protección de la batería: si desea implementar uno, solo use el estuche de batería Keystone 1047 en lugar del Keystone 1048p y conecte un BMM 2S BMM antes de conectar las baterías a la PCB. El hardware se puede encontrar en la carpeta de hardware, que contiene archivos de paso para el caso y los archivos Eagle para la PCB.
Conecte la placa utilizando un ST-Link V3 (con TagConnect) a un puerto USB en la computadora. Asegúrese de alimentar la placa con un conector USB-C adicional. (St-Link no proporciona energía)
Primero inicie el servidor OpenOCD en una ventana de terminal/consola: openocd -f interface/stlink-v2-1.cfg -f target/stm32f4x.cfg
Flash/ejecute el código en el hardware usando:
cargo run --release
Nota: ¡La liberación es importante para que USB funcione de manera confiable!
Para configurar su sistema, asegúrese de seguir esta guía!