vlad_2770 Postat August 14, 2005 Partajează Postat August 14, 2005 Am un montaj cu PIC care primeste comenzi de la o telecomanda TV prin intermediul unui IR TSOP 1738. Cind butonez telecoamnda , montajul merge bine. Cind las montajul in stand-by observ cum montajul la intervale de 5-10 secunde primeste comenzi de la celula IR ca si cum as apasa tasta 1. Am scos celula IR si montajul merge bine si in stand-by. Cind pun inapoi celula IR chiar daca scot bateriile din telecomanda tot imi apare ca primeste din cind in cind codul corespunzator tastei 1.O iedee unde este greseala. Banuiesc ca din soft nu este , datorita faptului ca fara celula IR montajul se comporta ok in stand-by.multumesc. Link spre comentariu
Cristiano Postat August 14, 2005 Partajează Postat August 14, 2005 Dupa cate spui, presupun ca problema e in soft, si anume la rutina de decodare a semnalului venit de la receptorul IR (banuiesc ca e cod RC5 si esantionare dupa intervale determinate de un timer intern, esantionarea fiind inceputa la receptia unui 0 de la receptorul IR, e modalitatea cea mai susceptibila la astfel de erori). In mod normal trebuie verificata secventa de start, pentru a detecta bitii falsi, generati de surse de zgomot (in special tuburile fluorescente genereaza f. mult zgomot in IR). Daca nu se verifica secventa de start, la fiecare aparitie a unui puls "parazit" software-ul va citi semnalul si il va interpreta, eronat, ca fiind codul unei taste apasate. Daca presupunerile mele nu sunt corecte, atunci da mai multe detalii, ca sa vedem ce altceva ar putea fi. Link spre comentariu
vlad_2770 Postat August 14, 2005 Autor Partajează Postat August 14, 2005 pot trimit eprin pm rutina de la telecomanda (standard RC5?).Sa te uiti pe ea si sa-mi spui? Link spre comentariu
vlad_2770 Postat August 14, 2005 Autor Partajează Postat August 14, 2005 ce ai spus este corect. da receptia incepe cind primesc un 0. cum fac sa nu mai am semnale parazite??stiu ca o data aveam probleme mari cu tasta 0 (cod 00111111). era si normal ca daca aparea un 0 automat => tasta 0 ca nu are alternante din 0 in 1 si invers.tasta 1 (cod 00111110) cred ca are buba ca are 0 la sfarsit. Link spre comentariu
Cristiano Postat August 14, 2005 Partajează Postat August 14, 2005 Nu poti elimina zgomotele, ele vor exista mereu. Trebuie ca software-ul sa fie capabil sa le detecteze si, eventual, sa le corecteze efectul.Metoda esantionarii la intervale determinate de un delay intern nu e cea mai buna, deoarece eroarea de pozitionare pe mijlocul bitului esantionat creste pe masura ce se receptioneaza sirul de biti. Pentru fiecare bit, trebuie sa detectezi fronturile (RC5 foloseste codare Manchester), si, combinat cu rutine de time-out poti obtine o receptie buna a sirului de biti. Urmeaza verificarea "aranjarii" in sir a bitilor receptionati (2 biti de start care trebuie sa fie 0, bitii de adresa care trebuie sa corespunda cu adresa dispozitivului receptor, etc) Link spre comentariu
vlad_2770 Postat August 14, 2005 Autor Partajează Postat August 14, 2005 caum am dat in alta hiba. Era vorba de zgomot si de asta se intimpla ce se intimpla. Dar acum patesc o ciudatenie. O data codul tastei 1 este 00000001 apoi alterneaza 00111110 si apoi din nou. Nu-mi dau seama de unde. ar trebui resetati niscaiva registii ai pic-ului??? Link spre comentariu
bobtech Postat August 14, 2005 Partajează Postat August 14, 2005 pune un condesator ceramic de 100nF direct pe pinii + - ai TSOP-ului Link spre comentariu
Cristiano Postat August 14, 2005 Partajează Postat August 14, 2005 Cred ca e tot o problema de software. Dupa specificatiile RC5 ar trebui sa ai mai multi biti (2 de start, unul toggle, 5 de adresa si 6 de date daca tin bine minte). Cred ca software-ul sare peste cativa biti si/sau citeste cateva paliere incorect (ceva erori de timing probabil). Link spre comentariu
vlad_2770 Postat August 15, 2005 Autor Partajează Postat August 15, 2005 Da, banuiesc asta. Dar ce ma descurajeaza este ca am o data 00000001 si apoi 00111110. Primii doi biti sunt 0 si nu intra in calcul. Deci ele alterneaza, de parca dupa prima citire, undeva imi ramane o valoare egala cu jumatate de palier. Daca nu alternau tot timpul mai verificam constantele dar asa stiu ca daca la timpul x adaug o jumatate de perioada (adica 889 us) obtin valorile in oglinda. Ma gandesc ca undeva intr-un registru ramane o valoare si trebuie dupa receptionarea codului unei taste sa resetez ceva. Link spre comentariu
Cristiano Postat August 15, 2005 Partajează Postat August 15, 2005 Pai tu nu receptionezi toti bitii, efoarte probabil ca eroarea de care spui sa fie strans legata de faptul ca ai erori la timing / numararea bitilor receptionati etc. Link spre comentariu
vlad_2770 Postat August 16, 2005 Autor Partajează Postat August 16, 2005 Multumesc pentru raspuns. Eroarea provenea de la optimizarea codului. Eu credeam ca era optimizat si el de fapt nu era. Am vazut ca MPLAB-ul nu tine minte anumite setari, celelate le tine minte. Am mai vazut pe un forum chestia asta dar :( nu am tinut-o minte. Sper ca de acum sa nu o uit.Ideea ta cu eliminarea semnalelor parazite mi-a fost de mare ajutor. Acum merge bine programul. Oricum mare mi-a fost mirarea ca acea celula chiar prinde tot felul de semnale parazite. Sa inteleg ca si TV-urile si alte dispozitive care utilizeaza IR elimina semnalele parazite sau celulele lor sunt mai performante. Asta care o am eu vad ca indrept telecomanda in directia opusa chiar spre o perdea si tot primeste comanda. si la 3 metri chiar. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum