Oferty pracy dla inżynierów
  • STREFA INŻYNIERA (current)
  • Oferty pracy
  • Metale
    • Obróbka metali
    • CAD
    • CATIA
    • Autodesk Inventor
  • Automatyka
    • Uprawnienia elektryczne SEP
    • Elektrotechnika
    • Elektronika
    • Automatyka
    • Robotyka
  • Przemysł
    • Przemysł
    • Obróbka metali
  • IT
    • JAVA
    • C++
    • Sieci
  • Firmy
  • Dla firm
    • Rejestracja - profil firmy
    • Dodaj ofertę pracy - bezpłatnie
    • Publikacja artykułów
    • Kontakt
  • Zaloguj się
  • STREFA INŻYNIERA
  • Oferty pracy
  • Metale
    • CAD
    • CATIA
    • Autodesk Inventor
  • IT
    • JAVA
    • C++
    • Sieci
  • Automatyka
    • Uprawnienia elektryczne SEP
    • Elektrotechnika
    • Elektroniki
    • Automatyki
    • Robotyka
  • Przemysł
    • Przemysł
    • Obróbka metali
  • Firmy
  • Dla firm
    • Rejestracja - profil firmy
    • Dodaj ofertę pracy - bezpłatnie
    • Publikacja artykułów
    • Kontakt
  • Logowanie
  • Zaloguj się
Arduino i serwomechanizm - Kurs Arduino cz. 5
Categories Elektrotechnika

Arduino i serwomechanizm - Kurs Arduino cz. 5

Serwomechanizmy są bardzo popularne w świecie modeli sterowanych radiem i świetnie nadają się do poruszania klapami modeli samolotów lub sterami łodzi, jak również do sterowania robotami i modelami samochodów. Są powszechnie dostępne u wielu
dostawców.

Serwomechanizm to silnik z przekładnią obracającą się o zadany kąt, zazwyczaj w zakresie od 0 do 180 stopni, zasilany najczęściej napięciem 4,8 V. Dzięki swojemu niskiemu kosztowi i łatwości sterowania idealnie nadaje się do wszelkiego rodzaju projektów
wymagających precyzyjnego sterowania. Wcześniej użyliśmy serwomechanizmu do skanującego modułu ultradźwiękowego, lokalizującego przedmioty po obu stronach trasy przemierzanej przez małego robota. Rysunek 5.23 przedstawia typowy serwomechanizm. Popatrzmy, jak sterowany jest serwomechanizm.

serwomechanizm arduino
Rysunek 5.23. Typowy mały serwomechanizm

 

Sterowanie serwomechanizmem - Kurs Arduino

Serwomechanizm posiada trzy końcówki: masę, zasilanie i sterowanie lub końcówkę sygnałową. W większości współczesnych serwomechanizmów do zasilania służy środkowa końcówka.

Przez wysłanie impulsu na końcówkę sterującą lub sygnałową wywołuje się obrót serwomechanizmu o określony kąt. Szerokość impulsu powoduje obrót serwomechanizmu o zadany kąt w zakresie od 0 do 180 stopni. Impuls musi być powtarzany co 20 milisekund, w przeciwnym wypadku silnik powróci do położenia spoczynkowego. Rysunek 5.24 przedstawia zależność pomiędzy szerokością impulsu a kątem obrotu serwomechanizmu.

serwomechanizm arduino

Rysunek 5.24. Zależność pomiędzy szerokością impulsu a kątem obrotu serwomechanizmu 

Jak widać na rysunku 5.24, neutralną pozycją serwomechanizmu jest kąt 90 stopni, uzyskiwany za pomocą impulsu o szerokości 1,5 ms. Szerokość impulsu waha się od ok. 1 ms do 2 ms, powodując obrót serwomechanizmu odpowiednio do pozycji 0 stopni
i 180 stopni.

Teraz, kiedy wiesz już, co jest potrzebne do zasilenia serwomechanizmu i zadania kąta obrotu, spójrzmy, co w tym temacie oferuje środowisko Arduino IDE.

 

Funkcje i metody sterujące serwomechanizmem - Arduino

Podobnie jak w przypadku silników krokowych, środowisko Arduino IDE zawiera bibliotekę Servo, ułatwiającą sterowanie serwomechanizmem. W rzeczywistości ta biblioteka umożliwia sterowanie 12 serwomechanizmami za pomocą standardowej płyty
Arduino lub niesamowitą liczbą 48 serwomechanizmów w przypadku płyty Arduino Mega.

Funkcje i metody oferowane w bibliotece Servo są wymienione w tabeli 5.7.

UWAGA: Biblioteka Servo uniemożliwia użycie funkcji analogWrite z pinami nr 9 i 10 w standardowej płycie Arduino. W przypadku zastosowania płyty Mega z więcej niż 12 serwomechanizmami funkcja analogWrite nie może korzystać z pinów nr 11 i 12.
Przyjrzyjmy się szkicowi do sterowania serwomechanizmem. 

Tabela 5.7. Funkcje biblioteki Servo

Nazwa funkcji Użycie Opis
Servo Servo myServo Tworzy obiekt Servo do sterowania
serwomechanizmem.
attach() attach(pin)
attach(pin, min, max)
Argument pin oznacza pin Arduino, do którego
dołączony jest serwomechanizm; argumenty
min i max to minimalne i maksymalne szerokości
impulsu wyrażone w mikrosekundach. Domyślna
minimalna wartość jest równa 544,
maksymalna — 2400.
write() write(kąt) Określa kąt w stopniach, o jaki ma się obrócić
serwomechanizm.
writeMicroseconds() writeMicroseconds
(szerokość_impulsu)
Określa szerokość impulsu serwomechanizmu,
wyrażoną w mikrosekundach.
read() read() Zwraca ostatnio zapisaną szerokość impulsu
zamienioną na kąt w stopniach w zakresie
od 0 do 180.
readMicroseconds() readMicroseconds() Zwraca ostatnio zapisaną szerokość impulsu
wyrażoną w mikrosekundach.
attached() attached() Zwraca wartość true, jeżeli do płyty jest
dołączony serwomechanizm.
detach() detach() Wyłącza wysyłanie impulsów
do serwomechanizmu dołączonego do płyty

 

Szkic sterujący serwomechanizmem

Szkic, którego użyjesz, jest jednym z przykładów dostarczanych razem ze środowiskiem Arduino IDE, demonstrującym zakres ruchu serwomechanizmu. Szkic przedstawiony na listingu 5.5 nazywa się Sweep i można go znaleźć w menu Plik/Przykłady/Servo.

Listing 5.5. Szkic obracający serwomechanizm w zakresie od 0 do 180 stopni

#include
Servo myservo;
int pos = 0;
void setup()
{
    myservo.attach(9);
}
void loop()
{
    for(pos = 0; pos < 180; pos += 1)
    {
        myservo.write(pos); delay(15); }
    for(pos = 180; pos>=1; pos-=1)
    {
        myservo.write(pos); delay(15); }
}

Najpierw musi być dołączona biblioteka Servo, ponieważ mimo że jest dostarczana razem ze środowiskiem Arduino IDE, nie wchodzi w skład głównych funkcji. Następnie tworzony jest obiekt Servo. W funkcji setup obiekt ten jest przypisywany do pinu nr 9 Arduino.

Kod w funkcji loop obraca serwomechanizm w zakresie od 0 do 180 stopni z 15-milisekundowymi przerwami pomiędzy kolejnymi pozycjami, aby dać serwomechanizmowi czas na obrócenie się o kolejny kąt. Później serwomechanizm obraca się w drugą
stronę od pozycji 180 do 0 stopni, również z 15-milisekundowymi przerwami pomiędzy kolejnymi ruchami. Następnie pętla powtarza cały proces. Przejdźmy do połączenia Arduino z serwomechanizmem, aby zobaczyć szkic w działaniu.

 

Łączenie komponentów

Będą Ci potrzebne następujące komponenty:

  • serwomechanizm,
  • zewnętrzny zasilacz,
  • płyta montażowa,
  • przewody montażowe,
  • łączówka z rozstawem styków 0,1 cala.

Serwomechanizm zazwyczaj ma trzy końcówki, z których środkowa służy do zasilania. Pozostałe dwie stanowią masę i sygnalizację. Końcówki masy oznaczone są najczęściej kolorem czarnym lub brązowym, aczkolwiek oznaczenie może się różnić w zależności
od producenta. Ponieważ użyjesz jednego serwomechanizmu, możesz wykorzystać zasilanie 5 V na płycie Arduino, aczkolwiek zalecamy zasilenie płyty za pomocą zewnętrznego zasilacza, a nie łącza USB. 

Rysunek 5.25 przedstawia 0,1-calową łączówkę, którą umieściliśmy na płycie montażowej, aby ułatwić podłączenie serwomechanizmu.  Rysunek 5.26 przedstawia gotowy układ. Po podłączeniu serwomechanizmu do Arduino nadszedł czas na wypróbowanie szkicu.

 

Załadowanie i test szkicu

Sprawdź połączenia i załaduj do Arduino szkic z listingu 5.5. Powinieneś zauważyć, jak serwomechanizm płynnie obraca się w zakresie od 0 do 180 stopni i z powrotem od 180 do 0 stopni. Jeżeli silnik nie obraca się, sprawdź połączenia z masą i zasilaniem
i spróbuj ponownie.

serwomechanizm arduino
Rysunek 5.25. Jednorzędowa łączówka z rozstawem styków 0,1 cala do połączenia serwomechanizmu z płytą montażową

 

serwomechanizm arduino
Rysunek 5.26. Połączenia pomiędzy serwomechanizmem i Arduino

Arduino w akcji Autorzy: Martin Evans, Joshua Noble, Jordan Hochenbaum Wydawnictwo: Helion
Zaloguj się aby dodać komentarz

Podobne artykuły

« Rodzaje instalacji elektrycznychArduino WiFi - Kurs Arduino cz. 4 »

Podziel się ze znajomymi tym artykułem - udostępnij na FB lub wyślij e-maila korzystając z poniższych opcji:

MARS
Angielski techniczny
Oferty pracy dla inżynierów

STAŻ | ZESPÓŁ TESTÓW I WERYFIKACJI PRODUKTÓW | STAŻYSTA MECHATRONIK | INPOST

Program Kariera - Polska Rada Biznesu
Zabierzów k .Krakowa, dowolny Region
3500 PLN

STAŻ | DZIAŁ LOGISTYKI | STAŻYSTA W DZIALE LOGISTYKI | CURTIS HEALTH CAPS

Program Kariera - Polska Rada Biznesu
Wysogotowo k. Poznania, dowolny Region
3500 PLN

STAŻ | DZIAŁ ZAPEWNIENIA JAKOŚCI | STAŻYSTA ZAPEWNIENIA JAKOŚCI | CURTIS HEALTH CAPS

Program Kariera - Polska Rada Biznesu
Wysogotowo k. Poznania, dowolny Region
3500 PLN

STAŻ | DZIAŁ ZAKUPÓW | STAŻ W DZIALE ZAKUPÓW | CURTIS HEALTH CAPS

Program Kariera - Polska Rada Biznesu
Wysogotowo k. Poznania, dowolny Region
3500 PLN

STAŻ | DZIAŁ CZĘŚCI WIZUALNE | STAŻ W DZIALE CZĘŚCI WIZUALNE | INTER CARS

Program Kariera - Polska Rada Biznesu
Cząstków Maz./Warszawa (Bielany), dowolny Region
3500 PLN

STAŻ | DZIAŁ LABORATORIUM I KONTROLI JAKOŚCI | STAŻ W DZIALE LABORATORIUM I KONTROLI JAKOŚCI | INTER CARS

Program Kariera - Polska Rada Biznesu
Blizne Łaszczyńskiego k. Warszawy, dowolny Region
3500

wszystkie oferty

Mapa ofert pracy dla inżynierów

Strefainzyniera.pl - rynek, praca, rozwój - wszystko co ważne dla inżynierów

  • Dla pracodawcy
  • Artykuły
  • Praca
  • Publikacje
  • Popularne stanowiska
  • Offer in English
  • Regulamin
  • Regulamin dla klientów
  • Polityka prywatności
  • Polityka cookies
  • Kontakt

© 2011 - 2021 NetPortal

Mapa strony Letnisko blisko