logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATMega8 - Sterowanie 3-ma serwomechanizmami przez PWM

crosman 25 Lis 2013 20:54 1500 1
REKLAMA
  • #1 12992618
    crosman
    Poziom 9  
    Witam
    Mam problem dotyczący sterowania serwomechanizmami za pomocą PWM przez ATMega8.
    Pewnie wielu napisze "szukaj w google". No ok, poszukałem i udało mi się wysterować serwomechanizm
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    gdzie w pętli porusza się z jednego położenia do drugiego i z powrotem.
    Sterowanie drugim tez nie powinno być problemem, ponieważ po prostu zapisuje dane do OCR1B.
    Ale w jaki sposób wysterować 3 serwa? wiem, że można wykorzystywać PWM timera 2, ale w jaki sposób ustawia się go na 50Hz? Czy mógłby ktoś napisać prosty program, który mógłbym wykorzystać do wysterowanie 3 serwomechanizmów w sposób niezależny? Oraz jeżeli to możliwe komentarze w jakim zakresie zmieniać wyjścia aby to działało.
    Znalazłem też taki program:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    gdzie sterowane są programowo aż 12 serwa wykorzystując zewnętrzny oscylator 16MHz.
    Czy mógłby ktoś w dowolny sposób napisać mi program sterowania do 3 serw dla zegara 1MHz. Czy to dla sprzętowego PWM czy dla programowego tak aby działało :)
  • REKLAMA
  • #2 12992671
    BlueDraco
    Specjalista - Mikrokontrolery
    Zacznij od przestawienia uC na 8 MHz. Mając timer 1 zaprogramowany na dwa przebiegi PWM, w przerwaniu końca okresu odpalaj timer 0 lub 2 zaprogramowany na czas impulsu trzeciego serwa i zatrzymuj go w jego przerwaniu - tak chyba będzie najprościej.
REKLAMA