MarJanPol Luty 24, 2018 Autor tematu Udostępnij Luty 24, 2018 - ale ja napisałem - chciałbym uzyskać jedynkę przez 15us przy okresie 20ms Na to masz już rozwiązanie z delay. Pytanie brzmi, co więcej chcesz uzyskać. Do testera serwomechanizmów powyższe rozwiązanie wystarczy. Do robota machającego kilkoma serwami równolegle z silnikami, czujnikami i jeszcze co tam wymyślisz już nie. I wtedy trzeba sięgnąć do innych rozwiązań. Dlatego pytam, co chcesz zrobić. Sęk w tym, że w tej chwili nie mam żadnego konkretnego celu projektowego do osiągnięcia za pomocą timerów. Chciałbym po prostu wstępnie zrozumieć ten wycinek wiedzy związanej z mikroprocesorami i zastosować tę wiedzę do czegokolwiek jako ćwiczenie - pomyślałem, że uda się właśnie potrenować na serwo Z oryginalnym PWM-em Arduino jest ten problem, że wypełnienie określa się liczbą 8 bitową. Gdybyś nawet uzyskał okres równy 20ms, to rozdzielczość wyniosłaby 20ms/256 czyli skok co około 78us. A to, jeśli dobrze liczę, dałoby Ci dokładność ustawienia serwa około 14 stopni. Myślę, że to Cię nie satysfakcjonuje. Bardzo słuszna uwaga, nie zdawałem sobie z tego sprawy Na początek poczytaj w nocie katalogowej o tym jakie timery masz do dyspozycji. Poczytaj też o przerwaniach wewnętrznych. Jak to będziesz wiedział, to spróbujemy zrobić kolejny krok. W UNO jeśli dobrze zrozumiałem są 3 timery, które kontrolują 6 pinów. Jednak blokuje mnie brak zrozumienia zasad i języka do komunikacji z tymi timerami. Jakby ktoś znał jakieś dobre źródło do nauki tego typu podstaw (dla naprawdę mocno początkujących) to z góry dziękuję za wskazanie. Cytuj Link do komentarza Share on other sites More sharing options...
Jamik Luty 24, 2018 Udostępnij Luty 24, 2018 Arduino UNO nie ma timerów. Timery ma posadzona na jego pokładzie Atmega 328. Ma ona dwa ośmio i jeden 16 bitowy licznik. Biblioteka servo.h zabiera właśnie ten 16 bitowy licznik na potrzeby sterowania serwomechanizmami. Dlatego UNO po użyciu tej biblioteki traci dwa PWM-y. Zauważ, że serwomechanizmy mozna podpinać do dowolnych pinów Arduino. To dlatego, że timery nie są powiązane z pinami. To dopiero program je z nimi wiąże. Poczytaj notę katalogową Atmegi, a nie informacje o Arduino, bo zabierając się za bezpośrednią obsługę timerów wykraczasz poza środowisko Arduino. Cytuj Link do komentarza Share on other sites More sharing options...
MarJanPol Luty 24, 2018 Autor tematu Udostępnij Luty 24, 2018 Arduino UNO nie ma timerów. Timery ma posadzona na jego pokładzie Atmega 328. Ma ona dwa ośmio i jeden 16 bitowy licznik. Biblioteka servo.h zabiera właśnie ten 16 bitowy licznik na potrzeby sterowania serwomechanizmami. Dlatego UNO po użyciu tej biblioteki traci dwa PWM-y. OK. Czyli dzięki tym 16-bitom "rozdzielczość" układu jest większa? Zauważ, że serwomechanizmy mozna podpinać do dowolnych pinów Arduino. To dlatego, że timery nie są powiązane z pinami. To dopiero program je z nimi wiąże.Poczytaj notę katalogową Atmegi, a nie informacje o Arduino, bo zabierając się za bezpośrednią obsługę timerów wykraczasz poza środowisko Arduino. Dobra poczytam, tylko już czuję, że bez lepszego przygotowania niewiele zrozumiem, bo takie specyfikacje nie są pisane dla początkujących 🙂 Czy uważacie, że ta ksiażka byłaby dobrym wprowadzeniem do tematu - ? LINK - czy może warto poszukać czegoś innego? Cytuj Link do komentarza Share on other sites More sharing options...
Jamik Luty 24, 2018 Udostępnij Luty 24, 2018 Licznik 16-to bitowy liczy do 65535, 8-bitowy tylko do 255. Jeśli chcesz mieć odpowiednią dokładność sygnału do serwa, to musisz użyć 16-bitowego. Bez problemu uzyskasz wtedy dokładność sygnału poniżej 1 stopnia. Wtedy dokładność ruchu będzie zależeć od serwomechanizmu. Książki o którą pytasz nie widziałem na oczy, więc się nie wypowiem. Natomiast poza dokumentacją Atmegi, w której znajdziesz nawet przykłady fragmentów programów, warto byś zapoznał się z tym: http://diycenter.acid19.linuxpl.com/readarticle.php?article_id=3 Moim zdaniem jest tu przystępnie opisana metoda obsługi timerów od ich uruchomienia, przez skalowanie preskalerami, aż do zaprzęgnięcia przerwania sprzętowego, by zwiększyć dokładność i odciążyć procesor z mozolnego sprawdzania timera. 1 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Elvis Luty 24, 2018 Udostępnij Luty 24, 2018 MarJanPol, najlepsza dokumentacja do datasheet mikrokontrolera. Inna sprawa, że może na początek wydawać się niezbyt przyjazną lekturą. Natomiast co do książek i tutoriali firmy Atnel, to proponowałbym daleko idącą ostrożność i rozwagę w wyborze. Nie tylko są dość drogie, ale i często marnej jakości - tzn. pięknie wydane i handlowo bez zarzutu, ale pod względem merytorycznym dużo gorzej. Tak to jest jak wiedzę sprzedaje ktoś, kto sam nie rozumie o czym pisze - chociaż to tylko moja opinia. [ Dodano: 24-02-2018, 16:40 ] Może zamiast przepłacać za słabą książkę lepiej zainwestować w analizator logiczny? To bardzo przydatne narzędzie, wręcz niezbędne do zrozumienia działania układów licznikowych (i PWM). Przykładowe, chociaż drogie urządzenie: https://kamami.pl/analizatory-logiczne-saleae/234117-saleae-logic-4-black-analizator-logiczny-usb.html?search_query=analizator+logiczny&results=44 Na znanym dalekowschodnim portalu znajdziesz dużo tańsze "klony" - więc niewiele dokładając możesz kupić tańszą książkę oraz przydatne narzędzie. 1 Cytuj Link do komentarza Share on other sites More sharing options...
MarJanPol Luty 24, 2018 Autor tematu Udostępnij Luty 24, 2018 Dziękuję Panowie za cenne rady. Poczytam więc trochę i zobaczę co dalej. Elvis, ciekawy ten analizator - popatrzylem troche na yt . Nie wiedziałem ze jest cos takiego. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!