How to Control Your Actuators from Alternative Networks

Näin ohjaat toimilaitteitamme vaihtoehtoisista verkoista

Guest Writer
Guest Writer
PA Engineer

Lineaarisen liikkeen maailma on nopeatahtinen ja kehittyy jatkuvasti. Progressive Automations on päättänyt pysyä näiden teknologisten muutosten eturintamassa. Etäohjattavat toimilaitteet ovat monipuolistuneet ja muuttuneet dynaamisemmiksi. Tätä silmällä pitäen yksi insinööreistämme, Jake, päätti tehdä kokeen selvittääkseen, voidaanko lineaarisia toimilaitteitamme ohjata vaihtoehtoisista verkoista. Tämä on mahdollista. Tässä artikkelissa annetaan vaiheittaiset ohjeet, miten se voidaan toteuttaa. Mukana on myös koodiesimerkki ja työkalut, joita tarvitaan onnistuneen yhteyden luomiseen ja lopulta toimilaitteiden online-ohjaukseen.

Käytimme tähän kokeeseen PA-14-minilineaarista toimilaitettamme, sillä se on yksi suosituimmista toimilaitteistamme!

Klikkaa tästä

Tuotelista

 

PA-14 Mini Lineaarinen toimilaite

     

    Progressive Automationsin mini-lineaarinen toimilaite

     

    LC-201 on 4-kanavainen relekortti – täydellinen tähän käyttökohteeseen!

    Klikkaa tästä

     

    PA-14-minilineaarinen toimilaite on yksi Progressive Automationsin suosituimmista malleista ja se, jota käytimme tässä kokeessa. Minkä tahansa Progressive Automationsin 12VDC/24VDC/36VDC/48VDC -luokitellun ja harjallisella tasavirtamoottorilla varustetun mallin voi vaihtaa PA-14-toimilaitteen tilalle. Alla esitetty koodi ei vaadi muutoksia, vaikka valitsisit toisen toimilaitteen, mutta virtalähteen virta- ja jänniteluokitus tulee tarkistaa ennen jatkamista.

    Uusi ja parannettu PA-01 mini-toimilaite (PA-14-päivitys) on uusin mallimme, jossa on useita lisähyötyjä. Vertailua varten katso alla olevat taulukot ja päivitä luottavaisin mielin!

     

    PA-01

    PA-14

    Dynamic Load Options

    16, 28, 56, 112, 169, 225 lbs

    35, 50, 75, 110, 150 lbs

    Highest Load

    225 lbs

    150 lbs

    Fastest Speed

    3.54 "/sec

    2.00"/sec

    Ingress Protection

    IP65

    IP54

    Stroke Options

    1" to 40"

    1" to 40"

    Hall Effect Feedback

    Optional

    No

    Lineaarinen toimilaite Raspberry Pi:lle

    Tässä esitetyissä kokeen tiedoissa kerrotaan, miten lineaarista toimilaitetta ohjataan Raspberry Pi:llä. Raspberry Pi 4:ää käytetään palvelinohjelmiston ajamiseen ja komentojen vastaanottamiseen toimilaitteen ohjausta varten. Vaihtoehtoisesti pöytäkone ja Arduino-kortti voidaan käyttää tämän sijaan. Jos valitset tämän tavan, PC:si vastaanottaa komennot ja välittää ne Arduino-kortille sarjaportin kautta.

    Raspberry Pi on yhden piirilevyn tietokone, kooltaan suurin piirtein luottokortin kokoinen. Tämä mikrotietokone kehitettiin Yhdistyneessä kuningaskunnassa perus atk-taitojen opettamiseen.

     

    Raspberry Pin toimintaperiaate

    Raspberry Pissä on kaikki oikean tietokoneen ominaisuudet, kuten oma suoritin, muisti ja grafiikka-ajuri HDMI-ulostulolle. Se käyttää jopa Linux-käyttöjärjestelmän erikoisversiota. Tämä helpottaa useimpien Linux-ohjelmien asennusta ja lineaaristen toimilaitteiden liittämistä Raspberry Pi:hin. Näin Raspberry Pi:tä voidaan käyttää toimilaitteiden ohjaamiseen, täysiverisenä mediaserverinä tai videopeli-emulaattorina.

    Pi:ssä ei ole sisäistä datan tallennusta, mutta muistikorttia voidaan käyttää koko järjestelmän flash-muistina. Tämän avulla voi nopeasti ladata eri versioita käyttöjärjestelmästä tai ohjelmistopäivityksiä vianmääritystä varten. Koska laite tarjoaa itsenäisen verkkoyhteyden, se voidaan myös konfiguroida SSH-käyttöön tai FTP-tiedonsiirtoon.

     

    Ohjeet kokeeseen

    Alla on esitetty tarkat vaiheet, jotka Jake teki testatessaan tätä kokoonpanoa – alkumäärittelystä lineaarisen toimilaitteen langattomaan etäohjaukseen.

    Koska Raspberry Pi -levylle voidaan määrittää IP-osoite ja siinä on GPIO-nastat sekä edellä mainitut toiminnot, se toimii parhaana laitteena tällaiseen kokeeseen.

    Raspberry Pin käyttöönotto lineaarisen toimilaitteen kanssa

    1. Varmista, että Raspbian-käyttöjärjestelmä on asennettu Pi-laitteeseesi. Klikkaa tästä saadaaksesi vaiheittaiset ohjeet tämän käyttöjärjestelmän asentamiseen Pi:hin.
    2. Yhdistä piirisi Wi-Fi-verkkoon. Klikkaa tästä näihin ohjeisiin.
    3. Anna Raspberry Pi:llesi staattinen IP. Klikkaa tästä nähdäksesi, miten se tehdään.
    4. Luo Raspberry Pi:hin uusi .py-tiedosto ja kopioi siihen alla oleva koodi. Kun suoritat koodin, Pi:stäsi tulee palvelin, joka kuuntelee komentoja portissa ”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() 

    Johdotus

    Tämän projektin johdotusta varten on tarjolla selkeä kaavio seuraavassa linkissä: 4-Channel Digital Relay + Arduino Wiring of a Linear Actuator.

     

    Reitittimen määritys

    Kun Pi on liitetty Wi-Fi-verkkoon ja sillä on edellisessä vaiheessa määrittämäsi staattinen IP, voit aloittaa portinohjauksen ja IP-suodatuksen määrittämisen reitittimeesi. Portinohjaus mahdollistaa sen, että reititin välittää tietoja tietylle portille LAN-verkossasi olevalla tietyllä laitteella. Oletetaan, että Pi-palvelimellasi on staattinen IP-osoite 192.168.1.69 ja se kuuntelee komentoja portissa 6166. Sinun on määritettävä reitittimesi välittämään porttiin 6166 tulevat tiedot laitteelle, jonka IP-osoite on 192.168.1.69.

    Ohjeet:

    Huom.: Reitittimesi käyttöliittymä voi näyttää erilaiselta kuin tässä esimerkissä. Etsi siinä tapauksessa ohjeet, miten tämä vaihe suoritetaan juuri sinun reititinmallillesi.


        1. Syötä reitittimesi IP-osoite ja kirjaudu sisään päästäksesi reitittimen käyttöliittymään.

           

          IP-osoite
        2. Etsi Port Forwarding -asetus.

           

          Portinohjauksen löytäminen

     

        1. Syötä Pi-palvelimesi staattinen IP-osoite ja julkinen porttialue. Varmista, että portti 6166 sisältyy tähän alueeseen.

           

          Julkinen porttialue

    Suosittelemme määrittämään tässä vaiheessa IP-suodatuksen turvallisuussyistä. IP-suodatus antaa määrittää niiden laitteiden IP-osoitteet, joilla on lupa käyttää Pi-laitettasi internetin kautta ja lähettää sille komentoja. Etsi saapuvan liikenteen suodatusasetus ja lisää siihen niiden laitteiden IP-osoitteet, joilla on lupa käyttää toimilaitteita.

    Asiakaspuolen asennus

        1. Jotta voit ajaa asiakasohjelmistoa laitteellasi, asenna Python 3.8 heidän viralliselta sivustoltaan.
        2. Voit halutessasi asentaa myös PyCharmin, joka on helppokäyttöinen IDE.
        3. Kopioi seuraava koodi:
    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()


     

    Kaikki toimilaitteet tarvitsevat luotettavan virtalähteen – käytimme tässä PS-20-12:ta!

    Klikkaa tästä

    Raspberry Pi vs. Arduino

    Kuten artikkelin alussa todettiin, Raspberry Pin sijasta on mahdollista käyttää Arduino-korttia. Ensin on hyvä täsmentää, mitä Arduino-kortit ovat: nämä mikrokontrollerit suorittavat koodia, jonka laiteohjelmisto tulkitsee. Ne eivät ole täysiverisiä tietokoneita, joten varsinaista käyttöjärjestelmää ei ole. Käyttöjärjestelmän tarjoamia perus työkaluja ei välttämättä ole, mutta se tekee yksinkertaisen koodin suorasta ajamisesta helpompaa.

    Tähän käyttöjärjestelmään ei liity kustannuksia. Arduino-kortin päätarkoitus on olla vuorovaikutuksessa antureiden ja laitteiden kanssa, mikä tekee Arduinosta erinomaisen laitteistoprojekteihin, joissa reagoidaan eri anturisignaaleihin ja manuaaliseen syöttöön. Se sopii täydellisesti muiden laitteiden ja toimilaitteiden ohjaamiseen, kun täysiveristä käyttöjärjestelmää ei yksinkertaisesti tarvita.

    Valinta Raspberry Pin ja Arduinon välillä riippuu vahvasti projektista, johon sitä tarvitaan.

    Arduino on parempi valinta, jos päätarkoitus on lukea dataa antureista tai muuttaa arvoja moottorissa ja muissa laitteissa. Ottaen huomioon Arduinon virtalähteen vaatimukset ja järjestelmän helpon ylläpidon, laitetta voidaan käyttää sammutta­matta, käytännössä häiritsemättä sen toimintaa.

    Raspberry Pi taas on käytännöllisempi tehtävissä, jotka muuten tehtäisiin henkilökohtaisella tietokoneella. Raspberry Pi yksinkertaistaa työnkulun hallintaa erilaisissa tilanteissa, kuten kun tarvitaan internet-yhteyttä tiedon lukuun tai kirjoittamiseen, median toistamiseen tai ulkoiseen näyttöön kytkeytymiseen.

    Koska Arduino ja Raspberry Pi ratkaisevat erilaisia tehtäviä, joissakin tapauksissa on kätevää käyttää niitä yhdessä. Kun nämä kaksi laitetta yhdistetään, asetuksiin ja koodiin voidaan päästä käsiksi Pi:n kautta, kun taas Arduino ohjaa toimilaitteita ja kerää tietoa antureista. Laitteet voidaan liittää toisiinsa USB:n, LANin tai liittämällä Arduinon I/O-portit Raspberry Pi:hin.

     

    Lopuksi

    Tässä vaiheessa kaikki on valmista minkä tahansa Progressive Automationsin kriteerit täyttävän toimilaitteen ohjaamiseen internetin kautta! Koodin suorittaminen antaa sinulle äärimmäisen helppouden ohjata toimilaitteitasi etänä – me kutsumme niitä mielellämme ”WiFi-ohjatuiksi toimilaitteiksi”. Kiitos, että luit tämän artikkelin – jos sinulla on kysyttävää tai haluat, että joku insinööreistämme kokeilee jotakin, ota meihin yhteyttä – autamme mielellämme!