Skocz do zawartości

Algorytm do obsługi serw (Config Servos)


Wojtek

Pomocna odpowiedź

Nie musisz programować na płytce stykowej. Wynika to z tego że fabrycznie procesor i tak korzysta z wewnętrznego oscylatora RC i się połączysz z programatorem.A pojemnością kondensatorów tak bardzo się nie przejmuj, przynajmniej przy samym programowaniu.

A tak na marginesie, zamiast przycisków nie zastanawiałeś się może nad potencjometrami takimi jak w padach do konsoli ? Albo nawet na żywca nad padem z PS2. Tak będziesz potrzebował ogromnej ilości przycisków, a na padzie miałbyś dwie gałki, które obsłużą ci łącznie 4 serwa, plus przyciski którymi obsłużysz kolejne. Pomijając już że sterowanie takim padem jest wygodne i intuicyjne. Oczywiście procesor byłby wskazany inny np. ATMega 88.

Link do komentarza
Share on other sites

BlackJack Ja jednak zostanę przy przyciskach. Niestety nie czuję się na siłach oprogramować przesyłanie radiowe danych z potencjometrów do robota.

Link do komentarza
Share on other sites

Ale pad od Pley Station 2 jest na kablu. Zresztą takie gałki/potencjometry jak w padach można kupić osobno, wtedy byś wykorzystywał przetwornik ADC, i tylko jedne wejście procesora zamiast 2, na każde serwo. Ostatecznie jak masz stary Joystik z PC też się nadaje. Tylko że tam będziesz miał mniej przycisków i osi.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

Bobby pisał ,że nigdy nie używa tych kondensatorów i bez problemu działa.

Ja bym na miejscu Bobbiego nie chciał brać odpowiedzialności z czyjś uC, może się okazać że to że jemu działa nie znaczy, że zadziała każdemu, po to są w nocie kondensatory i podana ich wartość, żeby to stosować (3pF to jest bez różnicy). To że nie stosuje to jest jego sprawa, natomiast nie podawałbym tego jako przykład.

Link do komentarza
Share on other sites

Te kondensatory są głównie po to, aby częstotliwość taktowania była dokładna (taka jak wartość zastosowanego rezonatora. Co oczywiście ma wpływ na prace timerów. Wyliczane częstotliwości będą mniej dokładne. Doskonale to widać przy projektach które odmierzają czas.

Link do komentarza
Share on other sites

Ale pad od Pley Station 2 jest na kablu.
Grunt w tym ,że ja wolałbym nie być ograniczony przewodami. Chciałbym sterować serwami zdalnie ,myślę że radiowo - konkretnie za pomocą tych najprostrzych i pierwszych modułów z artykułu Elvisa, ale na inne rozwiązania np. bluethoow czy wi-fi też jestem otwarty (w domu mam sieć wi-fi). Z siecią wi-fi to by doszedł problem napisania programu pod pc (z tym miałbym kłopot) oraz dodatkowe koszty wynikające z umieszczenia urządzenia na mojej platformie mającej kontakt z wi-fi ,dlatego wolałbym normalny pilot w obudowie plus obraz z kamerki np. na laptopie. Zależy mi ,też na jak najprostrzym rozwiązaniu (tzn. żeby te moduły nie wymagały jakiś konkretnych sposobów kodowania danych) ,dlatego moduł z artykułu Elvisa spełnia moje oczekiwania. Dodam jeszcze ,że do kodowania w pilocie i dekodowania w robocie poleceń mają służyć po dwie Atmegi88. Natomiast sygnał z Atmegi88 w robocie po zdekodowaniu będzie następnie podawany do 2 Attiny2313 pełniących rolę sterowników serw. Wszystko to mogłaby realizować choćby jedna Atmega16 ,ale ja wolę zrobić bardziej blokowy układ ,dzięki czemu będzie jakby co łatwiej znaleźć błąd (poza tym pisałem już o kwesti wykorzystania pamięci tych uC 2kb * 3 > 2kb * 1)
Link do komentarza
Share on other sites

Oj.. napisałeś to mało czytelnie, ale mając ATMegę88 nie potrzebujesz moim zdaniem już tych Tiny2313. Sama ATMega ci to uciągnie, tzn, zdekoduje ci dane z pilota i obsłuży serva.

Link do komentarza
Share on other sites

Przy użyciu tylko jednego uC to byłby właśnie problem z tą funkcją config servos a tak to dwa procki będą sobie niezależnie obsługiwać po kilka serw. A tak poza tym to mam już wystarczającą ilość informacji ,dziękuję za pomoc i myślę ,że możemy już ten temat zakończyć.

Link do komentarza
Share on other sites

Bobby pisał ,że nigdy nie używa tych kondensatorów i bez problemu działa.

Takie podejście to jeden ze stopni do piekła pod tytyłem "Dlaczego układ nie działa tak jak chcę."

W samochodzie też możesz jedno koło odkręcić i jakoś pojedzie. Faktem jest, że kierowcy rajdowi czy wyścigowi, gdy im się koło urwie jadą dalej. A Ty zaryzykujesz w swoim samochodzie?

Radzę jednak czytać datasheety procesorów:

oraz rezonatorów kwarcowych:

Kondensatory nie służą tylko do kalibracji/ustabilizowania drgań kwarcu. Ich brak może w szczególnych przypadkach uniemożliwić rozpoczęcie drgań kwarcu, a co za tym idzie pracę procesora. Co więcej, kondensatory te w szczególności w urządzeniach narażonych na pola elektromagnetyczne, na przykład gdy pracują w pobliżu silników, zapewniają poprawną pracę kwarcu.

Błąd nr 5: http://mikrokontrolery.blogspot.com/2011/04/bledy-w-schemacie.html

Ale oczywiście zrobisz jak zechcesz. Zmienisz podejście do standardów, gdy na ważnych zawodach czy pokazie Twój robot, będzie się wieszał, albo resetował i wstyd będzie 🙂

Link do komentarza
Share on other sites

Ja zawsze daje te kondensatory. Bez nich procek ruszy ale lepiej je dać. Zawsze najlepiej wszystko podłączać dokładnie jak jest w DS. Wtedy mamy pewność stabilnej pracy.

Link do komentarza
Share on other sites

Bez nich procek ruszy ...

No właśnie nie zawsze - to zależy od wielu czynników. Jak już pisałem wcześniej, może się zdarzyć tak, że z powodu braku kondensatorów przy na przykład niskich napięciach zasilania, kwarc nie wzbudzi się, przez co procesor będzie "martwy".

Ja zawsze daje te kondensatory.

To bardzo dobrze, ale mam prośbę, abyś nie pisał więcej takich rzeczy:

Bobby pisał ,że nigdy nie używa tych kondensatorów i bez problemu działa.

bo początkujący, którzy będą czytać ten temat przez następnych wiele lat, wyciągną z takich rad zbyt daleko idące, niepoprawne wnioski.

I to jest to! Tak trzymać poziom postów:

Zawsze najlepiej wszystko podłączać dokładnie jak jest w DS. Wtedy mamy pewność stabilnej pracy.
Link do komentarza
Share on other sites

Pozwolę sobie zadać jeszcze ostatnie pytanie. Czy podczas programowania w płytce testowej wartości tych kondensatorów mogą być inne (z tym że w gotowym układzie już ich pojemności będą takie jak powinny)? Rozumiem ,że kilka pikofaradów nie zrobi różnicy ale jeśli to będzie na przykład 20 pikofaradów. No i wrócę jeszcze raz do swojego wcześniejszego pytania: Złe podłączenie zasilania do uC zakończy się w najgorszym przypadku uszkodzeniem tylko mikrokontrolera?

Link do komentarza
Share on other sites

Rozumiem ,że kilka pitofardów nie zrobi różnicy ale jeśli to będzie na przykład 20 pitofardów.

pikofarady: http://pl.wikipedia.org/wiki/Przedrostek_SI

Tak jak napisał kol. Armir - dla Ciebie nie będzie to problemem.

Chyba, że "idealna" częstotliwość kwarcu jest dla Ciebie sprawą "gardłową", to wtedy możesz mieć problem. Ale jak sądzę to nie Twój przypadek więc, spokojnie możesz tak zrobić jak piszesz.

No i wrucę jeszcze raz do swojego wcześniejszego pytania: Złe podłączenie zasilania do uC zakończy się w najgorszym przypadku uszkodzeniem tylko mikrokontrolera?

Pytanie niezbyt dobrze sformułowane. Jeżeli na płytce masz inne układy, tranzystory itp. i do płytki podłączysz zasilanie odwrotnie, to szansa na uszkodzenie innych elementów także jest. no chyba, że masz coś innego na myśli?

  • Lubię! 1
Link do komentarza
Share on other sites

Przepraszam za te pitofardy 😳 . Z tym zasialaniem to po prostu chciałbym się upewnić czy odwrotne podłączenie zasilania nie upali programatora albo portu w pc.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.