Sida 3 av 3

Postat: 14 februari 2008, 17:44:51
av net4all
Ok, så det blir att försöka med timers då eller?

Postat: 14 februari 2008, 17:47:21
av sodjan
Whatever, bara du kör enligt databladet.

Postat: 14 februari 2008, 19:11:05
av Icecap
Nu har du kommit dit att du inte har en enda aning om vad du kan eller ska göra. Du saknar dessutom oscilloskop och då är det svårt.

Du vet inte hur din sensor reagerar och då kan du inte komma vidare.

Mitt tips är att gå åter till basic:
* Skapa en 38kHz med PWM, 10% duty-cycle.
* Ha PIC'en att slå på den och kolla hur lång tid det tar innan mottagaren reagerar, detta kan göras med en timer.
* Ha sedan PIC'en att hålla reda på om mottagaren avslutar signalen utan anledning och i så fall efter hur lång tid.
* Upprepa dessa mätningar 3-5 gg och se att felmarginalen är lagom liten.

Med detta i handen kan du sedan planera resten.

Postat: 16 februari 2008, 13:20:02
av net4all
Har nu skrivit två program som använder TIMER1 för att skapa och mäta längden på olika pulser.

Sändardelen skapar 600us 0 och sedan 600us 1 på RB0.
Kod:http://www.dybeck.eu/IR_TIMER1_sandare.c

Mottagardelen reagerar på logisk 0 på RB0 genom INT interupptet.
Då mäts först längden på nollan, och sedan längden på följande logigiska 1a. Resultaten av dom mätningarna skickas sedan till datorn som decimala tecken.
Kod:http://www.dybeck.eu/IR_TIMER1.c

Om man använder en kabel mellan PICarna så mäter mottagaren att första 0an är avkortad, det tar tid att anropa interuppt och köra annan kod, helt vad jag väntade mig. 1an blir sedan ca 10us lä'ngre, men det är antagligen interuppt call och liknande.

Till problemet :roll:
När IR delarna ansluts, så blir 1an helt plötsligt allt mellan 200us-2000us !!
Pullup används, 2200ohm till IR-mottagarens utgång, pulsens längd är 600us..

Sändar dioden sitter med + sidan mot RB3, och med - till RB0...

Postat: 16 februari 2008, 14:44:08
av Icecap
Lite språkpolis: 'S' är förkortningen för Sievert, 's' är förkortningen för sekund.

Sedan topic:
Den sensor verkar alldeles oanvändbar till kommunikation helt enkelt.

Jag saknar dock en beskrivning av vad den gör vid kontinuerligt med pulser in, är den aktiv "evigt" eller ger den upp efter ett tag?

Om du kör ett extra signal från sändare-PIC'en till mottagare-PIC'en som signalera att du slår på /av sändaren, vilken fördröjning får du då mellan det signal och IR-sensorns signal?

Är IR-mottagaren ordentligt avkopplat? Den är ju (oftast) känslig och vanligt verkar det vara med en 100nF keramisk konding rakt över matningen samt ett mindre motstånd från VDD till IR-mottagarens VDD, allt för att ta bort störningar.

Om inte dessa regler hålls kan det vara mycket svårt att få den att fungera.

Postat: 16 februari 2008, 14:50:21
av net4all
Avkopplingen är kanske inte den bästa, har ingen liten konding, får fixa det.

Angående "extra signal" så menar du att sändar PICen skickar en signal till mottagaren och man mäter hur lång tid det tar innan IR-mottagaren reagerar på IR-ljuset?

Postat: 16 februari 2008, 14:55:22
av Icecap
Jupp.

Grejen är att du (/ingen) inte har koll på hur det fungerar och vad du kan förvänta av kombinationen, detta gör att du har på tok för många obekanta faktorer och då kan du inte komma i mål.

Man måste veta vilken reaktion som grejerna kommer att ha innan man börjar "på riktigt".

Kolla HÄR på sida 5, där finns det en del att följa.

När du har allt avstörning gjort och gärna avskärmat den lite kan du börja testa, jag skulle nästa kunna lova att det fungerar med UART-kommunikation med rätt förarbete.

Postat: 16 februari 2008, 16:16:59
av sodjan
> Sändardelen skapar 600us 0 och sedan 600us 1 på RB0.

Kontinuerligt ?
Jag kan inte se att det anges i databladet, men många mottagare
vill ha en "vilopaus" då och då.

Varför pulsa RB0 ?
Är det inte enklare att bara sätta PWM modulen på/av ?

I fall du skulle vilja testa med en annan modell så kan jag skicka
över en sådan här påse : http://www.tradera.com/auction/auction. ... d=58360632

Mail mig vid intresse...

Postat: 16 februari 2008, 18:31:25
av net4all
Vilopaus? Får testa med det också.

Varför jag använde RB0? Jo det blir enklare att testa utan kabel, men senare när jag (förhoppningsvis) har ett fungerande system blir det givetvis att stänga av/på PWM modulen.

Har du använt dom mottagarna och fått dom att fungera?
Isåfall kanske jag köper dom snart :)

Postat: 16 februari 2008, 20:01:52
av JimmyAndersson
Jag har köpt ett sådan paket av Sodjan.
Har inte provat för UART-kommunikation, men jag använder en sådan modul i ett projekt för att ta emot IR-signaler från en vanligt TV-fjärrkontroll.

Mottagaren är mycket bra. Jag höll fjärrkontrollen en decimeter snett ovanför mottagaren och riktade fjärrkontrollen mot TV'n som stod 6 meter därifrån. IR-ljuset studsade mot TV-rutan och tillbaka igen, för mottagaren tog emot IR-signalerna utan problem. TV'n brydde sig däremot inte om fjärrkontrollen, utan jag fick gå fram 2-3 meter för att den skulle byta kanal. :)

Postat: 17 februari 2008, 00:40:57
av sodjan
Nej, jag har inte kört just *den* själv, men andra liknande.
Jag förväntar mig inte några större skillnader...

Postat: 26 februari 2008, 22:51:17
av InSipiD
net4all:
http://elektronikforumet.com/forum/view ... hp?t=24670
Mitt projekt.

Jag kör också med grejer från sodjan, inga problem alls, och helt klart överkomligt pris =)