O mundo do movimento linear é dinâmico e está em constante evolução. A Progressive Automations está determinada a se manter na vanguarda dessas mudanças tecnológicas. Os atuadores controlados remotamente tornaram-se mais diversos e dinâmicos. Com isso em mente, um de nossos engenheiros, Jake, decidiu realizar um experimento para determinar se nossos atuadores lineares poderiam ser controlados a partir de redes alternativas. Isso é, de fato, possível. Assim, este artigo trará um passo a passo de como isso pode ser feito. Ele também inclui um exemplo de código e as ferramentas necessárias para estabelecer uma conexão bem-sucedida e, por fim, controlar o(s) atuador(es) online.
Lista de produtos
Mini Atuador Linear PA-14

O mini atuador linear PA-14 é um dos modelos mais populares oferecidos pela Progressive Automations e foi o exemplo utilizado neste experimento. Qualquer modelo fornecido pela Progressive Automations com tensão nominal de 12 VCC/24 VCC/36 VCC/48 VCC e motor CC escovado pode ser usado no lugar do atuador PA-14. O código fornecido demonstrado abaixo não exigiria nenhuma modificação caso você escolha um atuador diferente, mas a classificação de corrente e tensão da fonte de alimentação deve ser verificada antes de prosseguir.
O novo e aprimorado mini atuador PA-01 (atualização do PA-14) é o modelo atual que oferecemos, com diversos benefícios adicionais. Para comparação, confira as tabelas abaixo e faça o upgrade com confiança!
|
|
PA-01 |
PA-14 |
|
Opções de carga dinâmica |
16, 28, 56, 112, 169, 225 lbs |
35, 50, 75, 110, 150 lbs |
|
Carga máxima |
225 lbs |
150 lbs |
|
Velocidade mais alta |
3.54 "/sec |
2.00"/sec |
|
Grau de proteção IP |
IP65 |
IP54 |
|
Opções de Recorrido |
1" to 40" |
1" to 40" |
|
Feedback por efeito Hall |
Opcional |
Não |
Atuador linear para Raspberry Pi
Os detalhes do experimento a seguir explicam como controlar um atuador linear com um Raspberry Pi. O Raspberry Pi 4 é usado para executar o software do servidor e receber comandos para o controle do atuador. Como alternativa, podem ser usados um desktop e uma placa Arduino. Se você optar por esse caminho, seu PC precisará receber os comandos e comunicá-los à placa Arduino por meio de uma porta serial.
O Raspberry Pi é um computador de placa única, aproximadamente do tamanho de um cartão de crédito. Esse microcomputador foi desenvolvido no Reino Unido para o ensino de conhecimentos básicos de informática.
Princípio de funcionamento do Raspberry Pi
O Raspberry Pi possui todos os atributos de um computador real, incluindo processador, memória e driver gráfico dedicados para saída HDMI. Ele inclusive executa uma versão especial do sistema operacional Linux. Isso facilita a instalação da maioria dos programas Linux e conectar atuadores lineares ao Raspberry Pi. Assim, o Raspberry Pi pode ser usado para atuadores, como um servidor de mídia completo ou como um emulador de videogame.
Não há armazenamento interno de dados no Pi, mas é possível usar um cartão de memória como memória flash para todo o sistema. Isso permite baixar rapidamente diferentes versões do sistema operacional ou atualizações de software para depuração. Como esse dispositivo oferece conectividade independente pela rede, ele também pode ser configurado para acesso SSH ou transferência de arquivos via FTP.
Instruções para o experimento
A seguir, estão os passos exatos que Jake seguiu ao testar esta configuração, desde a configuração inicial até o controle remoto sem fio do atuador linear.
Como a placa Raspberry Pi pode receber um endereço IP e possui pinos GPIO, além das funções mencionadas, ela atua como o melhor dispositivo para esse tipo de experimento.
Configurando um Raspberry Pi com um Atuador linear
- Certifique-se de que o sistema operacional Raspbian esteja instalado no seu Pi. Clique aqui para ver instruções passo a passo de como instalar esse sistema operacional no seu Pi.
- Conecte sua placa ao Wi‑Fi. Clique aqui para essas instruções.
- Atribua um IP estático ao seu Raspberry Pi. Clique aqui para detalhes de como fazer isso.
- Crie um novo arquivo .py no seu Raspberry Pi e copie o código a seguir para esse arquivo. Ao executar esse código, seu Pi se tornará um servidor que ouve seus comandos na porta “6166”.
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Bind the socket to the port
server_address = ('', 6166)
print ('starting up on port ', server_address)
sock.bind(server_address)
# Listen for incoming connections
sock.listen(True)
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
while (True):
# Wait for a connection
print ('waiting for a connection')
connection, client_address = sock.accept()
print ('connection from', client_address)
# Receive the data in small chunks and retransmit it
data = connection.recv(16)
print ("received:", data)
# Output signal on GPIO depending on received command
if data == b"ext":
GPIO.output(18, GPIO.HIGH)
if data == b"ret":
GPIO.output(27, GPIO.HIGH)
if data == b"close connection":
break
# Closing up the connection
connection.close()
Cabeamento
Para obter instruções claras sobre o cabeamento deste projeto, um diagrama é fornecido no link a seguir: Relé digital de 4 canais + Cabeamento Arduino de um Atuador linear.
Configuração do roteador
Depois que seu Pi estiver conectado ao Wi‑Fi e com um IP estático configurado na etapa anterior, você pode começar a configurar o redirecionamento de portas e o filtro de IP no seu roteador. O redirecionamento de portas permite configurar um roteador para transferir dados que chegam a uma porta específica de um determinado dispositivo na sua LAN. Vamos supor que seu servidor Pi tenha o endereço IP estático 192.168.1.69 e escute comandos na porta 6166. Você precisará configurar o roteador para transferir os dados que chegarem na porta 6166 para o dispositivo com o endereço IP 192.168.1.69.
Instruções:
Observação: a interface do seu roteador pode parecer diferente deste exemplo. Nesse caso, procure instruções de como realizar esta etapa para o modelo do seu roteador.
- Digite o endereço IP do seu roteador e faça login para acessar a interface do seu roteador.

- Encontre a opção Redirecionamento de portas.

- Insira o endereço IP estático do seu servidor Pi e o intervalo de portas públicas. Certifique-se de que a porta 6166 esteja nesse intervalo.

Recomendamos configurar o filtro de IP neste ponto por motivos de segurança. O filtro de IP permite especificar os endereços IP dos dispositivos autorizados a acessar e enviar comandos ao seu dispositivo Pi pela Internet. Encontre a configuração de filtros de entrada e defina os endereços IP dos dispositivos autorizados a acessar o(s) atuador(es) nessa configuração.
Configuração do cliente
- Para executar o software cliente no seu dispositivo, instale o Python 3.8 no site oficial.
- Você também pode instalar o PyCharm, que é um IDE fácil de usar.
- Copie o código a seguir:
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Connect the socket to the port where the server is listening
server_address = ('Enter IP address of router in your pi’s LAN', 6166)
print ('connecting to %s port', server_address)
sock.connect(server_address)
try:
# Send data
message = b'ret'
print ('sending "%s"',message)
sock.sendall(message)
# Look for the response
amount_received = 0
amount_expected = len(message)
while amount_received < amount_expected:
data = sock.recv(16)
amount_received += len(data)
print ('received: ', data)
finally:
print ('closing socket')
sock.close()
Raspberry Pi versus Arduino
Conforme mencionado no início do artigo, é possível usar uma placa Arduino em vez de um Raspberry Pi. Primeiro, é importante entender o que são as placas Arduino. Esses microcontroladores executam códigos interpretados pelo firmware. Eles não são computadores completos; portanto, não possuem um sistema operacional propriamente dito. Pode ser que não se tenha as ferramentas básicas fornecidas por um sistema operacional, mas isso torna mais fácil a execução direta de códigos simples.
Também não há custos associados a esse sistema operacional. O principal propósito da placa Arduino é interagir com sensores e dispositivos, o que torna o Arduino excelente para projetos de hardware voltados a gerar respostas a diferentes sinais de sensores e entradas manuais. É perfeitamente adequado para o acionamento de outros dispositivos e atuadores, em que um sistema operacional completo simplesmente não é necessário.
A escolha entre Raspberry Pi e Arduino dependerá muito do projeto para o qual ele será utilizado.
É melhor optar pelo Arduino se a tarefa principal for ler dados de sensores ou alterar valores no motor do Arduino e em outros dispositivos. Considerando os requisitos da fonte de alimentação do Arduino e a facilidade de manutenção desse sistema, o dispositivo pode operar sem ser desligado e com praticamente nenhuma interferência em seu funcionamento.
Já o Raspberry Pi seria mais prático para resolver tarefas que seriam realizadas em um computador pessoal. O Raspberry Pi simplifica a gestão do fluxo de trabalho em vários cenários, como quando é necessário conectar-se à Internet para ler ou gravar dados, reproduzir qualquer mídia ou conectar-se a um monitor externo.
Como Arduino e Raspberry Pi resolvem tarefas diferentes, em certas situações é conveniente usar esses dispositivos juntos. Ao conectar esses dois dispositivos, é possível obter acesso do cliente às configurações e ao código pelo Pi, enquanto o Arduino controla os atuadores e coleta informações dos sensores. É possível conectar esses dois dispositivos via USB, LAN ou ligando as portas de E/S do Arduino ao Raspberry Pi.
Considerações finais
Neste ponto, tudo está configurado para controlar qualquer atuador dentro dos critérios mencionados da Progressive Automations pela Internet! Ao executar o código, você tem a conveniência máxima de controlar seus atuadores remotamente ou, como gostamos de chamá-los, ‘atuadores controlados por Wi‑Fi’. Obrigado por ler este artigo — se tiver alguma dúvida ou quiser ver algo testado por um de nossos engenheiros, entre em contato conosco e teremos prazer em falar com você!