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:
#define INPUT_PIN A1
#define INPUT_REF_PIN A0
const int sample_rate = 500;
const int number_of_samples = 200;
void setup() {
pinMode(INPUT_PIN, INPUT);
pinMode(INPUT_REF_PIN, INPUT);
analogReference(INTERNAL);
Serial.begin(115200);
}
void loop() {
int adc_input[number_of_samples], adc_input_ref[number_of_samples], i;
long start_us;
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 )) {
}
}
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