How to Control Your Actuators from Alternative Networks

Cómo controlar nuestros actuadores desde redes alternativas

Guest Writer
Guest Writer
PA Engineer

El mundo del movimiento lineal avanza rápidamente y evoluciona constantemente. Progressive Automations está decidido a permanecer a la vanguardia de estos cambios tecnológicos. Los actuadores controlados remotamente se han vuelto más diversos y dinámicos. Con esto en mente, uno de nuestros ingenieros, Jake, decidió realizar un experimento para determinar si nuestros actuadores lineales podrían controlarse desde redes alternativas. De hecho, esto es posible. Por lo tanto, este artículo proporcionará un paso a paso sobre cómo se puede lograr. También incluye un ejemplo de código y las herramientas que se necesitarían para establecer una conexión exitosa y, en última instancia, controlar los actuadores en línea.

[cta-contenido]

Usamos nuestro mini actuador lineal PA-14 para este experimento, ya que es uno de nuestros actuadores más populares.

Haga clic aquí

Lista de productos

 

Miniactuador lineal PA-14

    Mini actuador lineal de Progressive Automations

    [cta-contenido]

    La LC-201 es una placa de relés de 4 canales, ¡perfecta para esta aplicación!

    Haga clic aquí

    El mini actuador lineal PA-14 es uno de los modelos más populares que ofrece Progressive Automations y el ejemplo que utilizamos para este experimento. Se puede utilizar cualquier modelo proporcionado por Progressive Automations con una clasificación de 12 V CC/24 V CC/36 V CC/48 V CC y motor de CC con escobillas en lugar del actuador PA-14. El código proporcionado que se muestra a continuación no requeriría ninguna modificación si se elige un actuador diferente, pero sería necesario verificar la corriente y el voltaje nominal de la fuente de alimentación antes de continuar.

    Actuador lineal para Raspberry Pi

    Los detalles del experimento proporcionados proporcionarán una explicación sobre cómo controlar un actuador lineal con una Raspberry Pi. La Raspberry Pi 4 se utiliza para ejecutar el software del servidor y recibir comandos para controlar el actuador. Alternativamente, se puede utilizar una computadora de escritorio y una placa Arduino. Si esta es la ruta que eliges, tu PC necesitará recibir comandos y comunicarlos a la placa Arduino a través de un puerto serie.

    La Raspberry Pi es una computadora de placa única, aproximadamente del tamaño de una tarjeta de crédito. Esta microcomputadora fue desarrollada en el Reino Unido para su uso en la enseñanza de conocimientos básicos de informática.

     

    Principio de funcionamiento de Raspberry Pi

    La Raspberry Pi tiene todos los atributos de una computadora real, incluido un procesador, memoria y controlador de gráficos dedicados para salida HDMI. Incluso ejecuta una versión especial del sistema operativo Linux. Esto facilita la instalación de la mayoría de los programas de Linux y la conexión de actuadores lineales a Raspberry Pi. Esto permite utilizar la Raspberry Pi como actuador, como servidor multimedia completo o como emulador de videojuegos.

    No hay almacenamiento de datos interno en el Pi, pero se puede usar una tarjeta inteligente como memoria flash para todo el sistema. Esto permite descargar rápidamente diferentes versiones del sistema operativo o actualizaciones de software para depurar. Como este dispositivo proporciona conectividad independiente a través de la red, también se puede configurar para acceso SSH o transferencia de archivos FTP.

    Instrucciones para el experimento

    A continuación se muestran los pasos exactos seguidos por Jake al probar esta configuración, desde la configuración inicial hasta el control remoto inalámbrico del actuador lineal.

    Como a la placa Raspberry Pi se le puede asignar una dirección IP y tener pines GPIO, junto con las funciones antes mencionadas, actúa como el mejor dispositivo para tal experimento.

    Configurar una Raspberry Pi con un actuador lineal

    1. Asegúrese de que el sistema operativo Raspbian esté instalado en su pi. Haga clic aquí para obtener instrucciones paso a paso sobre cómo instalar este sistema operativo en su Pi.
    2. Conecta tu placa a tu Wi-Fi. Haga clic aquí para ver estas instrucciones.
    3. Asigna una IP estática a tu Raspberry Pi. Haga clic aquí para obtener detalles sobre cómo hacer esto.
    4. Cree un nuevo archivo .py en su Raspberry Pi y copie el siguiente código en este archivo. Cuando ejecute este código, su Pi se convertirá en un servidor que escucha sus comandos en el puerto "6166".

     conector de importación
     sistema de importación
    
     # Crear un socket TCP/IP
     calcetín = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
     # Vincular el socket al puerto
     dirección_servidor = ('', 6166)
     print ('iniciando en el puerto', dirección_servidor)
     calcetín.bind(dirección_servidor)
    
     # Escuche las conexiones entrantes
     calcetín.escuchar (Verdadero)
    
    
     GPIO.setmode(GPIO.BCM)
     GPIO.configuración(18, GPIO.OUT)
     GPIO.configuración(27, GPIO.OUT)
    
     mientras (Verdadero):
     # Esperar una conexión
     imprimir ('esperando una conexión')
     conexión, dirección_cliente = calcetín.accept()
    
     imprimir ('conexión desde', dirección_cliente)
    
     # Recibir los datos en pequeños fragmentos y retransmitirlos.
     datos = conexión.recv(16)
     imprimir ("recibido:", datos)
    
     # Señal de salida en GPIO dependiendo del comando recibido
     si datos == b"ext":
     GPIO.salida(18, GPIO.ALTO)
     si datos == b"ret": 
    GPIO.salida(27, GPIO.ALTO)
    
     si datos == b"cerrar conexión":
     romper
    
     # Cerrando la conexión
     conexión.cerrar()

    Alambrado

    Para obtener instrucciones claras sobre el cableado de este proyecto, se proporciona un diagrama en el siguiente enlace: Relé digital de 4 canales + Cableado Arduino de un actuador lineal .

     

    Configuración del enrutador

    Una vez que su Pi esté conectado a su Wi-Fi y tenga una IP estática que configuró en el paso anterior, puede comenzar a configurar el reenvío de puertos y el filtrado de IP en su enrutador. El reenvío de puertos le permite configurar un enrutador para transferir datos que llegan a un puerto específico en un determinado dispositivo en su LAN. Supongamos que su servidor Pi tiene una dirección IP estática 192.168.1.69 y escucha comandos en el puerto 6166. Necesitará configurar su enrutador para transferir datos que vienen en el puerto 6166 a un dispositivo con la dirección IP 192.168.1.69.

    Instrucciones:

    Nota: La interfaz de su enrutador puede verse diferente a la de este ejemplo. En ese caso, encuentre instrucciones sobre cómo realizar este paso para su modelo de enrutador.

        1. Ingrese la dirección IP de su enrutador e inicie sesión para acceder a la interfaz de su enrutador.

          dirección IP
        2. Busque la opción Reenvío de puertos .

          Encuentra el reenvío de puertos

        1. Ingrese la dirección IP estática de su servidor Pi y el rango de puerto público. Asegúrese de que el puerto 6166 esté en este rango.

          Gama de puertos públicos

    Recomendamos configurar el filtrado de IP en este punto por motivos de seguridad. El filtrado de IP le permite especificar las direcciones IP de los dispositivos a los que se les permite acceder y enviar comandos a su dispositivo Pi a través de Internet. Busque la configuración de filtros entrantes y establezca las direcciones IP de los dispositivos a los que se les permite acceder a los actuadores en esta configuración.

    Configuración del cliente

        1. Para ejecutar el software de cliente en su dispositivo, instale Python 3.8 desde su sitio web oficial .
        2. Es posible que también desees instalar PyCharm , que es un IDE fácil de usar.
        3. Copie el siguiente código:
     conector de importación
     sistema de importación
    
     # Crear un socket TCP/IP
     calcetín = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
     # Conecte el socket al puerto donde el servidor está escuchando
     server_address = ('Ingrese la dirección IP del enrutador en la LAN de su pi', 6166)
     print ('conectando al puerto %s', dirección_servidor) 
    calcetín.connect(dirección_servidor)
    
     intentar:
    
     # Enviar datos
     mensaje = b'ret'
     imprimir ('enviando "%s"',mensaje)
     calcetín.sendall(mensaje)
    
     # Busca la respuesta
     cantidad_recibida = 0
     cantidad_esperada = len(mensaje)
    
     mientras cantidad_recibida < cantidad_esperada:
     datos = calcetín.recv(16)
     cantidad_recibida += len(datos)
     imprimir ('recibido: ', datos)
    
     finalmente:
     imprimir ('cierre del zócalo')
     calcetín.cerrar()

    [cta-contenido]

    Todos los actuadores necesitan una fuente de alimentación confiable. ¡Aquí usamos el PS-20-12!

    Haga clic aquí

    La Raspberry Pi versus Arduino

    Como se indicó al principio del artículo, es posible utilizar una placa Arduino en lugar de una Raspberry Pi. En primer lugar, es importante tener en cuenta qué son las placas Arduino. Estos microcontroladores ejecutan códigos interpretados por el firmware. No son computadoras con todas las funciones, por lo que no tienen un sistema operativo per se. Puede que no se cuente con las herramientas básicas que proporciona el sistema operativo, pero facilita la ejecución directa de código simple.

    Tampoco hay costos asociados con este sistema operativo. El objetivo principal de la placa Arduino es interactuar con sensores y dispositivos, lo que hace que Arduino sea ideal para proyectos de hardware destinados a evocar una respuesta a diferentes señales de sensores y entradas manuales. Es perfectamente adecuado para la articulación de otros dispositivos y actuadores, donde simplemente no se requiere un sistema operativo con todas las funciones.

    Elegir entre Raspberry Pi y Arduino dependerá en gran medida del proyecto para el que se requiera.

    Sería mejor elegir Arduino si la tarea principal es leer datos de sensores o cambiar valores en el motor y otros dispositivos. Teniendo en cuenta los requisitos de la fuente de alimentación de Arduino y la facilidad de mantenimiento de este sistema, el dispositivo se puede operar sin apagarlo y prácticamente no interfiere con su funcionamiento.

    La Raspberry Pi en cambio sería más práctica a la hora de resolver tareas que se realizarían en un ordenador personal. Raspberry Pi simplifica la gestión del flujo de trabajo en varios escenarios, como si uno necesitara conectarse a Internet para leer o escribir datos, reproducir cualquier medio o conectarse a una pantalla externa.

    Dado que Arduino y Raspberry Pi resuelven tareas diferentes, en determinadas situaciones es conveniente utilizar estos dispositivos juntos. Al conectar estos dos dispositivos, uno podría obtener acceso del cliente a la configuración y al código a través del Pi, mientras que Arduino controla los actuadores y recopila información de los sensores. Se pueden conectar estos dos dispositivos a través de USB, LAN o conectando puertos de E/S de Arduino a Raspberry Pi.

    Palabra final

    ¡En este punto, todo está configurado para controlar cualquier actuador dentro de los criterios mencionados desde Progressive Automations a través de Internet! Al ejecutar el código, le brinda la máxima comodidad para controlar sus actuadores de forma remota o, como nos gusta llamarlos, "actuadores controlados por WiFi". Gracias por leer este artículo. Si tiene alguna consulta o si desea ver algo experimentado por uno de nuestros ingenieros, contáctenos y estaremos encantados de comunicarnos con usted.