Dekodowanie czestotliwosci (BASCOM)


Witam
Buduje pewne użadzenie które ma za zadanie wychwycić przedmiot znajdujacy sie przed nim.

Działa to mniejwiecej tak:

avr - -tranzystorek- - - diody ir

avr - -komparator(y)- - - - - - - fototranzystor ir
- - fototranzystor ir
- - fototranzystor ir
- - fototranzystor ir
...

Wszystko działa pięknie ale jet to zupełnie nie odporne na zaklucenia (flash, halogen, a nawet pilot od tv) powodują reakcję ukladu. Chcialem dlatego spróbowac zrobic takie zabezpieczenie, że diody będą migotaly z częstotliwością kilku(nastu/dziesieciu) Khz. Generowanie nie jest skomplikowane można zwyklago timerka zprząc nawet bez pwm. Lecz mam problem ze zdekodowaniem częstotliwosci. Komparator wychwytuje "migotanie" lecz nie potrafię zrobic czegoś takiego jak w przypadku świecenia ciaglego:

Quote:
if (pin od komparatora) = 0 Then
(dalsze instrukcje)

myślałem żeby funkcjonowało to w ten sposób:

Quote:

jeżeli zliczę np.5 impulsów z komparatora o danej częstotliwości to...

Proszę o pomoc
ps. wbudowanego przetwornika A/C nie zastosowałem bo koanłów ma być docelowo ponad 20.
Język to oczywiście BASCOM uc to ATmega32.

Dziękuję




Portret użytkownika gosc

Widzę, że problem jest zbyt

Widzę, że problem jest zbyt skomplikowany.

Czy dałoby się więc stworzyć choćby jakiś warunek typu, jeśli na np. Porcie B.1 pojawi się częstotliwość 30Khz to...

na porcie B.1 Stanem aktywnym jest stan niski.
Do wykorzystania zostały jeszcze 2 timery, 1x 16 i 1x 8 bit.

Plany się zmieniły i "zabezpieczony" przed zakłóceniami może być tylko jeden kanał...reszta będzie ukryta.

Proszę o pomoc. może zamiast ręcznie dekodować łatwiej użyć układu z serii TSOP lub podobnego - lecz to nieco droższe rozwiązanie.

Dziękuje

Portret użytkownika mirley

Re: Dekodowanie częstotliwości.

Ja bym spróbował podać sygnał na przerwanie zewnętrzne i liczyć impulsy w czasie np 100ms. Z drugiej strony nie wiem czy jak coś zaświeci ciągle na czujnik to czy nie przytłumi to impulsów 30KHz.

Drugim rozwiązaniem jest zastosowanie TSOP1736 lub podobnego i wykorzystanie gotowych procesdur do Rc5. Nadajesz Rc5 z jednej strony i odczytujesz z drugiej. Zakłócenia sa eliminowane bo masz kodowany sygnał. TSO kosztuje około 3zł a nawet mniej więc to nie wydatek

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Gdzieś czytałem że jeżeli

Gdzieś czytałem że jeżeli TSOPxx36 "Wykryje" ciągłe impulsy o częstotliwości 36 Khz to na wyjściu out pojawia się stan o ile się nie mylę wysoki. Może nie trzeba by wyło stosować rc5 czy jakiś standardów pilotowych?

Odnośnie RC5 nie wiesz może jak szybko może wysyłać paczki z komendą? Czy dałoby radę robić przynajmniej 20 "testów" na sekundę (tj. wysłać paszkę co 1/20 s)? Bo to ma byś bezdotykowy, tani czujnik zbliżeniowy i musi zadziałać przed zderzeniem. Czy jest jakaś gotowa komenda do nadawania w rc5 (w BASCOMIE)?

Czyli zdecydowałem się na TSOP tylko trzeba by sprawdzić czy ten stan wysoki to prawda. Na elektrodzie było a teraz znaleźć nie mogę.

Dziękuję

Portret użytkownika mirley

Re: TSOP

W bascomie jest sendrc5 i getrc5 do obsługi tego standardu. Poczytaj w helpie do bascoma

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.