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

[Bascom] Własna procedura obsługi serwomechanizmu.

FastProject 12 Lip 2012 22:35 2158 10
REKLAMA
  • #1 11099650
    FastProject
    Poziom 28  
    Pracuje nas sterowaniem małego serwomechanizmu: http://www.rctrax.pl/product/Serwo-HXT500-5g-8kg-10sec-Micro-Servo/?id=4499

    Programuje w Bascom AVR i do tego celu wykorzystuję jedynie Timer0. Nie mogę wykorzystać dodatkowego timera1 bo ten będzie służył do odliczania czasu. Instrukcji Serwos() także nie chce wykorzystywać...jakoś nie mam do niego zaufania :/

    Aktualnie program wygląda następująco:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Procesor działa na wewnętrznym kwarcu 8MHz.
    Program w zasadzie działa jednak nie do końca wartości w zmiennej Pulse zgadają się z długością impulsu jaki chce generować.
    Bo np położenie ramienia serwa na środku powinno być dla 15 w
    Kod: text
    Zaloguj się, aby zobaczyć kod
    a tymczasem jest przy Pulse=13.

    Także zmiany skrajnych wartości wynoszą odpowiednio Pulse=5 i Pulse=21, co w obliczeniach teoretycznych odpowiada czasom 500us i 2100us.

    Moje pytanie: czy możliwe jest aby taki rozrzut czasów spowodowany był tolerancją w serwie czy bardziej jest to wynik wykorzystania wewnętrznego kwarcu RC z attiny24?
  • REKLAMA
  • #2 11099706
    LordBlick
    VIP Zasłużony dla elektroda
    A nie lepiej użyć trybu CTC ? Timer sam się resetuje, nie ma Bascomowych narzutów odkładania stada rejestrów na stos, po prostu miód malina... ;)
    P.S. Witam pod nowym nickiem... ;)
  • REKLAMA
  • #3 11099724
    FastProject
    Poziom 28  
    No właśnie ten tryb CTC..coś tam o nim słyszałem ale nie miałem okazji wykorzystać. A i nie mam pomysłu jak zrealizować sterowanie serwem w Bascomie z wykorzystaniem tego trybu.

    Ale zaraz obadam sprawę i zobaczymy. Jednak mile widziane przykłady adaptacji tego trybu w Bascom.

    P.S. A witam witam po reinkarnacji ;)
  • REKLAMA
  • #4 11099764
    LordBlick
    VIP Zasłużony dla elektroda
    FastProject napisał:
    A i nie mam pomysłu jak zrealizować sterowanie serwem w Bascomie z wykorzystaniem tego trybu.
    Tak samo za wyjątkiem ładowania na początku przerwania stałej wartości do licznika. Zamiast tego ładujesz jednokrotnie 255-146=109 do TCCR0A przy inicjalizacji i zapominasz.
    Coś w temacie:
    https://www.elektroda.pl/rtvforum/topic1816485.html
    https://www.elektroda.pl/rtvforum/topic2178968.html
  • #5 11100009
    FastProject
    Poziom 28  
    Ogarnełem CTC. Teraz nawet co 1s mam z wykorzystaniem ctc a program wygląda tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Ale zakres zmian serwa od 0 do 180st jest dalej jakiś dziwny wynosi od 5 do 22(a powinien od około 10 do 20. Czy może to być wina wewnętrznego rezonatora RC?
  • #6 11100084
    LordBlick
    VIP Zasłużony dla elektroda
    Raczej nie. Bardziej obstawiałbym bebechy Bascom-a związane z obsługa przerwania. Ale tu Zumek jest ekspertem... ;)
  • REKLAMA
  • #7 11103604
    FastProject
    Poziom 28  
    No to zobaczymy jutro (w sumie już dziś Wink ) na oscyloskopie. Dam znać jak wyglądają te czasy.



    Po pomiarach czasów na oscyloskopie wyniki mają się następująco:
    Pulse=200 (okres powtarzania impulsów)=20,56ms
    Pulse=5 -> 0,52ms
    Pulse=21 -> 2,16ms

    Czyli czasy aż tak bardzo nie odbiegają od obliczonych i generowanych w programie.

    Czyżby wina takich rozbieżności leżała po serwie? Spotkaliście się z zakresami regulacji od 0,5ms do 2ms? Z tego co wyczytałem i co mi wiadomo to ten zakres dla serw powinien wynosić ok około 1ms do 2ms prawda?
  • #9 11103842
    FastProject
    Poziom 28  
    LordBlick napisał:
    Dużo zależy od elementów wykonawczych.


    Masz na myśli elementy wykonawcze z których wykonane są serwa?
  • #11 11104863
    FastProject
    Poziom 28  
    Serwo jest bezpośrednio (za pomoca przewodu SIGNAL) podłączone do porta.6 attiny24. Zasilanie 5VDC. O taka bezpośredniość ci chodzi?
REKLAMA