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



Teraz jest 16 sty 2026, o 22:17


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 28 mar 2018, o 21:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

Witam!
Korzystam na szybko z płytki klona arduino nano v3, atmega328p, 16MHz taktowanie. Dioda nadawcza wg. schematu z Bluebooka do pinu PD6.
To co pojawia się na wyjściu podglądam za pomocą analizatora stanów na scalonym odbiorniku podpiętym tylko do zasilania.

Za pomocą starszego programu Pana Mirka - Dekoder IR, zgrałem sobie przebieg sygnału z pilota do tablicy.
Każdy element reprezentuje ilość mikrosekund, pierwszy element pokazuje czas trwania nośnej, drugi czas przerwy itd, naprzemiennie.
Napisałem więc szybko krótki programik, który odczytuje wartość z tablicy, w zależności od tego czy jest to przerwa, czy nośna - albo uruchamia Timer0 generujący nośną, albo wycisza pin diody IR. Następnie mnożę wartość z tablicy przez 2, dzięki czemu przy preskalerze 8 otrzymuję odpowiednią ilość mikrosekund - taką jak w tablicy. Potem czekam po prostu w pustym while aż minie określony czas. I od nowa.
Dla dużych czasów (>4000us) wszystko się zgadza, dla mniejszych okazuje się, że impuls trwa dłużej niż powinien. Sprawdziłem ile trwa czas jednego przebiegu for-a, bez oczekiwania w while - wyszło około 4us, czyli nie to ma wpływ.
Dla czasu 4599 otrzymuję 4710, ale dla 832 jest to już 1749.
Gdzie robię błąd? Jak odtworzyć ten sygnał. I nie chodzi mi tu o to jaki to standard kodowania i żeby na tej podstawie to nadać, tylko właśnie chcę odtworzyć sygnał zapisany do tablicy. No i nie mogę... Wcześniej próbowałem odmierzać po mikrosekundzie, przerwaniami od timera, ale to oczywiście też bardzo wydłużało mi czasy.
Ale skąd teraz takie przekłamania, gdzie mi ten czas ucieka...

Poniżej kod.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2018, o 19:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

Nikt nie ma pomysłu?
Źle coś opisałem?
Już mi pomysłów brak... jakby ktoś podpowiedział co źle robię, będę wdzięczny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 mar 2018, o 19:59 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

w Bluebooku masz przykład jak nadawać - symulować pilota

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2018, o 10:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

Chyba w Greenbooku, też pomyliłem w pierwszym poście. W Blue był tylko odbiór.
Ale czy ja coś robię źle? Czy mam złe założenia, złe wykonanie?
Mam w tablicy wartość w mikrosekundach, którą chcę odtworzyć na pinie, za pomocą timera - gdzie jest błąd, że te czasy wychodzą mi dłuższe a używam przecież timera sprzętowego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 mar 2018, o 10:59 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27446
Lokalizacja: Szczecin
Pomógł: 1045

też polecam zajrzeć do Bluebooka bo jest tam nadawanie IR

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 kwi 2018, o 11:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

Faktycznie Panie Mirku, zapomniałem! A już kiedyś przerabiałem nawet tego pilota.
Ale jak tak patrzę, to mam praktycznie na identycznej zasadzie.. nawet sobie poprzestawiałem w kodzie, żeby było już totalnie to i lipa. Czyli co, Chiński kwarc aż tak daleko odjeżdża? Masakra.
Ok, testuję dalej pod tym kątem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 kwi 2018, o 07:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 298
Pomógł: 13

No i wyszło szydło z worka. przekłamania miałem na odbiorniku. Pomierzyłem sobie nadajnik i wszystko nadaje tak jak trzeba. Odbiornik gubi sygnały mniejsze niż 200us, zlewa je w całość. A że zależy mi na nadawaniu, a nie odbieraniu, to póki co problem rozwiązany.



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: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 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