Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterownik serwomechanizmu modelarskiego MicroServo

kozak_sc 21 Cze 2012 15:31 16314 13
  • Sterownik serwomechanizmu modelarskiego MicroServo

    Witam
    Chciałbym przedstawić prosty układ do sterowania serwomechanizmu modelarskiego jaki jakiś czas temu wykonałem. Powstało kilkanaście egzemplarzy tego urządzenia na potrzeby sterowania rozjazdami oraz rogatkami na makiecie kolejowej. Założenie było proste należy przygotować sterownik serwomechanizmu mogący go ustawić w dwóch pozycjach z zadaną prędkością. Ważne aby była możliwość łatwej zmiany parametrów pracy (pozycja 0, pozycja 1, prędkość).

    Sterownik umożliwia sterowanie jednym serwomechanizmem modelarskim. Zadaniem układu jest ustawianie serwomechanizmu w dwóch regulowanych przez użytkownika pozycjach z zadaną prędkością. Regulacja obydwóch pozycji jak i prędkości odbywa się za pomocą potencjometrów montażowych.
    Po włączeniu zasilania sterownik ustawia się w pozycji „0” którą możemy regulować korzystając z lewego potencjometru. Po zmianie pozycji na „1” można ją wyregulować za pomocą prawego potencjometru. Prędkość serwomechanizmu przy zmianie pozycji zmieniamy za pomocą dolnego potencjometru.

    Sterownik serwomechanizmu modelarskiego MicroServo Sterownik serwomechanizmu modelarskiego MicroServo

    Opis konstrukcji
    Konstrukcja układu jest bardzo prosta. Głównym elementem jest tani o łatwo dostępny mikrokontroler AVR TINY13. Wykorzystane zostały wszystkie wyprowadzenia łącznie z resetem dlatego układ musi być programowany w trybie HVISP. Zasilacz składa się z zabezpieczenia polaryzacyjnego w postaci diody D1, zabezpieczenia przed podaniem zbyt wysokiego napięcia (dioda zenera D2) oraz kondensatorów filtrujących zasilanie. Suwaki potencjometrów zostały podłączone bezpośrednio do wejść ADC mikrokontrolera. Układ posiada dwa wejścia MODE1 oraz MODE2. MODE2 reaguje na zwarcie do masy i jest skonfigurowane jako wejście z pullupem. Rezystor R1 pełni rolę zabezpieczającą. Wejście MODE1 jest podpięte do wejścia przetwornika AC. Podczas normalnej pracy na tym wejściu panuje napięcie równe połowie napięcia zasilania wyznaczone przez dzielnik R3,R4. Gdy zwieramy to wejście do masy następuje spadek napięcia gdy natomiast do zasilania, jego wzrost w ten sposób możemy podpiąć dwa przyciski do jednego wejścia mikrokontrolera.
    Należy pamiętać że przy takim podłączeniu przycisków (tzn jeden do zasilania drugi do masy) Należy zastosować w szereg z każdym z nich rezystor 100ohm w celu zabezpieczenia przed zwarciem zasilania w przypadku jednoczesnego ich wciśnięcia. W układzie nie zostały one przewidziane ze względu na konieczność stosowania dodatkowego złącza śrubowego oraz to że docelowo będzie tu podpięty przycisk stosowany w pulpitach nastawczych PKP który jest podwójnym przyciskiem monostabilnym (można go wcisnąć lub pociągnąć) więc nie występuje ryzyko zwarcia.

    Sterownik serwomechanizmu modelarskiego MicroServo

    Obsługa
    Zmina pozycji:
    Zmiana pozycji serwomechanizmu może być zrealizowana na dwa sposoby
    • Dwuprzyciskowy wykorzystując wejście A – zwarcie tego wejścia do masy (0V) powoduje przejście serwomechanizmu do stanu „0” natomiast zwarcie do zasilania (5V) powoduje zmianę pozycji na „1”
    • Jednoprzyciskowy wykorzystując wejście B – każdorazowe zwarcie tego wejścia do masy (0V) powoduje zmianę pozycji na przeciwną.

    Podłączenie zasilania i serwomechanizmu:
    Układ powinien być zasilany napięciem stałym 5V o odpowiedniej wydajności prądowej w stosunku do zastosowanego serwomechanizmu. Serwomechanizm podłączamy do złącza szpilkowego na płytce zachowując odpowiednią polaryzację (od lewej -,+,C gdzie C to sygnał sterujący). Napięcie zasilające podłączamy do wejść oznaczonych na rysunku jako + i -.

    Poniższe filmy przedstawiają działanie układu. Na pierwszym jest pokazana zasada regulacji (ustawienie pozycji 0, ustawienie pozycji 1 i prędkości) oraz prace w trybie dwuprzyciskowym. Na drugim filmie przedstawiono pracę układu w obydwóch dostępnych trybach.

    Link


    Link



    Urządzenie sprawuje się bardzo dobrze i jest używane przez kilku modelarzy. Koszt wykonania płytki sterującej jest niewielki gdyż zastosowano tanie i łatwo dostępne elementy. Mikrokontroler sterujący TINY13 to koszt rzędu kilku złotych także w cenie nie przekraczającej 40zł (serwomechanizm+sterownik) możemy złożyć kompletny napęd do makiety lub innych zastosowań.
    W załączniku dostępna jest instrukcja obsługi sterownika w formacie PDF.

    Do moderatora: niestety nie działa przesyłanie filmów na elektrodę. Za każdym razem wyskakuje, że plik ma nieprawidłowe rozszerzenie (próbowałem mp4 i avi).

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • #2
    SylwekK
    Poziom 29  
    Bardzo ciekawy projekcik - lubię takie pchełki :) Zastanawia mnie tylko dlaczego nie poszedłeś za ciosem i wszystkich przycisków pod ADC nie zrobiłeś wtedy nie trzeba by RESET'u ruszać.
    Aha, jakim zegarem taktujesz procka ?
  • #4
    markovip
    Poziom 34  
    Dla bezpieczeństwa powinieneś dać rezystor przed diodą Zenera.
  • #5
    Klima
    Poziom 30  
    Czemuż-li nie jest sterowany przez DCC? Albo CAN-a?
  • #7
    mimor555
    Poziom 24  
    Czy jest możliwość sterowania przyciskami serwa? Chodzi mi o obroty prawo lewo a nie dojścia do danej pozycji. Czy serwo nie drga jak to zazwyczaj bywa? Co gdyby je obciążyc?
  • #8
    Jacek Rutkowski
    Poziom 25  
    mimor555 napisał:
    Czy jest możliwość sterowania przyciskami serwa? Chodzi mi o obroty prawo lewo a nie dojścia do danej pozycji. Czy serwo nie drga jak to zazwyczaj bywa? Co gdyby je obciążyc?

    Witam,
    serwo ma z założenia niepełny obrót zakresu,zwykle 270 stopni.
    Nie ma możliwości sterowania obrotami ponieważ zależnie od wypełnienia impulsów sterujących wychyla się serwo. Jeśli chcesz wiele obrotów to są do kupienia silniczki z przekładniami zintegrowane.
  • #9
    treker
    Poziom 25  
    Jacek Rutkowski napisał:
    Nie ma możliwości sterowania obrotami ponieważ zależnie od wypełnienia impulsów sterujących wychyla się serwo.


    Można też odpowiedni przerobić serwomechanizm i dalej sterować wypełnieniem sygnału ;)
  • #10
    Jacek Rutkowski
    Poziom 25  
    Niestety ale chyba do sprzężenia zwrotnego używany jest potencjometr z zainstalowanym ślizgaczem na osi serwa.
    Jeśli usuniesz mechaniczną blokadę skrajnych położeń, oddzielisz ślizgacz oraz ustawisz w pozycji środkowej to przez podawanie impulsów z pozycją inną pozycją uzyskasz obracanie w lewą lub w prawą z zadaną prędkością, prawdopodobnie zależną od kąta wychylenia.
  • #11
    treker
    Poziom 25  
    Jacek Rutkowski napisał:
    Niestety ale chyba do sprzężenia zwrotnego używany jest potencjometr z zainstalowanym ślizgaczem na osi serwa.


    Tak, tak dokładnie :) Nie chodziło mi tutaj o pozostawienie sprzężenia zwrotnego.
  • #12
    rockykon
    Poziom 12  
    A czy jest szansa na wsad do procka ewentualnie gdzie/za ile można by było to kupić ?
  • #13
    stolkien
    Poziom 11  
    Ja też jestem zainteresowany wsadem lub gotowym urządzeniem.
  • #14
    kozak_sc
    Poziom 23  
    Witam wszystkich zainteresowanych tematem. Właśnie wróciłem z urlopu i już odpisuję na wszystkie pytania :)

    Cytat:
    Zastanawia mnie tylko dlaczego nie poszedłeś za ciosem i wszystkich przycisków pod ADC nie zrobiłeś wtedy nie trzeba by RESET'u ruszać.
    Aha, jakim zegarem taktujesz procka ?
    Można było kombinować z ADC tylko uznałem że to bez sensu skoro Atmel daje możliwość wyłączenia resetu i wykorzystania go jako zwykły pin. Procek jest taktowany zegarem 9,6Mhz
    Cytat:
    Dla bezpieczeństwa powinieneś dać rezystor przed diodą Zenera.
    Początkowo chciałem tak zrobić jednak przy zasilaczach o mniejszej wydajności prądowej spadki napięcia powodowały reset procka ponieważ kondensatory filtrujące nie nadążały się ładować.
    Cytat:
    Czemuż-li nie jest sterowany przez DCC? Albo CAN-a?
    Nie za bardzo rozumiem pomysł kolegi. Do zaimplementowania takiego sterowania potrzeba by było większego mikrokontrolera co kłóci się z założeniami. Ponadto mało kto stosuje DCC do akcesoriów na makiecie a CAN to już egzotyka w modelarstwie.

    Jeśli chodzi o wsad nie będzie on udostępniony. Gotowe urządzenia będzie można niedługo nabyć na www.evboards.eu