dryf cz?stotliwo?ci? Attiny 2313

Feb 17, 2007 3 Replies

Witam mam pewien problem, chciałbym uruchomić nadajnik kodów RC-5 na ATtiny



2313. Zaadaptowałem prosty układ ze strony :
formatting link
Procedura obługi przerwania: ISR(TIMER1_COMPA_vect) { if(bitcounter==0) ENABLE_MODULATION; if(bitcounter==1) DISABLE_MODULATION; if(bitcounter==16) ENABLE_MODULATION; if(bitcounter==17) DISABLE_MODULATION;

bitcounter++; }



Czas trwania sygnalu ustawiony jest na ok. 550 us, a przerwy na ok.



7100 us.

Niestety lirc pod linuxem wykazuje duże wahania długości sygnału i przerwy (w granicach +/- 50 us zarówno dla sygnału jak i przerwy)... Oczywiście parametry timera nie zmieniają się. Procesor taktowany jest wewnętrznym oscylatorem 8MHz.



Spotkaliście się z podobnym problemem ? Gdzie szukać przyczyny ? Pływanie wewnętrznego oscylatora, błąd w programie, czy raczej niedokładność lirc-a ?



Pozdrawiam i dziękuję za wskazówki


wonderland <bartek snipped-for-privacy@wp.pl pisze:

50us to około dwa okresy dla 36kHz.

Winny jest (a w zasadzie niewinny, bo on tak działa) odbiornik podczerwieni a dokładniej komparator. Żeby to w prostych słowach wytłumaczyć: jak pojawia się nośna, to sygnał na wyjściu pojawia się po jakimś czasie, jak zanika, to sygnał jeszcze trwa przez jakiś czas. Zwykle jest to kilka (2-5) okresów na start i podobnie na koniec, w zależności od czasu trwania i mocy sygnału.

Tak więc wszystko jest w najlepszym porządku.

Ale ja bym zwrócił uwagę na coś innego: zależność f od napięcia i od temperatury. Ja ostatnio robiłem pilota do bramy i po ochłodzeniu nie działał, bo popłynęła częstotliwość (3% jedynie), a głupi układ odbiorczy nie potrafił sie do tego dostroić.

Nominalny wg producenta, to 3%. I do celów komunikacyjnych zaleca się zewnętrzny oscylator.

Ano dzi?ki za wskazówk? :) uk?adzik ju? wyl?dowa? w zamra?alniku :)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required