Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 30 mar 2026, o 22:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 1 sty 2016, o 13:20 
Offline
Użytkownik

Dołączył(a): 08 wrz 2012
Posty: 505
Pomógł: 6

Usiłuję zbudować sterowanie modelem małego samochodu w torze podczerwieni. Wydaje mi się, że najlepszym rozwiązaniem jest zaadaptowanie kodu RC5 i "mirkowych" bibliotek, dlaczego? Dlatego, że mam tam adres i komendę czyli w moim przypadku adresem jest kanał (kierunek, silnik przód/tył, światełka) i komendę/rozkaz czyli wartość dal poszczególnych kanałów. Odrobinę zmieniłem format ramki, czyli przesunąłem jeden bit z adresu na rzecz komendy. W oryginalnym kodzie RC5 adres może przyjąć max 5 bitów (ja potrzebuję max 4) a komenda 6 bitów (mi przydało by się min 7) stąd te przesunięcia.
Jak wspomniałem wykorzystałem biblioteki Mirka i wszystko niby było by ok gdyby nie długość pojedynczej ramki która ma ok. 25ms. Wysyłam takich ramek 5 co daje mi już 125ms plus przerwy pomiędzy ramkami po 25ms. Podsumowując wysłanie jednej sekwencji ramek i przerw to 250ms dość dużo jak na potrzeby sterowania modelu, mam zbyt duże opóźnienia reakcji na ruch drążkiem i reakcję np. serva kierunku.
Czy macie jakiś pomysł jak to "załatwić" inaczej? Jakieś sugestie jak zrealizować taką komunikację.
Próbuję skrócić trochę sam czas trwania bitu w kodzie z 2*889us na np 2*300us, ale wychodzi mi to średnio. Oczywiście zmiany robię w nadajniku i odbiorniku, ale mimo wszystko jakoś to nie działa. Tracę w ogóle komunikację pomiędzy nadajnikiem i odbiornikiem. Nie umieszczam kodów bo to prawie zwykłe biblioteki z BB więc każdy je ma i nie chcę ich umieszczać na forum. Poproszę o sugestie jak to rozwiązać.
Z góry dziękuję.

Moje założenia to obecnie 5 kanałów ale chciałbym coś jeszcze dołożyć w przyszłości, długość komendy/rozkazu minimum 7 bitów. No i w tym konkretnym przypadku z racji gabarytów nastawiłem się na podczerwień.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2016, o 16:43 
Offline
Użytkownik

Dołączył(a): 24 kwi 2013
Posty: 454
Pomógł: 30

Możesz całkiem wywalić adres i wydłużyć ramkę np. do 3 bajtów (1bajt - jeden kanał).
A kanały typu On/Off, jak światła, możesz wysyłać po 8sztuk na jednym kanale.
Jednak jak zamierzasz wysyłać proporcjonalny sygnał to pewnie będzie trochę rwało, bo IR się do tego słabo nadaje.
Lepszy byłby BT.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 sty 2016, o 19:15 
Offline
Użytkownik

Dołączył(a): 08 wrz 2012
Posty: 505
Pomógł: 6

Miałem taka myśl, ale istnienie adresu bardzo ułatwia sprawę, dzięki niemu mam jednoznacznie przypisana komendę do kanału. W przypadku jakieś skuchy podczas transmisji nie tracę wszystkich informacji a jedynie tylko jeden kanał. Kiedy nadleci nowa ramka to nadpisze/uzupełni błąd i będzie ok.
"światełka" przesyłam jako jeden bajt i później z tego dekoduję które ma się świecić a które nie.
Pomysł z przesyłaniem w podczerwieni wziął się z małych helikopterków sterowanych właśnie w ten sposób. Niestety Bluetooth odpada ze względu na miejsce. Płytkę pcb mam 25mm x 20 mm i nie mam na niej miejsca na BT. Procesor to Atiny2313 w obudowie 4 x 4 mm a z drugiej strony pcb mikroskopijny driver dla silnika.
Udało mi się troche dogadać z programem, ale chciałbym żeby działało tak bezbłędnie jak przykładowa biblioteka dla RC5 od Mirka. W tej chwili działa prawie dobrze, tzn czasami zdarzy się jakaś błędna ramka. Zrobiłem tak jak napisałem wcześniej, skróciłem czas trwania bitu do 2*300us co dało mi możliwość wysyłania kolejnych ramek co 20ms.
Tak przy okazji, jak zwiększyć precyzję impulsu sterowania servem modelarskim? Zrobiłem sobie pwm programowy
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

ale w takim przypadku szerokość impulsu to max 30 (pwm_servo), poza tym zakresem" wychodzę poza zakres działania serva. Servo obraca się o 180 stopni, ale jak to wykorzystać kiedy mam tylko wartość max 30 ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO