Spisu treści:
- Krok 1: Biblioteka StepDriver
- Krok 2: Zmienne globalne
- Krok 3: Funkcje - ustawianie kołków sterownika
- Krok 4: Funkcje - podstawowe funkcje sterownika
- Krok 5: Funkcje - Ustawienie kroku silnika
- Krok 6: Funkcje - ustawianie trybu kroku silnika
- Krok 7: Funkcje – Ustawianie wyłączników krańcowych
- Krok 8: Funkcje - Odczyt wyłączników krańcowych
- Krok 9: Funkcje - Konfiguracja ruchu
- Krok 10: Funkcje - funkcja ruchu
- Krok 11: Funkcje – Funkcja ruchu – Zmienne
- Krok 12: Funkcje - Funkcja ruchu - Przyspieszenie
- Krok 13: Funkcje - Funkcja ruchu - Prędkość ciągła
- Krok 14: Funkcje – Funkcja ruchu – Zwalnianie
- Krok 15: Funkcje - Funkcja ruchu - Prędkość ciągła
- Krok 16: Funkcje - Funkcja przesuwania - Przesuwanie zakrętów
- Krok 17: Wykres ruchomy - prędkość pozycji
- Krok 18: Wykres ruchomy - Pozycja vs. Pozycja
- Krok 19: Wykres ruchomy – prędkość vs. Za chwilę
Wideo: Arduino: Precision Lib dla silnika krokowego: 19 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Dzisiaj pokażę Wam bibliotekę dla sterownika silnika krokowego z wyłącznikami krańcowymi oraz ruchu silnika z przyspieszeniem i mikrokrokiem. Ta Lib, która działa zarówno na Arduino Uno, jak i na Arduino Mega, pozwala na przesuwanie silników nie tylko na podstawie liczby kroków, ale także milimetrów. I jest też całkiem dokładny.
Ważną cechą tej biblioteki jest to, że pozwala na zbudowanie własnej maszyny CNC, która niekoniecznie jest tylko X,Y, ale też np. wyłącznikiem sekcji, bo to nie jest gotowy GRBL, a raczej programowanie, które pozwala stworzyć idealną maszynę dla Ciebie.
Jednak poniższe stwierdzenie jest ważnym szczegółem! Ten film jest przeznaczony tylko dla tych, którzy są już przyzwyczajeni do programowania. Jeśli nie znasz programowania Arduino, powinieneś najpierw obejrzeć inne filmy wprowadzające na moim kanale. Dzieje się tak, ponieważ omawiam zaawansowany temat w tym konkretnym filmie i wyjaśniam bardziej szczegółowo Lib użyte w filmie: Silnik krokowy z przyspieszeniem i końcem skoku.
Krok 1: Biblioteka StepDriver
Ta biblioteka obejmuje trzy najpopularniejsze typy sterowników na rynku: A4988, DRV8825 i TB6600. Konfiguruje piny sterowników, umożliwiając im resetowanie i wprowadzanie w tryb uśpienia, a także aktywację i dezaktywację wyjść silnika działających na pin Enable. Ustawia również wejścia pinów mikrokrokowych sterownika oraz ogranicza przełączniki i ich poziom aktywacji (wysoki lub niski). Posiada również kod ruchu silnika z ciągłym przyspieszeniem w mm/s², maksymalną prędkością w mm/s i minimalną prędkością w mm/s.
Dla tych, którzy oglądali części 1 i 2 filmu Step Motor with Acceleration i End of Stroke, pobierz tę nową bibliotekę dostępną już dziś, ponieważ wprowadziłem pewne zmiany w tym pierwszym pliku, aby ułatwić jego użytkowanie.
Krok 2: Zmienne globalne
Pokazuję dokładnie, do czego służy każda ze zmiennych globalnych.
Krok 3: Funkcje - ustawianie kołków sterownika
Tutaj opisuję kilka metod.
Ustawiłem ustawienie Pinout i piny Arduino jako wyjście.
Krok 4: Funkcje - podstawowe funkcje sterownika
W tej części zajmujemy się konfiguracją sterownika i jego podstawowymi funkcjami.
Krok 5: Funkcje - Ustawienie kroku silnika
W tym kroku kodu konfigurujemy ilość kroków na milimetr, jaką musi wykonać silnik.
Krok 6: Funkcje - ustawianie trybu kroku silnika
Ta tabela pokazuje ustawienia dla trybu krokowego silnika. Oto kilka przykładów.
Krok 7: Funkcje – Ustawianie wyłączników krańcowych
Tutaj muszę przeczytać całość i wartości logiczne. Konieczne jest ustawienie, czy aktywny klawisz jest w górę czy w dół, podczas ustawiania maksymalnego i minimalnego końca sworznia.
Krok 8: Funkcje - Odczyt wyłączników krańcowych
Ta część różni się od tej w Lib, którą udostępniłem w zeszłym tygodniu. Dlaczego to zmieniłem? Cóż, stworzyłem eRead, aby zastąpić kilka innych. Tutaj eRead odczyta LVL, digitalRead (pin) i zwróci TRUE. Wszystko to musi być wykonane na wysokim poziomie. Poniższa praca z aktywnym kluczem będzie na niskim poziomie. Użyję go tutaj, aby pokazać tabelę „Prawda”.
Na obrazie kodu umieściłem diagram, który pomoże w zrozumieniu, że w tej części kodu źródłowego zmierzam w kierunku Rosnąco i nie nacisnąłem jeszcze klawisza końca kursu.
Teraz na tym obrazie os kod bool DRV8825, pokazuję silnik wciąż poruszający się w kierunku rosnącym. Aktywował się jednak maksymalny wyłącznik krańcowy. Mechanizm musi więc zatrzymać ruch.
Na koniec pokazuję ten sam ruch, ale w przeciwnym kierunku.
Tutaj masz już aktywowany przełącznik końca kursu.
Krok 9: Funkcje - Konfiguracja ruchu
Głównym zastosowaniem metody motionConfig jest zamiana milimetrów na sekundę (miara stosowana w maszynach CNC) na kroki, aby sprostać sterownikowi silnika krokowego. Dlatego w tej części tworzę instancję zmiennych, aby zrozumieć kroki, a nie milimetry.
Krok 10: Funkcje - funkcja ruchu
W tym kroku traktujemy polecenie, które przesuwa krok w żądanym kierunku w okresie w mikrosekundach. Ustawiamy również pin kierunkowy sterownika, czas opóźnienia oraz kierunek wyłączników krańcowych.
Krok 11: Funkcje – Funkcja ruchu – Zmienne
W tej części konfigurujemy wszystkie zmienne, które dotyczą m.in. okresów maksymalnej i minimalnej prędkości, odległości trajektorii oraz kroków niezbędnych do przerwania trajektorii.
Krok 12: Funkcje - Funkcja ruchu - Przyspieszenie
Tutaj przedstawię kilka szczegółów na temat tego, w jaki sposób dotarliśmy do danych przyspieszenia, które obliczono za pomocą równania Torricellego, ponieważ uwzględnia ono przestrzenie do pracy z przyspieszeniem, a nie czas. Ale ważne jest, aby zrozumieć, że całe to równanie dotyczy tylko jednej linii kodu.
Zidentyfikowaliśmy trapez na powyższym obrazku, ponieważ początkowe obroty są złe dla większości silników krokowych. To samo dzieje się ze zwalnianiem. Z tego powodu wizualizujemy trapez w okresie między przyspieszaniem a zwalnianiem.
Krok 13: Funkcje - Funkcja ruchu - Prędkość ciągła
Tutaj zachowujemy liczbę kroków użytych do przyspieszenia, kontynuujemy z ciągłą prędkością i utrzymujemy prędkość maksymalną, co widać na poniższym obrazku.
Krok 14: Funkcje – Funkcja ruchu – Zwalnianie
Tutaj mamy kolejne równanie, tym razem z ujemną wartością przyspieszenia. Jest również wyświetlany w wierszu kodu, który przedstawia na poniższym obrazku prostokąt oznaczony jako Zwolnienie.
Krok 15: Funkcje - Funkcja ruchu - Prędkość ciągła
Wracamy do ciągłej prędkości, aby przepracować drugą połowę trajektorii, jak widać poniżej.
Krok 16: Funkcje - Funkcja przesuwania - Przesuwanie zakrętów
W tej części przesuwamy silnik o określoną liczbę obrotów w pożądanym kierunku, przeliczając liczbę obrotów na milimetry. Na koniec przesuwamy silnik w żądanym kierunku.
Krok 17: Wykres ruchomy - prędkość pozycji
Na tym wykresie mam dane, które zostały wyodrębnione z równania, którego użyliśmy w części Akceleracja. Wziąłem wartości i grałem na serialu Arduino i przeszedłem od tego do Excela, co zaowocowało tą tabelą. Ta tabela pokazuje postęp kroku.
Krok 18: Wykres ruchomy - Pozycja vs. Pozycja
Tutaj bierzemy pozycję w krokach oraz prędkość i konwertujemy ją na okres w mikrosekundach. Zauważmy w tym kroku, że okres jest odwrotnie proporcjonalny do prędkości.
Krok 19: Wykres ruchomy – prędkość vs. Za chwilę
Wreszcie mamy prędkość jako funkcję chwili iz tego powodu mamy linię prostą, ponieważ jest to prędkość jako funkcja czasu.
Zalecana:
Podnoszenie silnika krokowego sterowanego podczerwienią: 15 kroków
Sterowany na podczerwień podnośnik silnika krokowego: Musiałem zautomatyzować podnoszenie dużego obrazu, który ukrywa telewizor zamontowany nad kominkiem. Obraz jest zamontowany na niestandardowej przesuwnej stalowej ramie, która wykorzystuje liny, krążki i przeciwwagi, dzięki czemu można go podnieść ręcznie. W teorii brzmi to dobrze, ale w tym
Jak zrobić sterownik wysokoprądowy dla silnika krokowego: 5 kroków
Jak zrobić sterownik wysokoprądowy dla silnika krokowego: tutaj zobaczymy, jak zrobić sterownik silnika krokowego za pomocą kontrolera Toshiba TB6560AHQ. Jest to w pełni funkcjonalny kontroler, który potrzebuje tylko 2 zmiennych jako danych wejściowych i wykonuje całą pracę. Ponieważ potrzebowałem dwóch z nich, oba zrobiłem za pomocą
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: 6 kroków
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: W tym samouczku dowiemy się, jak śledzić kroki silnika krokowego na wyświetlaczu OLED. Obejrzyj film demonstracyjny.Kredyt samouczka oryginalnego trafia do użytkownika YouTube „sky4fly”
Wybór silnika krokowego i sterownika do zautomatyzowanego projektu ekranu cieniowania Arduino: 12 kroków (ze zdjęciami)
Wybór silnika krokowego i sterownika do zautomatyzowanego projektu ekranu cieniowania Arduino: W tej instrukcji przejdę przez kroki, które podjąłem, aby wybrać silnik krokowy i sterownik do prototypowego projektu automatycznego ekranu cieniowania. Osłony przeciwsłoneczne to popularne i niedrogie modele z korbą ręczną Coolaroo i chciałem zastąpić
Hermetyzacja silnika krokowego serwo ze sterowaniem szeregowym przez Arduino za pomocą drukarki 3D - Pt4: 8 kroków
Hermetyzacja silnika krokowego serwo ze sterowaniem szeregowym przez Arduino za pomocą drukarki 3D - Pt4: W tym czwartym filmie z serii Motor Step wykorzystamy to, czego nauczyliśmy się wcześniej, aby zbudować serwomotor krokowy ze sterowaniem przez komunikację szeregową i rzeczywistym sprzężenie zwrotne położenia za pomocą enkodera rezystancyjnego monitorowanego przez Arduino. W