Talaan ng mga Nilalaman:

Art-Net Kinokontrol Winch: 6 Hakbang
Art-Net Kinokontrol Winch: 6 Hakbang

Video: Art-Net Kinokontrol Winch: 6 Hakbang

Video: Art-Net Kinokontrol Winch: 6 Hakbang
Video: Металл больше не нужен! Теперь есть ФИБЕРГЛАСС своими руками в домашних условиях. 2024, Setyembre
Anonim
Kinokontrol na Winch ng Art-Net
Kinokontrol na Winch ng Art-Net

Kumusta ang lahat, sa itinuturo na ito na ipaliliwanag ko kung paano ko nilikha ang aking winika na kinokontrol ng art-net. "Your what?" naririnig kong nagtanong ka, mabuti hayaan mong mabilis akong magpaliwanag. Ilang taon na ang nakakalipas ay nagtapon kami ng isang pagdiriwang kasama ang lokal na bahay ng kabataan, at bilang disenyo ng entablado mayroon kaming ideya na gumawa ng isang gumagalaw na bubong.

Sa 9 winches (takel) binuhat namin ang isang higanteng puting tela at sa pamamagitan ng protokol dmx kinontrol namin ang mga ito. Ngunit sa oras na ginamit namin ang mga winches kung saan kinokontrol ang 3phase. Kaya upang gawin itong pataas at pababa kailangan naming lumikha ng isang sistema ng relais na kinokontrol ng isang gitnang Arduino mega na kinokontrol gamit ang dmx. Ang relais kung saan ang paglipat ng mga voltages na 230V at 12 amps.

Upang mailagay ito sa mas mauunawaan na mga termino kailangan naming lumikha ng isang higanteng gulo ng mga wire at relais na sobrang hindi matatag, hindi maaasahan at medyo mapanganib talaga.

Kaya naisip namin sa aming sarili na kailangang magkaroon ng isang mas mahusay na paraan upang magawa ito. Nagsimula kaming mag-isip at napagpasyahan na ang pinakamahusay na paraan upang magawa ito ay sa pamamagitan ng isang modular system ng winches, na kinokontrol sa Art-Net protocol kaya kakailanganin lamang namin ng isang mapagkukunan ng boltahe at isang ethernet cable.

Kaya't eksaktong iyon ang nilikha ko at susubukan kong ipaliwanag sa iyo kung paano ko ito nagawa. Ang buong pag-setup ay umaasa sa isang raspberry pi na kumokontrol sa proseso ng pag-setup. Ang pag-set up nito ang kontrol ay nagbibigay sa isang light computer (Chamsys, atbp.) Na makokontrol ang mga winches mula doon.

Inaasahan kong mayroon kang pangunahing kaalaman sa python, arduino at raspberry pi aswel bilang pag-unawa sa isang bagay tungkol sa art-net protocol at mga Controller.

Mga gamit

Ano ang kakailanganin mo:

  • Raspberry pi
  • Arduino
  • Kalasag ng Arduino Ethernet
  • Arduino motor na panangga
  • Anumang screen ng OLED
  • ethernet cable
  • Ethernet switch
  • Ang DC Motor na may nakabukas na encoder

Hakbang 1: Pag-set up ng Raspberry Pi

Ok kaya ang paraan na ito ay gagana ay ang raspberry pi ay nagpapatakbo ng isang Apache at isang MariaDB server. Ang server ng apache ay upang mai-host ang website, ang MariaDB ay upang mapanatili ang isang database kung saan maiimbak namin ang data ng mga winches.

Hindi kita lalakasan sa buong proseso ng pag-set up ng pi sa ssh, kung hindi ka pamilyar narito ang isang mahusay na tutorial.

Kaya muna ng siguraduhin naming naka-setup ang raspberry pi, sa iyong terminal run:

Upang mai-install ang apache

sudo apt i-install ang apache2 -y

Upang mai-install ang mariaDB

sudo apt-get install mariadb-server

Ito ang lahat ng mga python extension na kakailanganin namin

pip3 i-install ang MySQL-Connector-Python

pip3 install flask-socketio pip3 install flask-cors pip3 install gevent pip3 install gevent-websocket pip3 install netifaces

Para sa oled display kailangan namin ng medyo mas mahirap na proseso ng pag-setup na maaaring matagpuan dito.

Ok yan ang pi lahat tapos na!

Hakbang 2: Pag-unawa sa Paano gagana ang Setup

Kaya kung paano mo nais i-set up ang winch ay sa pamamagitan ng pagbibigay nito ng isang panimulang posisyon at isang end na posisyon. Ito ay bibigyan ng isang tiyak na channel at sa channel na ito magagawa mong ilipat ang pagitan ng napiling stat at end posisyon.

Upang mapili ang posisyon na ito kakailanganin mong ilipat ang winch sa kanila, sa sandaling nandiyan ka ay i-on mo ang isang tiyak na channel sa halagang 56. Kapag naabot ng eksaktong channel na ito ang halaga malalaman na ito ang kanyang end start / end na posisyon, kung kailangan nitong ilipat pataas o pababa o kung kailangan nitong baguhin ang mga halaga ng artnet nito. Ang paglipat ng winch din ay ginagawa sa pamamagitan ng pagtatakda ng isang tiyak na channel sa 56. "At bakit 56" naririnig kong nagtataka ka, mabuti may pipiliin ako:).

Ang posisyon ay kinakalkula sa pamamagitan ng encoder na sa DC motor.

Hakbang 3: Backend ng Pi

Backend ng Pi
Backend ng Pi

Ang backend para sa system ay matatagpuan sa aking github. Sinulat ko ang aking sariling silid-aklatan para sa art-net protocol kaya't huwag mag-atubiling gamitin ito. Sanay na kitang lakarin ang lahat sa pamamagitan ng linya ngunit bibigyan kita ng malaking larawan idee ng lahat ng ito.

Nagpapatakbo ang code ng isang flask server na nakikipag-usap sa server ng apache na tumatakbo sa pi. Gumagamit ito ng flask-socketio module upang magpadala at tumanggap ng data sa frontend. Gumagamit ang art-net lib ng socket module mula sa sawa upang magpadala ng mga packet ng UDP papunta at mula sa arduino.

Ang bawat pamamaraan na nagsisimula sa isang @ socketio.on ('F2B _ ***') ay naghihintay para sa isang F2B na tawag mula sa frontend. Kapag natanggap na ito ay isasagawa ang naaayon na aksyon. Maging ang pagpapadala ng isang artnet commando o pagkuha ng data mula sa DB at ibalik ito sa harap.

Ang pamamaraang oled_show_info () ay ginagamit upang ipakita ang ip ng ip (Parehong sa mga interface ng wlan at ethernet).

kaya patakbuhin lamang ang code sa

python3 app.py

Hakbang 4: Frontend ng Pi

Frontend ng Pi
Frontend ng Pi

Upang mai-edit ang frontend ng pi kakailanganin mo munang bigyan ang iyong sarili ng mga acces sa direktoryo / var / www / html /. Dito nakukuha ng apache ang mga file na ito upang ipakita sa website nito. Upang makakuha ng pagpapatupad ng acces:

sudo chmod 777 / var / www / html /

Ngayon tapos na ang lahat makuha ang code para sa frontend ng aking github at ilagay ito sa direktoryo ng / var / www / html /.

Gumagamit ang frontend ng parehong prinsipyo tulad ng backend ngunit ngayon ay nagpapadala ito ng mga F2B _ *** utos kapag pinindot ang isang pindutan o inilipat ang slider.

At tapos na ang frontend!

Hakbang 5: Ang Arduino

Ang Arduino
Ang Arduino
Ang Arduino
Ang Arduino
Ang Arduino
Ang Arduino

Para sa paggamit ng arduino kailangan mong gamitin ang ethernet na kalasag at ang kalasag sa motor. Dahan-dahang itulak lamang sila sa arduino. Tiyaking hindi mo itulak ang kalasag ng motor hanggang sa kalasag ng ethernet o maiikli mo ang 2 mga motor pin sa koneksyon ng ethernet!

Ang code para sa arduino ay maaari ding makita sa aking github. I-upload ang artnet_winch.ino file at lahat dapat ay mabuti.

Tiyaking tinukoy mo ang mga tamang pin sa tamang mga pin ng iyong motor. Ang mga pin ng motorshield ay pinili gamit ang mga header pin sa tuktok ng kalasag. Ang mga pin na ito ay pinili sa ilalim ng // --- motor config. Aswel bilang mga encoder pin na kailangang maiugnay sa mga tamang pin ng arduino.

Siguraduhin din na ang iyong MAC address ng kalasag ay wasto. Maaari itong matagpuan sa isang sticker sa ilalim ng kalasag at na-edit sa variable ng MAC. Ang IP na ginamit mo para sa pi ay kailangang nasa parehong saklaw ng PI, maaari itong normal na makita sa oled screen.

Ang code ay mukhang medyo marami ngunit hindi ganoon kahirap maintindihan. Talaga ang ethernet na kalasag ay patuloy na nagbabasa ng mga packet ng udp na papasok. Kung ang packet na iyon ay isang Artnet packet ay na-decode ito at nakukuha ang impormasyong kinakailangan nito. Ang iba't ibang mga packet ng artnet ay mahusay na inilarawan sa website ng Art-Net, kaya kung interesado kang mabasa mo ang ginagawa nila lahat.

Kung makakatanggap ito ng isang pack ng ArtPoll tutugon ito sa isang ArtPollReply. ginagamit ito sa callout function sa backend upang mahanap kung aling mga aparato ang nasa network.

Kung makakatanggap ito at ArtDMX packet tatakbo ang decode ng packet at gamitin ang naibigay na data upang maisagawa ang ilang mga pag-setup na utos o ilipat ang winch sa posisyon.

Binabago ng pagpapaandar ng move_takel ang ibinigay na halaga ng DMX (sa pagitan ng 0-255) sa isang posisyon sa pagitan ng panimulang at pagtatapos na posisyon (0 ang pagtatapos at 255 ang pagsisimula). Kung ang posisyon ng encoder ay hindi katumbas ng nabago na halaga ang winch ay lilipat pataas / pababa depende sa kung nasaan ka.

Nagtatrabaho ako sa isang loop ng feedback sa pagitan ng PI at arduino upang makasabay ito sa posisyon nito ngunit naubusan ng memorya ng aking arduino upang maiimbak ang programa:).

Pag-mount sa lahat ng ito

Para sa pag-mounting inilakip ko ang motor sa isang lalagyan ng metal at naglagay ng isang uri ng tubo sa ibabaw nito. Pagkatapos ay nakakabit lamang ng isang kurdon sa tubo at gumamit ng isang roll ng tape bilang isang bigat. Napaka-basic nito at maaari kang maging napaka-malikhain sa paraang nais mong i-mount ito.

Hakbang 6: Pagkonekta sa Lahat ng Ito

Kapag ang arduino at ang pi ay lahat ng pag-setup ay simpleng plug sa parehong ethernet cables sa iyong switch at dapat ito!

Maaari mong subukan ito sa pamamagitan ng pag-surf sa wlan ip na ibinigay sa oled screen at dapat mong makita ang site. Pindutin ang maghanap ng mga aparato upang makita kung maaari mong makita ang aparato. Kung wala itong ipinapakita kung gayon ang iyong arduino ay hindi maayos na konektado o ang IP na iyong pinili ay wala sa parehong saklaw ng PI.

Kapag nakita mo ang aparato pindutin lamang ang pag-set up. Sa menu ng pag-setup maaari mong ilipat ang winch sa pamamagitan ng paggamit ng mga arrow at pagsubok kung ang mga posisyon ng pagsisimula at pagtatapos ay tama sa slider.

Siguraduhin na ang iyong controller ay naka-plug din sa kalasag at ang IP ay nasa saklaw ng na ng PI at arduino.

Ayan yun!

Inirerekumendang: