Automatyczne maszyny do napełniania butelek są najczęściej używane w przemyśle napojów i napojów bezalkoholowych. Maszyny te wykorzystują przenośnik taśmowy, który jest ekonomicznym i szybkim sposobem napełniania butelek. Głównie sterowniki PLC są używane do automatycznych maszyn do napełniania butelek, ale możesz zrobić bardzo podstawowy i wszechstronny napełniacz butelek za pomocą Arduino. Możesz zaprogramować Arduino tak, aby automatycznie wykrywał butelkę za pomocą czujnika IR lub ultradźwiękowego i pozwalał butelce na napełnienie poprzez zatrzymanie przenośnika taśmowego na pewien czas. Następnie ponownie przesuń pasek i zatrzymaj się po wykryciu następnej butelki.
Tutaj zaprojektujemy prototyp automatycznej maszyny do napełniania butelek z wykorzystaniem Arduino Uno, przenośnika taśmowego, elektrozaworu, czujnika podczerwieni i silnika krokowego. Przenośnik taśmowy jest napędzany silnikiem krokowym ze stałą zadaną prędkością. Silnik krokowy będzie napędzał pasek, dopóki czujnik podczerwieni nie wykryje obecności butelki na pasku. Użyliśmy czujnika podczerwieni jako wyzwalacza zewnętrznego. Więc gdy czujnik podczerwieni osiąga stan wysoki, wysyła wyzwalacz do Arduino, aby zatrzymać silnik i włączyć zawór elektromagnetyczny. W kodzie napełniania butelek jest już wprowadzone ustawienie opóźnienia. Arduino będzie utrzymywać zawór elektromagnetyczny włączony i silnik krokowy wyłączony do określonego czasu. Po tym czasie elektrozawór wyłącza napełnianie, a przenośnik zaczyna się poruszać, aby można było napełnić kolejną butelkę.
Wcześniej używaliśmy Arduino z zaworem elektromagnetycznym, czujnikiem podczerwieni i silnikiem krokowym, więc aby dowiedzieć się więcej o podstawowych interfejsach Arduino z tymi komponentami, możesz odwiedzić linki.
Wymagane składniki
- Arduino Uno
- Silnik krokowy (Nema17)
- Przekaźnik
- Zawór elektromagnetyczny
- Czujnik podczerwieni
- Sterownik silnika A4988
- Bateria
Schemat obwodu
Schemat obwodu automatycznego systemu napełniania butelek za pomocą Arduino przedstawiono poniżej.
Wcześniejsze
Użyłem Fritzinga do narysowania schematu obwodu. W tym obwodzie zawór elektromagnetyczny jest podłączony do Arduino przez moduł przekaźnika, a moduł sterownika A4988 służy do sterowania silnikiem krokowym. Aby uzyskać więcej informacji na temat modułu sterownika Nema17 i A4988, możesz skorzystać z samouczka Jak sterować Nema17 za pomocą Arduino i A4988.
Pin wejściowy modułu Relay jest połączony z pinem 7 Arduino. Piny kierunku i kroku modułu A4988 są połączone z 2 i 4 pinami Arduino. W tym projekcie czujnik podczerwieni jest używany jako zewnętrzne przerwanie dla Arduino. W Arduino Uno cyfrowe stykowe 2 i 3 są przerwania od szpilki, więc podłączyć rozwałkować czujnika podczerwieni w 3 -cim sworznia Arduino. Zawór elektromagnetyczny zasilany jest ze źródła zasilania 24 V, a silnik krokowy ze źródła zasilania 12 V.
Program Arduino do automatycznego napełniania butelek
Kompletny program tego automatycznego systemu napełniania butelek za pomocą Arduino jest podany na końcu. Tutaj wyjaśniam kilka ważnych kwestii.
Uruchom program, dołączając bibliotekę silników krokowych. Możesz pobrać bibliotekę silników krokowych stąd.
Następnie określ liczbę kroków na obrót dla silnika krokowego. W przypadku NEMA 17 kroków na obrót wynosi 200.
#zawierać
Określ piny, do których podłączone są piny Krok i Kierunek modułu sterownika silnika. Ponieważ silnik jest podłączony przez moduł sterownika, należy zdefiniować typ interfejsu silnika jako Typ1 .
Stepper stepper (STEPS, 2, 4); #define motorInterfaceType 1
Ustaw prędkość silnika krokowego.
stepper.setSpeed (500);
Zdefiniuj styki przekaźnika, kroku i kierunku jako wyjścia
pinMode (przekaźnik, WYJŚCIE); pinMode (4, WYJŚCIE); pinMode (2, WYJŚCIE);
Składnia dla zewnętrznego przerwania w Arduino jest podana poniżej:
attachInterrupt (digitalPinToInterrupt (pin), ISR, tryb);
Gdzie:
digitalPinToInterrupt (pin): Służy do określenia pinu, do którego podłączone jest zewnętrzne przerwanie. W Arduino Uno Pin 2 i 3 to piny przerwań zewnętrznych.
ISR: Jest to funkcja, która jest wywoływana, gdy wywoływane jest zewnętrzne przerwanie.
Tryb: rodzaj przejścia do włączenia, np. Opadanie, wznoszenie itp.
Dowiedz się więcej o przerwaniach Arduino, klikając łącze.
W funkcji attachInterrupt () określono, że pin 3 jest stykiem zewnętrznego przerwania, a funkcja IR_detected jest wywoływana za każdym razem, gdy czujnik podczerwieni zmienia stan z niskiego na wysoki (RISING).
attachInterrupt (digitalPinToInterrupt (3), IR_detected, HIGH);
void IR_detected () to funkcja ISR, która jest wykonywana, gdy czujnik IR osiąga stan wysoki. Kiedy więc czujnik IR osiąga stan wysoki, ta funkcja uruchamia silnik krokowy na kilka kroków, a następnie zatrzymuje silnik krokowy i włącza elektrozawór.
void IR_detected () {stepper.step (150); digitalWrite (przekaźnik, WYSOKI); stepper.step (0);
Teraz w końcu prześlij kod do Arduino, podłączając go do laptopa. Poniższy obrazek przedstawia nasz prototyp systemu automatycznego napełniania butelek z wykorzystaniem Arduino.
Pełny kod i film demonstracyjny znajdują się poniżej.