Ir al contenido

Cómo trabajar con UPS y RTC en Raspberry PLC

8 de octubre de 2024 por
Cómo trabajar con UPS y RTC en Raspberry PLC
Boot & Work Corp. S.L, Martí Schnabel

Mejorando las capacidades del PLC Raspberry Pi con UPS y RTC

Descubre cómo los PLC basadas en Raspberry Pi integran funcionalidades cruciales como la Fuente de Alimentación Ininterrumpida (UPS) y el Reloj en Tiempo Real (RTC), mejorando tanto la fiabilidad como la precisión para tus proyectos de automatización. Estas funcionalidades se configuran automáticamente a través de los scripts de instalación proporcionados: uno para el RPI PLC V4 y otro para el RPI PLC V6. Cada script (install.sh) configura estas funciones junto con otros componentes esenciales. Sin embargo, cuando se utiliza UPSafePI, estos scripts no son necesarios. Este post explicará cómo configurar las características de UPS y RTC y cómo utilizarlas eficazmente. Para más información y especificaciones técnicas sobre UPS Shield, consulta este post.

UPS Shield: maximizando el tiempo de actividad del PLC Raspberry Pi

Todos los PLC basados en Raspberry Pi incluyen el UPS Shield. Es un Smart Shield que proporciona 5 segundos de energía en caso de un corte de suministro. Este tiempo extra permite que la Raspberry realice un apagado correcto, evitando la corrupción de la tarjeta SD. El tiempo de recarga del UPS es menor de 1 minuto, y el tiempo de reconexión es inferior a 20 segundos.

¿Cómo habilitar el apagado controlado para el PLC basado en Raspberry Pi?

Los PLC basados en Raspberry Pi pueden realizar un apagado controlado cuando el UPS detecta que se ha cortado el suministro de energía principal. Esto asegura que todos los procesos activos finalicen y que la imagen de la tarjeta SD y los archivos estén protegidos.

Para habilitar el apagado controlado en Raspberry Pi, sigue estos pasos:

  1. Modifica el archivo de configuración: Este proceso ahora se gestiona mediante superposiciones del árbol de dispositivos (device tree overlays). Añade las dos líneas siguientes al archivo /boot/firmware/config.txt:
  2. dtoverlay=gpio-poweroff,gpiopin=23,active_low
    dtoverlay=gpio-shutdown,gpio_pin=24,gpio_pull=up
    
    • La superposición gpio-poweroff garantiza que el sistema se apague correctamente usando el pin GPIO 23.
    • La superposición gpio-shutdown detecta cuándo debe apagarse el sistema mediante el pin GPIO 24.
  3. Guarda y reinicia: Después de editar y guardar el archivo, reinicia el Raspberry Pi para aplicar los cambios.

Para todos los dispositivos Raspberry PLC, excepto el UPSafePI, la configuración del UPS se puede realizar ejecutando el script de instalación para V4 o V6. Sigue tutorial para obtener más información sobre cómo instalar un sistema operativo en Raspberry Pi y sobre la ejecución del script de instalación.

El sistema ahora realizará un apagado controlado cuando se pierda la alimentación principal, garantizando la protección de los datos y los procesos.

Comandos previos al apagado: protegiendo tus datos

Antes de que tu sistema se apague, asegúrate de que todas las operaciones críticas se completen utilizando los "hooks" de pre-apagado. Esta guía proporciona pasos detallados sobre la creación de directorios, la descarga de los archivos de servicio necesarios y los scripts para automatizar tareas cruciales antes del apagado.

  1. Crear el directorio necesario: Crea el directorio requerido para almacenar los "hooks" de pre-apagado
  2. sudo mkdir -p /etc/rpishutdown/hooks
    
  3. Descargar el archivo de servicio y el script de hook: Obtén los archivos necesarios para el servicio de pre-apagado y el script de verificación.
  4. sudo curl -L https://apps.industrialshields.com/main/rpi_experimental/rpiplc/rpishutdown-pre-poweroff.service \
         -o /lib/systemd/system/rpishutdown-pre-poweroff.service
    sudo curl -L https://apps.industrialshields.com/main/rpi_experimental/rpiplc/check-pre-poweroff-hook.sh \
         -o /etc/rpishutdown/hooks/check-pre-poweroff
    
  5. Conceder permisos de ejecución: Haz que el script de pre-apagado sea ejecutable.
  6. sudo chmod ugo+x /etc/rpishutdown/hooks/check-pre-poweroff
    
  7. Habilitar e iniciar el servicio de pre-apagado: Recarga el systemd daemon y habilita el nuevo servicio:
  8. sudo systemctl daemon-reload
    sudo systemctl enable rpishutdown-pre-poweroff
    sudo systemctl start rpishutdown-pre-poweroff
    

Cualquier tipo de archivo (scripts Bash, Python, C++, etc.) puede ejecutarse, pero lo más importante es que el archivo debe llamarse "pre-poweroff" sin ninguna extensión (y debes indicar el tipo de archivo con el correspondiente "Shebang"). El tiempo de ejecución del script no puede superar los ~6 segundos, ya que ese es el período de apagado de la Raspberry.

Esta configuración garantiza que cualquier comando personalizado del script check-pre-poweroff se ejecute antes de que el sistema se apague.

Configuración del reloj en tiempo real (RTC): precisión horaria garantizada

Integrar el RTC DS3231 con tu Raspberry Pi PLC puede marcar la diferencia, especialmente en aplicaciones de bajo consumo donde la precisión horaria es fundamental. Sigue estos pasos detallados para activar y configurar el módulo RTC y asegurar que tu sistema mantiene la hora exacta, incluso cuando está apagado.

Ventajas de usar un RTC:

  • Bajo consumo, ideal para sistemas que funcionan con fuentes de alimentación alternativas.
  • Libera al sistema principal de las tareas de mantenimiento de la hora.
  • Puede ser más preciso que otros métodos de mantenimiento de la hora.

Sigue estos pasos para activar la función RTC en tu PLC basado en Raspberry:

  1. Actualiza tu sistema: Asegúrate de que tu sistema tiene las últimas actualizaciones ejecutando:
  2. sudo apt-get update
    sudo apt-get -y upgrade
    
  3. Activa I2C en la Raspberry Pi: Abre el archivo de configuración según la versión de tu sistema:
    • Para Bullseye: /boot/config.txt
    • Para Bookworm o posterior: /boot/firmware/config.txt
  4. Descomenta la siguiente línea si está comentada:

    dtparam=i2c_arm=on
    
  5. Activa la superposición del RTC: Añade la siguiente línea al final del archivo, después de la sección [all]:
  6. dtoverlay=i2c-rtc,ds3231
    
  7. Reinicia el dispositivo: Guarda los cambios y reinicia el sistema para aplicar la configuración.

Al igual que con el servicio UPS, en todos los dispositivos Raspberry PLC excepto el UPSafePI, la configuración del UPS se puede realizar ejecutando el script de instalación para V4 o V6. Sigue tutorial para obtener más información sobre cómo instalar un sistema operativo en la Raspberry y sobre la ejecución del script de instalación.

Aprovechar el UPS y el RTC en proyectos avanzados con Raspberry Pi

Aprovecha todo el potencial de tu Raspberry Pi PLC implementando las funciones de UPS y RTC. Esta configuración no solo mejora la fiabilidad, sino que también amplía las capacidades de tus proyectos. Profundiza en las especificaciones técnicas y en los recursos adicionales para sacar el máximo partido al rendimiento de tu PLC.

Referencias y lecturas adicionales

Si quieres ampliar tus conocimientos o resolver posibles problemas, esta sección ofrece enlaces a recursos adicionales y documentación detallada, para que tengas acceso a toda la información que necesitas para tener éxito con tus proyectos con Raspberry Pi PLC.


Buscar en nuestro blog

Cómo trabajar con UPS y RTC en Raspberry PLC
Boot & Work Corp. S.L, Martí Schnabel 8 de octubre de 2024
Compartir esta publicación
Etiquetas

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.

Comparativa de PLCs