Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Pilot na podczerwień - projekt z książki Mikrokontrolery AVR - podstawy progr.

Krzysiek1260 13 Sep 2016 14:25 1212 10
lampy.pl
  • #1
    Krzysiek1260
    Level 7  
    Zbudowałem układ pilota na podczerwień, wg projektu zawartego w książce Mikrokontrolery AVR. Język C - podstawy programowania. Układ zmontowałem na płytce stykowej wg. schematu i zaprogramowałem ATTINY 2313 wsadem zawartym na dołączonej do książki płycie. Układ zasilam napięciem 5v z komputera, docelowo zastosuję bateryjne 3V. Niestety układ nie działa, nawet jak podłączę  tylko zwykłą diodę.
    Diodę IR wziąłem z pilota od telewizora, jest sprawna bo widać przez kamerkę jak świeci po podłączeniu do zasilania. Tranzystor także chciałem wziąć z odzysku, ale nie wiem jaki. Mam np. tranzystory C9013 lub C945, ale są to tranzystory NPN. Czy takie będą pasowały, bo w kodzie programu są alternatywne instrukcje dla tranzystorów NPN? Mam wprawdzie tranzystor PNP, ale bez żadnych oznaczeń, po zmontowaniu układu wg schematu nie działa.
    W książce jest napisane, że w układzie testowym można nawet pominąć tranzystor, trzeba tylko zwiększyć rezystor. Ale gdy tak zrobiłem, to także nic się nie dzieje, żadna dioda nie zapala się po naciśnięciu przycisku. Co może być nie tak? Jakie powinny być fusebity ustawione, może tu coś jest nie tak, bo w książce nic nie pisało o nich? Procesor jest ustawiony na wewnętrzne taktowanie 8MHz.

    Zamieszczam fragmenty gdzie zmieniłem instrukcje dla tranzystora NPN.
    Code: c
    Log in, to see the code


    Code: c
    Log in, to see the code



    EDIT:
    Podłączyłem ten tranzystor c9013, zmodyfikowałem program pod tranzystor NPN i wygląda na to, że zapalanie diody przez tranzystor działa - w momencie włączenia zasilania widać to kontrolne zapalenie diod na 255ms, czyli program działa. Ale dalej brak reakcji na wciskanie przycisków. Nie wiem w czym jest błąd.
    EDIT2:Usunąłem kod programu i schemat z posta.
  • lampy.pl
  • #2
    2N3866
    Level 29  
    Dowiedz się, z jaką częstotliwością nośną pracuje układ zdalnego sterowania twojego telewizora. W programie jest ustawiona na około 36 kHz, jak wynika z komentarza do kodu. Kolejna kwestia - czy program pilota na AVR stosuje ten sam standard kodowania informacji (RC5) co dekoder zdalnego sterowania wewnątrz telewizora.
  • lampy.pl
  • #3
    Krzysiek1260
    Level 7  
    Nie zauważyłem odpowiedzi, w międzyczasie edytowałem posta co może bardziej naprowadzi na przyczynę braku działania. Nie chodzi o komunikację z telewizorem, układ nie działa bo nie wysyła w ogóle żadnych komunikatów, nie reaguje na naciskanie przycisków K1-K5 (na razie mam tylko jeden przycisk zwierający pin PB4 z PD2).
    Co do komunikacji z odbiornikiem to tym będę martwił się później, to jest mini wieża hifi Philipsa, model FW335, powinna obsługiwać standard RC5. Nie wiem tylko jaki adres ustawić dla wieży, na razie jest tak jak było 0, jak dla telewizora. Sygnały z pilotów od telewizorów wykrywa, bo migają symbole na wyświetlaczu, ale udało mi się pilotem tylko wyłączyć wieżę.
  • #4
    Krzysiek1260
    Level 7  
    A ten kondensator 2,2 uF to jaki ma być? Bo pytałem w sklepie i najpierw podali mi kondensator elektrolityczny, a z innych to mieli tylko jakiś specjalny, droższy, foliowy kondensator, w żółtej prostopadłościennej obudowie. Czy koniecznie taki jest potrzebny? Może to przez to układ nie działał, bo nie zwróciłem uwagi na oznaczenie i dałem kondensator 100nF, jak do filtrowania zasilania się daje. Wylutowałem skądś stary kondensator 1000nF i po jego podłączeniu dioda led zaczęła słabo świecić migotliwym światłem, ale tylko na początku.
  • #5
    Radzio M.
    Level 34  
    Kup sobie analizator logiczny za 30 zł na allegro i będziesz wiedzieć na czym stoisz.
  • #6
    Krzysiek1260
    Level 7  
    Nie opłaca mi się na razie, najwyżej spróbuję  na karcie muzycznej czy LPT. Ale chodzi mi o ten kondensator C1, czy on tutaj nie jest kluczowy do zapewnienia odpowiedniej częstotliwości sygnału i muszę kupić ten foliowy za 2 zł http://www.celtor.pl/4746,kondensator-poliestrowy-mkt-2-2uf-63v-raster-15.html? Bo w momencie włączenia zasilania czy wymuszeniu resetu diody zapalają się, tak jak jest to zdefiniowane w programie, więc sygnały zapalające diodę działają. Niezależnie od tego, jaki i czy w ogóle kondensator podłączę, na tym etapie układ działa. Ale przyciski K1-K5 nie powodują świecenia diody, ani tym bardziej wysyłania komunikatów.
    Zmierzyłem multimetrem i normalnie w trakcie bezczynności na pinie PD2 jest stan wysoki, po wciśnięciu przycisku K5 niski (0,28v). Na pinie PB2 (sterującym diodą) jest stan niski (0,00 V), w momencie kontrolnego zaświecenia diody wysoki, po naciśnięciu przycisku K5 multimetr pokazuje tylko 0,02 V.
  • #7
    2N3866
    Level 29  
    Krzysiek1260 wrote:
    Ale chodzi mi o ten kondensator C1, czy on tutaj nie jest kluczowy do zapewnienia odpowiedniej częstotliwości sygnału i muszę kupić ten foliowy za 2 zł http://www.celtor.pl/4746,kondensator-poliestrowy-mkt-2-2uf-63v-raster-15.html?

    To jest kondensator wygładzający przebieg napięcia zasilającego (eliminujący jakieś drobne zakłócenia). Bez wpływu na częstotliwość nośną - no chyba żeby był uszkodzony i zwarł zasilanie do masy... Częstotliwość zależy od wewnętrznego oscylatora w układzie ATtiny2313 (bo nie stosujesz zewnętrznego kwarcu).

    Co do działania układu:
    - kontrolne zapalenie LED po załączeniu zasilania trwa ćwierć sekundy, da się zauważyć;
    - ramka RC5 ma czas trwania ~1,8 ms (przerwa między kolejnymi ramkami - 114 ms) - nie jesteś w stanie tego zobaczyć gołym okiem.

    Analizator, oscyloskop z pamięcią w trybie pojedynczego wyzwolenia, w ostateczności jakiś licznik kilkubitowy (typowy układ cyfrowy) kasowany ręcznie przed naciśnięciem przycisku pilota i sprawdzany po naciśnięciu przycisku pilota dla zaobserwowania, czy cokolwiek na wyjściu PB2 się dzieje.

    W standardzie RC5 zasadniczo zdefiniowano nośną 36 kHz, ale ja się spotkałem z konstrukcją, gdzie występowała inna nośna. Więc taka potencjalna możliwość istnieje, chociaż ryzyko może nie jest duże. Ale może ktoś inny z forumowiczów skomentuje.

    http://mikrokontrolery.blogspot.com/2011/03/RC5-IR-podczerwien-standard-pilot-kurs.html
  • #8
    Krzysiek1260
    Level 7  
    To w takim razie czy koniecznie musi to być ten foliowy, czy można użyć jakiegoś innego, o innej wartości? Bo w sklepie był tylko taki za 2 zł.
    Zauważyłem jeszcze jedną rzecz - gdy na czas programowania podłączam piny RESET, MOSI, MISO i SCK do portu LPT, to po wciśnięciu przycisku dioda zaczyna migać (nie przestaje po puszczeniu przycisku), a wieża hi-fi coś odbiera, bo ikona na wyświetlaczu miga zgodnie z częstotliwością mignięć diody (tak samo reaguje na wszystkie piloty). Nie wiem tylko, czy wysyła jakieś komunikaty, czy tylko wpada w pętlę ciągłego resetowania, ale z taką częstotliwością, że odbiornik wychwytuje to jako nieznany komunikat. Dwa przyciski są przecież podpięte do pinów MOSI i MISO, więc to pewnie dlatego.
  • #9
    2N3866
    Level 29  
    4,7 albo 10 µF nie zrobi różnicy; elektrolityczny na 16 V. Schemat wziąłeś z książki?

    Nie do końca rozumiem drugie pytanie. Podłączaj programator tylko na czas programowania. Potem odłącz i dopiero manipuluj przyciskami.
  • #10
    Krzysiek1260
    Level 7  
    Tak, z książki. Na schemacie jest symbol kondensatora niepolaryzowanego, dlatego takiego szukałem. Dobrze, że tego foliowego nie kupiłem.
  • #11
    Krzysiek1260
    Level 7  
    Teraz odkopałem znowu ten układ po przerwie i zauważyłem, że działa dopiero wtedy, jak dotykam palcem pinów do których są podłączane przyciski. Wtedy przy wciskaniu przycisków wysyła komunikaty, diody mrugają i wieża je odczytuje. Dlaczego tak się dzieje, chyba piny są przecież podciągane przez wewnętrzne rezystory? Podmieniłem kod w pierwszym poście, będzie czytelniejszy bez krzaków w komentarzach.
    Co do odbierana komunikatów przez odbiornik to są odbierane prawidłowo, ale nie rozpoznałem jeszcze jakie adresy wieża hi-fi obsługuje, bo wygląda na to, że operuje na kilku różnych adresach urządzeń. Np. na 20 (CD) udało mi się wyłączyć komunikatem standby i odtwarzać komunikatem Play, ale regulacja głośności już nie działa. Ale tym później będę się bawić.