Svět lineárního pohybu se rychle mění a neustále se vyvíjí. Společnost Progressive Automations je odhodlána zůstat v popředí těchto technologických změn. Dálkově ovládané pohony staly se rozmanitějšími a dynamičtějšími. S ohledem na to se jeden z našich inženýrů, Jake, rozhodl provést experiment, aby zjistil, zda naše lineární aktuátory by mohly být ovládány z alternativních sítí. To je skutečně možné. Tento článek proto krok za krokem popíše, jak toho lze dosáhnout. Zahrnuje také příklad kódu a nástroje, které by bylo potřeba k navázání úspěšného připojení a nakonec k online ovládání aktuátoru (akčních členů).
Seznam produktů
Miniaturní lineární aktuátor PA-14

Mini lineární aktuátor PA-14 je jedním z nejoblíbenějších modelů nabízených společností Progressive Automations a je příkladem, který jsme použili pro tento experiment. Místo aktuátoru PA-14 lze použít jakýkoli model od společnosti Progressive Automations s jmenovitým napětím 12 VDC/24 VDC/36 VDC/48 VDC a kartáčovým stejnosměrným motorem. Uvedený kód, který je uveden níže, by nevyžadoval žádné úpravy, pokud by se zvolil jiný aktuátor, ale jmenovitý proud a napětí aktuátoru... napájení by bylo nutné to zkontrolovat před dalším postupem.
Nové a vylepšené Miniaplikátor PA-01 (Vylepšení PA-14) je aktuální model, který nabízíme s řadou dalších výhod. Pro srovnání se podívejte na níže uvedené tabulky a upgradujte s důvěrou!
|
|
PA-01 |
PA-14 |
|
Možnosti dynamického zatížení |
16, 28, 56, 112, 169, 225 liber |
35, 50, 75, 110, 150 liber |
|
Nejvyšší zatížení |
225 lb |
150 lb |
|
Nejrychlejší rychlost |
3.54 "/sec |
2.00"/sec |
|
Ochrana proti vniknutí |
IP65 |
IP54 |
|
Možnosti tahu |
1 až 40 míst |
1 až 40 míst |
|
Zpětná vazba Hallova jevu |
Volitelný |
Žádný |
Lineární aktuátor pro Raspberry Pi
Uvedené podrobnosti experimentu vysvětlí, jak ovládat lineární aktuátor pomocí Raspberry Pi. Raspberry Pi 4 se používá ke spuštění serverového softwaru a přijímání příkazů pro ovládání aktuátoru. Alternativně lze použít stolní počítač a desku Arduino. Pokud zvolíte tuto cestu, váš počítač bude muset přijímat příkazy a předávat je desce Arduino přes sériový port.
Raspberry Pi je jednodeskový počítač, zhruba o velikosti kreditní karty. Tento mikropočítač byl vyvinut ve Velké Británii pro použití při výuce základních počítačových znalostí.
Princip činnosti Raspberry Pi
Raspberry Pi má všechny atributy skutečného počítače, včetně specializovaného procesoru, paměti a grafického ovladače pro HDMI výstup. Dokonce běží na něm speciální verze operačního systému Linux. Díky tomu je instalace většiny linuxových programů a připojit lineární aktuátory k Raspberry Pi. To umožňuje použití Raspberry Pi pro akční členy, jako plnohodnotný mediální server nebo jako emulátor videoher.
Počítač Pi nemá interní úložiště dat, ale lze použít čipovou kartu jako flash paměť obsluhující celý systém. To umožňuje rychle stahovat různé verze operačního systému nebo aktualizace softwaru pro ladění. Protože toto zařízení poskytuje nezávislé připojení přes síť, lze jej také nakonfigurovat pro přístup přes SSH nebo přenos souborů přes FTP.
Pokyny pro experiment
Následující příklad ukazuje přesné kroky, které Jake provedl při testování tohoto nastavení, od počátečního nastavení až po bezdrátové dálkové ovládání lineárního aktuátoru.
Protože desce Raspberry Pi lze přiřadit IP adresu a má GPIO piny, spolu s výše uvedenými funkcemi, funguje jako nejlepší zařízení pro takový experiment.
Nastavení Raspberry Pi s lineárním aktuátorem
- Ujistěte se, že máte na svém PI nainstalovaný operační systém Raspbian. Klikněte zde kde najdete podrobný návod, jak nainstalovat tento operační systém na váš Pi.
- Připojte svou desku k Wi-Fi. Klikněte zde pro tyto pokyny.
- Přiřaďte Raspberry Pi statickou IP adresu. Klikněte zde pro podrobnosti o tom, jak to provést.
- Vytvořte nový soubor .py ve vašem Raspberry Pi a zkopírujte do něj následující kód. Po spuštění tohoto kódu se vaše Raspberry Pi stane serverem, který naslouchá vašim příkazům na portu „6166“.
import socket import sys # Vytvoření TCP/IP socketu sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Navázání socketu na port server_address = ('', 6166) print ('spouštění na portu ', server_address) sock.bind(server_address) # Poslouchání příchozích připojení sock.listen(True) GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.setup(27, GPIO.OUT) while (True): # Čekání na připojení print ('čekání na připojení') connection, client_address = sock.accept() print ('připojení od', client_address) # Přijímání dat po malých částech a jejich opětovný přenos data = connection.recv(16) print ("received:", data) # Výstupní signál na GPIO v závislosti na přijatém příkazu if data == b"ext": GPIO.output(18, GPIO.HIGH) if data == b"ret": GPIO.output(27, GPIO.HIGH) if data == b"close connection": break # Ukončení spojení connection.close()
Zapojení
Pro jasné pokyny k zapojení pro tento projekt je schéma k dispozici na následujícím odkazu: 4kanálové digitální relé + zapojení lineárního aktuátoru přes Arduino.
Nastavení routeru
Jakmile je váš Pi připojen k Wi-Fi a má statickou IP adresu, kterou jste nakonfigurovali v předchozím kroku, můžete začít s nastavením přesměrování portů a filtrování IP adres ve vašem routeru. Přesměrování portů umožňuje nastavit router tak, aby přenášel data přicházející na konkrétní port na určitém zařízení ve vaší lokální síti. Předpokládejme, že váš server Pi má statickou IP adresu 192.168.1.69 a naslouchá příkazům na portu 6166. Budete muset nastavit router tak, aby přenášel data přicházející na port 6166 do zařízení s IP adresou 192.168.1.69.
Instrukce:
Poznámka: Rozhraní vašeho routeru se může od tohoto příkladu lišit. V takovém případě si prosím přečtěte pokyny, jak tento krok provést pro váš model routeru.
- Zadejte IP adresu routeru a přihlaste se pro přístup k rozhraní routeru.

- Najděte Přesměrování portů volba.

- Zadejte statickou IP adresu vašeho Pi serveru a rozsah veřejných portů. Ujistěte se, že port 6166 je v tomto rozsahu.

V tomto okamžiku doporučujeme z bezpečnostních důvodů nastavit filtrování IP adres. Filtrování IP adres umožňuje zadat IP adresy zařízení, která mají povolen přístup k vašemu zařízení Pi a odesílat mu příkazy přes internet. Vyhledejte nastavení příchozích filtrů a v tomto nastavení nastavte IP adresy zařízení, která mají povolen přístup k akčním členům.
Nastavení klienta
- Chcete-li na svém zařízení spustit klientský software, nainstalujte si Python 3.8 z jejich oficiální webové stránky.
- Možná budete chtít také nainstalovat PyCharm což je snadno použitelné IDE.
- Zkopírujte následující kód:
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
Jak bylo uvedeno na začátku článku, je možné místo Raspberry Pi použít desku Arduino. Nejprve je důležité si uvědomit, co desky Arduino jsou. Tyto mikrokontroléry provádějí kódy interpretované firmwarem. Nejsou to plně vybavené počítače, takže nemají operační systém jako takový. Člověk sice nemusí mít základní nástroje poskytované operačním systémem, ale usnadňuje přímé spuštění jednoduchého kódu.
S tímto operačním systémem nejsou spojeny žádné náklady. Hlavním účelem desky Arduino je interakce se senzory a zařízeními, což z Arduina dělá skvělé řešení pro hardwarové projekty zaměřené na vyvolání reakce na různé signály ze senzorů a manuální vstupy. Je perfektně vhodný pro artikulaci jiných zařízení a akčních členů, kde plně funkční operační systém jednoduše není vyžadován.
Výběr mezi Raspberry Pi a Arduinem by do značné míry závisel na projektu, pro který je potřeba.
Pokud je hlavním úkolem číst data ze senzorů nebo měnit hodnoty na motoru a dalších zařízeních, bylo by lepší zvolit Arduino. Vzhledem k požadavkům Napájecí zdroj pro Arduino a Snadná údržba tohoto systému, zařízení lze provozovat bez vypnutí, téměř bez narušení jeho provozu.
Raspberry Pi by na druhou stranu byl praktičtější při řešení úkolů, které by se prováděly na osobním počítači. Raspberry Pi zjednodušuje správu pracovních postupů v různých scénářích, například pokud se potřebujete připojit k internetu pro čtení nebo zápis dat, přehrávání jakýchkoli médií nebo připojení k externímu displeji.
Vzhledem k tomu, že Arduino a Raspberry Pi řeší různé úkoly, je v určitých situacích vhodné používat tato zařízení společně. Propojením těchto dvou zařízení by bylo možné získat klientský přístup k nastavení a kódu prostřednictvím Pi, zatímco Arduino by ovládalo akční členy a shromažďovalo informace ze senzorů. Tato dvě zařízení lze propojit přes USB, LAN nebo připojením I/O portů Arduina k Raspberry Pi.
Závěrečné slovo
V tomto okamžiku je vše nastaveno pro ovládání libovolného pohonu v rámci uvedených kritérií od společnosti Progressive Automations pomocí internetu! Spuštěním kódu získáte maximální pohodlí v ovládání pohonů na dálku, nebo jak jim rádi říkáme, „pohony ovládané přes WiFi“. Děkujeme za přečtení tohoto článku – pokud máte jakékoli dotazy nebo chcete vidět experimenty našich inženýrů, kontaktujte nás a rádi se s vámi spojíme!