Innehållsförteckning:

Art-Net Controlled Winch: 6 steg
Art-Net Controlled Winch: 6 steg

Video: Art-Net Controlled Winch: 6 steg

Video: Art-Net Controlled Winch: 6 steg
Video: Realight Axon-winch 2024, September
Anonim
Art-Net-kontrollerad vinsch
Art-Net-kontrollerad vinsch

Hej alla, i denna instruerbara förklarar jag hur jag skapade min art-net-kontrollerade vinsch. "Din Vad?" Jag hör dig fråga, låt mig förklara mycket snabbt. För några år sedan höll vi en fest med det lokala ungdomshuset, och som scenografi hade vi idén att göra ett tak i rörelse.

Med 9 vinschar (takels) lyfte vi upp en gigantisk vit trasa och genom protokollet dmx kontrollerade vi dem. Men vid den tid som vinschar vi använde där 3 -fas styrdes. Så för att få det att gå upp och ner var vi tvungna att skapa ett system av reläer som styrs av en central Arduino -mega som styrdes med dmx. Reläerna där omkopplingsspänningar på 230V och 12 ampere.

För att uttrycka det mer begripligt måste vi skapa en gigantisk röra av ledningar och reläer som var superstabil, opålitlig och ganska farlig faktiskt.

Så vi tänkte för oss själva att det måste finnas ett bättre sätt att göra detta. Vi började tänka och kom fram till att det bästa sättet att göra detta skulle vara genom ett modulärt vinschsystem, kontrollerat över Art-Net-protokollet så att vi bara skulle behöva en spänningskälla och en Ethernet-kabel.

Så det var precis vad jag skapade och jag ska försöka förklara för dig hur jag gjorde det. Hela installationen är beroende av en hallon pi som styr installationsprocessen. Efter installationen ger kontrollen över till en lätt dator (Chamsys, etc.) som kommer att styra vinschar därifrån.

Jag antar att du har grundläggande kunskaper om python, arduino och hallon pi aswel som att förstå något om art-net-protokollet och kontroller.

Tillbehör

Vad du behöver:

  • Raspberry Pi
  • Arduino
  • Arduino Ethernet -sköld
  • Arduino motorsköld
  • Vilken OLED -skärm som helst
  • ethernetkabel
  • Ethernet -switch
  • DC -motor med pulsgivare byggd på

Steg 1: Konfigurera Raspberry Pi

Ok så det här kommer att fungera är hallon pi kommer att köra en Apache och en MariaDB -server. Apache -servern ska vara värd för webbplatsen, MariaDB ska hålla en databas där vi kommer att lagra data från vinschar.

Jag kommer inte att leda dig genom hela processen med att konfigurera pi med ssh, om du inte är känd här är en bra handledning.

Så först ska vi se till att hallon pi är helt installerat i din terminalkörning:

För att installera apache

sudo apt installera apache2 -y

Att installera mariaDB

sudo apt-get install mariadb-server

Det här är alla python -tillägg vi behöver

pip3 installera mysql-connector-python

pip3 installera kolv-socketio pip3 installera kolv-kors pip3 installera gevent pip3 installera gevent-websocket pip3 installera nätverk

För den oleda skärmen behöver vi lite svårare installationsprocess som kan hittas här.

Ok, det är pi allt gjort!

Steg 2: Förstå hur installationen fungerar

Så hur du vill ställa in vinschen är genom att ge den en startposition och en slutposition. Den kommer att tilldelas en viss kanal och med den här kanalen kan du bara flytta mellan vald stat och slutposition.

För att välja denna position måste du flytta vinschen till dem, när du väl är där kommer du att vända en viss kanal till värdet 56. När denna exakta kanal når det värdet kommer den att veta att detta är hans slutstart / slutposition, om den behöver flytta upp eller ner eller om den behöver ändra sina artnet -värden. Att flytta vinschen görs också genom att ställa in en viss kanal till 56. "Och varför 56" jag hör dig undra, jag var tvungen att välja något:).

Positionen beräknas via kodaren som finns på likströmsmotorn.

Steg 3: Pi: s backend

Backend av Pi
Backend av Pi

Backend för systemet finns på min github. Jag har skrivit mitt eget bibliotek för art-net-protokollet så använd det gärna. Jag kommer inte att leda dig genom allt rad för rad, men jag kommer att ge dig den stora bilden av allt.

Koden kör en kolvserver som kommunicerar med apache -servern som körs på pi. Den använder kolv-socketio-modulen för att skicka och ta emot data till frontend. Art-net lib använder sockelmodulen från python för att skicka UDP-paket till och från arduino.

Varje metod som börjar med en @socketio.on ('F2B _ ***') väntar på ett F2B -samtal från frontend. När den har mottagits kommer den att utföra den aktuella åtgärden. Var det att skicka ett artnet -kommando eller hämta data från DB och skicka det tillbaka till fronten.

Metoden oled_show_info () används för att visa ip för ip (både på wlan- och ethernet -gränssnittet).

så kör bara koden med

python3 app.py

Steg 4: Frontänd av Pi

Pi -framsidan
Pi -framsidan

För att kunna redigera frontänden av pi måste du först ge dig själv åtkomst till katalogen/var/www/html/. Det är här apache får sina filer att visa på sin webbplats. För att få åtkomst kör du:

sudo chmod 777/var/www/html/

Nu är allt klart, få koden för frontend på min github och placera den i/var/www/html/katalogen.

Frontänden använder samma princip som backend men nu skickar den F2B _ *** kommandon när en knapp trycks in eller reglaget flyttas.

Och det är frontendet gjort!

Steg 5: Arduino

Arduino
Arduino
Arduino
Arduino
Arduino
Arduino

För att använda arduino måste du använda ethernet -skärmen och motorskyddet. Skjut dem försiktigt på arduinoen. Se till att du inte skjuter motorskyddet för långt in på ethernet -skärmen eller så kortsluter du de två motorstiften på Ethernet -anslutningen!

Koden för arduino finns också på min github. Ladda upp artnet_winch.ino -filen så ska allt vara bra.

Se till att du definierar rätt stift till rätt stift på din motor. Motorsköldstiften väljs med huvudstiften ovanpå skärmen. Dessa stift väljs under // --- motorkonfigurationen. Aswel som encoder -stiften som måste anslutas till de högra stiften på arduinoen.

Se också till att din MAC -adress för skärmen är korrekt. Detta kan hittas på en klistermärke under skärmen och redigeras i MAC -variabeln. IP -adressen du använder för pi måste ligga i samma intervall som PI, detta kan normalt hittas på den oleda skärmen.

Koden ser lite mycket ut men är inte så svår att förstå. I grund och botten läser ethernet -skölden ständigt utp -paket som kommer in. Om det paketet är ett Artnet -paket avkodar det det och får den information det behöver från det. De olika artnet-paketen beskrivs snyggt på Art-Net-webbplatsen, så om du är intresserad kan du läsa vad de alla gör.

Om det tar emot ett ArtPoll -paket svarar det med ett ArtPollReply. detta används i callout -funktionen i backend för att hitta vilka enheter som finns i nätverket.

Om det tar emot och ArtDMX -paketet kommer det att avkoda paketet och använda den angivna informationen för att utföra vissa inställningskommandon eller flytta vinschen i position.

Move_takel-funktionen omvandlar det givna DMX-värdet (mellan 0-255) till en position mellan start- och slutpositionen (0 är slutet och 255 start). Om kodarens läge inte är lika med det transformerade värdet kommer vinschen att flytta upp/ner beroende på var du befinner dig.

Jag arbetade med en återkopplingsslinga mellan PI och arduino så att den kunde hänga med i sin position men väl min arduino tog slut på minnet för att lagra programmet:).

Monterar allt

För montering fästade jag motorn på en metallhållare och satte ett slags rör ovanpå den. Fäst sedan bara en sladd på röret och använde en tejprulle som vikt. Det här är väldigt enkelt och du kan bli väldigt kreativ på det sätt du vill montera det.

Steg 6: Anslut allt

När arduino och pi är installerade helt enkelt koppla in båda ethernetkablarna i din switch och det borde vara det!

Du kan testa det genom att surfa till wlan ip som anges på oled -skärmen och du borde se webbplatsen. Tryck på hitta enheter för att se om du kan hitta enheten. Om det inte visar något är din arduino inte väl ansluten eller så har IP -adressen du valt inte samma intervall som PI: n.

När du ser enheten trycker du bara på setup. I installationsmenyn kan du flytta vinschen med hjälp av pilarna och testa om start- och slutlägen är korrekta med skjutreglaget.

Se till att din handkontroll också är ansluten till skölden och att dess IP är inom räckvidden för PI och arduino.

Det är allt!

Rekommenderad: