logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[BASCOM][ATTiny2313] [Problem z wygenerowaniem 36kHz]

hubertfab 07 Sie 2009 09:59 2293 4
  • #1 6866066
    hubertfab
    Poziom 21  
    Witam.

    (Buduję czujnik odbiciowy)
    Mam duży problem dotyczący generowania 36kHz i podania tej częstotliwości na diodę IR, aby TSOP1736 odebrał sygnały.
    ATTiny2313 pracuje na kwarcu 4MHz z kondensatorami 27pF.
    Dioda podłączona jest do uC katodą przez rezystor 220(Ohm) i potencjometr 1k(Ohm). Dioda świeci, sprawdzałem to aparatem cyfrowym.

    Napisałem taki soft. Ale nie działa...
    $regfile = "attiny2313.dat"
    $crystal = 4000000
    Config Portb.3 = Output
    Config Timer0 = Timer , Prescale = 1
    On Timer0 Ir
    
    Enable Interrupts
    Enable Timer0
    Load Timer0 = 55
    
    Do
    Loop
    End
    
    Ir:
    Load Timer0 = 55
    Toggle Portb.3
    Return

    Próbowałem Load Timer0 = 111 Ale też nie ruszyło.

    Odbiornik to Tsop1736 którego 3 pin podłączony jest pod tranzystor PNP który steruje diodą Zieloną Diodą Led która zapalana jest jeśli TSOP na 3 nodze ma stan niski. Odbiornik reaguje na sygnały z Pilota od TV i pilota własnej konstrukcji "LINK"


    Pozdrawiam i z góry dzięki za pomoc. (Kto rozwiąże problem dostanie 100pt.) :idea:
  • #2 6866153
    kuuczoo
    Poziom 26  
    Witam
    Niestety z tego co wiem , nawet jeśli podasz na TSOPa stałą częstotliwość 36kHz on nie będzie załączony ciągle. Po odebraniu stałej częstotliwości 36kHz TSOP po jakimś czasie przestaje wysterowywać wyjście(chyba po pół sekundy), więc musisz brać to pod uwagę w programie (załączać diodę IR okresowo na chwilę i wtedy badać stan odbiornika)

    --------------------------

    A tak w ogóle to nie powinieneś ładować 200 ? Tmer liczy do góry więc 255 - 55 = 200 lub coś koło tego
  • #3 6866525
    hubertfab
    Poziom 21  
    Cytat:
    A tak w ogóle to nie powinieneś ładować 200 ? Tmer liczy do góry więc 255 - 55 = 200 lub coś koło tego

    Nie. Load timer0 = np. 50 Każe Timerowi 0 policzyć 50 impulsów i wywołać przerwanie.

    Próbowałem działanie z funkcją RC5Send ale to nie możliwe. Pozatykałem diodę papierkami, a ty i tak TSOP odbiera komendy.


    Może mi ktoś powiedzieć jak wykonać czujnik odbiciowy na odległość około 10,20 cm ?
  • #4 6866585
    mirekk36
    Poziom 42  
    punktów to już i tam mam dużo i nie wiem co znimi zrobić ;) ale....

    moim zdaniem to w kodzie masz babola - ponieważ napisałeś:

    Config Portb.3 = Output 


    jeśli chcesz użyć Config i do tego port to trzeba dać

    Config Portb = Output 


    a jeśli chcesz ustawić tylko wybrany pin jako wyjście to trza napisać:

    Config Pinb.3 = Output 


    zajrzyj do HELP'a - na polecenie Config PORT - tam jest to ładnie wyjaśnione

    poza tym kod jest w porządku - dobrze ładujesz timer wartością 55 - ponieważ następuje podział 4MHz przez 55 dzięki czemu z częstotliwością 72.727kHz zmieniasz stan na przeciwny na pinie sterującym diodę co daje nam ładną nośną 36kHz

    Natomiast to że ci TSOP odbiera jakieś smieci - to już wina głównie jego podłączenia do układu. Pokaż schemat jak to zrobiłeś albo zajrzyj tutaj do tematu poniżej na schemat - jak należy go podłączać aby pozbyć się sprzętowo jak największej ilości śmieci.

    https://www.elektroda.pl/rtvforum/topic1382474.html

    jak widzisz w prawym dolnym rogu schematu - zasilanie TSOP'a przez rezystor wraz z kondensatorem małym elektrolitem (filtrującym) i rezystor 10k podciągający linię danych do VCC
  • #5 6866965
    zumek
    Poziom 39  
    hubertfab napisał:
    ...Napisałem taki soft. Ale nie działa...

    A dlaczego robisz to programowo(przerwanie) :?:
    Jeśli musisz otrzymać ten przebieg na PINB.3, to wykorzystaj Timer1, a jeśli możesz użyć PINB.2 , to użyj Timer0. Wykorzystaj tryb CTC, to generowanie przebiegu 36kHz, nie zajmie procowi ani jednej instrukcji ;)
    ...
    PS
    Zapomniałeś o "prologu" i "epilogu", które kompilator dopisuje do procedury przerwania.
REKLAMA