Zaloguje się
or
Tel +48 698 615 740

Podłączenie endstopu mechanicznego do Arduino i wykorzystanie go w praktyce

19 sierpnia, 2022

W tym artykule wykorzystamy dwa wyłączniki krańcowe endstop oraz silnik krokowy, będziemy go uruchamiać za pomocą komendy i będzie się kręcił do póki nie napotka endstopu. Następnie odczeka wyznaczony czas i zacznie się kręcić w drugą stronę aż nie dotknie drugiego endstopu. Wtedy program się zakończy i do ponownego go włączenia będzie trzeba użyć komendy.

Spis treści

  • Krótki opis
  • Specyfikacja
  • Wykorzystane komponenty
  • Podłączenie
  • Zaprogramowanie
  • Działanie w praktyce
  • Pliki do pobrania

Krótki opis

Krańcówka z przewodem do drukarek 3D. Zabezpiecza przed wyjechaniem głowicy lub wózka w drukarce poza obszar działania. W zestawie z przewodem. Jest kompatybilny z RAMPS 1.4.

Specyfikacja

  • Czerwony przewód VCC (ramps of +)
  • Czarny przewód GND (ramps of -)
  • Zielony przewód SIGNAL (ramps in s)
  • Długość kabla: 70cm
  • Moduł posiada diody LED sygnalizujące zadziałanie krańcówki
  • Zabezpiecza przed wyjechaniem głowicy lub wózka w drukarce
  • Jest kompatybilny z RAMPS 1.4

Wykorzystane komponenty

  • Arduino
  • Płytka stykowa
  • L293D 2-kanałowy sterownik silnika Arduino
  • Endstop mechaniczny
  • Silnik krokowy 17Hs08 1004S

Podłączenie

Zaczniemy od podłączenia sterownika silnika do Arduino. Do VCC podłączamy 5V z arduino, GND do GND, IN1 do pinu 11, IN2 do pinu 10, IN3 do pinu 9, IN4 do pinu 8. Z drugiej strony sterownika podłączamy silnik A- czarny przewód, A+ zielony przewód, B- czerwony przewód, B+ niebieski przewód. Zasilanie zewnętrzne 3,6V podłączamy do VIN “+” i GND “-“.

Teraz podłączymy endstopy, obydwa musimy wpiąć do zasilania 5V (czerwony przewód) i GND(czarny przewód). Teraz sygnał(zielony przewód) wpinamy do pinów 7 i 6.

Całe połączenie znajduje się poniżej.

Zaprogramowanie

Aby uruchomić silnik w monitorze portu szeregowego trzeba wpisać START. Po dotknięciu endstopu silnik powinien się zatrzymać odczekać 3 sekundy i kręcić się w drugą stronę. Po wciśnięciu drugiego endstopu silnik powinien się zatrzymać, a program powinien czekać na ponowne wpisanie komendy START.

#include <Stepper.h>

#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
#define END1 7
#define END2 6
#define KROKI 10

String komenda;
Stepper krokowy(KROKI, IN1, IN2, IN3, IN4);

void setup() {
  Serial.begin(9600);
  pinMode(IN1, OUTPUT); //ustawienie IN1 jako wyjście
  pinMode(IN2, OUTPUT); //ustawienie IN2 jako wyjście
  pinMode(IN3, OUTPUT); //ustawienie IN3 jako wyjście
  pinMode(IN4, OUTPUT); //ustawienie IN4 jako wyjście
  pinMode(END1, INPUT); //ustawienie END1 jako wejście
  pinMode(END2, INPUT); //ustawienie END2 jako wejście
  krokowy.setSpeed(800); //ustawiamy prędkość obrotów silnika
}

void loop() {
  komenda = Serial.readStringUntil('\n');//wczytanie komendy z monitora portu szeregowego
  if (komenda == "START")
  {
    while (digitalRead(END1) == HIGH) //do póki pierwszy endstop nie zostanie wciśnięty rób obrót w prawo
    {
      krokowy.step(KROKI); //wykorzystanie funkcji step, w miejsce argumentu wpisujemy KROKI, aby silnik kręcił się zgodnie z ruchem zegara
    }

    delay(3000);//odczekaj określoną liczbę sekund

    while (digitalRead(END2) == HIGH) //do póki drugi endstop nie zostanie wciśnięty rób obrót w lewo
    {
      krokowy.step(-KROKI); //wykorzystanie funkcji step, w miejsce argumentu wpisujemy -KROKI, aby silnik obracał się w drugą stronę 
  }
}
}

Działanie w praktyce

Pliki do pobrania

Sticky
Możliwość komentowania Podłączenie endstopu mechanicznego do Arduino i wykorzystanie go w praktyce została wyłączona
Adrian Wojtala

Adrian Wojtala

Ma 21 lat. Studiuje informatykę na Uniwersytecie DSW, ukończył technikum o profilu technik-informatyk. Interesuje się programowaniem i w przyszłości ma plan zostać back-end developerem. Swoją przygodę z Arduino rozpoczął podczas praktyk od września 2021 r.

Comments are closed.

Strona korzysta z plików cookies w celu realizacji usługi i zgodnie z Polityką Plików Cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.