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



Teraz jest 28 wrz 2024, o 13:11


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 20 gru 2012, o 11:31 
Offline
Nowy

Dołączył(a): 20 gru 2012
Posty: 10
Pomógł: 0

Cześć,

Chciałem zapytać w jaki sposób mogę wygenerować paczki impulsów z nadajnika IR w taki sposób, aby generować ich np. po 15 w odstępach co 100ms. Napisałem sobie kod, który generuje przebieg na pinie PB3 wykorzystując Timer2 w trubie CTC. Mikrokontroler jest taktowany zegarem 8MHz. Dioda IR jest sterowana zgodnie ze sztuką (poprzez tranzystor) z pinu OC2, a odbiornik podczerwieni jest podpięty do portu PD0 (również zgodnie ze sztuką). Jako sygnalizację odbioru wiązki podczerwieni użyłem diody LED sterowanej z pinu PD1 w taki sposób, że ustalenie stanu niskiego na tym pinie, powoduje zapalenie się diody.

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


ma ktoś może jakiś pomysł, co i jak dodać?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2012, o 14:53 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Odblokować przerwanie CompareMatch i w jego obsłudze stworzyć 16-bitowy licznik zliczający przerwania, które są co około 14us. Jak licznik < 30 to bit COM20 ustawiony a w przeciwnym wypadku wyzerowany. Dodatkowo jak licznik > 7207 to licznik musi być wyzerowany.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2012, o 14:56 
Offline
Moderator
Avatar użytkownika

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

Ja się zastanawiam czy to pytanie nie ma związku przypadkiem z innym pytaniem tego kolegi, który się obawia blokowania TSOP'a i dlatego wymyśla te impulsy po 100ms ?

Jeśli się mylę to mnie popraw fenix ok ?

Bo jeśli jak już wiesz - nie zatyka się TSOP to być może możesz teraz całkowicie zmienić założenia do swojego projektu ?

_________________
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: 20 gru 2012, o 15:48 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Tu może chodzić o uzyskanie jak największego zasięgu. Można to zrobić używając np. tranzystor BC516 (pnp) / BC517 (npn), i zmniejszając rezystor ograniczający prąd do 4R7, ale uwaga bo nie można przekraczać maksymalnego średniego prądu np. 100mA. Dla pracy ciągłej przy zasilaniu 5V rezystor musi mieć minimum 47-51R, a dla 36kHz/50% już 22R. Chcąc dalej zmniejszać rezystancję należy tylko okresowo sterować wyjście OCx mikrokontrolera np. przez 1ms na 100ms. Po pierwsze należy uważać jak jest stan na porcie po wyłączeniu sterowania przez timer. Musi on być dobrany do tranzystora tak aby był on wyłączony po zwolnieniu przez timer. Drugą ważną rzeczą będzie dodanie dobrego kondensatora elektrolitycznego który ograniczy spadki napięcia przy impulsowym poborze znacznych prądów. Projekt płytki jest też istotny.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2012, o 15:54 

Pomógł: 0

W starszych pilotach RTV i VCR, była sztuczka z stosowaniem 2-3 diod, albo był prosty kolimator przed diodą, oraz na odbiorniku. Po za tym dobrze jest też zastosować filtr czerwony, poprawia troszeczkę "selektywność" przy świetle dziennym.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2012, o 17:07 
Offline
Nowy

Dołączył(a): 20 gru 2012
Posty: 10
Pomógł: 0

Kolega Krauser ma rację. Pomyślałem sobie, że wysyłając impulsy paczkami można sterować zasięgiem. Jednak, po przemyśleniu, uważam, że lepiej będzie to zrobić generując przebieg przy pomocy PWMa o wypełnieniu mniejszym niż 50%, co powinno zwiększyć zasięg a jednocześnie będzie to korzystne ze względów energetycznych. Dodatkowo tak jak kolega pisze, zasięgiem można sterować ustalając odpowiednią wartość resystora w obwodzie diody IR. Co tym sądzicie?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 gru 2012, o 18:22 
Offline
Moderator
Avatar użytkownika

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

No przecież twoja nośna to PWM, a dokładnie zasięg zależeć będzie od średniego prądu ustalonego tym rezystorem.

Ale co? ty masz potrzebę regulacji zasięgu ?

_________________
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: 21 gru 2012, o 19:38 
Offline
Nowy

Dołączył(a): 20 gru 2012
Posty: 10
Pomógł: 0

ok, to jest PWM, ale o wypełnieniu 50% (chyba, że się mylę) . Właśnie wykonałem dwa układy, aby przekonać się który działa stabilniej, przy zasięgu okolo 3-4m. Okazuje się, że zarówo układ z nadawanymi paczkami i przerwą między nimi jak i nośna generowana przy wypełnieniu < 50%, dają zadowalające rezultaty ;) W jednym i drugim przypadku, można regulować odległość zarówno czasami generowania paczek jak i oczywiście wartością rezystora nadajnikowego.

--------------------------------------------------------------------------
eh, człowiek zawsze się uczy



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

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