Verdenen af lineær bevægelse er i et hurtigt tempo og i konstant udvikling. Progressive Automations er fast besluttet på at forblive på forkant med disse teknologiske forandringer. Fjernstyret aktuatorer er blevet mere forskelligartede og dynamiske. Med dette i tankerne besluttede en af vores ingeniører, Jake, at udføre et eksperiment for at afgøre, om vores lineære aktuatorer kunne styres fra alternative netværk. Dette er faktisk muligt. Derfor vil denne artikel give en trin-for-trin vejledning i, hvordan det kan opnås. Den indeholder også et kodeeksempel og de værktøjer, man skal bruge for at etablere en vellykket forbindelse og i sidste ende styre aktuatoren(e) online.
Produktliste
- PA-14 Mini lineær aktuator
- Raspberry Pi 4
- LC-201 Relæmodul
- PS-20-12 strømforsyning
PA-14 Mini lineær aktuator

PA-14 Mini lineær aktuator er en af de mest populære modeller fra Progressive Automations, og det eksempel, vi brugte til dette eksperiment. Enhver model fra Progressive Automations med en 12 VDC/24 VDC/36 VDC/48 VDC-nominering og børstet DC-motor kan bruges i stedet for PA-14 aktuatoren. Den angivne kode, som er demonstreret nedenfor, kræver ingen ændringer, hvis man vælger en anden aktuator, men strøm- og spændingsnomineringen for den... strømforsyning skulle kontrolleres, inden man fortsætter.
Det nye og forbedrede PA-01 miniaktuator (PA-14 opgradering) er den nuværende model, vi tilbyder, med en række ekstra fordele. For en sammenligning kan du se tabellerne nedenfor og opgradere med ro i sindet!
|
|
PA-01 |
PA-14 |
|
Dynamiske indlæsningsmuligheder |
16, 28, 56, 112, 169, 225 lb |
35, 50, 75, 110, 150 lb |
|
Højeste belastning |
225 lb |
150 lb |
|
Hurtigste hastighed |
3.54 "/sec |
2.00"/sec |
|
Indtrængningsbeskyttelse |
IP65 |
IP54 |
|
Stregmuligheder |
2,5 cm til 102 cm |
2,5 cm til 102 cm |
|
Hall-effekt-feedback |
Valgfri |
Ingen |
Lineær aktuator til en Raspberry Pi
De givne eksperimentdetaljer vil give en forklaring på, hvordan man styrer en lineær aktuator med en Raspberry Pi. Raspberry Pi 4 bruges til at køre serversoftwaren og modtage kommandoer til styring af aktuatoren. Alternativt kan en stationær computer og et Arduino-board bruges i stedet. Hvis dette er den rute, du vælger, skal din pc modtage kommandoer og kommunikere dem til Arduino-boardet via en seriel port.
Raspberry Pi er en enkeltkortscomputer, omtrent på størrelse med et kreditkort. Denne mikrocomputer blev udviklet i Storbritannien til brug i undervisning i grundlæggende computerkundskaber.
Raspberry Pis driftsprincip
Raspberry Pi har alle egenskaberne ved en rigtig computer, inklusive en dedikeret processor, hukommelse og grafikdriver til HDMI-udgang. Den kører endda en speciel version af Linux-operativsystemet. Dette gør det nemt at installere de fleste Linux-programmer og ... Tilslut lineære aktuatorer til Raspberry Pi. Dette gør det muligt at bruge Raspberry Pi til aktuatorer, som en fuldgyldig medieserver eller som en videospilemulator.
Der er ingen intern datalagring på Pi'en, men man kan bruge et smartkort som flashhukommelse, der betjener hele systemet. Dette giver mulighed for hurtigt at downloade forskellige versioner af operativsystemet eller softwareopdateringer til fejlfinding. Da denne enhed giver uafhængig forbindelse over netværket, kan den også konfigureres til SSH-adgang eller FTP-filoverførsel.
Instruktioner til eksperimentet
Det følgende demonstrerer de præcise trin, som Jake udførte, da han testede denne opsætning, fra den første opsætning til den lineære aktuators trådløse fjernbetjening.
Da Raspberry Pi-kortet kan tildeles en IP-adresse og have GPIO-pins, sammen med de førnævnte funktioner, fungerer det som den bedste enhed til et sådant eksperiment.
Opsætning af en Raspberry Pi med en lineær aktuator
- Sørg for at Raspbian OS er installeret på din pi. Klik her for en trinvis vejledning i, hvordan du installerer dette operativsystem på din Pi.
- Tilslut dit board til dit Wi-Fi. Klik her for disse instruktioner.
- Tildel en statisk IP-adresse til din Raspberry Pi. Klik her for detaljer om, hvordan du gør dette.
- Opret en ny .py-fil i din Raspberry Pi, og kopier følgende kode til denne fil. Når du kører denne kode, bliver din Pi til en server, der lytter efter dine kommandoer på port “6166”.
import socket import sys # Opret en TCP/IP socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Bind socket'en til porten server_address = ('', 6166) print ('starter på port ', server_address) sock.bind(server_address) # Lyt efter indgående forbindelser sock.listen(True) GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.setup(27, GPIO.OUT) while (True): # Vent på en forbindelse print ('venter på en forbindelse') connection, client_address = sock.accept() print ('forbindelse fra', client_address) # Modtag dataene i små bidder og send dem igen data = connection.recv(16) print ("received:", data) # Udgangssignal på GPIO afhængigt af modtaget kommando if data == b"ext": GPIO.output(18, GPIO.HIGH) if data == b"ret": GPIO.output(27, GPIO.HIGH) if data == b"close connection": break # Lukker forbindelsen connection.close()
Ledningsføring
For klare instruktioner om ledningsføringen til dette projekt findes et diagram på følgende link: 4-kanals digitalt relæ + Arduino-ledningsføring af en lineær aktuator.
Routeropsætning
Når din Pi er forbundet til dit Wi-Fi og har en statisk IP-adresse, som du konfigurerede i det forrige trin, kan du begynde at konfigurere port forwarding og IP-filtrering i din router. Port forwarding giver dig mulighed for at konfigurere en router til at overføre data, der kommer til en bestemt port på en bestemt enhed i dit LAN. Lad os antage, at din Pi-server har en statisk IP-adresse 192.168.1.69 og lytter efter kommandoer på port 6166. Du skal konfigurere din router til at overføre data, der kommer på port 6166, til en enhed med IP-adressen 192.168.1.69.
Instruktioner:
Bemærk: Din routers brugerflade kan se anderledes ud end i dette eksempel. I så fald kan du finde instruktioner til, hvordan du udfører dette trin for din routermodel.
- Indtast din routers IP-adresse, og log ind for at få adgang til din routers brugerflade.

- Find Portvideresendelse valgmulighed.

- Indtast den statiske IP-adresse på din Pi-server og det offentlige portinterval. Sørg for, at port 6166 er inden for dette interval.

Vi anbefaler at konfigurere IP-filtrering på nuværende tidspunkt af sikkerhedsmæssige årsager. IP-filtrering giver dig mulighed for at angive IP-adresserne på enheder, der har tilladelse til at få adgang til og sende kommandoer til din Pi-enhed via internettet. Find indstillingen for indgående filtre, og angiv IP-adresserne på enheder, der har tilladelse til at få adgang til aktuator(er), i denne indstilling.
Klientopsætning
- For at køre klientsoftware på din enhed skal du installere Python 3.8 fra deres officiel hjemmeside.
- Du vil måske også installere PyCharm som er en brugervenlig IDE.
- Kopier følgende kode:
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
Som nævnt i begyndelsen af artiklen er det muligt at bruge et Arduino-board i stedet for en Raspberry Pi. For det første er det vigtigt at bemærke, hvad Arduino-boards er. Disse mikrocontrollere udfører kode, der fortolkes af firmwaren. De er ikke fuldt funktionelle computere og har derfor ikke et operativsystem i sig selv. Man har måske ikke de grundlæggende værktøjer, som operativsystemet stiller til rådighed, men det gør den direkte udførelse af simpel kode nemmere.
Der er heller ingen omkostninger forbundet med dette operativsystem. Hovedformålet med Arduino Board er at interagere med sensorer og enheder, hvilket gør Arduino fremragende til hardwareprojekter, der sigter mod at fremkalde en reaktion på forskellige sensorsignaler og manuel input. Det er perfekt egnet til artikulation af andre enheder og aktuatorer, hvor et fuldt udstyret operativsystem simpelthen ikke er påkrævet.
Valget mellem Raspberry Pi og Arduino afhænger i høj grad af det projekt, den skal bruges til.
Det ville være bedre at vælge Arduinoen, hvis ens primære opgave er at læse data fra sensorer eller ændre værdier på motoren og andre enheder. I betragtning af kravene til Arduino strømforsyning og Systemet er nemt at vedligeholde, da enheden kan betjenes uden at slukke den næsten uden at forstyrre dens drift.
Raspberry Pi ville derimod være mere praktisk, når man løser opgaver, der skal udføres på en personlig computer. Raspberry Pi forenkler workflowstyring i forskellige scenarier, f.eks. hvis man har brug for at oprette forbindelse til internettet for at læse eller skrive data, afspille medier eller oprette forbindelse til en ekstern skærm.
Da Arduino og Raspberry Pi løser forskellige opgaver, er det i visse situationer praktisk at bruge disse enheder sammen. Når man forbinder disse to enheder, vil man kunne få klientadgang til indstillinger og kode via Pi'en, mens Arduinoen styrer aktuatorerne og indsamler information fra sensorerne. Man kan forbinde disse to enheder via USB, LAN eller ved at forbinde Arduino I/O-porte til Raspberry Pi.
Sidste ord
På nuværende tidspunkt er alt sat op til at styre enhver aktuator inden for de nævnte kriterier fra Progressive Automations via internettet! Ved at køre koden giver det dig den ultimative bekvemmelighed ved at styre dine aktuatorer eksternt, eller som vi kalder dem 'WiFi-styrede aktuatorer'. Tak for at have læst denne artikel – hvis du har spørgsmål, eller hvis du vil se noget eksperimenteret af en af vores ingeniører, kontakt os og vi vil med glæde kontakte dig!