Verden av lineær bevegelse er i rask tempo og i stadig utvikling. Progressive Automations er fast bestemt på å forbli i forkant av disse teknologiske endringene. Fjernstyrt aktuatorer har blitt mer mangfoldige og dynamiske. Med dette i tankene bestemte en av våre ingeniører, Jake, seg for å gjennomføre et eksperiment for å finne ut om våre lineære aktuatorer kunne styres fra alternative nettverk. Dette er faktisk mulig. Derfor vil denne artikkelen gi en trinnvis veiledning i hvordan dette kan oppnås. Den inkluderer også et kodeeksempel og verktøyene man trenger for å etablere en vellykket forbindelse og til slutt kontrollere 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 av de mest populære modellene som tilbys av Progressive Automations, og eksemplet vi brukte i dette eksperimentet. Enhver modell levert av Progressive Automations med en 12 VDC/24 VDC/36 VDC/48 VDC-klassifisering og børstet likestrømsmotor kan brukes i stedet for PA-14-aktuatoren. Den oppgitte koden som demonstreres nedenfor krever ingen modifikasjoner hvis man velger en annen aktuator, men strøm- og spenningsklassifiseringen til strømforsyning måtte sjekkes før man fortsetter.
Det nye og forbedrede PA-01 miniaktuator (PA-14-oppgradering) er den nåværende modellen vi tilbyr med en rekke tilleggsfordeler. For en sammenligning, sjekk ut tabellene nedenfor og oppgrader med trygghet!
|
|
PA-01 |
PA-14 |
|
Dynamiske lastealternativer |
16, 28, 56, 112, 169, 225 lb |
35, 50, 75, 110, 150 lb |
|
Høyeste belastning |
225 lb |
150 lb |
|
Raskeste hastighet |
3.54 "/sec |
2.00"/sec |
|
Inntrengningsbeskyttelse |
IP65 |
IP54 |
|
Strekalternativer |
1 tommer til 40 tommer |
1 tommer til 40 tommer |
|
Hall-effekttilbakemelding |
Valgfri |
Ingen |
Lineær aktuator for en Raspberry Pi
Eksperimentdetaljene som er gitt vil gi en forklaring på hvordan man styrer en lineær aktuator med en Raspberry Pi. Raspberry Pi 4 brukes til å kjøre serverprogramvaren og motta kommandoer for kontroll av aktuatoren. Alternativt kan en stasjonær datamaskin og et Arduino-kort brukes i stedet. Hvis dette er ruten du velger, må PC-en din motta kommandoer og kommunisere dem til Arduino-kortet via en seriell port.
Raspberry Pi er en enkeltkortsdatamaskin, omtrent på størrelse med et kredittkort. Denne mikrodatamaskinen ble utviklet i Storbritannia for bruk i undervisning i grunnleggende datakunnskaper.
Raspberry Pis driftsprinsipp
Raspberry Pi har alle egenskapene til en ekte datamaskin, inkludert en dedikert prosessor, minne og grafikkdriver for HDMI-utgang. Den kjører til og med en spesiell versjon av Linux-operativsystemet. Dette gjør det enkelt å installere de fleste Linux-programmer og koble lineære aktuatorer til Raspberry Pi. Dette gjør at Raspberry Pi kan brukes til aktuatorer, som en fullverdig medieserver eller som en videospillemulator.
Det er ingen intern datalagring på Pi-en, men man kan bruke et smartkort som flashminne som betjener hele systemet. Dette lar en raskt laste ned forskjellige versjoner av operativsystemet eller programvareoppdateringer for feilsøking. Siden denne enheten gir uavhengig tilkobling over nettverket, kan den også konfigureres for SSH-tilgang eller FTP-filoverføring.
Instruksjoner for eksperimentet
Følgende demonstrerer de nøyaktige trinnene Jake tok da han testet dette oppsettet, fra første oppsett til den lineære aktuatorens trådløse fjernkontroll.
Siden Raspberry Pi-kortet kan tildeles en IP-adresse og ha GPIO-pinner, i tillegg til de nevnte funksjonene, fungerer det som den beste enheten for et slikt eksperiment.
Sette opp en Raspberry Pi med en lineær aktuator
- Sørg for at Raspbian OS er installert på Pi-en din. Klikk her for en trinnvis instruksjon om hvordan du installerer dette operativsystemet på Pi-en din.
- Koble brettet ditt til Wi-Fi-nettverket. Klikk her for disse instruksjonene.
- Tildel en statisk IP-adresse til Raspberry Pi-en din. Klikk her for detaljer om hvordan du gjør dette.
- Opprett en ny .py-fil i Raspberry Pi-en din og kopier følgende kode til denne filen. Når du kjører denne koden, blir Pi-en din en server som lytter etter kommandoene dine på port «6166».
import socket import sys # Opprett en TCP/IP-socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Bind socketen til porten server_address = ('', 6166) print ('starter opp på port ', server_address) sock.bind(server_address) # Lytt etter innkommende tilkoblinger sock.listen(True) GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.setup(27, GPIO.OUT) while (True): # Vent på en tilkobling print ('venter på en tilkobling') connection, client_address = sock.accept() print ('tilkobling fra', client_address) # Motta dataene i små biter og send dem på nytt data = connection.recv(16) print ("mottatt:", data) # Utgangssignal på GPIO avhengig av mottatt 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 opp forbindelsen connection.close()
Kabling
For tydelige instruksjoner om kablingen for dette prosjektet, finnes et diagram på følgende lenke: 4-kanals digitalt relé + Arduino-kobling av en lineær aktuator.
Ruteroppsett
Når Pi-en din er koblet til Wi-Fi-nettverket og har en statisk IP-adresse som du konfigurerte i forrige trinn, kan du begynne å sette opp portvideresending og IP-filtrering i ruteren din. Portvideresending lar deg sette opp en ruter til å overføre data som kommer til en bestemt port på en bestemt enhet i nettverket ditt. La oss anta at Pi-serveren din har en statisk IP-adresse 192.168.1.69 og lytter etter kommandoer på port 6166. Du må sette opp ruteren din til å overføre data som kommer på port 6166 til en enhet med IP-adressen 192.168.1.69.
Instruksjoner:
Merk: Grensesnittet til ruteren din kan se annerledes ut enn i dette eksemplet. I så fall finner du instruksjoner om hvordan du utfører dette trinnet for rutermodellen din.
- Skriv inn IP-adressen til ruteren din og logg inn for å få tilgang til ruterens grensesnitt.

- Finn Portvideresending alternativ.

- Skriv inn den statiske IP-adressen til Pi-serveren din og det offentlige portområdet. Sørg for at port 6166 er innenfor dette området.

Vi anbefaler at du konfigurerer IP-filtrering nå av sikkerhetshensyn. IP-filtrering lar deg spesifisere IP-adressene til enheter som har tilgang til og sender kommandoer til Pi-enheten din over internett. Finn innstillingen for innkommende filtre og angi IP-adressene til enheter som har tilgang til aktuator(er) i denne innstillingen.
Klientoppsett
- For å kjøre klientprogramvare på enheten din, installer Python 3.8 fra deres offisiell nettside.
- Du vil kanskje også installere PyCharm som er en brukervennlig 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 kontra Arduino
Som nevnt i begynnelsen av artikkelen, er det mulig å bruke et Arduino-kort i stedet for en Raspberry Pi. For det første er det viktig å merke seg hva Arduino-kortene er. Disse mikrokontrollerne utfører koder tolket av firmware. De er ikke fullfunksjonelle datamaskiner, og har derfor ikke et operativsystem i seg selv. Man har kanskje ikke de grunnleggende verktøyene som operativsystemet tilbyr, men det gjør det enklere å kjøre enkel kode direkte.
Det er heller ingen kostnader forbundet med dette operativsystemet. Hovedformålet med Arduino Board er å samhandle med sensorer og enheter, noe som gjør Arduino flott for maskinvareprosjekter som tar sikte på å fremkalle en respons på forskjellige sensorsignaler og manuell input. Det er perfekt egnet for artikulering av andre enheter og aktuatorer, der et fullfunksjonelt operativsystem rett og slett ikke er nødvendig.
Valget mellom Raspberry Pi og Arduino avhenger i stor grad av hvilket prosjekt den skal brukes til.
Det ville være bedre å velge Arduino hvis hovedoppgaven er å lese data fra sensorer eller endre verdier på motoren og andre enheter. Gitt kravene til Arduino strømforsyning og Enkelt vedlikehold av dette systemet, enheten kan betjenes uten å slå seg av nesten uten å forstyrre driften.
Raspberry Pi derimot ville være mer praktisk når man løser oppgaver som utføres på en personlig datamaskin. Raspberry Pi forenkler arbeidsflythåndtering i ulike scenarier, som hvis man trenger å koble til Internett for å lese eller skrive data, spille av medier eller koble til en ekstern skjerm.
Siden Arduino og Raspberry Pi løser forskjellige oppgaver, er det i visse situasjoner praktisk å bruke disse enhetene sammen. Når man kobler disse to enhetene sammen, vil man kunne få klienttilgang til innstillinger og kode gjennom Pi-en, mens Arduinoen styrer aktuatorene og samler inn informasjon fra sensorene. Man kan koble disse to enhetene via USB, LAN eller ved å koble Arduino I/O-porter til Raspberry Pi.
Siste ord
Nå er alt satt opp for å kontrollere enhver aktuator innenfor de nevnte kriteriene fra Progressive Automations via internett! Ved å kjøre koden får du den ultimate bekvemmeligheten av å kontrollere aktuatorene dine eksternt, eller som vi liker å kalle dem «WiFi-kontrollerte aktuatorer». Takk for at du leste denne artikkelen – hvis du har spørsmål eller hvis du vil se noe eksperimentert av en av våre ingeniører, kontakt oss og vi tar gjerne kontakt med deg!