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

Prymitywne SERWO cyfrowe. Wstępna koncepcja.

Mariusz H. 25 Sty 2005 11:34 2707 5
  • #1 25 Sty 2005 11:34
    Mariusz H.
    Poziom 10  

    Witam już od dłuższego czasy planuje wykonać prymitywne serwo które by spełniało tylko 2 obracać się w odpowiednim kierunku i o odpowiedni kąt (siła i prędkość nie jest istotna).
    Wstępna koncepcja jest taka:
    Mamy gotowy silnik serwo z enkoderem.
    Teraz pjawia się problem:
    Prosty układ logiczny rozpoznający kierunek i ilość kroków (np z myszki)
    Komparator cyfrowy porównujący sygnał zadany z sygnałem ze scalaka od myszki. i w efekcie wysyłający sygnał do sterownika PWM który obruci silnikiem w odpowiednim kierunku o jakąś wartość (którą można wyregulować na np potencjometrze)

    0 5
  • #2 25 Sty 2005 12:04
    kloszi
    Poziom 19  

    Nie lepiej jakiś silniczek krokowy zastosować np.od starej drukarki. Praktycznie odpadają ci wszystkie niedogodności.Jesli zastosujesz inny silnik i masz dużą mase bezwładności (lub zmienne obciążenie)silnika to napewno będziesz miał spore problemy żeby to w miare dokładnie chodziło i żeby na samym końcu nie wpadało w wibracje. Do wykonania takiego układziku najlepiej zastosować jakiegoś AVR-ka lub coś z MCS-51(89C2051). Zastosowanie CMOS lub TTL-ków raczej nie polecam bo jak ci nie będzie chciało chodzić lub będzie chodzić nie tak bardzo trudno będzie ci cokolwiek zmienić no i jak zastosujesz mikroprocesorek to będziesz mógł podłączyć do kompa przez RS-232 (COM1 ).Jako układ sterujący proponuje BUZ-10 lub BUZ-11.

    0
  • #3 26 Sty 2005 13:24
    rcpilot
    Poziom 14  

    Nie da sie zrobic prostego/prymitywnego układu sterującego. Ze scalaka myszy nie wyciągniesz informacji o obrocie, sygnał jest dostępny tylko w postaci transmitowanej RS-em do komputera i w standardzie myszy. Jeżeli juz mysz, to można wykorzystać kółka z optyką - podłączoną do układu odczytującego.

    Czy nie można zastosować normalnego sterownika serwo i uruchamiać go sygnałem krok/kierunek?

    Układ taki mógłby byc sterowany manualnie - generator + przełącznik kierunku, lub automatycznie z układu wysyłającego zadaną liczbę impusów/żądany kierunek.

    0
  • #4 29 Sty 2005 16:57
    Mariusz H.
    Poziom 10  

    W tym że to ma być coś w rodzaju lekcji dla samego siebie.
    Jak działa i jakie są problemy w sterowniku Serwo.
    Co do procesora to zgadzam się. Trzeba będzie go zastosować.
    Ale w tym momęcie pojawia się problem programu. Bo trzeba go napisać.

    0
  • #5 29 Sty 2005 17:54
    ArturZy
    Poziom 17  

    W silniku masz enkoder, tylko pytanie jaiki enkoder. Najczęściej jest to enkoder 3 kanałowy i dzięki niemu można odczytać: kierunek obrotów, pozycję, ilość pełnych obrotów.

    0
  • Pomocny post
    #6 01 Lut 2005 00:28
    jj19xx
    Poziom 11  

    Witam.
    Jeśli Twój enkoder to przetwornik obrotowo-impulsowy inkrementalny (taki jak w myszce) to oznacza, że masz do dyspozycji 2 kanały licznikowe i/lub/może 1 kanał znacznikowy. Licznikowe dają określoną liczbę impulsów (najczęściej prostokątnych) na 1 obrót osi, znacznikowy 1 impuls na 1 obrót. Sygnały licznikowe (A i B) są przesunięte względem siebie o 90 st.el., co oznacza, że przy obrocie np. w prawo sygnał A wyprzedza sygnał B i odwrotnie przy obrocie w lewo sygnał A jest opóźniony względem sygnału B. Aby najprościej odróżnić kierunek obrotów, można skorzystać z przerzutnika D. Sygnał A podajesz na wejście zatrzaskujące D, a sygnał B na wejście zegarowe CLK. Na wyjściu z przerzutnika uzyskasz sygnał 0 lub 1 w zależności od kierunku obrotów.
    Aby stworzyć prymitywne servo (do testów) wystarczy wykorzystać dowolny licznik zliczający w górę i dół. Na wejście zliczające podajesz impulsy (sygnał) z dowolnego kanału A lub B, a na wejście kierunkowe sygnał z przerzutnika D. Teraz w zależności od obrotu licznik będzie zliczał aktualne położenie osi enkodera. Należy zwrócić uwagę, aby licznik zbyt szybko się nie przepełniał. W tym celu łączysz kilka liczników szeregowo, wykorzystując sygnał przeniesienia. W praktyce wystarcza licznik 18 - 24 bitowy.
    Wykorzystując jeszcze komparator, możesz porównywać wartość zadaną z wartością licznika i w ten sposób oddziaływać na silnik.
    Taki układ to najprostsze servo. Omawiane układy to zwykłe TTL, więc możesz wyszukać dowolne.
    Pozdrawiam.

    0