Jeśli chcesz użyć silnik serwo lub serwo, Z Arduino, w tym artykule dowiesz się, czego potrzebujesz, aby rozpocząć. W innych artykułach widzieliśmy już, co jest konieczne do użycia silniki elektryczne, silniki krokowe, a także inne pojęcia niezbędne do zrozumienia działania tego typu urządzenia, takie jak artykuł na temat PWM.
Teraz możesz dodać kolejny nowy komponent elektroniczny do listę urządzeń przeanalizowane i że możesz iść integrując swoje projekty DIY aby dodać nową funkcjonalność.
Wskaźnik
Co to jest serwo?
Un siłowniklub po prostu serwo, to silnik elektroniczny, który jest podobny do konwencjonalnych silników prądu stałego, ale zawiera pewne elementy, które czynią je wyjątkowymi. W tym przypadku ma możliwość utrzymania wskazanej pozycji, na co nie pozwalają silniki elektryczne.
Z drugiej strony serwomechanizm również może precyzyjna kontrola prędkość obrotowa, dzięki szeregowi przekładni wewnętrznych i systemowi, który pozwala na znacznie lepszą kontrolę niż w innych typach silników.
Te cechy sprawiają, że jest on szczególnie interesujący dla aplikacje robotyka lub inne urządzenia, w których konieczne jest sterowanie ruchem i pozycją, takie jak drukarka lub zdalnie sterowany samochód. W tego typu samochodach sterowanych radiowo jest konwencjonalny silnik do napędu samochodu oraz serwo do układu kierowniczego, za pomocą którego precyzyjnie steruje się zakrętem.
Różnica między silnikiem krokowym a serwomotorem
Jeśli zastanawiasz różnica między silnikiem serwo a silnikiem krokowym, prawda jest taka, że można je pomylić, skoro w silniku krokowym, czy w stepperze można też dość precyzyjnie sterować obrotami, a aplikacje są bardzo podobne do serwomechanizmu. Zamiast tego są pewne różnice.
I to jest typowe dla serwomotorów magnesy ziem rzadkichpodczas gdy silniki krokowe wykorzystują tańsze i bardziej konwencjonalne magnesy. Dlatego serwo może osiągnąć wyższy moment obrotowy, pomimo zachowania zwartości. Dlatego siła skrętu będzie bardzo duża.
cechy techniczne
Kupując serwo, należy zapoznać się z jego arkuszem technicznym lub arkuszem danych. W ten sposób zapewnisz plik parametry techniczne ma, ale też ograniczenia, którym można go poddać, takie jak napięcie, natężenie, maksymalne obciążenie, moment obrotowy itp. Pamiętaj, że każdy model może być zupełnie inny.
Na przykład, jeśli spojrzysz na jeden z najpopularniejszych, Micro Servo 9G SG90 od znanej firmy Tower Pro, będziesz miał kilka bardzo osobliwych cech, chociaż programowanie i podłączanie modeli są mniej więcej takie same, a wszystko, co tutaj zostało powiedziane, jest przydatne dla każdego.
W przypadku tego modelu jest to wysokiej jakości silnik o kącie skrętu pozwalającym na omiatać między -90 a 90ºczyli całkowity obrót o 180º. Rozdzielczość, którą możesz osiągnąć, jest bardzo wysoka, więc będziesz w stanie stopniowo przesuwać się do przodu. Na przykład z ograniczeniami sygnału PWM wynoszącymi Arduino UNO, możesz nawet uzyskać awans z klasy do klasy.
Podobnie sygnał PWM nakłada również inne ograniczenie, a jest to liczba przypadków, w których każda pozycja może się zmienić w jednostce czasu. Na przykład, ponieważ impulsy działają od 1 do 2 ms i z Okresy 20 ms (50 Hz), to serwo może się poruszać raz na 20 ms.
Ponadto będzie ważył 9 gramów i pomimo tej wagi i kompaktowych rozmiarów może rozwinąć moment obrotowy lub moment 1.8 kg / cmz 4.8 V. To dzięki zestawowi kół zębatych POM.
W końcu już wiesz, że w zależności od tego, co chcesz osiągnąć, będziesz musiał wybrać taki lub inny model, aby miał funkcje potrzebne do Twojego projektu. Oznacza to, że to nie to samo, co chcesz, aby silnik przenosił obciążenie X, niż jeden przez XX ...
Gdzie kupić serwo
Jeśli chcesz zacząć korzystać z tego typu serwomotoru, możesz go tanio znaleźć w wielu wyspecjalizowanych sklepach, a także możesz go kupić online w Amazon. Na przykład oto kilka przykładów rekomendowane produkty które mogą Cię zainteresować:
-
Serwo dostawcze AZDelivery MG90S Micro: obsługuje do 13.4 kg.
- Innowacje-UE: do 25 kg / cm.
- Innowacje-UE: kolejny model wodoodporny i do 35 kg / cm.
Wszystkie mają całkiem niezły kąt skrętu, ale zasadniczo różni się momentem obrotowym, który każdy może tolerować. Włączyłem trzy różne modele. Ta pierwsza i tańsza może być wystarczająca dla większości zastosowań. Ale jeśli potrzebujesz jednego o większej wytrzymałości do innych zastosowań, masz 25 i 35, które są już dość niezwykłe ...
Integracja z Arduino
Jak widać na powyższym obrazku, serwo łączy się bardzo łatwo do Arduino. Ma tylko trzy kable, które można podłączyć w ten sposób:
- Czerwony z 5 V.
- Czarny z GND
- Żółty z pinem Arduino PWM, w tym przypadku z -9.
Aby zaprogramować szkic, aby rozpocząć korzystanie z tego typu silników, masz kilka opcji. Ale przede wszystkim, aby zacząć, musisz dodaj bibliotekę Arduino IDE do napędzania tego typu serwomotorów:
- Otwórz Arduino IDE.
- Przejdź do programu.
- Następnie dołącz bibliotekę.
- Servo
Jeśli chodzi kod szkicumogłoby być tak proste, w którym serwo przechodzi przez swoje pozycje zatrzymując się na 0º, 90º i 180º:
//Incluir la biblioteca del servo #include <Servo.h> //Declarar la variable para el servo Servo servoMotor; void setup() { // Iniciar el monitor serie Serial.begin(9600); // Iniciar el servo para que use el pin 9 al que conectamos servoMotor.attach(9); } void loop() { // Desplazar a la posición 0º servoMotor.write(0); // Esperar 1 segundo delay(1000); // Desplazar a la posición 90º servoMotor.write(90); // Esperar 1 segundo delay(1000); // Desplazamos a la posición 180º servoMotor.write(180); // Esperar 1 segundo delay(1000); }
Teraz jeśli chcesz przesuwaj go ze stopnia na stopień, to wyglądałoby tak:
// Incluir la biblioteca servo #include <Servo.h> // Declarar la variable para el servo Servo servoMotor; void setup() { // Iniciar la velocidad de serie Serial.begin(9600); // Poner el servo en el pin 9 servoMotor.attach(9); // Iniciar el servo en 0º servoMotor.write(0); } void loop() { // Los bucles serán positivos o negativos, en función el sentido del giro // Positivo for (int i = 0; i <= 180; i++) { // Desplazar ángulo correspondiente servoMotor.write(i); // Pausa de 25 ms delay(25); } // Negativo for (int i = 179; i > 0; i--) { // Desplazar el ángulo correspondiente servoMotor.write(i); // Pausa e 25 ms delay(25); } }
Bądź pierwszym który skomentuje