Spisu treści:

Siłownik liniowy i obrotowy: 11 kroków
Siłownik liniowy i obrotowy: 11 kroków

Wideo: Siłownik liniowy i obrotowy: 11 kroków

Wideo: Siłownik liniowy i obrotowy: 11 kroków
Wideo: Proste sterowanie siłownikiem elektrycznym - Elektrobim.pl 2024, Listopad
Anonim
Image
Image

Ta instrukcja dotyczy wykonania siłownika liniowego z obrotowym wałem. Oznacza to, że możesz przesuwać obiekt do przodu i do tyłu i jednocześnie go obracać. Możliwe jest przesuwanie przedmiotu o 45 mm (1,8 cala) tam iz powrotem oraz obracanie go o 180 stopni.

Koszt to około 50 dolarów. Wszystkie części można wydrukować w 3D lub kupić w sklepie z narzędziami.

Zastosowane silniki to dwa dostępne w handlu serwomotory. Poza niską ceną serwa mają przydatną cechę: serwa nie wymagają żadnej dodatkowej logiki sterującej. W przypadku korzystania z Arduino [1] i jego biblioteki Servo [2], wpisanie wartości między 0 a 180 jest bezpośrednio pozycją serwomotoru, aw naszym przypadku pozycją siłownika. Znam tylko Arduino, ale jestem pewien, że na innych platformach jest również bardzo proste sterowanie serwami i stąd ten siłownik.

Do jego budowy potrzebna jest wiertarka stojąca i wiertło do metalu 4,2 mm. Zamierzasz wywiercić nakrętki M4 na łożyska tulejowe.

Ponadto potrzebujesz dobrego imadła stołowego i matrycy do wkręcania, aby wyciąć gwint M4 na metalowym pręcie. Do mocowania prętów wymagany jest gwintownik M4.

Kieszonkowe dzieci

1 Standardowy Servo Tower Pro MG946R. W zestawie ramię serwo, 4 śruby mocujące M2 i 4 mosiężne kadłuby d3

1 Micro Servo Tower Pro MG90S. W zestawie ramię serwo i 2 śruby montażowe

Śruba z łbem płaskim 11 M2 x l10 mm

Podkładka 4 M4

6 nakrętka M4

1 pierścień osadczy d4 mm

1 spinacz do papieru d1 mm

1 kołek drewniany d6 x l120

2 Pręt stalowy lub aluminiowy d4 x l166 z gwintem M4 x l15 na jednym końcu

1 Pręt stalowy lub aluminiowy d4 x l14 z nacięciem na pierścień osadczy

1 pręt stalowy lub aluminiowy d4 x l12

Legenda: l:długość w milimetrach, d:średnica w milimetrach

Krok 1: Części drukowane w 3D

Musisz wydrukować części po lewej lub po prawej stronie. Zdjęcia w tej instrukcji pokazują lewostronny siłownik LnR (patrząc od przodu, drewniany kołek znajduje się po lewej stronie).

Jeśli nie masz drukarki 3D, polecam poszukać usługi drukowania 3D w pobliżu.

Krok 2: Łożyska suwakowe

Serwo Mirco i ramię przedłużające
Serwo Mirco i ramię przedłużające

Jako łożyska używane są nakrętki M4! W tym celu wierci się otwory (M4/3,3 mm) wiertłem do metalu 4,2 mm. Wciśnij wywiercone nakrętki M4 w otwory w suwaku.

Przyklej 2 podkładki M4 do suwaka i górnej części suwaka.

Krok 3: Serwo Mirco i ramię przedłużające

Zamontuj Micro Servo na suwaku.

Po prawej stronie widać wysięgnik i pozostałe 2 nakrętki M4. Wciśnij wywiercone nakrętki M4 w otwory wysięgnika.

Krok 4: Suwak i obrotowy wałek

Suwak i obrotowy wałek
Suwak i obrotowy wałek

Zamontuj suwak, wysięgnik i górną część suwaka. Użyj małego metalowego pręta o długości 12 mm jako osi.

Na dole obrazu widać kołnierz przymocowany do ramienia Micro Servo.

W drewnianym kołku należy wywiercić otwór o średnicy 1,5 mm (na dole po prawej stronie), w przeciwnym razie drewno się złamie.

Krok 5: Serwo wspólne

Serwo wspólne
Serwo wspólne

Wywierć otwór 4,2 mm w standardowym ramieniu serwomechanizmu i dodaj nacięcie do metalowego pręta 14 mm na pierścień sprężynujący.

Przyklej jedną z podkładek do ramienia serwa.

W ten sposób układasz komponenty od góry do dołu:

1) Zamontuj pierścień sprężynujący na osi

2) Dodaj podkładkę

3) Przytrzymaj ramię serwa pod wysięgnikiem i wciśnij przez nie zmontowaną oś.

4) Dodaj trochę kleju do pierścienia mocującego i dociśnij go od dołu do osi.

Zdjęcie nie jest aktualne. Zamiast drugiego karabińczyka krzyczy pokazuje pierścień fiksacyjny. Pomysł z pierścieniem mocującym jest rozwinięciem oryginalnego projektu.

Krok 6: Mocowanie serwa

Mocowanie serwa
Mocowanie serwa

Serwo standardowe jest dołączone do siłownika. Aby przeprowadzić serwo przez otwór, należy zdjąć jego dolną zaślepkę, aby móc zgiąć kabel w dół.

Śruby montażowe najpierw wchodzą w kadłuby, a następnie przez otwory w siłowniku. Wkręć śruby w bloki mocujące, które są umieszczone pod podstawą LnR.

Krok 7: Ruch wzdłużny

Ruch wzdłużny
Ruch wzdłużny

Za pomocą gwintownika M4 nacinasz gwint w 3,3 mm otworach tylnej płaszczyzny podstawy LnR.

Suwak porusza się po dwóch metalowych prętach. Są one przeciskane przez przednie otwory 4,2 mm podstawy LnR, a następnie przez łożyska ślizgowe i mocowane gwintem M4 w tylnej płaszczyźnie siłownika.

Krok 8: Okładka

Okładka
Okładka

To jest siłownik LnR!

Do mocowania kabla Micro Servo używa się spinacza do papieru. Zamontuj kaptur na siłowniku i gotowe.

Krok 9: Szkic Arduino (opcjonalnie)

Image
Image

Podłącz dwa potencjometry do wejść Arduino A0 i A1. Piny sygnałowe to 7 dla ruchu obrotowego i 8 dla ruchu wzdłużnego.

Ważne jest, aby pobierać 5 V z Arduino na potencjometry, a nie z zewnętrznego zasilacza 5 V. Aby napędzać serwa, musisz użyć zewnętrznego zasilacza.

Krok 10: Poza przykładem programowania (opcjonalnie)

W ten sposób kasuję błędy systematyczne w oprogramowaniu sterującym siłownikiem LnR. Eliminując błąd pozycjonowania spowodowany transformacją mechaniczną i luzem mechanicznym, możliwa jest dokładność pozycjonowania 0,5 milimetra w kierunku wzdłużnym i 1 stopień w ruchu obrotowym.

Transformacja mechaniczna: funkcję mapowania Arduinos [5] można zapisać jako: f(x) = a + bx. Dla zestawu danych demonstracyjnych [6] maksymalna odchyłka wynosi 1,9 mm. Oznacza to, że w pewnym momencie pozycja siłownika znajduje się prawie 2 milimetry od mierzonej wartości.

W przypadku wielomianu o stopniu 3, f(x) = a + bx + cx^2 + dx^3, maksymalne odchylenie dla danych demonstracyjnych wynosi 0,3 milimetra; 6 razy dokładniejszy. Aby określić parametry a, b, c i d, musisz zmierzyć co najmniej 5 punktów. Zestaw danych demonstracyjnych ma więcej niż 5 punktów pomiarowych, ale 5 jest wystarczających.

Luz mechaniczny: Z powodu luzu mechanicznego występuje przesunięcie w pozycji, jeśli przesuniesz siłownik najpierw do przodu, a następnie do tyłu, lub jeśli przesuniesz go zgodnie z ruchem wskazówek zegara, a następnie przeciwnie do ruchu wskazówek zegara. W kierunku wzdłużnym siłownik ma luz mechaniczny w dwóch połączeniach między ramieniem serwa a suwakiem. W przypadku ruchu obrotowego siłownik ma luz mechaniczny między suwakiem a wałami. Silniki serwo same w sobie mają również pewien luz mechaniczny. Aby anulować luz mechaniczny, obowiązują następujące zasady: A) Podczas ruchu do przodu lub zgodnie z ruchem wskazówek zegara wzór jest następujący: f(x) = P(x) B) Podczas ruchu do tyłu lub przeciwnie do ruchu wskazówek zegara wzór jest następujący: f(x) = P (x) + O(x)

P(x) i O(x) są wielomianami. O to przesunięcie, które jest dodawane ze względu na luz mechaniczny. Aby określić parametry wielomianu, zmierz 5 punktów podczas ruchu w jednym kierunku i te same 5 punktów podczas ruchu w przeciwnym kierunku.

Jeśli planujesz kontrolować wiele serwosilników za pomocą Arduino i przekonałem Cię do kalibracji oprogramowania za pomocą wielomianów, zajrzyj do mojej biblioteki prfServo Arduino [4].

W przypadku nagrania wideo dotyczącego napędu ołówkowego wykorzystano bibliotekę prfServo. Dla każdego z czterech serw wykonano pięciopunktową kalibrację w obu kierunkach.

Inne błędy systematyczne: Siłownik ma dodatkowe błędy systematyczne: tarcie, mimośrodowość i rozdzielczość używanej biblioteki serwo i silników serwo.

Może bardziej zabawny fakt, że rozdzielczość tarczy Adafruit Servo Shield [3] wynosi 0,15 mm w kierunku wzdłużnym! Oto dlaczego: osłona serwomechanizmu wykorzystuje układ PCA9685 do wytwarzania sygnału PWM. PCA9685 jest przeznaczony do tworzenia sygnałów PWM od 0 do 100% i ma do tego 4096 wartości. Ale w przypadku serwomechanizmu używane są tylko wartości let mówi od 200 (880 μs) do 500 (2215 μs). Piasta 45 mm podzielona przez 300 to 0,15 mm. Jeśli wykonasz obliczenia dla ruchu obrotowego, 180º podzielone przez 300 punktów to 0,6º.

Krok 11: Referencje

[1] Arduino: https://www.arduino.cc/[2] Biblioteka Servo: https://www.arduino.cc/en/reference/servo[3] Adafruit ServoShield: https://www.adafruit. com/product/1411[4] Biblioteka prfServo: https://github.com/mrstefangrimm/prfServo[5] Funkcja mapy Arduino:

[6] Przykładowy zestaw danych:0 4765 42610 38815 35620 32525 30030 27635 25240 22445 194

Zalecana: