Как да управлявате вашите задвижващи механизми от алтернативни мрежи

Как да управляваме нашите задвижващи механизми от алтернативни мрежи

Guest Writer
Guest Writer
PA Engineer

Светът на линейното движение е динамичен и непрекъснато се развива. Progressive Automations е решена да остане начело на тези технологични промени. Дистанционно управлявани задвижващи механизми станаха по-разнообразни и динамични. Имайки това предвид, един от нашите инженери, Джейк, реши да проведе експеримент, за да определи дали нашите линейни задвижващи механизми може да се контролира от алтернативни мрежи. Това наистина е възможно. Следователно, тази статия ще предостави стъпка по стъпка как това може да се постигне. Тя включва също примерен код и инструментите, необходими за установяване на успешна връзка и в крайна сметка за управление на изпълнителния(ите) механизъм(и) онлайн.

За този експеримент използвахме нашия мини линеен актуатор PA-14, тъй като е един от най-популярните ни актуатори!

Кликнете тук

Списък с продукти

 

Мини линеен задвижващ механизъм PA-14

     

    Mini linear actuator by Progressive Automations

     

    LC-201 е 4-канална релейна платка, идеална за това приложение!

    Кликнете тук

     

    Мини линеен задвижващ механизъм PA-14 е един от най-популярните модели, предлагани от Progressive Automations, и е примерът, който използвахме за този експеримент. Вместо задвижващия механизъм PA-14 може да се използва всеки модел, предоставен от Progressive Automations с номинално напрежение 12 VDC/24 VDC/36 VDC/48 VDC и четков DC двигател. Предоставеният код, който е показан по-долу, не изисква никакви модификации, ако се избере различен задвижващ механизъм, но номиналният ток и напрежение на... захранване ще трябва да се провери, преди да се продължи.

    Новото и подобреното Мини задвижващ механизъм PA-01 (PA-14 ъпгрейд) е текущият модел, който предлагаме с разнообразни допълнителни предимства. За сравнение, разгледайте таблиците по-долу и надстройте с увереност!

     

    PA-01

    PA-14

    Опции за динамично натоварване

    16, 28, 56, 112, 169, 225 фунта

    35, 50, 75, 110, 150 фунта

    Най-високо натоварване

    225 lb

    150 lb

    Най-бърза скорост

    3.54 "/sec

    2.00"/sec

    Защита от проникване

    IP65

    IP54

    Опции за инсулт

    от 1 инч до 40 инча

    от 1 инч до 40 инча

    Обратна връзка с ефекта на Хол

    По избор

    Не

    Линеен актуатор за Raspberry Pi

    Предоставените подробности за експеримента ще обяснят как се управлява линеен задвижващ механизъм с Raspberry Pi. Raspberry Pi 4 се използва за стартиране на сървърния софтуер и получаване на команди за управление на задвижващия механизъм. Като алтернатива може да се използва настолен компютър и платка Arduino. Ако това е избраният от вас начин, вашият компютър ще трябва да получава команди и да ги предава на платката Arduino чрез сериен порт.

    Raspberry Pi е едноплатков компютър, приблизително с размерите на кредитна карта. Този микрокомпютър е разработен във Великобритания за използване в обучението по основни компютърни знания.

     

    Принцип на действие на Raspberry Pi

    Raspberry Pi притежава всички атрибути на истински компютър, включително специален процесор, памет и графичен драйвер за HDMI изход. Той дори работи със специална версия на операционната система Linux. Това улеснява инсталирането на повечето Linux програми и... свържете линейни задвижващи механизми към Raspberry Pi. Това позволява Raspberry Pi да се използва за задвижващи механизми, като пълноценен медиен сървър или като емулатор на видеоигри.

    Pi няма вътрешно хранилище за данни, но може да се използва смарт карта като флаш памет, обслужваща цялата система. Това позволява бързо изтегляне на различни версии на операционната система или софтуерни актуализации за отстраняване на грешки. Тъй като това устройство осигурява независима свързаност по мрежата, то може да бъде конфигурирано и за SSH достъп или FTP трансфер на файлове.

     

    Инструкции за експеримента

    Следното показва точните стъпки, предприети от Джейк при тестването на тази настройка, от първоначалната настройка до безжичното дистанционно управление на линейния задвижващ механизъм.

    Тъй като на платката Raspberry Pi може да бъде присвоен IP адрес и да има GPIO пинове, заедно с гореспоменатите си функции, тя действа като най-доброто устройство за такъв експеримент.

    Настройка на Raspberry Pi с линеен актуатор

    1. Уверете се, че Raspbian OS е инсталирана на вашия PI. Кликнете тук за подробна инструкция как да инсталирате тази операционна система на вашия Pi.
    2. Свържете дъската си към Wi-Fi. Кликнете тук за тези инструкции.
    3. Задайте статичен IP адрес на вашия Raspberry Pi. Кликнете тук за подробности как да направите това.
    4. Създайте нов .py файл във вашия Raspberry Pi и копирайте следния код в него. Когато изпълните този код, вашият Pi ще се превърне в сървър, който слуша вашите команди на порт „6166“.

     

     import socket import sys # Създаване на TCP/IP сокет sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Свързване на сокета с порта server_address = ('', 6166) print ('стартиране на порт ', server_address) sock.bind(server_address) # Слушане за входящи връзки sock.listen(True) GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.setup(27, GPIO.OUT) while (True): # Изчакване на връзка print ('изчакване на връзка') connection, client_address = sock.accept() print ('връзка от', client_address) # Получаване на данните на малки парчета и препредаването им data = connection.recv(16) print ("received:", data) # Изходен сигнал на GPIO в зависимост от получената команда if data == b"ext": GPIO.output(18, GPIO.HIGH) if data == b"ret": GPIO.output(27, GPIO.HIGH) if data == b"close connection": break # Затваряне на връзката connection.close() 

    Окабеляване

    За ясни инструкции относно окабеляването за този проект, диаграма е предоставена на следния линк: 4-канално цифрово реле + Arduino свързване на линеен актуатор.

     

    Настройка на рутера

    След като вашият Pi е свързан към вашата Wi-Fi мрежа и има статичен IP адрес, който сте конфигурирали в предишната стъпка, можете да започнете да настройвате пренасочване на портове и IP филтриране във вашия рутер. Пренасочването на портове ви позволява да настроите рутер да прехвърля данни, които идват на определен порт на определено устройство във вашата локална мрежа. Да предположим, че вашият Pi сървър има статичен IP адрес 192.168.1.69 и слуша команди на порт 6166. Ще трябва да настроите рутера си да прехвърля данни, които идват на порт 6166, към устройство с IP адрес 192.168.1.69.

    Инструкции:

    Забележка: Интерфейсът на вашия рутер може да изглежда различно от този пример. В такъв случай, моля, вижте инструкции как да извършите тази стъпка за вашия модел рутер.


        1. Въведете IP адреса на вашия рутер и влезте в профила си, за да получите достъп до интерфейса му.

           

          IP address
        2. Намерете Пренасочване на портове опция.

           

          Find the Port Forwarding

     

        1. Въведете статичния IP адрес на вашия Pi сървър и диапазона на публичните портове. Уверете се, че порт 6166 е в този диапазон.

           

          Public Port range

    Препоръчваме ви да настроите IP филтриране на този етап от съображения за сигурност. IP филтрирането ви позволява да укажете IP адресите на устройствата, на които е разрешен достъп и изпращане на команди към вашето Pi устройство през интернет. Намерете настройката за входящи филтри и задайте IP адресите на устройствата, на които е разрешен достъп до изпълнителни механизми в тази настройка.

    Настройка на клиента

        1. За да стартирате клиентски софтуер на вашето устройство, инсталирайте Python 3.8 от техния официален уебсайт.
        2. Може също да искате да инсталирате PyCharm което е лесна за използване IDE.
        3. Копирайте следния код:
    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()


     

    Всички задвижващи механизми се нуждаят от надеждно захранване - тук използвахме PS-20-12!

    Кликнете тук

    Raspberry Pi срещу Arduino

    Както беше посочено в началото на статията, е възможно да се използва платка Arduino вместо Raspberry Pi. Първо, важно е да се отбележи какво представляват платките Arduino. Тези микроконтролери изпълняват кодове, интерпретирани от фърмуера. Те не са пълнофункционални компютри, следователно нямат операционна система сама по себе си. Човек може да не разполага с основните инструменти, предоставени от операционната система, но тя улеснява директното изпълнение на прост код.

    Освен това, тази операционна система не е свързана с никакви разходи. Основната цел на платката Arduino е да взаимодейства със сензори и устройства, което я прави чудесна за хардуерни проекти, насочени към предизвикване на реакция към различни сензорни сигнали и ръчно въвеждане. Тя е идеално подходяща за управление на други устройства и изпълнителни механизми, където просто не е необходима пълнофункционална операционна система.

    Изборът между Raspberry Pi и Arduino зависи до голяма степен от проекта, за който е необходим.

    Би било по-добре да изберете Arduino, ако основната ви задача е да четете данни от сензори или да променяте стойности на двигателя и други устройства. Предвид изискванията на Захранване за Arduino и лесна поддръжка на тази система, устройството може да се използва без да се изключва, почти без да се нарушава неговата работа.

    От друга страна, Raspberry Pi би бил по-практичен при решаване на задачи, които биха се изпълнявали на персонален компютър. Raspberry Pi опростява управлението на работния процес в различни сценарии, например ако е необходимо да се свържете с интернет, за да четете или записвате данни, да възпроизвеждате медийни файлове или да се свържете с външен дисплей.

    Като се има предвид, че Arduino и Raspberry Pi решават различни задачи, в определени ситуации е удобно тези устройства да се използват заедно. При свързване на тези две устройства, клиентът би могъл да получи достъп до настройки и код чрез Pi, докато Arduino управлява изпълнителните механизми и събира информация от сензорите. Свързването на тези две устройства може да се осъществява чрез USB, LAN или чрез свързване на Arduino I/O портове към Raspberry Pi.

     

    Заключителна дума

    На този етап всичко е настроено за управление на всеки задвижващ механизъм в рамките на посочените критерии от Progressive Automations, използвайки интернет! Чрез стартиране на кода, той ви дава максималното удобство за дистанционно управление на вашите задвижващи механизми или, както ние обичаме да ги наричаме, „WiFi управлявани задвижващи механизми“. Благодарим ви, че прочетохте тази статия – ако имате някакви въпроси или искате да видите нещо експериментирано от някой от нашите инженери, свържете се с нас и ще се радваме да се свържем с вас!