Op 26 mei 2018 20:49:46 schreef gerardvbeek:
op de poort waar ik mijn ir ontvanger op heb aangesloten heb ik in proteus een pulsgenerator aangesloten en dan werkt hij. maar in het echt nog niet.
heeft iemand nog tips waar ik op moet letten
Krijg het gevoel dat topic starter het principe v/d werking nog niet (helemaal) begrijpt. Heb zelf in een grijs verleden wel eens IR zenden & ontvangen gedaan, en dit is écht niet moeilijk! Zolang je het principe maar snapt. Ik zal een poging doen:
Zie bijv. deze Wikipedia pagina over het veelgebruikte RC-5 protocol (sorry NL pagina's weinig low level details ). En dan het 1e plaatje met de 1/0 bits en pulstreinen.
Zenden:
Wat je bij "pauza", "burst 36 KHz, 32 cycli" ziet staan, komt overeen met de stroom die je door de zendende IR LED stuurt: 'blokjes' van een X aantal pulsen, waarbij elke [puls + pauze] een afgemeten tijdsduur heeft. In dit geval: puls + pauze = ca. 27,8 µsec (1 / 36 KHz). Duty cycle steekt niet zo nauw, en zal vaak <50% zijn. De precisie van tijdsduur voor [puls + pauze] steekt wél nauw: wijk meer dan zeg, 1 á 2 procent af, en door filtering zal gevoeligheid aan de ontvang zijde snel afnemen. Met ventilator bladen 'moduleren' gaat dus niet werken, da's veel te onnauwkeurig qua frequentie. De piekstroom door de IR LED kan fors zijn (bijv. 100+ mA), maar ook dat steekt niet zo nauw.
Die pulstreinen worden afgewisseld met langere pauzes, in de regel een meervoud v/d duur van 1 zo'n pulstrein.
Ontvangen:
Ontvanger heeft een IR lichtgevoelig element, deze ziet "omgevingslicht + jouw pulstreintjes". Dit signaal wordt door een frequentie-selectief filter gestuurd (in dit geval afgestemd op 36 KHz) en versterkt. Die filtering doet "omgevingslicht" wegvallen, en ook signalen die op een andere frequentie dan 36 KHz gemoduleerd zijn. Wat er door komt is "pulstreinen + pauzes". Dat wordt nog weer iets verder gefilterd, om "pulstrein" terug om te zetten in langere 1/0 signalen, zoals in dat plaatje aangegeven staan als "bit 1... bit 2... bit 14". Dat is wat je als signaal uit een IR ontvanger IC krijgt.
In principe kun je een IR fotocel oid. pakken en al dat filteren / versterken zelf doen, maar neem maar van mij aan: 'niemand' doet dat. Je pakt gewoon een kant-en-klaar ontvang IC die voor een bepaalde frequentie bedoeld is, en de 1/0 bitjes rollen er zo uit. Daarmee hoef je alleen nog maar bezig met wanneer er iets komt, hoeveel bits, en betekenis v/d codes.
RC-5 is maar een van diverse (vele?) protocollen die in omloop zijn. Voor modulatie frequentie worden verschillende gebruikt. Wat jij gebruikt maakt weinig uit zolang je ontvanger maar afgestemd is op de frequentie in de pulstreinen die je stuurt. Hoe je de overgeseinde 1/0 bits interpreteert, is ook geheel aan jou. Er bestaan ook IR protocollen die met losse pulsen werken (en bijv. tijdsduur dáártussen, of aantal pulsen gebruiken als code), maar het modulatie-principe is bij mijn weten het meest gangbaar. Vermoedelijk vanwege de selectiviteit (lees: storingsongevoeligheid) aan ontvangzijde die je daarmee kunt bereiken.
Testen:
Het simpelste is om uit te gaan van een ontvangend apparaat, waarvan 100% zeker is met welk protocol die werkt, en dan de vereiste pulstreinen door een IR LED te sturen. Leuk om bijv. eens te zien wat commando codes doen die niet door de bijbehorende afstandsbediening verstuurd worden.
Of omgekeerd: ga uit van een zender (kan een simpele afgedankte AB zijn), waarvan 100% zeker is welk protocol die hanteert, en dat 'ie werkt. Dan een ontvanger IC pakken passend bij gebruikte modulatie frequentie, en kijken wat voor 1/0 bitjes dat IC uitspuugt cq. hoe ontvangen codes onderling verschillen.
Zoals gezegd: écht niet moeilijk, zolang je maar begrijpt wat voor type signalen je mee werkt.