Arduino analoge poorten

Omdat ik vind dat mijn sensoren op mijn meedraaiende zonnepaneel wat onnauwkeurig zijn, LDR's, wil ik met een ander type sensor gaan werken.
Normaal zou ik daar bv hele kleine zonnepaneeltjes van 25x25mm voor kunnen kopen bij Ali maar dat duurt minimaal 4 weken en dan nog zijn ze eigenlijk te groot.
Nu is mijn oog gevallen op de BPW34 wat ook eigenlijk micro zonnepaneeltjes zijn, bij vol zonlicht geven ze ongeveer 1 a 1V5 af bij helaas maar 50 micro Ampere.
Ik kan op internet nergens vinden wat de analoge poorten van de Arduino aan stroom nodig hebben om te werken (Voltage is geen probleem).
Nu is mijn vraag zouden deze micro zonnecellen ook kunnen werken op de analoge poorten van een Arduino ?
Ik krijg wel een waarde te zien, maar ik kan helaas geen zonlicht nabootsen dus tast een beetje in het duister.

Lambiek

Special Member

Op 1 december 2019 21:10:14 schreef Rob / gompy.net:
Omdat ik vind dat mijn sensoren op mijn meedraaiende zonnepaneel wat onnauwkeurig zijn, LDR's, wil ik met een ander type sensor gaan werken.

Dan doe je iets niet goed denk, ik gebruik ook LDR's en die zijn gewoon super nauwkeurig. De zon wordt exact gevolgd.

https://www.circuitsonline.net/artikelen/view/57

Als je haar maar goed zit, GROETEN LAMBIEK.

De analoge ingangen van zo'n Arduino zijn vrij hoogimpedant, waardoor 50uA niet zo'n probleem zou mogen zijn, maar in de ADC zit een sample-and-hold condensator, die kortstondig aan de ingang geschakeld wordt, en die moet snel genoeg opgeladen worden. Dat gaat met 50uA niet lukken, maar dat is eenvoudig op te lossen met een condensatortje van 10-100nF aan de ingang, naar de ground.

De spanning over zo'n sensor varieert wel wat met de hoeveelheid invallend licht, maar die varieert ook flink met de temperatuur. Je kunt beter de stroom meten, door de sensor te belasten met een weerstand, zodanig dat je met die 50uA nog onder één diode overgang (0.65V) blijft. Eigenlijk ben ik verbaast dat je 1-1.5V krijgt; zijn het meerdere fotodiodes in serie?

EDIT: de datasheet zegt zelfs dat je maar 350mV krijgt. Met de 10-bit ADC op 5V (aangenomen dat je een gewone ATMEGA gebruikt), heb je ~5mV per stapje, dus maximaal 70 ADC counts. Dat is bedroevend.

Wat betreft die LDRs; heb je een condensatortje van de ingang naar de ground staan? Dat moet eigenlijk vrijwel altijd bij analoge ingangen, en stom genoeg liggen die standaard niet op zo'n Arduino board.

[Bericht gewijzigd door SparkyGSX op zondag 1 december 2019 21:25:14 (21%)

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Arco

Special Member

Standaard vier ldr sensor werkt prima. (bij alleen horizontaal verplaatsen heb je er aan twee genoeg)

https://static.circuitsonline.net/camo/0bfaa59d240523405ba662adbcc152647b3d4c0a/687474703a2f2f7777772e696e73747275637461626c65732e636f6d2f66696c65732f64657269762f46424e2f4e30524b2f47504244344a51562f46424e4e30524b47504244344a51562e535155415245332e6a7067

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Het is een paneel wat zowel horizontaal als verticaal draait met stel(spindel)motoren.
Ik heb +/- 100 LDR's van allerlei pluimage, maar als ik uit een serie ga meten onder de zelfde condities is er toch een redelijke afwijking te zien (made in China....), weerstanden zijn 1%.
Meet ik er 10 en ik gooi ze door elkaar, meet ze weer dan geven ze alle precies weer de zelfde afwijking, het ligt dus echt aan de LDR's.

De voorbeeldjes van internet zijn allemaal met servo's, maar daar is mijn paneel iets te groot voor, bij een zucht wind staat het paneel de andere kant op, vandaar de spindel aandrijving.

Wat betreft de open circuit spanning, deze waarde heb ik gemeten met een 100W halogeenlamp en komt haast op 0,7 Volt uit.
Ik ga er vanuit dat bij zonlicht dat ongeveer het dubbele zal zijn hoewel 1 Volt voor mij ook voldoende is.

Die 70 counts is meer dan voldoen, het paneel maakt 1x per uur een draai naar daar waar het meeste licht is.
Bij een onbewolkte dag start het op gericht naar het oosten (dit gebeurd nadat de zon is onder gegaan) en zal naar mate de zon draait mee draaien totdat de zon onder gaat en het paneel weer richting het oosten zal draaien en 20 graden uit het lood.

Even over het project van Lambiek, ik gebruik geen DS1307 oid want stel dat er donder wolken in het westen hangen en een mooie stralende lucht in het zuiden dan moet het paneel naar het zuiden richten en niet omdat het 16 uur is naar het westen want dat is totaal zinloos.

De onderlinge verschillen tussen de LDRs kun je toch eenvoudig compenseren met een kalibratie meting, die je in je EEPROM opslaat.

Je zegt zelf dat die fotodiodes zonnecellen zijn, en dat klopt ook. Bij gevolg is niet de spanning maar de stroom proportioneel met de lichtinval, dus je moet die stroom meten. De 0.7V die je hebt gemeten klopt, en zal niet veel verder meer stijgen, omdat de cel zelf een diode is die in geleiding gaat.

Voor 350mV en 70uA zou je een weerstand van 5k moeten gebruiken.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Sine

Moderator

Ik zou zelf de LDR's in een brug zetten (in serie) zodat je de halve voedingsspanning hebt in evenwicht.

Je kunt dan vrij makkelijk een potmeter op het knooppunt zetten waarmee je het zaakje kan nullen mocht er een afwijking zijn.

Nee, da's niet helemaal waar, ik zou zelf geen LDR's gebruiken. Die dingen zijn gevoelig voor temperatuur, vocht en wie weet wat nog meer.

[Bericht gewijzigd door Sine op maandag 2 december 2019 07:40:18 (23%)

Is het geen idee om heel die ldr te dumpen en gewoon de positie van de zon van het internet te trekken

Of formules in je arduino te zetten die de baan berekent, dat ding stuurt 2 motors, die heeft rekenkracht genoeg over

Die planeten volgtelescopen doen het toch ook zonder licht

@SparkyGSX
Een Arduino is niet gesmaakt om stroom te meten (zou makkelijker zijn, bv 4-20mA industrienorm) dus zal het helaas moeten doen met spanning.
Ik weet dat er sensoren zijn die met 0-5 Volt werken, maar die heb ik nu even niet liggen en eigenlijk zijn beide typen fabriek sensoren te groot voor de test opstelling.

@Sine,
Dat is nu mijn punt, de LDR's zijn gewoon sh*t.
Ik verwijt het aan de leverancier, ik denk dat ik rejects heb gekregen omdat ze niet aan de eisen voldoen.
Wat jij bedoelt is om er een brug van Wheatstone van te maken, maar ik zit dan met 4 bruggen ipv 4 "LDR's".

@DK,
Zie mijn vorige post wat betreft sturen op een klokje of vast schema.
Stel het is 16 uur, de zon staat dus in het westen maar daar hangen pik zwarte donderbuien.
het licht uit het westen is dus minimaal, maar in het zuiden is er nog een kraak heldere lucht......waarom zou ik dan het paneel op die pikzwarte lucht gaan richten (wat dan veel minder opbrengt) ipv dat ik het paneel naar het zuiden laat draaien waar veel meer licht is ?
De logica om dwangmatig toch naar het westen te draaien ontgaat mij een beetje.

Met een vaste opstelling ben ik gestart, daarna met klok en nu met lichtsensoren.
Door het paneel zelf naar de grootste lichtbron te laten "zoeken" heb ik ~30% meer opbrengst, ~19% meer opbrengst welke op een klok draaien, dit gemeten vanuit een paneel welke vast ligt onder een hoek van 36 graden gericht op het zuiden.

Nu is dit maar een test opstelling, maar als ik straks ~20 panelen monteer is het dus wel een puntje om over na te gaan denken......30% meer geen kattenpis.

Is het niet makkelijker om met een Arduino en bijvoorbeeld de Openwheather api aan de gang te gaan.
Dan hoef je helemaal niets te meten, maar maak je gebruik van de berekende plek van de zon. Ook handig als het bewolkt is.
Er zijn wel meer mogelijkheden met een Arduino om de zonpositie te berekenen, google er maar eens naar.

Op 2 december 2019 11:28:55 schreef Rob / gompy.net:
Dat is nu mijn punt, de LDR's zijn gewoon sh*t.
Ik verwijt het aan de leverancier, ik denk dat ik rejects heb gekregen omdat ze niet aan de eisen voldoen.

Met een klein beetje meer kennis over het component zou je zo niet reageren >:)
In de datasheet staat dat de weerstand bij 10lux kan variëren van 8 tot 20K.

Hoe kun je dan 2 identieke waarden meten als de meetweerstand 10K is.
Die 10k is veel te laag als je spanning wilt meten, die 10k is goed om de Vbe van een transistor te schakelen.

Als je 2 metingen wilt vergelijken moet je die eerst afregelen en daarvoor kies je best een 220k trimmer in serie (tvv de 10K) bij elke LDR.

Bij een standalone toepassing heb je dat probleem niet.

Ze zijn mettertijd wel gevoelig aan vocht, maar moesten we alle bewegingsmelders wegnemen waar zo'n LDR inzit dan zou je er maar weinig meer zien.
De schakeling inspuiten met plastiekspray is ook mogelijk.

LDmicro user.
Sine

Moderator

Daarom in brug, dan wordt het verschil veel duidelijker.

De elcheapo buitenlampjes hebben ze inderdaad nog wel, hoewel dat ook steeds meer fotodiodes worden.

Arco

Special Member

Ik zou digitale uv sensors nemen met i2c. Maar als je ldr's wilt nemen, zet dan de horizontale parallel en de vertikale ook.
De weerstand van de cellen is dan irrelevant: draaien in de richting waar de weerstand lager wordt...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Hensz

Golden Member

Op 2 december 2019 11:28:55 schreef Rob / gompy.net:
Stel het is 16 uur, de zon staat dus in het westen maar daar hangen pik zwarte donderbuien.
het licht uit het westen is dus minimaal, maar in het zuiden is er nog een kraak heldere lucht......waarom zou ik dan het paneel op die pikzwarte lucht gaan richten (wat dan veel minder opbrengt) ipv dat ik het paneel naar het zuiden laat draaien waar veel meer licht is ?
De logica om dwangmatig toch naar het westen te draaien ontgaat mij een beetje.

De logica om op heldere lucht te richten ontgaat mij. Als er een donderwolk voor de zon hangt kan het aan de andere kant nooit heldere lucht wezen. Daar is namelijk geen zon. Van die zon moet je het hebben, meer 'lampen' staan er niet aan de hemel.
Komt nog bij dat tegen de tijd dat jij je panelen de andere kant op gedraaid hebt (even aangenomen dat daar echt, gemeten(!) meer licht vandaan komt), de donderwolk weg is en je je panelen weer terug kunt draaien.
Komt nog bij dat je nu gaat zitten aanpassen voor een situatie, áls die al voorkomt maar eens per jaar je paneel voor een half uur in de relatieve schaduw zet. Is het echt noodzakelijk voor de opbrengst om dat laatste half uur van de meer dan 4000 uur per jaar ook te 'pakken'?

Don't Panic!

Op 2 december 2019 11:28:55 schreef Rob / gompy.net:
@SparkyGSX
Een Arduino is niet gesmaakt om stroom te meten (zou makkelijker zijn, bv 4-20mA industrienorm) dus zal het helaas moeten doen met spanning.

Werkelijk waar zeg! Ik schrijf een post van 4 regels en zelfs dat is teveel om helemaal te lezen?

De spanning over zo'n fotodiode zegt niets als hij onbelast is, dus je moet er een weerstand overheen zetten, en ik heb je voorgerekend dat een weerstand van 5k ongeveer goed zou zijn. Vergeet alsnog de 100nF naar de ground niet (die staat dus ook parallel met de weerstand en fotodiode).

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 2 december 2019 13:37:31 schreef Arco:
Ik zou digitale uv sensors nemen met i2c. Maar als je ldr's wilt nemen, zet dan de horizontale parallel en de vertikale ook.
De weerstand van de cellen is dan irrelevant: draaien in de richting waar de weerstand lager wordt...

Mmmh, Als de weerstand van de twee parallel geschakelde sensoren kleiner wordt omdat er op een van de twee meer licht valt, hoe weet je dan in welke richting je moet draaien?
Of begrijp ik je bedoeling niet helemaal?

Niet alles wat op internet staat is waar... Dat geldt ook voor CO.
Arco

Special Member

Je ziet toch meteen welke kant je op moet? (indien verkeerd, andersom)
Daarna opslaan en gebruiken als referentie.

Daarbij draait de aarde elke dag in dezelfde richting, dus dat is ook al een aanwijzing... ;)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Vele willen meepraten, maar hebben geen idee waar ze het over hebben.
De opstelling staat al ruim twee jaar te draaien dus ik weet echt wel waar ik het over heb.
Maar ja, zoals wel vaker hier is afbranden leuker dan oplossen.

Alle bedankt, ik ga mijn heil (oplossing) ergens anders zoeken.

Dat is nu mijn punt, de LDR's zijn gewoon sh*t.

Een beetje grof ven er kort door de bocht dit. Ten eerste bestaan er LDR'die ingegoten en wel geen last meer hebben van vocht. Dat betekend dus gewoon de juiste kopen met de juiste specs. En tja dat kan geld kosten. foto transistoren en foto diodes hebben kaal vaak meer last van thermische onstabiliteit dan LDR's enzo.

Alleen iemand met weinig kennis van electronica verzint het om een sensor direct aan te sluiten op de ingang van een AD converter. Bij elke sensor moet je een meetschakeling of andersoortig circuit toevoegen dat de waarde die de sensor afgeeft dusdanig omvormt naar een waarde die je meetinstrument (bij de TS is dit dus de AD converter) slikt.

In de oude tijd werden er speciale meetinstrumenten gemaakt die uitsluitend geschikt waren voor een bepaald type sensor. Een thermokoppel geeft een zeer lage gelijkspanning af die je zult moeten meten met een zeer gevoelige milivoltmeter waarop dan een schaal in °C opzit. Een NTC heeft een bepaalde weerstand die je moet meten met een weerstandsmeter waarop dan een schaal ook weer beschreven met °C. En dit soort van dingen geld voor eigenlijk alle sensoren variërend van LDR's, NTC's, PTC's, fototransistors, fotomultipliers, of lambda sensoren (uit de auto) enz. verzin het maar. Elke sensor heeft gewoon zijn eigen karakteristieken waarbij een bepaalde meetschakeling hoort om hem goed te laten meten.

Een Arduino is niet gesmaakt om stroom te meten (zou makkelijker zijn, bv 4-20mA industrienorm) dus zal het helaas moeten doen met spanning.

Die analoge ingang op bijvoorbeeld een arduino is helemaal geen meetingang. Het is de ingang van een ad converter. En het enige dat die ingang doet is de spanning die er op wordt gezet, wordt omgezet in een getal. Bij een 8 bits converter is het kleinste getal dus 0 en grootste getal dus 255. Meestal wordt dat vertaald naar een ingangspannings bereik dat loopt van 0 tot 2,55 volt. Stop je er meer in dan die 2,55 volt dan gaat je converter (in het geval van de ts dus de arduino) stuk. Gelukkig is er tegenwoordig veel beveiligd en zal dat dus wel mee vallen.

Er is altijd een meetschakeling nodig die zorgt dat het meetelement binnen het meetbereik werkt de boel stabiliseert en de meet waarde in de juiste vorm aan het meetinstrument presenteert. Een plc bijvoorbeeld heeft vaak al meetschakelingen in zich. Dan heb je dus ingangen van 0 tot 10 volt of 4 tot 20mA. In de PLC zit dus ook gewoon een soort arduino met een hoop meetschakelingen en beveiligingen er omheen gebouwd. Daarom is het een PLC. Een CPU zoals de arduino is maar een los component zonder al die extra's. Dan moet je ook niet lopen klagen maar de arduino weggooien en een dure plc kopen met een paar industriële lichtsensoren erbij.

Maar terug naar de LDR's:

Om goed te meten zul je aan een reeks eisen moeten voldoen:

Zorg voor een zeer stabiele voedingspanning die goed ontstoord is en bij een groot temperatuur bereik stabiel blijft.

Bouw een temperatuurcompenstatie in het systeem.

Zorg dat je het volledige bereik van je AD converter gebruikt.

Neem ook maatregelen voor je arduino. En dan bedoel ik ruis en storingsonderdrukking en ook een stuk temperatuur compensatie. Een AD converter is een complex apparaat waar veel in mis kan gaan. Jouw problemen kunnen ook best misschien deels in die AD converter ontstaan als die warm wordt.

Geef je arduino een eigen stabiele voeding. (De arduino kan storen op de voeding van de meetschakeling.)

Het idee van Sine is zeker niet verkeerd. Zet elke LDR in een brug van wheatstone. Als temperatuurcompensatie zou je in elke brug misschien een tweede LDR kunnen opnemen die je permanent in het donker zet of beter misschien belicht met een constante lichtbron uit bijvoorbeeld een led. Dan gebruik je dus wel 8 LDR's

Zorg dat alle LDR's van hetzelfde type en liefst ook dezelfde batch zijn.

Neem die gesealde LDR's zoals die op het plaatje.

LDR's worden al heel lang gebruikt ook in veel dure meetinstrumenten. Ze zijn echt niet slecht ofzo, maar hebben gewoon wel hun eigenschappen zoals alle sensoren.

Arco

Special Member

ik ga mijn heil (oplossing) ergens anders zoeken.

Grumpy was een betere naam geweest als Gompy... ;)
(dat jij je LDR's niet op de juiste manier inzet kunnen wij niks aan doen...)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Ik gebruik fototransistoren steeds in serie met een weerstand. De spanning over de weerstand geeft dan de hoeveelheid licht weer. Kan je prima meten met een ADC. Zie hier : http://wiki.robotmc.be/index.php/Lijnvolgen#Het_schema.2C_hoe_de_senso…

Sine

Moderator

Het brug idee bedoelde ik wat simpeler.

De andere "helft" van de brug kun je digitaal doen, 2.5V = 0

Op 2 december 2019 17:13:50 schreef Rob / gompy.net:
Maar ja, zoals wel vaker hier is afbranden leuker dan oplossen.

Alle bedankt, ik ga mijn heil (oplossing) ergens anders zoeken.

Je doet je naam in ieder geval eer aan; bij ons is "een gompy" een eufemisme voor een geestelijk gehandicapte.

Gebruikers als deze driftkikker maken dat ik groot voorstander zou zijn van een karma systeem op CO.

[Bericht gewijzigd door SparkyGSX op maandag 2 december 2019 20:56:11 (36%)

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken