ITCooky Recetas

Vamos a cocinar it cositas

[no lo compren] Placa de administración de energía X725 Power Management Board de baterías 18650 para Raspberry Pi!

дата agosto 26, 2020

X725 Power Management Board placa para dos baterías 18650 para Raspberry Pi en general funciona y no funciona!

Lo que no funciona
– la función que puede ser activada por jumpers no funciona completamente – protección de la batería contra sobredescarga, encendido o apagado cuando vuelve la energía
– la carga no funciona cuando Raspberry Pi está encendida si el voltaje de los acumuladores ya es de aproximadamente 3V (por ejemplo a 3.6V se está cargando)
– La luz CHG parpadea constantemente, es decir, la batería se descarga y carga constantemente, incluso si la alimentación está conectada; en mi opinión, esto no debería pasar
– La energía se enciende por cualquier cosa – saco el cable Ethernet de la Raspberry Pi cuando está apagado – ¡el x725 se enciende!

Que funciona
– Si instalas scripts, el botón de apagado funciona
– Transmisión del valor del voltage
– Transiciones exitosas del 99% a la energía de la batería

No he probado
– Wake on LAN (pero si el cable (conectado al conmutador) está conectado al puerto Ethernet en el x725 mientras el sistema está apagado, entonces enciende todo, aunque no debería estar de acuerdo con la configuración de jumpers)
– Tarjeta de red 10/100 si conecta el shield también vía USB a la frambuesa.


Los desarrolladores, por supuesto, son conscientes de estas deficiencias y ya han lanzado un shiled muy similar al x725 pero con un nombre diferente X728 Power Mgt + UPS Board otras funciones están colgadas en los jumpers… tal vez incluso funcionan …

Cómo se puede usar
Me paso un par de veces qué la Raspberry Pi se reiniciaba cuando conectaba y sacabaa el cable de alimentación, las baterías estaban completamente cargadas. Pero como fuente de alimentación de respaldo para cortes de energía cortos (2 horas, por ejemplo), es muy posible utilizar el x725. En este caso, debes estar preparado para que en estado apagado pueda encenderse por sí mismo ante cualquier acción con cables y conectores.

Utilizo la fuente de alimentación como ese: la conecto al conector redondo del x725

18650 batería sin protección SONY 3000mah 18650 VTC6 está escrito en la caja, las palabras SONY no están en ellos, hay MURATA INR19 / 66

En la Raspberry Pi, necesitas habilitar I2C, todos lo haceb a través del menú, lo haré a través de la consola.

Necesitas editar el archivo
sudo vi /boot/config.txt
descomentar líneas

dtparam=i2c_arm=on
dtparam=i2s=on

Y tambien al archivo
sudo vi /etc/modules
añadir

i2c-dev
i2c-bcm2835

E instalar
sudo apt-get install -y python-smbus i2c-tools

Reiniciar y ver
lsmod | grep i2c_
aca esta

i2c_bcm2835            16384  0
i2c_dev                16384  0

Y lo que temos conectado
sudo i2cdetect -y 1
una cosa está conectada y esta es x725

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 

Ahora de acuerdo con las instrucciones del fabricante www.suptronics.com/miniPCkits/x725-software.html hago

wget https://raw.githubusercontent.com/suptronics/x750_x725-script/master/x750.sh
sudo bash x750.sh
printf "%s\n" "alias x750off='sudo x750shutdown.sh'" >> ~/.bashrc
sudo reboot

Instala scripts
sudo python /home/pi/x750ups.py
este muestra el voltaje y el porcentaje de carga, el resultado se muestra constantemente en la consola

******************
Voltage: 4.22V
Battery:  104%
******************
******************
Voltage: 4.22V
Battery:  104%
******************

Y este comando apaga la frambuesa y x725
x750off
desde la consola funciona desde scripts no, pero puedes apagarlo así
sudo /usr/local/bin/x750shutdown.sh

Solo necesito obtener el valor de voltaje una vez, así que elimino todo lo innecesario. Creo un script
sudo vi x725bv.py

code

#!/usr/bin/env python
import struct
import smbus
import sys
import time


def readVoltage(bus):

     address = 0x36
     read = bus.read_word_data(address, 2)
     swapped = struct.unpack("<H", struct.pack(">H", read))[0]
     voltage = swapped * 1.25 /1000/16
     return voltage



bus = smbus.SMBus(1) # 0 = /dev/i2c-0 (port I2C0), 1 = /dev/i2c-1 (port I2C1)

while True:
 print ("{0}".format(readVoltage(bus))) 
 exit()

Python resultó ser tan divertido: en otros idiomas, piensas cómo hacer un bucle, aquí te esfuerzas para ejecutarlo solo una vez. ¡Y un espacio en Python no es solo un espacio!

Y bash script, que registrará los valores de voltaje y apagará todo cuando el voltaje de la batería sea inferior a 3.5, esto es aproximadamente dos horas de operación de frambuesa bajo carga
vi /home/pi/smqqt.sh
code

#!/bin/bash
a=`sudo python /home/pi/x725bv.py`
date=`/bin/date +"%Y.%m.%d %H:%M:%S"`
/bin/echo "$date;$a" >> /home/pi/voltage.log

compare=`echo "$a>3.5" | bc`
if [ $compare -eq 0 ]
then
sudo /usr/local/bin/x750shutdown.sh
fi

Para que se inicie solo una vez por minuto, agregue
sudo crontab -e
linea

* * * * * sh /home/pi/smqqt.sh


Duración de la batería bajo carga

Ese comanda hace trabajar el CPU a full
stress -c 6

En 4 horas y 20 minutos, se descargó a 3V de 4.22V – para cargar las baterías, tuve que apagar la Raspberry Pi, con ella encendida no se cargaban … a 3.6V normalmente se cargan cuando la Raspberry Pi está encendida!

UPD: Apagado programáticamente de la Raspberry Pi y X725 Power Management Board
Hay un problema con X725 Power Management Board hay un script que lo apaga solo a el, pero no a Raspberry Pi!

Después de instalar el script del fabricante, aparece aquí /usr/local/bin/x750shutdown.sh envía 1 a 18 pines y el X725 se apaga, cortando energía a la Raspberry Pi, lo cual no es bueno … ¡lo cual es muy malo!

Segundo script /etc/x750pwr.sh envía una señal 1 al pin 17 y escucha la presión de un botón en el pin 4 , por lo que cuando se presiona el botón el tiempo suficiente, inicia el apagado de la Raspberry Pi, y el x725 se apaga cuando la señal en 17 desaparece, lo que significa que la frambuesa se apagó, ¡este es un apagado súper correcto! El problema es que no puedes enviar la señal 1 al pin 4 desde otro pin de la frambuesa para iniciar este apagado programáticamente (la frambuesa se apaga pero el X725 no)…tienes que presionar el botón de alguna manera, ¡esto se puede hacer con un transistor!

Tomo el transistor 2N3904 y lo conecto según el esquema

Estoy confundido acerca de los transistores, así que sigue la imagen sueldo el cable rojo del transistor al rojo del botón, en el botón mismo y no como en el diagrama.
En el Raspberry, el transistor está conectado al pin 27 y a tierra, en el diagrama, estos pines se lanzan a X725.

Y debe presionar el botón durante solo 3 a 6 segundos, si presionar 8 se apagar forzozamente. Por eso, hacemos un script
sudo vi bshut.sh
code

#!/bin/bash
shdown=27
echo "$shdown" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio$shdown/direction
echo "1" > /sys/class/gpio/gpio$shdown/value
shtdownstart=$(date +%s%N | cut -b1-13)
while true; do
if [ $(($(date +%s%N | cut -b1-13)-$shtdownstart)) -gt 600 ]; then
exit
fi
done

Lo arrancamos
sudo bash ./bshut.sh

¡Y el apagado normal funciona como de un botón!


One Response to “[no lo compren] Placa de administración de energía X725 Power Management Board de baterías 18650 para Raspberry Pi!”

  1. […] UPS para Raspberry Pi Tengo ese SupTronics X725 Power Management Board, no lo compre, ya hay un modelo más nuevo, y en este de de las funciones declaradas solo funcionan la fuente de alimentación y el apagado: se puede encender con cualquier toque. Aquí lo probé con más detalle Placa de administración de energía X725 Power Management Board de baterías 18650 para Raspberry P… […]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *