Ziel war,
- Konzentrationsmessung (Pool-Desi sowie Algen, über Absorption in 4 Wellenlängen RGB+UV) und Streuung=Trübung
- ohne Analog-Digital-Wandlung und ohne aufwändige externe Beschaltung
- Messung von Abschwächung des eigenen per LED ausgesandten Signals
- über eine Zeitmessung eben ähnlich der Touch-Button Routinen.
Dabei erhoffe ich mir mit Tricks mehr als 10-12 bit Auflösung.
Sozusagen mit 3 Bauteilen pro Kanal bzw. ein RC pro Messbereich (Sende- bzw Empfangs-Kanal) extern: LED, Fotodiode, und je RC-Glied(er). Fertig.
Ich möchte das Projekt dann mit nicht elektronisch vorbelasteten Menschen teilen, die eine kleine begrenzte Einkaufsliste wie ESP32 oder Arduino und ein Breadboard als Einstiegs-Ticket in primitive Spektroskopie nutzen können.
Es geht nicht um die Elektronik, sondern um die Mess-Möglichkeiten.
Der Pool ist nur ein Beispiel.
Deshalb sollte externe Beschaltung mit Spezial-ICs vermieden werden, wie komplexe Modulator- und Demodulator-Technik.
(Man kann für die benötigte Funktion das Blockschaltbild des IS471 von Sharp ansehen, der Auto-Korrelation macht.)
Trotzdem besteht das Potential, mit Pulsen über mehrere Größenordnungen mit „Bereichsumschaltung“ präzise zu messen.
Absorption wird in Durchlicht gemessen.
Streuung wird gemessen, indem seitlich in der Messkammer (ein Stück Plexi-Rohr im Rücklauf oder ein Bypass oder eingeschraubte „Fenster“ etwa) ein zweiter Empfänger oder Sender angebracht wird.
Das soll hier nicht weiter interessieren, da die Elektronik für alle möglichen Messaufgaben auch außerhalb von „Licht“ gleich ist.
Störlichtfestigkeit soll neben Elimination des Gleichanteils über ausreichend viele Messungung zu (pseudo-) zufälligen Zeitpunkten gemacht werden, eventuell mit Erkennung von Fehlmessungen.
Ich denke, dass ein RC-Glied inklusive R nötig ist, da man sonst mit unbekannten und eventuell Zustands-abhängigen inneren Widerständen von Ausgangsstufe des Microcontrollers und dem Spannungsabfall an der Sendediode als Fehlerquellen zu kämpfen hat.
Eigentlich wäre ein Stromwandler mit einem (Leistungs-) OP-Amp nötig. Der bekommt das exponentiell abfallende Spannungssignal und prägt proportional einen Strom in die Sende-LED ein. Das meinte ich mit Stromspiegel, war wohl das falsche Wort.
Denn der Strom ist genau die ausgesandte Lichtmenge, da die Effizienz in weiten Teilen konstant ist (bei konstanter Temperatur).
Prinzipiell sucht man den Sendestrom, bei dem das Signal am Empfänger gleich ist wie bei der Wasserprobe ohne zu messenden Zusatz-Stoff. Dann ist der Sender linear, der zeitliche Verlauf des Stroms in der LED bekannt, und der Empfänger sagt nur: jetzt! ist es gleich. Somit ist die Zeitdauer zwischen Start des Rechteck-Pulses und dem Zurückfallen des Phtotdioden-Eingangs auf 0 unser Roh-Messwert. Das mag mit Timer-Registern auflösend gemessen werden, wo man über 16 bit hinaus mit Interrupt-gesteuerter Erweiterung des Timer-Zählers arbeiten kann.
Der exponentielle Abfall des Stroms nach
I(t)=U0/R * e^(-t/tau) mit tau=R*C ist ja bekannt.
Das gilt aber nur, wenn keine nicht-linearen Anteile von Ausgangs-Stufe oder Diode zum Tragen kommen. Ohne R tun sie das sicher.
Stört das, muss der Op-Amp her.
Die Schaltschwelle am Empfänger - bei immer der gleichen Intensität - hat den Vorteil, dass nichtlineare Kennlinien eines Empfängers keine Rolle spielen.
(Naja, solange man die 0-Messung (Vergleichsprobe mit Wasser) ständig mitmisst mit baugleichem Gefäß, oder (wenn man das nur zu Anfang macht) auf halbwegs konstantes Hintergrundlicht achtet. Ein halbwegs linearer Sensor ist von Vorteil, ich suche günstig eine Art OPT101 (den ab 4€) in etwas besserer/gleichmäßigerer Empfindlichkeit von Rot bis UV.
Im Endausbau wird in einigen Wellenlängen gemessen, so dass man einige gelöste Stoffe unterscheiden kann.)
Hat man einmal eine solche Messung mit einem „DIY-A/D-Wandler“ geschafft, kann man dieses Prinzip auf viele Dinge, die „sensorisch“ interessieren, übertragen.
Mit Sensor-Strecke meinte ich, dass ich sowohl das anregende Signal wie auch den Empfang kontrollieren will.
Sonst konzentriert man sich meist nur empfangend auf das Messen physikalischer Größen. Da wir die Menge und das zeitliche Verhalten des ausgesandten Lichts ebenfalls kontrollieren, ist das in sich wie eine Pseudo-Regelstrecke. Wir „gestalten“ auf bestmögliche Auflösung und Linearität (etwa der Absorptionsmessung) und kleinstmöglichen Störeinfluss.
Hat man mehrere Ausgänge zur Verfügung, kann man dazu Bereichs- oder Skalen-Umschaltung betreiben. (Da die Kapazitätswerte der RC-Glieder um Größenordnungen über denen der Endstufe liegen, geht das, indem man nicht benötigte Ausgänge für R oder C Tri-State schaltet.)
(Skalen: also unterschiedliche „Frequenzbänder“ per Dimensionierung von im einfachstem Fall einem RC-Gluid: Denn je ein Filter unterteilt die Signale in eine Skale, und wenn ich mehrere orthogonale Filter nutze, bekomme ich nebenbei eine Wavelet-Analyse, also eine vollständige Aufspaltung der Eigenschaften der Strecke bezüglich des verwendeten Filters.)
Im Bedarfsfall den letzten Satz ignorieren. Oder google wavelet-analyse mit hochpass-filter bemühen, scheint zu gehen.
Hier werde ich mir die Source-Codes von wasser-erkennenden und damit das gegenüber dem „echten Finger“ ignorierenden Touchbutton-Routinen ansehen, auch wenn der Quelltext da (bei Cypress mal angesehen in PSOC Creator) tief verschachtelt ist und in Libraries vergraben.
Jedenfalls ist da immer auch eine Störsignal-Sicherheit drin.
Leider „kranken“ fertige Touchbuttons immer an Auto-Adapt, und für das absolute Messen möchte man ja gerade nicht ein Eliminieren eines langsamen Trends.
Man kann also maximal an deren Routinen lernen, wie sie etwa das Verhalten in verschiedenen Frequenzen messen, und das nur mit Pulsen und Zeitmessung.
Ich danke herzlich für die konstruktiven Inputs, auch wenn niemand auf die von mir ausgesuchte Messung analoger Signale mittels Pulsen ähnlich der in Touch-Button-Routinen zur Kapazitätsmessung verwendeten eingegangen ist.
Ich hoffe, dass die Rumpler hier genau sagen, was nicht verständlich ist, wenn ich schreibe, vielleicht auch nach dem zweiten Lesen, und bitte um präzises Feedback, wo es klemmt (statt stumpfsinniger Beleidigungen).
Wenn Innovatives, also neue Gedanken, immer so rigoros abgelehnt werden, wie hier überwiegend erfahren, nur wegen Formulierungsschwächen gar, oder weil das Einsatz-Szenario nicht „ankam“ als präzises Bild, gibt es eben keine Feedback-Kultur, das wäre ein schlimmes Symptom für MC net.
So weit ich weiß, hat jeder Microcontroller als einen Input-Mode eine Art Komparator, und mehr braucht es nicht.
Bleibt abzuwarten, wie sehr der dann rauscht.
Soweit ich weiß, hat noch niemand hier ein Projekt gemacht, wo man ohne weitere Bauteile den D/A oder A/D Wandler selbst gestaltet für eine Signal-Strecke.
Gruß!
Andi