Talaan ng mga Nilalaman:

Pagkontrol ng isang Board ng Relay Mula sa Octoprint sa isang Raspberry Pi: 5 Hakbang
Pagkontrol ng isang Board ng Relay Mula sa Octoprint sa isang Raspberry Pi: 5 Hakbang

Video: Pagkontrol ng isang Board ng Relay Mula sa Octoprint sa isang Raspberry Pi: 5 Hakbang

Video: Pagkontrol ng isang Board ng Relay Mula sa Octoprint sa isang Raspberry Pi: 5 Hakbang
Video: BTT Octopus V1.1 - Klipper Configuration 2024, Nobyembre
Anonim
Pagkontrol ng isang Board ng Relay Mula sa Octoprint sa isang Raspberry Pi
Pagkontrol ng isang Board ng Relay Mula sa Octoprint sa isang Raspberry Pi

Kaya mayroon kang isang raspberry pi na may Octoprint at kahit na may isang pag-set up ng camera. Ang huling bagay na kailangan mo ay isang paraan upang i-on at i-off ang iyong 3d printer at marahil ay makontrol ang isang ilaw. Ang itinuturo na ito ay para sa iyo!

Ito ay inspirasyon at pinasimple mula sa:

Siguraduhin na suriin ang aking nakaraang itinuro kung saan nagtayo ako ng isang enclosure box / fume hood para sa aking 3d printer, dahil ito ang sumunod.

Nasubukan sa:

Linux octopi 4.14.79-v7 + # 1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU / Linux

Bersyon ng OctoPrint: 1.3.11OctoPi bersyon: 0.16.0

Pagwawaksi: Hindi ako kukuha ng anumang responsibilidad para sa anumang masamang maaaring mangyari sa pagsunod mo sa mga tagubiling ito.

Mga gamit

  • 5V relay board na may optocoupler (ebay)
  • Ang ilang mga jumper wires
  • Isang kahon ng kuryente na may mga outlet (opsyonal)

Hakbang 1: Pagkonekta sa Relay Board sa Iyong Raspberry Pi

Pagkonekta sa Relay Board sa Iyong Raspberry Pi
Pagkonekta sa Relay Board sa Iyong Raspberry Pi

Bagaman ang mga relay board ay ginawa para sa 5V lohika, mag-uudyok sila nang tama sa 3.3V. Alam ito, nagawa kong maiwasan ang anumang pagbabago sa orihinal na board.

Relay Shielde Raspberry

------------ --------- Mga Coil: JD-VCC - 5V VCC - Hindi konektado GND - GND Logic: GND - Hindi konektado IN1 - GPIO # 23 IN2 - GPIO # 18 VCC - 3.3V

Mahalagang alisin ang jumper sa pagitan ng JD-VCC at VCC kung mayroon ka nito. Papayagan nito ang pagpapakain ng 5V para sa mga coil habang nagpapakain ng 3.3V para sa mga input ng lohika. At dahil ang parehong GND ay naka-wire nang panloob, ikinonekta lamang namin ang isa sa kanila.

Hakbang 2: SSH sa Iyong Raspberry Pi at I-configure Ito

SSH sa Iyong Raspberry Pi at I-configure Ito
SSH sa Iyong Raspberry Pi at I-configure Ito

Gamit ang masilya o iyong paboritong ssh client, kumonekta sa iyong raspberry pi gamit ang parehong ip address na iyong ginagamit upang ma-access ang Octoprint. Ang default na username ay pi at ang password ay raspberry.

Ang unang bagay na gagawin ko ay patunayan na ang mga relay ay tumutugon nang tama. Upang magawa ito, mag-isyu ng mga utos na ito

gpio -g mode 18 out

gpio -g mode 23 out gpio -g sumulat 18 0 gpio -g sumulat 23 0 gpio -g sumulat 18 1 gpio -g sumulat 23 1

Pinapayagan ng unang 2 linya na maitakda ang GPIO bilang isang output. Pagkatapos ay i-toggle mo ang mga output nang on at off. Dapat gawin ang pag-click sa relay. Kapag mababa ang mga input (0), dapat na lumipat ang relay at kapag mataas ang mga input (1) dapat silang patayin. Kaya oo, ito ay medyo magkontra, ngunit ganyan ito!

Hakbang 3: Magdagdag ng Mga Bagong Pagpipilian sa Menu sa Octoprint upang Makontrol ang Iyong Mga Relay

Magdagdag ng Mga Bagong Opsyon sa Menu sa Octoprint upang Makontrol ang Iyong Mga Relay
Magdagdag ng Mga Bagong Opsyon sa Menu sa Octoprint upang Makontrol ang Iyong Mga Relay
Magdagdag ng Mga Bagong Opsyon sa Menu sa Octoprint upang Makontrol ang Iyong Mga Relay
Magdagdag ng Mga Bagong Opsyon sa Menu sa Octoprint upang Makontrol ang Iyong Mga Relay

Kakailanganin mong i-edit ang file config.yaml:

sudo nano.octoprint / config.yaml

Sa loob ng file na iyon, hanapin ang seksyong "system" at idagdag ang sumusunod:

system:

aksyon: - aksyon: printer sa utos: gpio -g isulat ang 18 0 pangalan: I-on ang printer - aksyon: printer off command: gpio -g isulat 18 1 kumpirmahin: Malapit mo nang patayin ang printer. pangalan: Patayin ang printer - aksyon: lon command: gpio -g sumulat 23 0 pangalan: LightOn - aksyon: loff command: gpio -g sumulat 23 1 pangalan: LightOff

Pagkatapos i-save ang file (ctrl + x), i-reboot ang raspberry pi:

sudo reboot

Dapat mo na ngayong makontrol ang mga relay mula sa interface ng web ng Octoprint!

Hakbang 4: Mga Kable ng Mataas na Boltahe (maging maingat)

Mga Kable ng Mataas na Boltahe (maging maingat)
Mga Kable ng Mataas na Boltahe (maging maingat)

Ang isang relay ay kumikilos bilang isang switch, tanging ito ay na-trigger ng isang controller, sa kasong ito isang raspberry pi. Ang switch ay binubuo ng isang electromagnet na magkokonekta ng mga pin nang magkasama, iyon ang pag-click na maririnig mo.

Para sa mga kable nito mayroon kang dalawang mga pagpipilian. Alinman ay pinutol mo ang isa sa mga wire ng iyong 3d printer power supply at ikinonekta mo ang mga dulo sa relay, o gumawa ka ng isang outlet ng kuryente para doon. Mas gusto ko ang pangalawang paraan, dahil papayagan nitong ilipat ang printer nang mas madali. Gagamitin ko rin ang pangalawang outlet upang ikonekta ang aking fan fan (tingnan ang aking iba pang maituturo: Madali at Murang 3D Printer Fume Hood).

Ngayon ang iba pang relay ay upang makontrol ang isang ilaw. Ito ay ang parehong prinsipyo, ngunit sa kasong ito inirerekumenda ko na gupitin mo lamang ang isa sa mga wire mula sa power cable at ikonekta ang mga dulo sa relay, malamang na hindi ito kailangang ilipat.

Hakbang 5: I-configure ang Mga Output ng GPIO at Pigilan ang Iyong Mga Relay Mula sa Pag-on Kapag Nag-Reboot ang Raspberry Pi

Upang ibuod ang isyu, ang GPIO ay itinatakda nang mababa kapag ang mga raspbian ay nag-reboot (hindi bababa sa ilang mga bersyon ng kernel). Tila, wala gaanong magagawa natin … oh well! Kaya ang ideya ay tumawag sa isang script na ibabalik na sa sandaling matapos ang pag-boot sa pamamagitan ng pagtatakda ng mataas na output.

Tingnan ang thread ng forum na ito para sa karagdagang impormasyon: https://www.raspberrypi.org/forums/viewtopic.php? T = 35321

Ngunit ang pinakamahalaga, itinatakda ng script na ito ang mga GPIO bilang mga output, kung hindi man ay hindi gagana ang mga item sa menu sa Octoprint.

Lumikha ng isang script gamit ang nano:

nano /home/pi/setupgpio.sh

I-paste sa code na ito at i-save ang file.

#! / bin / sh

echo 18> / sys / class / gpio / export echo 23> / sys / class / gpio / export udevadm settle echo high> / sys / class / gpio / gpio18 / direction echo high> / sys / class / gpio / gpio23 / direction

Gawing maipapatupad ang file:

chmod + x / home /pi / setupgpio.sh

I-edit ang rc.local file:

sudo nano /etc/rc.local

At tawagan ang script na nilikha mo lamang sa pamamagitan ng pagdaragdag ng mga linyang ito:

# setup ang mga gpio pin para sa control ng gate

/home/pi/setupgpio.sh

I-reboot ang iyong raspberry at suriin na gumagana ito nang maayos.

Inirerekumendang: