Photo-electric Autocollimator Uitleeskast

Yes!! het is mij (jullie dus ;) ) gelukt om iets te meten.
Ik heb het schema van Aart aangehouden en kon al met vrij weinig spanning (2VDC) op de LDR zien dat de amplitude van de golf veranderde naar mate ik afweek van de 0 positie van de autocollimator.
Hoe meer spanning ik op de LDR zet hoe meer amplitude ik krijg. Ook verminderd de frequentie naarmate de spanning oploopt. Tenminste dat meet ik met de scope op kanaal 2.
Ik heb de labvoeding op 11mA maar die laat niet zien dat er stroom loopt?

Heb kanaal 2 op 50mV moeten zetten om de sinus golf te kunnen zien.
En ben niet verder gegaan dan 10VDC op de LDR.
Het signaal is ook aardig vertroebelt?

Ik heb wat fotos bijgevoegd van de resultaten. En de meet opstelling, als je het dat al kunt noemen :+

Hoe kan ik nu het beste verder?

Ha DDijkman,

Heeeee daar zie ik in ene wat foto's netjes :)
Ik zal straks eerst even de documentatie lezen die je op het draadje gezet heb.
Maar goed nu heb je gezien dat de chop in werkt ( modulator ) ziet er iets anders uit als de moderne techniek lampje en triller zijn niet zo snel :S
Maar er is duidelijk modulatie te zien met wat fantasie zelf een blokje.......

Nu de volgende stappen dat is een versterker en een chop out ( demodulator )!
Nu wilde @Aart proberen om met de Arduino direct op de ADC te lezen maar ik denk dat de signalen te klein zijn.
Ik ken van die moderne processors niet het ruis niveau aan de ingang van de ADC maar......

Ik zou de acquisitie analoog doen of je moet de chop out digitaal oplossen maar of dat in de chip past :?
Naar mijn mening analoog gewoon en paar honderd keer versterken en door middel van een balans modulator draaggolf is uiteraard 50 Hz de versterkte DC spanning terug winnen en filteren en daarna naar de Arduino.
Het doel van de hele sessie is de kleine DC spanning omzetten naar een AC spanning zodat de offset en 1/f ruis minder invloed hebben tijdens het versterken.
Je kunt dan met een schoon signaal de digitale bewerking en eventueel amplitude weging doen en zelfs digitaal nog iets filteren.

Jammer is dat we geen gebruik kunnen maken van een kant en klaar chipje omdat daar de chop in ook aan boord zit en op een veel hogere frequentie.
Of je zou af kunnen afstapen van de sled en de foto geleidende cel direct aansturen maar dat is misschien zonden van de authenticiteit.
Ik zal proberen voor het experiment met een transistor een schemaatje te uploaden dan zie je alweer meer :P

PS: een voorzet om een en ander beter te kunnen bestuderen een kijken waar we uitkomen

Met dit simpel filter en versterker is de uitlezing op de scope waarscheinlijk beter......
Ik zal de waardes morgen uitrekenen het type Op amp is niet zo kritisch.

@Aart maar heb jij enig idee net dat type Arduino wat de ruis aan de ingang is en dan met neme de 1/f ruis de bestaande chopper gaat nu ook weer niet echt veel omhoog in frequentie !

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Leuk, dat is een hele stap :)

Als volgende zou je kunnen kijken of het lukt met de "math" functie op de scope beide kanalen te vermenigvuldigen en van het resulterende signaal met "measure" weer de gemiddelde waarde te tonen.
Volgens mij is die waarde namelijk de uitlezing die je zoekt.

Deze scope kan vast screenshotjes opslaan op USB, dat staat mooier hier op het forum.

50 mV lijkt weinig, maar bij 1V referentie zijn het al 200 (10-bits) adc ticks piek-piek, als er dan ook nog over een aantal periodes gemiddeld kan worden is het als (trage) uitlezing / nuldetector allicht prima.

Een versterker rond b.v. een TL072 is een eenvoudige schakeling, maar onderschat het niet om het succesvol op te bouwen. Ik zie hier al wat storing van buitenaf in beeld. Ook is het gemakkelijk de voeding van de spanningdeler nog wat omhoog te doen (maar ga niet verder dan 24V).

Een extra chopper is niet nodig, alles mag net zoals in het schema AC gekoppeld zijn. De gemeten mechanische positie is weliswaar "DC", maar de signaalweg is AC tot de demodulatie. Dat moet ook, bij wisselend omgevingslicht zal de DC instelling immers alle kanten op gaan.

Werken in kleine stappen werkt voor mij het beste. Succes !

Hallo Aart en Henk,

Ik heb de beide kanalen kunnen vermenigvuldigen met de "math" functie zoals je op de foto's kunt zien. Ik kan volgens mij met mijn scope helaas niet de gemiddelde waarde daarvan tonen.

Ik heb toevallig een TL072CP liggen, gaat dat hier ook mee lukken?
Ik heb een tijdje terug een hele berg voornamelijk oude componenten geërfd van mijn vader waar ik denk ik de rest ook wel in kan vinden. Ik weet alleen niet zo goed waar alles voor is en of ik er ooit wat aan ga hebben, wellicht hebben jullie hier interesse in?

En een simpele schakeling voor jullie is voor mij een week studeren ;)
Ik weet bijvoorbeeld wel wat een opamp doet; het versterkt een signaal, maar hoe dat precies werkt weet ik niet.
En de "vaktermen" die jullie gebruiken moet ik meestal ook opzoeken :+
Maar we komen er uiteindelijk wel..

@Henk, zou je die waarden nog even willen uitrekenen? Dan kan ik weer verder aan de slag.

Ha DDijkman,

Komt goed ik zal zaterdag een schema met de TL072 maken of schema is er al maar de waarden uitrekenen.
Dit een test schakeling zodat het signaal beter zichtbaar wordt op de scope aan de foto cel kan je niet goed meten je introduceert teveel storing en je moet de 50 Hz en eventueel 100 Hz kwijt.
Even voor @Aart nee het is zeker niet de bedoeling om achter de mechanische chopper nog een chopper te plaatsen maar je moet wel de chopfrequentie kwijtraken of door een chop out zelfde systeem of door een synchrone demodulator......

Het zijn mooie plaatjes maar wat is de instelling van het apparaat kan je een foto nemen helemaal uit lijn en een foto in lijn.
Uit lijn moet er een asymmetrische golfvorm ontstaat ik kan dit op de laatste twee foto's niet goed meer zien !

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Hoi Henk,

Dat is mooi, bedankt! Ik zal zelf ook even wat onderzoek doen, dat ik in ieder geval snap hoe een opamp werkt. Weet jij of Aart misschien een site of iets dergelijks waar dit soort dingen in Jip en Janneke taal word uitgelegd? Wikipedia heeft natuurlijk alle informatie maar dat word allemaal uitgelegd in vaktermen die ik ook weer moet opzoeken, of eerst 10x moet lezen voordat ik ze snap. 8)7

Ik heb wat extra afbeeldingen bijgevoegd van de autocollimator; iets uit de lijn, en "helemaal" uit de lijn. De bovenstaande foto's zijn van de autocollimator in lijn. De magenta sinus vorm is trouwens de vermenigvuldigde waarde van de gele en blauwe sinus vorm.

Ook is het nu zo dat ik niet de hele range van de autocollimator kan meten met het elektronisch oog. Als ik te ver uit de lijn ga, maar dus niet de gehele range van de autocollimator besla, word de sinus vorm bijna vlak dus er is geen modulatie meer mogelijk. Ik denk dat dit zo ontworpen is, maar ik ben wel benieuwd wat jullie hier van denken.

Groeten Dennis

Ha DDijkman,

Dit is prima dat werkt zoals verwacht ik zal zaterdag misschien lukt morgen het ontwerpje posten.
Tja een goede site kijk eens op de site van https://verstraten-elektronica.blogspot.com/
Ik kijk nog wel verder voor je .......

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Hoi Henk,
Ah daar heb ik de schakeling van mijn isolatie trafo vandaan.
Hij heeft ook een Cursus op-amp schakelingen, interessant.
Bedankt!
Dennis

Ik heb vanavond even wat testjes gedaan met de Arduino; het valt mij niet tegen. Volgens mij is de adc van de Atmega 328 (Uno e.d.) gevoelig genoeg om direct te gebruiken, met de ingebouwde 1,1V referentie.

Dit is mijn code:

c code:

 
// Test van Arduino adc voor kleine signalen
// As 130521

#define INPUT_PIN A0               // De fysieke pin 
const int sample_rate = 500;       // Tijd tussen samples in microseconde. 500 us = 2 kHz 
const int number_of_samples = 200; // Aantal samples; let op, een 328 heeft maar 2kB geheugen.. 
                                   // 200 samples met 2 kHz = 0,1s, dus 5 perioden van de 50 Hz. 

void setup() {
  pinMode(INPUT_PIN, INPUT); 
  analogReference(INTERNAL);        // 1,1 V on the 328
  Serial.begin(115200); 
}

void loop() {
  int adc_A1[number_of_samples], i;
  long start_us;      

  // Neem samples: 
  for (i = 0; i <= number_of_samples; i++) {
    start_us = micros(); 
    adc_A1[i] = analogRead(INPUT_PIN); 
    while (micros() < (start_us + sample_rate )) {
      // wacht totdat het tijd is voor het volgende sample. 
    }
  } 

  // Dump samples naar de terminal
  for (i = 0; i <= number_of_samples; i++) {
    Serial.println(adc_A1[i]); 
  } 
  
  delay(10000); 
  Serial.println(); 
  
}

Deze dumpt om de tien seconden 200 samples naar de terminal. Die copy-paste ik met de hand naar een spreadsheet.

Dit het schema en de opbouw op een mini breadboardje:

De condensator verzorgt de AC koppeling. De weerstanden van (in werkelijkheid, sorry) 1,8 M Ohm houden A1 qua DC ongeveer in het midden. Het kleine c'tje van 10 nF zorgt dat de stroom is om diverse parasitaire capaciteiten in de microcontroller onmiddelijk te laden.
Het 50 Hz signaal komt uit een HP239A oscillator.

En dit het eerste resultaat: Een scope in excel ;)

Ik zie nog wel wat mogelijke problemen en uitdagingen, maar die heeft men bij het maken van een versterker en analoge demodulator ook.
(Het getoonde versterker schema bevat overigens de nodige fouten)

Hallo Aart,

Ik heb vandaag even die schakeling en de arduino aan de autocollimator gehangen. Het onderstaande is het resultaat, je ziet wel dat er wat word gemeten maar als ik de autocollimator van de 0 positie afhaal dan gebeurt er weinig. Kan het zijn dat de ingebouwde 1,1V referentie dan te laag is?

Oh en ik heb 1,2Mohm weerstanden gebruikt, 1,8Mohm had ik niet. Maakt dit uit? Niet zoveel toch? of zit ik er weer naast?

En heb de INPUT_PIN op A1 gezet.

Nu, dat werkt een heel eind. Op de foto van de opbouw mis ik nu de weerstand van 470k ohm en de labvoeding voor de voeding van de halve brug van de ldr.
We zien dan nu enkel bromm, die niet onverwacht royaal aanwezig is ;) De iets kleinere weerstanden zullen de brug wat zwaarder belasten zodat het signaal kleiner is. Maar dat zal niet het verschil maken tussen werken of niet werken.

De condensator van 10 uF moet dan andersom, met zijn plus naar de hoogste spanning. Let op, de DC insteltijd is met tientallen seconden nu heel lang. Ik had niet goed in gedachten dat de impedantie hier 10x zo hoog is als bij audio.
Een echte condensator, dus zonder polariteit, van 1 uF of zelfs 100 nF in plaats van een elco zal beter werken met wisselend omgevingslicht.

In het originele schema is de koppel c maar 20 nF, dat zou echter wel veel verzwakking geven met 10 nF er achter. Of die 10 nF echt nodig is (bij gebruik van meerdere ingangen) en of hij kleiner kan is iets om te testen.

[edit] In de nieuwe schets ben ik zo wild geweest een filtertje in de voeding van de brug te schetsen. Mogelijk scheelt het wat, mogelijk niet.

Ah ik zat er dus weer flink naast, stom. Maar had net wel bijna zelf de nieuwe schakeling aangesloten, miste allen de 10Kohm weerstand en de 10uF elco. Die dus wel cruciaal zijn :+

Heb nog niet echt het idee dat ik het in de vingers heb zullen we maar zeggen. 8)7

Maar goed heb net even de schakeling aangesloten en onderstaand is het resultaat, nu veranderd er dus wel wat als ik de AC van de nul positie af haal. Weer een stap verder!

Btw heb een 1uF condensator gebruikt, kon geen 100nF vinden.

Hallo,
Na een paar dagen gestoeid te hebben met de schakeling en de code heb ik weer een paar vragen;

Ik heb wat gespeeld met de component waardes van de schakeling, ik krijg alleen niet echt de ruis eruit? Ik denk nu dus dat deze ruis uit de opstelling van de LDR en vibrator slede komt, niet vanaf buitenaf? Klopt dit? (heb in de tussentijd ook wat dingen verbeterd in mijn opstelling, zie foto hieronder)

Om een zinnige waarde uit de arduino te krijgen m.b.t de autocollimator zal ik de RMS waarde van de sinus moeten uitrekenen? Zit ik hier op de goede weg, of zal ik wat anders moeten verzinnen.

Ik vraag mij ook af hoe dit in de originele schakeling is gedaan?

Ha DDijkman,

Ik hou me even op de vlakte anders lopen er twee zaken door elkaar.
Je kunt nu even niet verder omdat je nog niet filtert / demoduleert.
Wat ik kan doen is de berekeningen uploaden dan kan je hardwarematig iets meer meten in afwachting van @Aart, ik weet niet of het de bedoeling is dat het een en ander in software gebeurt dat kan namelijk ook.

Als je toch ook iets met de Op amp wilt doen oké het enige wat ik moet weten is de donker weerstand zeg met een klein beetje licht Rdark meet je bij zeg 10 lux....
In de materiaal lijst staat de L.D.R. niet opgegeven zal wel geselecteerd worden nu heb je al eens gemeten wat de weerstand is bij donker en bij licht dacht ik even terug lezen !
Laat maar weten of je misschien ook de hardware wil proberen....

Daarna komt het eigenlijke ontwerp dat is de chop out dit is een synchrone demodulator met filter deze levert een DC spanning aan de Arduino in mijn opzet maar het kan zijn dat @Aart het in software kan oplossen.

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Hallo Henk,

wederom bedankt voor de snelle reactie!
Demoduleren moet met een Arduino wel te doen zijn denk ik.
Maar meer opties zijn altijd welkom, dus wellicht kan ik ook wat met de Opamp doen.
Ik heb nog eens gemeten en de weestand bij bijna donker is boven de 40Mohm , hoger gaat mijn multimeter niet. (de data die ik van anderen heb gekregen suggereert 43.4Mohm)
Als het lampje aan staat zonder de vibrator slede meet ik rond de 140Kohm.

Alvast bedankt!
Dennis

Zoals beschreven in mijn eerste post zou ik zo veel mogelijk in een (Arduino-) microcontroller doen.
Dat is misschien minder leuk maar wel eenvoudiger, flexibeler en gemakkelijker te communiceren via een forum.

Het analoge pad kan uiteraard goed, men kan dan voor de demodulatie de originele setup met een diode ring aanhouden. Simpeler kan bijna niet.

Om de volgende stappen te zetten moet ik een simulatie schakeling voor de collimator verzinnen (of er ook één op de kop tikken, maar dat is wat onzinnig voor mijn 20x20 cm vlaktafel ;)

Wat betreft de interferentie zou ik eens op een andere plek gaan zitten, "in de woonkamer", of soortgelijks, mogelijk is in de werkplaats lokaal iets als een LED lamp die erg stoort nu niets ingebouwd is. Schakelingen handig en goed opbouwen op breadboard is een kunst apart, het is vaak moeilijker dan een spin of op gaatjesprint.
Met een beetje geluk doet de interferentie er echter niet of nauwelijks toe voor de meting.

Ha Aart,

Daarom gaf ik al aan dat ik even op de achtergrond ben anders lopen er twee zaken door elkaar.
Wel zal ik nog voor @TS het filtertje uitrekenen eventueel met de TIA zodat ook daar ervaring mee opgedaan kan worden.

Ik ben vandaag nog naar mijn opslag geweest moest voor een ander draadje mijn guillotineschaar pakken ik zag een stuk van mijn collimator staan en mee genomen.
Ik zal een foto maken en posten deze is infrarood en zichtbaar licht !

@DDijkman,

Ik ben vandaag nog naar mijn pakhuis geweest voor een ander project maar liep tegen een deel van mijn colliminator aan ik heb een paar foto's gemaakt.

Dit is een test set guided missile infrared tracker van de klasse DRAGON Weapon System Equipment.
Deze werkt infra rood en visueel !

Groet,
Henk.

[Bericht gewijzigd door electron920 op maandag 17 mei 2021 23:27:57 (27%)

Everything should be as simple as possible, but not simpler.

Hallo Henk,
Erg gaaf! Nog nooit zoiets gezien, hoe werkt deze precies?
Had je het één ander nog uitgerekend? Heb even een pauze genomen van dit project, soms even nodig. Ook zou ik graag willen weten wat elk component precies doet in het schema van Aart en evt van die van jou Henk. Ik weet het wel ongeveer maar wil graag wat meer duidelijkheid, graag in Jip en Janneke taal zodat ik het ook echt snap :+
Alvast bedankt!
Dennis

Ha DDijkman,

Heel even kort ja heb ik uiteraard gedaan zal vanavond een en ander posten.
Alleen omdat @Aart met de software versie bezig is ben ik op de achtergrond aan de andere kant is het leerzaam om te kunnen meten.

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Een volgende stap; twee kanalen samplen.

In het nieuwe schema is het bovenste kanaal het referentie kanaal. Dit sampled de spanning die naar de vibrator gaat, net zoals eerder op de scope. Met twee weerstanden verzwakken we dit signaal tot een soortgelijk niveau als het meet-kanaal. Een potmeter kan ook, maar het niveau zou niet kritisch moeten zijn, als het maar in de buurt zit van het andere.
De weerstand van 33k is bij mij inmiddels 82k geworden, maar dat is net hoe het hier uitkomt.

De onderste helft van het schema bestaat uit twee delen, het deel links van de stippellijn dat bij mij de collimator simuleert, en het rechter dat gelijk is aan wat we al hadden (min de fotocel). Het linker heeft u uiteraard niet nodig :)

De condensatoren van 10n deden bij mij niets en heb ik weg gelaten.

In de code heb ik nu enkel het tweede kanaal bijgemaakt:

c code:


// Test van adc voor kleine signalen, twee kanalen
// As 200521

#define INPUT_PIN A1               // De fysieke pinnen
#define INPUT_REF_PIN A0

const int sample_rate = 500;       // Tijd tussen samples in microseconde. 500 us = 2 kHz 
const int number_of_samples = 200; // Aantal samples; let op, een 328 heeft maar 2kB geheugen.. 
                                   // 200 samples met 2 kHz = 0,1s, dus 5 perioden van de 50 Hz. 

void setup() {
  pinMode(INPUT_PIN, INPUT); 
  pinMode(INPUT_REF_PIN, INPUT); 
  analogReference(INTERNAL);        // 1,1 V on the 328
  Serial.begin(115200); 
}

void loop() {
  int adc_input[number_of_samples], adc_input_ref[number_of_samples], i;
  long start_us;      

  // Neem samples: 
  for (i = 0; i <= number_of_samples; i++) {
    start_us = micros(); 
    adc_input[i] = analogRead(INPUT_PIN); 
    adc_input_ref[i] = analogRead(INPUT_REF_PIN); 
    while (micros() < (start_us + sample_rate )) {
      // wacht totdat het tijd is voor het volgende sample. 
    }
  } 

  // Dump samples naar de terminal
  for (i = 0; i <= number_of_samples; i++) {
    Serial.print(adc_input[i]);
    Serial.print(",");  
    Serial.print(adc_input_ref[i]); 
    Serial.println(" "); 
  } 
  
  delay(10000); 
  Serial.println(); 
  
}

Het resultaat na laden in de spreadsheet, met mijn simulatie potmeter in de hoek, is dan zoiets:

De volgende stap zal enkel programmeer werk zijn, verwijderen van de DC offset, vermenigvuldigen en middelen.
Ik ben er nog niet uit wat daar handig en verstandig is.

[edit]
Ik heb die nabewerking eens even in de spreadsheet geprobeerd, en dat geeft niet het gewenste resultaat.
Dus hier moet nog iets geleerd worden, gelukkig, ik was al bang dat het een saai topic werd ;)

Hallo Aart,
Uiteraard weer bedankt voor het meedenken! Ik heb de opstelling nog niet geprobeerd maar wat ik uit de literatuur van Hilger en Watts heb onthouden is dat door de 50Hz vibrator er een 100hz signaal uit de foto cel moet komen. Als de vibrator slit precies in het midden vibreert (de Collimator is genult) dan ontstaat er een perfecte sinus, vibreert hij uit het midden zal de amplitude aan een kant van de nul lijn veranderen.
Deze 50 en 100hz signalen worden dan bij elkaar opgeteld en dan staat er dat de meter meet op 50Hz en dus niet op 100hz. De meter meet dus de sterkte van de som van de 2 signalen op 50Hz.
Tenminste dat is hoe ik het begrijp.

Er zou dus een 100hz signaal uit de foto cel moeten komen maar op mijn scope meet ik? En gebruiken we in de test opstellingen 2x 50Hz?

[edit]: Zal een LED lampje aangedreven door een stabiele DC spanning wellicht een positief effect hebben op de uitlezing?

Groeten,
Dennis

Je hebt gelijk.

Als ik aandacht heb zal ik de beschrijving nog eens goed lezen, maar het kan even duren.
Intussen zijn er mogelijk anderen die een suggestie voor simulatie hardware (liefst eenvoudig / passief) en verwerking kunnen doen ?

Van stabilisatie van de lamp zou ik niet veel verwachten.
Het zou wel kunnen dat omgevingslicht invloed heeft, maar de LDR zou zo in het donker nogal traag moeten zijn. Een beetje spelen met de opbouw; korte verbindingen, AC stroomkringen twisten en de gedeelde gnd klein houden zouden elektrisch kunnen helpen.

( Ik heb nog wat beamsplitters liggen, de verleiding is zelf een autocollimator te gaan maken, maar dan is het einde zoek ;)

Geen probleem Aart, daarom neem ik soms even een pauze van een project. Soms zie ik door de bomen het bos niet meer ;)

Oke dat zijn goede tips, ik zal wat spelen met de opstelling.

Mocht je zelf een autocollimator willen maken dan weet ik nog een mooie YouTube serie die over de opbouw, werking, component selectie, en uiteindelijk dus zelf een autocollimator bouwen gaat.

Link; https://www.youtube.com/channel/UCQfMyugsjrVUWU0v_ZxQs2Q

Ik zal ondertussen verder aan de opstelling werken.

Ha DDijkman,

Weer even mee gelezen ik zou nog de waarden aangeven maar toch even gewacht kijk wat je nu heb om te testen is eigenlijk redelijk goed.
Het wordt anders verwarrend en omdat je geen signaal analyzer tot je beschikking heb kom je niet verder.

Ik heb als filter 3,3 nF en 1 MΩ dat is het RC filter voor de Op amp met als Rf 100 kΩ en een Ri van 10 kΩ
Daar mee is de 1 / f ruis goed onderdrukt voor de systeem resolutie.

Ik zal morgen dat dan even posten ik heb nog een tabel gemaakt met de te verwachten spanningen afhankelijk van de fotoweerstand zo is bij 10 mΩ de spanning 1 V en bij 211 kΩ de spanning 22,9 V waarbij ik uitgegaan ben van dezelfde spanning als in de oorspronkelijke uitlezing.

De te ontwikkelende versie kan op een lagere spanning werken maar het werkgebied moet wel in de gaten gehouden worden aan de Rdrak kan je niets veranderen dat is dan ook de waarde die je gemeten heb, ik heb hier voor in mijn berekeningen die 10 MΩ voor genomen een hogere waarde heeft geen effect meer....

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

Hoi Henk,

Oke bedankt, maar wat ik nog steeds niet zo goed snap is dat ik op de foto weerstand dus 50Hz meet terwijl dat 100Hz zou moeten zijn.
Op onderstaande foto is de blauwe lijn dus wat er uit de foto weerstand komt.

Groet, Dennis