Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Project IR touchscreen

Pagina: 1
Acties:
  • 284 views sinds 30-01-2008
  • Reageer

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Voor een schoolopdracht ben ik begonnen met het ontwerpen van een soort touchscreen gebaseerd op infrarood licht. Dit werkt volgens het volgende princiepe:
Infrarood licht (van IR Led's die worden geschakeld met een N-Channel FET) valt via reflectie op een vinger op een photodiode in het matrix (FTIR). Deze wordt vervolgens uitgelezen met een A/D converter die aan de hand van deze resultaten via RS232 (via USB: FT232R) de waarden doorstuurd.

Ik heb op het moment het volgende schema:
Klik
Opmerkingen:
-Voor de photodiodes heb ik LED's gebruikt omdat ik in de Library geen photodiodes met de correcte package kon vinden.
-Voor de PIC geld hetzelfde. Ik ga een PIC18F452 gebruiken. Deze is pin-comatible met PIC die ik nu heb gebruikt op VUSB na, dit is bij de PIC18F452 RC3
-Ik heb een MAX1030 A/D converter gebruikt maar daarnaast ook de mogelijkheid daar gelaten om de A/D converter van de PIC te gebruiken als het aansturen via SPI me te moeilijk wordt.

Vragen:
Aller eerst vraag ik me af of ik nergens fouten heb gemaakt en vraag jullie dan ook vriendelijk om een blik te werken op het schema, daarnaast heb ik nog een aantal specifieke vragen:
-Ik heb twijfels over de N-channel FET voor het aansturen van de IR LED's (+/- 200 mA 5V) is de gekozen 2N7000 wel geschikt voor deze voltages en moet ik hiervoor weerstand aan de Gate hangen zoals ik nu heb gedaan?
-Kan ik Vusb van de USB connector los laten of moet ik deze met een weerstand verbinding om er voor te zorgen dat de PC een apparaat detecteert?

Alvast bedankt :)

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 15:07
Heb je al geprobeerd welke spanning je uit de fotodiodes kan verwachten, misschien is een opamp nodig om een deel van de spanning weg te werken en om het signaal wat te versterken.
Het kan nooit kwaad om wat extra's te voorzien als je het toch klaar zitten hebt, de extra ingangen van die externe A/D kan je bijvoorbeeld gebruiken om je nulpunt in te stellen (dus de spanning tussen transistor en fotodiode laten meten, eventueel enkel bij het opstarten, en wanneer de temperatuur teveel verschilt herhalen, je max heeft toch een temp sensor zitten), als dat al in je schema zit is dat maar wat software aanpassen.

Je bent er wellicht nog niet mee begonnen omdat je de print nog niet hebt getekend, maar hoe zit het met de scheiding tussen analoog en digitaal? Ik heb de datasheet van die A/D niet bekeken, maar die wil wellicht liever geen rommel van de IRled sturing binnenkrijgen op zijn voedingslijnen (want dat loopt net synchroon met wat je wil meten). Meteen je gnd een aparte naam geven (gnda voor analoge ground voor de fotodiodes en de AD, en gnd voor de digitale gnd van de rest), en mogelijkheid voorzien om extra storingsmaatregelen bij te voegen (teken in je schema alles wat je kan nodig hebben, spoel en elco's enzo, je kan die dan nog altijd bestukken als ze nodig blijken).

Over de keuze van je FET: datasheet bekijken. Hij is geschikt voor 60V, 400mA (of tot 3A gepulst), dus dat is zeker geen probleem. Voor de gateweerstand moet je ff de karakteristieken uitlezen (druk ze af en ga met potlood en lat ff tekenen, je weet dat je 20ma mag trekken uit een I/O van een PIC (capaciteit), en dat dat op 5V is (stroom door de FET).

[ Voor 11% gewijzigd door naftebakje op 28-10-2007 21:11 ]

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Om alvast op een deel van je bericht te reageren: (op de rest kom ik morgen terug)
-Nulpunt had ik niet aan gedacht omdat ik toch "differentieel" meet (namelijk met IR Led's uit als basis en daarna het verschil met IR Led's aan) maar het kan inderdaad wat toevoegen, ik zal hem er in zetten.
-De MAX1030 heeft geen aparte AGND en GND zoals je dat soms bij A/D converters en uC's ziet. Ik zal wat onkoppelings condensatoren en spoel mogelijkheden bij de Vcc en GND van de A/D converter zetten. Het enige wat trouwens in de datasheet staat is het standaard niet digitaal/analoog naast/onder elkaar en dat hij een ontkoppelingscondensator en eventueel 10 Ohm weerstand als filtering kan hebben.

  • ls470
  • Registratie: November 2004
  • Laatst online: 21-11 13:17
timcooijmans schreef op zondag 28 oktober 2007 @ 16:54:
-Ik heb twijfels over de N-channel FET voor het aansturen van de IR LED's (+/- 200 mA 5V) is de gekozen 2N7000 wel geschikt voor deze voltages en moet ik hiervoor weerstand aan de Gate hangen zoals ik nu heb gedaan?
Voor een MOSFET is die weerstand aan de gate niet nodig; de gate gedraagt zich als een condensator en de weerstand vertraagt dus alleen maar het schakelen...

Ik denk wel dat 200mA schakelen met die 2N7000 vrij dicht (maar nog niet over, dus het zal wel werken) bij het randje is voor het worst case geval: de maximale drempelspanning is 3V, als je effectief 5V gatespanning aanlegt is er dus 2V overdrive aanwezig. Bij de minimale transconductantie van 100mS is dat net voldoende om 2*0.1=200mA door te laten.
Volgens de grafieken in http://www.fairchildsemi.com/ds/2N%2F2N7000.pdf is zit in het 'typical' geval wel vrij veel marge op, dus het zou moeten gaan als je niet beslist van een lagere voedingsspanning te gebruiken of de stroom te verhogen

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Zoals beloofd nog even het resultaat:

Op het moment heb ik de volgende opstelling:
code:
1
2
3
4
5
6
7
8
GND
|
V Photodiode
|___A/D 
|
20 MOhm R
|
+5V

Ik heb all pull up waarde getest maar de beste resultaten kreeg ik bij 20 MOhm. Dit is nog wel zonder NPN transistor, maar het geeft in iedergeval aan dat het werkt (door een LCD heen ongeveer een afname van 400 van de 1024 (10bits) Een Opamp is dus niet echt nodig. Ik zal zodadelijk nog testen met een NPN (BC547) transistor om te kijken wat dat voor effect heeft, maar het lijkt me dat dat effect sowieso te voorspellen is (als in altijd ongeveer het zelfde)

Edit:
Wat ik me nu bedenk: Door de grootte weerstand (20 MOhm) zorgt dit natuurlijk voor een stroom, is deze stroom niet zo klein dat een transistor niks meer doet omdat de stroom gewoon lekt?

Edit 2:
Even getest met de BC547 met een weerstand van 1K en het werkt nog ook! :) Als de rest van het schema goed is begin ik aan het PCB...

[ Voor 42% gewijzigd door 0fbe op 29-10-2007 18:27 ]


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
ls470 schreef op zondag 28 oktober 2007 @ 22:17:
[...]


Voor een MOSFET is die weerstand aan de gate niet nodig; de gate gedraagt zich als een condensator en de weerstand vertraagt dus alleen maar het schakelen...

Ik denk wel dat 200mA schakelen met die 2N7000 vrij dicht (maar nog niet over, dus het zal wel werken) bij het randje is voor het worst case geval: de maximale drempelspanning is 3V, als je effectief 5V gatespanning aanlegt is er dus 2V overdrive aanwezig. Bij de minimale transconductantie van 100mS is dat net voldoende om 2*0.1=200mA door te laten.
Volgens de grafieken in http://www.fairchildsemi.com/ds/2N%2F2N7000.pdf is zit in het 'typical' geval wel vrij veel marge op, dus het zou moeten gaan als je niet beslist van een lagere voedingsspanning te gebruiken of de stroom te verhogen
Die weerstand zal ik weglaten, ik geef toe ik ben nog niet zo ervaren met MOSFET's. Maar is het dus geen probleem (net zoals bij een gewone transistor) als op het schema de FET te gebruiken als een NPN transistor?

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

IR touchscreens bestaan al in commerciele beeld als ik goed heb.
Het is speciale langwerpige apparatuur dat aan de zijkant van de bord wordt opgehangen. De pen zelf heeft infraroodpunt dat in bepaalde ritme knippert aan de penpunt. De sensoren bepalen de XY coords.
Als de penpunt ingedrukt wordt, verandert de signaal van de led in de pen, ten teken dat het ingedrukt is.
Deze systeem is goedkoop en kan in combinatie van beamerbeeld gebruikt worden. Hiermee heb je geen grote dure touchscreens nodig en elke bord is mogelijk. Het kan zo weer eraf en opgeborgen worden.
Als je dus graag op deze manier wil "namaken" kan het minder eenvoudig gaan.

Tweede techniek is deze: http://www.magictouch.com/IR_screen.html
Dat heeft muur van diodes om de randen, zodat zelfs vingerdruk mogelijk wordt
Deze is wel makkelijk te realiseren en de site heeft datasheets...

[ Voor 14% gewijzigd door MrDummy op 29-10-2007 19:14 ]


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
MrDummy schreef op maandag 29 oktober 2007 @ 19:01:
IR touchscreens bestaan al in commerciele beeld als ik goed heb.
Het is speciale langwerpige apparatuur dat aan de zijkant van de bord wordt opgehangen. De pen zelf heeft infraroodpunt dat in bepaalde ritme knippert aan de penpunt. De sensoren bepalen de XY coords.
Als de penpunt ingedrukt wordt, verandert de signaal van de led in de pen, ten teken dat het ingedrukt is.
Deze systeem is goedkoop en kan in combinatie van beamerbeeld gebruikt worden. Hiermee heb je geen grote dure touchscreens nodig en elke bord is mogelijk. Het kan zo weer eraf en opgeborgen worden.

Als je dus graag op deze manier wil "namaken" kan het minder eenvoudig gaan.
Wellicht is je niet opgevallen dat mijn systeem multitouch is, het systeem kan dus zo gemaakt dat het meerdere objecten (pen met IR led of zelfs een vinger en beide tegelijk) gedetecteerd kunnen worden. De techniek hier achter heb ik niet besproken omdat dat niet alles te maken had met het elektrisch ontwerp...

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

http://www.nextwindow.com...uchscreen_technology.html
Deze kan two-touch. Techniek en herkenning gaat via twee camera's in de hoeken.

En net heb ik een post terug bijgewerkt over tweede IR mogelijkheid, en dat is complete lichtsluis masker.

Multi-touch is alleen mogelijk met wand vol aparte sensoren. Of met camera's die meerdere opjecten tegelijk kunnen zien. Lichtsluis, capacitive en andere technieken die puur op XY kijken van ene naar andere zijde kunnen maar 1 punt tegelijk aan.

[ Voor 45% gewijzigd door MrDummy op 29-10-2007 19:21 ]


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
MrDummy schreef op maandag 29 oktober 2007 @ 19:16:
http://www.nextwindow.com...uchscreen_technology.html
Deze kan two-touch. Techniek en herkenning gaat via twee camera's in de hoeken.

En net heb ik een post terug bijgewerkt over tweede IR mogelijkheid, en dat is complete lichtsluis masker.

Multi-touch is alleen mogelijk met wand vol aparte sensoren. Of met camera's die meerdere opjecten tegelijk kunnen zien. Lichtsluis, capacitive en andere technieken die puur op XY kijken van ene naar andere zijde kunnen maar 1 punt tegelijk aan.
Mijn scherm kan "oneindig" touch. En ik zal (over een tijdje) aantonen dat met mijn systeem multitouch mogelijk is. Graag wil ik me in dit topic (op dit moment) beperken tot de electronica...

  • ls470
  • Registratie: November 2004
  • Laatst online: 21-11 13:17
timcooijmans schreef op maandag 29 oktober 2007 @ 18:33:
[...]
Die weerstand zal ik weglaten, ik geef toe ik ben nog niet zo ervaren met MOSFET's. Maar is het dus geen probleem (net zoals bij een gewone transistor) als op het schema de FET te gebruiken als een NPN transistor?
Dat zou inderdaad gewoon moeten werken (N-channel FET als NPN transistor, P-channel FET als PNP transistor)

Waar je bij een FET op moet letten is dat de gatecapaciteit meestal vrij groot is, en dat hij schakelt met een gatespanning in plaats van een gatestroom; een weerstand op de gate is dus niet nodig, maar je moet wel voldoende spanning voorzien om hem helemaal aan te zetten...

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Zoals belooft ook de PCB ontwerpen. Ik heb expres 2 GND planes gemaakt zodat Analoog en Digitaal gescheiden blijven. Daarnaast heeft de GND van de MOSFET zijn eigen spoor om storing tegen te gaan.

De afbeeldingen: Bovenkant en Achterkant

Graag jullie commentaar zodat ik het nog snel kan aanpassen (ik moet ivm met de planning de PCB deze week bestellen)

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Je techniek heb ik nog niet helemaal door, want de woorden zijn wel erg mooi. Het leek me eerder in mijn ogen optische bedieningspaneel dan heuse lichtsluisscherm.

Ik wacht gewoon af op eerste praktijk foto's.

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
*schopt

Gister zijn de printen binnen gekomen en ik heb deze gesoldeerd. het USB gedeelte en de Microcontroller zelf werken. Ik ben nu bezig met het uitlees gedeelte. Hier loop ik tegen een probleem aan:
De transistors (BC846B) schakelen niet/nauwelijks.
Alles opgezocht, wat denk je? Ik heb een reversed SOT23 gebruikt in me design, maar in het echt heb ik non-reversed: de Emitter en Base zijn omgedraaid :|

  • lemming_nl
  • Registratie: Juli 2004
  • Niet online
Dat wordt andere transistors zoeken :P Of een nieuwe print laten maken maar ik verwacht dat nieuwe transistors goedkoper is.

Geluk is een weerloos oud vrouwtje, alleen op straat met een bom geld


  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 15:07
Het zijn er maar 8, kan je gemakkelijk omsolderen toch. Een van de pootjes omhoog plooien, en met een draadje leggen moet voldoende zijn, de andere 2 krijg je wel goed gepositioneerd toch.

Collector (aan massa) blijft staan, als je nu gewoon de transistor op zijn kop zet (collector hou je op de huidige plaats) en wat tegenwijzerzin verdraait rond de collector, zijn basis en emitter omgedraaid.
Je pootjes wijzen dan wel weg van de print, maar het is erg gemakkelijk om die naar beneden te plooien. En denk niet dat het geen nette oplossing is, ook in commerciële apparaten die aan zware normen voldoen kan je dergerlijke constructies tegenkomen, foutje in de footprint is snel gemaakt.

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • Cassettebandje
  • Registratie: Juli 2002
  • Laatst online: 20:56

Cassettebandje

SA-C90 TDK

Ik ben het met naftebakje eens, gewoon even lossolderen en op z'n rug leggen die transistors, makkelijkste en goedkoopste optie.

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Dat is inderdaad de oplossing waarvoor ik heb gekozen, weer een struikelblok overwonnen maar de volgende komt alweer om de deur kijken:

De A/D converter (hoewel ik niet weet of het aan de A/D converter ligt trouwens) geeft voornamelijk gemiddelde waardes terug: Als ik een fotodiode niet (of juist wel) belicht gaat óf alles meteen naar 0 óf is er geen verschil op te merken tussen de 8 metingen. Als ik bijvoorbeeld alleen licht schijn op de linker fotodiode gaat de 2e meteen mee naar 0 en is de rest 100 lager. Toch frappant...

Ik heb al geprobeerd om tussen elke A/D conversie wat tijd te laten (200 microseconden) op de condenstatoren weer op te laten laden maar dit helpt op het moment nog niet. Ook het by-passen van de transistor geeft geen verandering...

[ Voor 18% gewijzigd door 0fbe op 27-11-2007 21:49 ]


  • Dutch_Razor
  • Registratie: Augustus 2005
  • Laatst online: 01-11-2024
Hey dit ziet er heel interessant uit, maar is de nauwkeurigheid niet een beetje laag als t PIC slechts 8 dingen kan meten? Of (meest waarschijnlijke) heb ik t verkeerd begrepen?

  • ReneK
  • Registratie: Juni 2007
  • Laatst online: 20:51
Een paar opmerkingen:

-Je gebruikt nu 20M weerstanden voor de fotodiodes. Bij een 5V voedingsspanning komt
dat overeen met een maximale stroom van zo'n 250 uA, voordat de boel in verzadiging
komt. Dat is dan gelijk de full-scale waarde voor de A/D conversie. Lijkt me op zich
een goede waarde. Met 20M is de boel echter door de hoge impedantie ERG storings-
gevoelig, zeker in de buurt van een microcontroller. Daar komt bij, dat je de 20M
weerstanden aan +5V hebt hangen: je meet dus de stroom t.o.v. VCC in plaats
van GND. Dat gaat alleen maar goed als deze VCC dezelfde VCC is als die van de
A/D converter, m.a.w. even schoon, liefst van dezelfde ontkoppeling afkomstig.

-Aan iedere 20M weerstand hangt een A/D ingang van de MAX1030, plus een ingang
van de PIC18Fxxx, plus 8 fotodiodes. Alleen de MAX1030 heeft al een ingangscapaciteit
van 24 pF. Daarnaast lopen er nog lange printsporen naar de fotodiodes op de print, omgeven
door GND koper zo te zien (wat op zich heel goed is). Alles bij elkaar schat ik de totale
(parasitaire) capaciteit op ieder lijntje van een fotodiode al gauw op zo'n 100 pF.
Met een 20M weerstand geeft dat een RC-tijd van maar liefst 2 ms!
Als je echt geinteresseerd bent in de analoge waarde van de stroom uit een fotodiode,
moet je hier rekening mee houden. Als vuistregel kan je aanhouden dat je ongeveer
5x de RC tijd moet aanhouden voordat de boel gesettled is. Dit betekent in de praktijk
dat je na het inschakelen van de fotodiode zo'n 10 ms moet wachten voordat je de
A/D conversie start. Als je echt de volle 10 bits van de A/D converter wilt benutten,
moet je zelfs 7x de RC tijd (=14 ms) aanhouden.

-Voor maximale snelheid moet je daarom het schakelen met T1 t/m T8 zoveel mogelijk
beperken, dus bij het multiplexen van de matrix eerst schakelen, en dan 8 conversies
achter elkaar doen via AN0 t/m AN7 van de MAX1030. Voor multi-touch wil je misschien
anders multiplexen.

-8 x 10 ms = 80 ms totaal om de hele matrix uit te lezen, dat maakt het geheel wel wat traag.
Je zou kunnen overwegen om die 20M weerstanden een stuk kleiner te maken. Je haalt dan
waarschijnlijk niet de full-scale waarde van de A/D converter, maar met 10 bits hebt je volgens
mij voldoende resolutie om een stapje terug te doen. Je zou ook de stroom door de IR led's
kunnen verhogen (kunnen ze dat aan?) of IR led's kunnen gebruiken met hogere lichtopbrengst,
om ze de stroom door de fotodiodes te vergroten en de 20M weerstanden kleiner te kunnen
maken.

Rene

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Allereerst bedankt voor je reactie, ik heb even mijn reactie gegeven in je quote..
ReneK schreef op woensdag 28 november 2007 @ 09:46:
Een paar opmerkingen:

-Je gebruikt nu 20M weerstanden voor de fotodiodes. Bij een 5V voedingsspanning komt
dat overeen met een maximale stroom van zo'n 250 uA, voordat de boel in verzadiging
komt. Dat is dan gelijk de full-scale waarde voor de A/D conversie. Lijkt me op zich
een goede waarde. Met 20M is de boel echter door de hoge impedantie ERG storings-
gevoelig, zeker in de buurt van een microcontroller. Daar komt bij, dat je de 20M
weerstanden aan +5V hebt hangen: je meet dus de stroom t.o.v. VCC in plaats
van GND. Dat gaat alleen maar goed als deze VCC dezelfde VCC is als die van de
A/D converter, m.a.w. even schoon, liefst van dezelfde ontkoppeling afkomstig.

Wat je zegt klopt wel moet ik er bij zeggen dat ik de MAX1030 op het moment niet gebruik (gewoon voor het gemak) ik heb de MAX1030 dus onbestukt gelaten en alleen de 18F452 bestukt (die ook het A/D gedeelte afhandelt dus)

-Aan iedere 20M weerstand hangt een A/D ingang van de MAX1030, plus een ingang
van de PIC18Fxxx, plus 8 fotodiodes. Alleen de MAX1030 heeft al een ingangscapaciteit
van 24 pF. Daarnaast lopen er nog lange printsporen naar de fotodiodes op de print, omgeven
door GND koper zo te zien (wat op zich heel goed is). Alles bij elkaar schat ik de totale
(parasitaire) capaciteit op ieder lijntje van een fotodiode al gauw op zo'n 100 pF.
Met een 20M weerstand geeft dat een RC-tijd van maar liefst 2 ms!
Als je echt geinteresseerd bent in de analoge waarde van de stroom uit een fotodiode,
moet je hier rekening mee houden. Als vuistregel kan je aanhouden dat je ongeveer
5x de RC tijd moet aanhouden voordat de boel gesettled is. Dit betekent in de praktijk
dat je na het inschakelen van de fotodiode zo'n 10 ms moet wachten voordat je de
A/D conversie start. Als je echt de volle 10 bits van de A/D converter wilt benutten,
moet je zelfs 7x de RC tijd (=14 ms) aanhouden.

Hmm aan deze praktische dingen had ik niet gedacht het is wel iets om rekening mee te houden...

-Voor maximale snelheid moet je daarom het schakelen met T1 t/m T8 zoveel mogelijk
beperken, dus bij het multiplexen van de matrix eerst schakelen, en dan 8 conversies
achter elkaar doen via AN0 t/m AN7 van de MAX1030. Voor multi-touch wil je misschien
anders multiplexen.

Hier moet ik in het vervolg rekening mee houden, voor dit prototype is het niet heel erg als ik de snelheid er niet uit haal


-8 x 10 ms = 80 ms totaal om de hele matrix uit te lezen, dat maakt het geheel wel wat traag.
Je zou kunnen overwegen om die 20M weerstanden een stuk kleiner te maken. Je haalt dan
waarschijnlijk niet de full-scale waarde van de A/D converter, maar met 10 bits hebt je volgens
mij voldoende resolutie om een stapje terug te doen. Je zou ook de stroom door de IR led's
kunnen verhogen (kunnen ze dat aan?) of IR led's kunnen gebruiken met hogere lichtopbrengst,
om ze de stroom door de fotodiodes te vergroten en de 20M weerstanden kleiner te kunnen
maken.

Ik kan vrij gemakkelijk de weerstandswaarde veranderen dit is zeker het proberen waard
Rene
Waar ik op het moment nog mee zit is het volgende:

Stel ik schijn veel licht op fotodiode 1 en 2 , dan gaat de rest (6-8) die afgedekt ook naar 0 (het lijkt dus of de hele A/D plat gaat of iig niks meer meet) Eerst dacht ik aan de transistor maar deze blijkt het dus niet te zien (lees: ook met het bypassen van de transistor krijg ik hetzelfde effect) Het probleem is dus dat als ik licht schijn op de fotodiode op AN0 en AN1 (zodat deze 0 zijn) AN[2-7] ook naar 0 gaan (waarop dus geen licht schijnt) Iemand enig idee wat dit effect kan verklaren?

Overigens gebruik ik op het moment weerstanden van 10MOhm

Edit:
Opeens komt het volgende in me op:
Stel (neem het schema even voor je) de weerstand op LED1 (welke een fotodiode is) = 0 Ohm als hij volledig belicht wordt (iig dat meet ik) Dan krijg je dus in feite een pull-up op je GND-lijn naar T8 waardoor het potentiaal tussen alle fotodiodes dus ook 0 wordt en je dus geen meetwaarden meer hebt. Dit verschijnsel zie ik in feite, waarbij ik het wel vreemd vind dat de weerstand van de fotodiode (die normaal rond de 100M Ohm ligt) naar 0 Ohm gaat...

[ Voor 19% gewijzigd door 0fbe op 28-11-2007 11:15 ]


  • lemming_nl
  • Registratie: Juli 2004
  • Niet online
Ik heb hier even over nagedacht en kan iemand mij vertellen waarom dit uberhaupt zou werken? Een fotodiode geeft een stroom af aan de hand van het invallende licht. Deze stroom loopt in de richting van het pijltje. Bij een weerstand van 10M naar de 5V loopt daar 0.5uA. De fotodiode kan daar als het goed is met gemak tegenop. Er komt dus de spanning van de fotodiode op het meetpunt te staan. De PIC heeft echter een hoge ingangsweestand, aangezien deze (denk ik wel) in de buurt (of er zelfs overheen gaat) komt van de 10M naar de 5V zou de spanning van de fotodiode minimaal 2.5V (5V ontmoet dan 2x 10M) moeten zijn om er stroom doorheen te duwen, helaas kan dat niet en zal de spanning over de fotodiode dus instorten naar 0. Wat er dus ook gebeurt. Zonder licht staat de diode gewoon in sper en meet je 5V die door de pull up geleverd wordt.

-edit-

Zet eens een 10M parallel aan de fotodiode, volgens mij meet je dan meer.

[ Voor 6% gewijzigd door lemming_nl op 28-11-2007 11:49 ]

Geluk is een weerloos oud vrouwtje, alleen op straat met een bom geld


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Als je een fotodiode in sper zet fungeert ie als hoogomige weerstand. Wat je dus in feite maakt is een voltage deler (waarbij je dus 5V deelt door de verhouding 10M:Rfotodiode) Het voltage over de fotodiode (of de weerstand) is dus te meten...

Het princiepe werkte met 1 fotodiode (dus zonder matrixing) best goed. Echter snap ik je verklaring waardoor het voltage over de andere fotodiodes (waar geen licht over staat) in zou storten niet...

[ Voor 29% gewijzigd door 0fbe op 28-11-2007 11:56 ]


  • lemming_nl
  • Registratie: Juli 2004
  • Niet online
Daarbij vergeet je dat een diode een stroombron is en dus een stroom moet kunnen leveren om een spanning te hebben. Wanneer hij geen stroom kan leveren (te hoge impendantie, en dus te hoge spanning nodig) zal hij niet werken. Wanneer je een 10M parallel zet kan hij wel stroom leveren en dus ook een spanning afgeven.

-edit-

Er zal geen 2.5V over die 10M vallen omdat de diode meer stroom levert dan de 5V en dus dominant is.
timcooijmans schreef op woensdag 28 november 2007 @ 11:51:Het princiepe werkte met 1 fotodiode (dus zonder matrixing) best goed. Echter snap ik je verklaring waardoor het voltage over de andere fotodiodes (waar geen licht over staat) in zou storten niet...
Raar dat het werkte, ik zie niet in waarom, maargoed, als het werkt is dat op zich mooi. Maar je zei toch dat je of 0 of 5V meette en geen tussenwaardes? Die tussenwaardes wil je wel hebben. Waarom de rest meegaat kan ik ook niet zo wat voor verzinnen helaas.

-edit-

Denk eraan dat wanneer je gaat meten met een multimeter of scoop dat je een 10M (ofzo) parallel zet aan de fotodiode. Zo is het mogelijk dat het los wel werkt (want dan meet je met een multimeter) en in het circuit niet omdat je met met de PIC welke een hogere weerstand heeft.

[ Voor 67% gewijzigd door lemming_nl op 28-11-2007 12:04 ]

Geluk is een weerloos oud vrouwtje, alleen op straat met een bom geld


  • ReneK
  • Registratie: Juni 2007
  • Laatst online: 20:51
Wat betreft het weglaten van de MAX1030: dat maakt in principe weinig uit. Als je de A/D
conversie met de PICxxxx doet, hou je nog steeds dezelfde storingsgevoeligheid t.o.v. VCC.
In beide gevallen dienen zowel de VCC voor de fotodiodes als voor de chip met de A/D converter
schoon te zijn.
Ik zou wel even nakijken wat de ingangsimpedantie c.q. ingangsstroom is van de A/D ingangen
van de PICxxxx, en dan kijken of de 20M weerstanden niet te hoog gekozen zijn voor
deze inputs.

Verder vind ik jullie discussie over fotodiodes eerlijk gezegd nogal onsamenhangend, ik kan
af en toe nauwelijks volgen wat jullie wilen zeggen.

Om kort te gaan: een fotodiode is een pure stroombron, waarbij de stroom over een heel
groot gebied lineair is met de hoeveelheid invallend licht. De spanning over de diode
is irrelevant, zolang je maar aan twee voorwaarden voldoet: de spanning moet beneden
de maximale sperspanning van de datasheet blijven, en de diode mag nooit in verzadiging raken.
Verder moet de diode altijd in sperrichting blijven, maar dat is hier het geval.

Het parallel schakelen van een 10M weerstand verlaagt welliswaar de totale impedantie, maar
brengt ook het effectieve spanningsverschil dat door belichting ontstaat met dezelfde faktor terug.
Het netto resultaat is dan ook nihil.

Je moet bij fotodiodes uitsluitend in stroom denken. Ik zou eerst eens een pure stroommeting
doen: kijk wat er gebeurt als een diode belicht wordt door een led, en meet hoeveel stroom
er door gaat lopen. Dat doe je hetzij met een stroommeter in serie, hetzij door de 10M of 20M
weerstand drastisch te verlagen en dan de spanning over deze weerstand te meten.
Vervolgens bereken je of de maximale stroom door de 10M/20M weerstand geen verzadiging
veroorzaakt bij de diode, dwz. blijft de spanningsval over de weerstand onder alle omstandigheden
kleiner dan 5V? Zo niet, weerstand verkleinen.
En daarnaast zou ik ook even meten wat de naburige fotodiodes doen als deze een beetje licht
oppikken van andere led's. Ontstaat ook hier geen verzadiging?

Eerlijk gezegd vind ik al dat geschakel met transistoren en fotodiodes en een matrix met
zeer hoge impedanties nogal gekkenwerk: het lijkt me niet robuust en storingsgevoelig.
Als het even kan, zou ik de 10M/20M weerstanden drastisch verlagen om de storingsgevoeligheid
te verminderen.

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Eerlijk gezegd begint het fotodiode stukje buiten mijn kennis te komen, zover ben ik nog niet in de electronica maar goed ik blijf het volgen.

Verder alvast de datasheet van de fotodiode: Klik

Als ik je, ReneK, goed begrijp moet ik het volgende bedenken:
Ik moet m'n weerstand zo kiezen dat er nooit meer dan 5V spanningsval over de weerstand staat (dit is namelijk wel het geval op het moment dat alle A/D kanalen op 0 gaan...) Echter is dit nog zonder het LCD er tussen, als die er tussen zit valt er opeens veel minder licht op de fotodiode...

Verder merk ik op dat de fotodiodes bij een beetje licht (met die 10M weerstand) niet hun spanningsval verliezen (en dat er dus 5V over de weerstand staat) dus dat werkt goed.

Wat me opvalt is dat bij de verzadiging (of de bijna verzadiging) van een fotodiode de andere ook naar beneden trekken. Ik zal daar dadelijk wat voorbeelden van geven...

Edit:
Zoals belooft de meetwaarden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Zonder extra belichting:
868,862,867,864,864,865,868,871,
882,884,888,889,882,882,873,874,
Belichting van Fotodiode links:
430,696,746,726,723,691,687,668,
460,698,755,743,751,727,727,697,
Belichting van alle Fotodiodes behalve de 3 linkse en belichting nadert:
147,129,77,0,0,0,0,0,
131,112,59,0,0,0,0,0,
137,119,70,0,0,0,0,0,
118,103,56,0,0,0,0,0,
127,115,76,0,0,0,0,0,
0,0,0,0,0,0,0,0,

Het blijkt beter te werken dan ik dacht, het probleem zat hem er in dat de afdekking niet altijd voldoende was. Wel is te zien dat bij een te sterke lichtstroom op een fotodiode de fotodiode de andere mee trekt (maar ik verwacht niet dat ik zoveel infrarood door me LCD zal hebben)

[ Voor 27% gewijzigd door 0fbe op 29-11-2007 13:17 ]


  • ReneK
  • Registratie: Juni 2007
  • Laatst online: 20:51
Verder alvast de datasheet van de fotodiode: Klik
Dat is een datasheet van een led, niet van een fotodiode. De keuze van de led is overigens
veel belangrijker dan die van de fotodiode: led's kunnen enorm verschillen in lichtopbrengst,
golflengte en bundelbreedte. Fotodiodes ontlopen elkaar niet zo gek veel.
Als ik je, ReneK, goed begrijp moet ik het volgende bedenken:
Ik moet m'n weerstand zo kiezen dat er nooit meer dan 5V spanningsval over de weerstand staat
Klopt.
(dit is namelijk wel het geval op het moment dat alle A/D kanalen op 0 gaan...) Echter is dit nog zonder het LCD er tussen, als die er tussen zit valt er opeens veel minder licht op de fotodiode...
Als alle A/D kanalen naar 0 gaan, is er toch sprake van oversturing en verzadiging. In dat geval
moet je toch de 10M weerstanden verkleinen.
Als je er een LCD tussen plaatst, wordt het touchscreen ook nog eens gevoelig
voor de beeldinhoud van de LCD. Houd je daar rekening mee?
Daarnaast zijn er ook nog eens twee soorten LCD's: transflectieve en reflectieve. De eerste
soort is bedoeld om daglicht te weerkaatsen (meestal zwart/wit displays), de tweede
soort is bedoeld voor gebruik met een backlight. Beide zijn heel verschillend in lichtdoorlatendheid.
Verder merk ik op dat de fotodiodes bij een beetje licht (met die 10M weerstand) niet hun spanningsval verliezen (en dat er dus 5V over de weerstand staat) dus dat werkt goed.
Deze zin snap ik niet helemaal: als er 5V over de weerstand staat, loopt er teveel stroom
door de fotodiode. Er treedt dan verzadiging op, en je moet in dat geval de weerstand
verkleinen.
Zonder extra belichting:
868,862,867,864,864,865,868,871,
882,884,888,889,882,882,873,874,
Belichting van Fotodiode links:
430,696,746,726,723,691,687,668,
460,698,755,743,751,727,727,697,
Tot zover gaat het goed, lijkt me.
Belichting van alle Fotodiodes behalve de 3 linkse en belichting nadert:
147,129,77,0,0,0,0,0,
131,112,59,0,0,0,0,0,
137,119,70,0,0,0,0,0,
118,103,56,0,0,0,0,0,
127,115,76,0,0,0,0,0,
0,0,0,0,0,0,0,0,
Hier treedt zo te zien een behoorlijke verzadiging op. 10M lijkt me veel te groot.
Het blijkt beter te werken dan ik dacht, het probleem zat hem er in dat de afdekking niet altijd voldoende was. Wel is te zien dat bij een te sterke lichtstroom op een fotodiode de fotodiode de andere mee trekt (maar ik verwacht niet dat ik zoveel infrarood door me LCD zal hebben)
Infrarood is moeilijk te voorspellen: de golflengte is lang ten opzichte van de golflengte
van zichtbaar licht. Het wordt dan ook minder gehinderd door kleine "objecten" (zoals
LCD kristallen???) dan zichtbaar licht. Ik heb infrarood ook vrijwel ongehinderd door
zwart plastic zien gaan, dat voor het oog ondoordingbaar leek. Gewoon uitproberen, dus.

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Ik heb weer even reactie gegeven in je bericht :)
ReneK schreef op donderdag 29 november 2007 @ 08:25:
[...]


Dat is een datasheet van een led, niet van een fotodiode. De keuze van de led is overigens
veel belangrijker dan die van de fotodiode: led's kunnen enorm verschillen in lichtopbrengst,
golflengte en bundelbreedte. Fotodiodes ontlopen elkaar niet zo gek veel.

Ik had inderdaad de verkeerde, dat was de datasheet van de gebruikte led, deze photodiode heb ik gebruikt: Klik Ik zal het ook even verbeteren in het andere bericht.
[...]


Klopt.


[...]


Als alle A/D kanalen naar 0 gaan, is er toch sprake van oversturing en verzadiging. In dat geval
moet je toch de 10M weerstanden verkleinen.
Als je er een LCD tussen plaatst, wordt het touchscreen ook nog eens gevoelig
voor de beeldinhoud van de LCD. Houd je daar rekening mee?
Daarnaast zijn er ook nog eens twee soorten LCD's: transflectieve en reflectieve. De eerste
soort is bedoeld om daglicht te weerkaatsen (meestal zwart/wit displays), de tweede
soort is bedoeld voor gebruik met een backlight. Beide zijn heel verschillend in lichtdoorlatendheid.

Ik maak gebruik van een computer kleuren LCD, dat is dus een transflectieve, daar had ik namelijk al aan gedacht. Daarnaast zijn de fotodiodes die ik gebruik gefiltert voor zichtbaar licht en filter ik het IR uit het backlight. De kanalen gaan inderdaad naar 0 maar ik verwacht dat er niet zo veel licht door het LCD komt zodat ze dan niet overstuurd worden...


[...]


Deze zin snap ik niet helemaal: als er 5V over de weerstand staat, loopt er teveel stroom
door de fotodiode. Er treedt dan verzadiging op, en je moet in dat geval de weerstand
verkleinen.

Klopt ik bedoelde dat er geen 5V over de weerstand staat

[...]


Tot zover gaat het goed, lijkt me.


[...]


Hier treedt zo te zien een behoorlijke verzadiging op. 10M lijkt me veel te groot.

Deze situatie verwacht ik dus niet achter een LCD scherm


[...]


Infrarood is moeilijk te voorspellen: de golflengte is lang ten opzichte van de golflengte
van zichtbaar licht. Het wordt dan ook minder gehinderd door kleine "objecten" (zoals
LCD kristallen???) dan zichtbaar licht. Ik heb infrarood ook vrijwel ongehinderd door
zwart plastic zien gaan, dat voor het oog ondoordingbaar leek. Gewoon uitproberen, dus.

Dat zal het ook gaan worden komende week :)

  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
#$*(#$*#()*)$#

Heb de 2 printjes gemaakt voor een werkstuk, een daarvan zou er een test prototype worden (met photodiodes die gevoelig waren voor alle licht) en de andere zou achter een LCD komen (met photodiodes die alleen gevoelig zijn voor IR).

Vandaag was het dus zo ver, het 2e prototype gesoldeerd en getest, het werkte perfect. LCD "mishandeld" zodat het PCB er achter kon. Daarna zelfs met LCD aan getest, het werkte perfect: de fotodiodes werden niet beinvloed door de backlight oid, alleen zag je kleine zwarte gaatjes door he TFT heen (maar dat was op te lossen) Schroef ik het LCD weer dicht. Plug USB weer in, geen verbinding :S, alles gechecked (connector, verbinding van connector naar FT232RL, Voeding, geen kortsluiting) FT232RL dus dood... En ik heb alleen deze week nog om er aan te werken dus helaas kan ik het niet testen achter een LCD (Ik kan nooit op tijd een nieuwe FT232RL regelen)

(ben ik nu de enige waarbij 't altijd fout gaat bij electronica of hebben meer mensen dat?)

[ Voor 7% gewijzigd door 0fbe op 04-12-2007 20:39 ]


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Hmm het wordt nog vager: Als ik mijn ICD2 inplug op het PCB doet de FT232RL het wel, trek ik hem er uit doet hij het weer niet. En het rare is dat de ICD2 eigenlijk niks doet: (hij levert geen power, niks) Iemand enig idee wat dit kan veroorkzaken? :S

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 15:07
Je reset zweeft toevallig niet?

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


  • 0fbe
  • Registratie: Januari 2004
  • Laatst online: 23:10
Zat ik ook aan te denken, maar het rare is: Het maakt niet uit of de uC in reset zit of niet, de FT232RL controller start toch op als ik de ISCP connector in-plug (ik kan namelijk ook inpluggen terwijl de ICD2 de uC in reset houd). De ICSP-connector stuurt alleen de reset van de uC aan (die netjes met een 10K weerstand aan Vcc hangt)
Pagina: 1