Spisu treści:

Sterowanie płytą przekaźnikową z Octoprint na Raspberry Pi: 5 kroków
Sterowanie płytą przekaźnikową z Octoprint na Raspberry Pi: 5 kroków

Wideo: Sterowanie płytą przekaźnikową z Octoprint na Raspberry Pi: 5 kroków

Wideo: Sterowanie płytą przekaźnikową z Octoprint na Raspberry Pi: 5 kroków
Wideo: 🔴 Jak Uruchomić Raspberry Z USB Boot (Pendrive lub Dysk SSD). Instalacja Raspbiana z USB. 2024, Czerwiec
Anonim
Sterowanie płytką przekaźnikową z Octoprint na Raspberry Pi
Sterowanie płytką przekaźnikową z Octoprint na Raspberry Pi

Więc masz raspberry pi z Octoprintem, a nawet masz konfigurację aparatu. Ostatnią rzeczą, jakiej potrzebujesz, jest sposób na włączanie i wyłączanie drukarki 3D i być może sterowanie światłem. Ta instrukcja jest dla Ciebie!

Jest to inspirowane i uproszczone z:

Upewnij się, że sprawdziłeś moją poprzednią instrukcję, w której zbudowałem skrzynkę z obudową / okap wyciągowy dla mojej drukarki 3d, ponieważ jest to kontynuacja.

Testowane z:

Linux październik 4.14.79-v7+ #1159 SMP niedziela 4 listopada 17:50:20 GMT 2018 armv7l GNU/Linux

Wersja OctoPrint: 1.3.11 Wersja OctoPi: 0.16.0

Zastrzeżenie: Nie biorę żadnej odpowiedzialności za cokolwiek złego może się zdarzyć, gdy zastosujesz się do tych instrukcji.

Kieszonkowe dzieci

  • Płytka przekaźnikowa 5V z transoptorem (ebay)
  • Niektóre przewody połączeniowe
  • Skrzynka elektryczna z gniazdkami (opcja)

Krok 1: Podłączanie płytki przekaźnikowej do Raspberry Pi

Podłączanie płytki przekaźnikowej do Raspberry Pi
Podłączanie płytki przekaźnikowej do Raspberry Pi

Chociaż płytki przekaźników są wykonane dla logiki 5V, będą się poprawnie wyzwalać przy 3,3V. Wiedząc o tym, udało mi się uniknąć jakichkolwiek modyfikacji oryginalnej płyty.

Osłona przekaźnika Raspberry

------------ --------- Cewki: JD-VCC - 5V VCC - Niepodłączone GND - GND Logika: GND - Niepodłączone IN1 - GPIO #23 IN2 - GPIO # 18 VCC - 3,3 V

Ważne jest, aby usunąć zworkę między JD-VCC i VCC, jeśli ją posiadasz. Umożliwi to zasilanie cewek napięciem 5V, a dla wejść logicznych napięciem 3,3V. A ponieważ oba GND są połączone wewnętrznie, łączymy tylko jedno z nich.

Krok 2: SSH do Twojego Raspberry Pi i skonfiguruj go

SSH do Twojego Raspberry Pi i skonfiguruj go
SSH do Twojego Raspberry Pi i skonfiguruj go

Używając putty lub ulubionego klienta ssh, połącz się z raspberry pi, używając tego samego adresu IP, którego używasz do uzyskania dostępu do Octoprint. Domyślna nazwa użytkownika to pi, a hasło to raspberry.

Pierwszą rzeczą, którą bym zrobił, to sprawdzenie, czy przekaźniki reagują poprawnie. Aby to zrobić, wydaj te polecenia

gpio -g tryb 18 out

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

Pierwsze 2 linie pozwalają ustawić GPIO jako wyjście. Następnie włączasz i wyłączasz wyjścia. To powinno sprawić, że przekaźnik kliknie. Gdy wejścia są w stanie niskim (0) przekaźnik powinien się załączyć, a gdy wejścia są w stanie wysokim (1) powinny się wyłączyć. Więc tak, to trochę sprzeczne z intuicją, ale tak właśnie jest!

Krok 3: Dodaj nowe opcje menu do Octoprint, aby sterować przekaźnikami

Dodaj nowe opcje menu do Octoprint, aby sterować przekaźnikami
Dodaj nowe opcje menu do Octoprint, aby sterować przekaźnikami
Dodaj nowe opcje menu do Octoprint, aby sterować przekaźnikami
Dodaj nowe opcje menu do Octoprint, aby sterować przekaźnikami

Będziesz musiał edytować plik config.yaml:

sudo nano.octoprint/config.yaml

Wewnątrz tego pliku znajdź sekcję „system” i dodaj:

system:

akcje: - akcja: włączanie drukarki polecenie: gpio -g zapis 18 0 nazwa: Włącz drukarkę - akcja: wyłączanie drukarki polecenie: gpio -g zapis 18 1 potwierdź: Zamierzasz wyłączyć drukarkę. nazwa: wyłącz drukarkę - akcja: lon polecenie: gpio -g write 23 0 nazwa: LightOn - akcja: loff polecenie: gpio -g write 23 1 nazwa: LightOff

Po zapisaniu pliku (ctrl+x) uruchom ponownie raspberry pi:

ponowne uruchomienie sudo

Powinieneś teraz móc sterować przekaźnikami z interfejsu sieciowego Octoprint!

Krok 4: Okablowanie wysokiego napięcia (uważaj)

Okablowanie wysokiego napięcia (należy zachować ostrożność)
Okablowanie wysokiego napięcia (należy zachować ostrożność)

Przekaźnik działa jak przełącznik, tylko jest wyzwalany przez sterownik, w tym przypadku raspberry pi. Przełącznik składa się z elektromagnesu, który połączy ze sobą szpilki, to jest kliknięcie, które słyszysz.

Do okablowania masz dwie możliwości. Albo przecinasz jeden z przewodów zasilacza drukarki 3D i podłączasz końce do przekaźnika, albo robisz do tego gniazdko. Preferuję drugi sposób, ponieważ pozwoli to na łatwiejsze przenoszenie drukarki. Użyję również drugiego gniazdka, aby podłączyć wentylator wyciągowy (zobacz moje inne instrukcje: Łatwa i tania okap do drukarki 3D).

Teraz drugi przekaźnik ma sterować światłem. To ta sama zasada, ale w tym przypadku polecam po prostu uciąć jeden z przewodów z kabla zasilającego i podłączyć końcówki do przekaźnika, najprawdopodobniej nie będzie trzeba go przesuwać.

Krok 5: Skonfiguruj wyjścia GPIO i zapobiegaj włączaniu się przekaźników po ponownym uruchomieniu Raspberry Pi

Podsumowując problem, GPIO są ustawione na niskie po ponownym uruchomieniu raspbian (przynajmniej dla niektórych wersji jądra). Najwyraźniej niewiele możemy zrobić… no cóż! Pomysł polega na tym, aby wywołać skrypt, który po zakończeniu uruchamiania przywróci go, ustawiając wyjścia na wysokie.

Zobacz ten wątek na forum, aby uzyskać więcej informacji:

Ale co najważniejsze, ten skrypt ustawia GPIO jako wyjścia, w przeciwnym razie pozycje menu nie będą działać w Octoprint.

Utwórz skrypt za pomocą nano:

nano /home/pi/setupgpio.sh

Wklej ten kod i zapisz plik.

#!/kosz/sz

echo 18 > /sys/class/gpio/export echo 23 > /sys/class/gpio/export udevadm osiedle echo wysokie > /sys/class/gpio/gpio18/kierunek echo wysokie > /sys/class/gpio/gpio23/kierunek

Ustaw plik wykonywalny:

chmod +x /home/pi/setupgpio.sh

Edytuj plik rc.local:

sudo nano /etc/rc.local

I wywołaj skrypt, który właśnie stworzyłeś, dodając te wiersze:

# skonfiguruj piny gpio do sterowania bramą

/home/pi/setupgpio.sh

Uruchom ponownie Raspberry i sprawdź, czy działa poprawnie.

Zalecana: