Deprecated: Required parameter $where_condition follows optional parameter $wtable in /mnt/web204/d1/77/5753477/htdocs/radon/wp-content/plugins/wassup/lib/wassup.class.php on line 1314 Impulsmessung, Messwertverarbeitung und Datenspeicherung mit Arduino nano – Radon und -Folgeprodukte

Die von der Detektor-Verstärkereinheit erzeugten Impulse müssen registriert und gespeichert werden. Dazu habe ich getestet, ob das mit Hilfe eines Arduino nano möglich ist. Die Impulse werden auf einen Analogeingang gelegt und dieser fortlaufend in einer Schleife abgefragt, ob ein festzulegender Schwellwert überschritten wird. Ist das der Fall, soll das Ereignis als Impuls interpretiert und gezählt werden. Die Impulse haben eine Amplidude von 0,2 bis 2 V beim Verstärker Variante 1 mit Bipolartransistoren  und 0,1 bis 0,5 V bei Verstärker Variante 2 mit OPV; können also vom ADC des Arduino verarbeitet werden. Das Problem ist die Impulsdauer von ca. 100μs. Bei meinen Versuchen führte das dazu, dass nicht alle Impulse gezählt wurden. Wahrscheinlich ist die Taktzeit des Arduino in der normalen Konfiguration zu groß.

Deshalb werden die vom Verstärker erzeugten Impulse noch über eine Kombination von Komperator und monostabilen Multivibrator in Rechteckimpulse mit 300μs Impulslänge umgeformt. Über die einstellbare Triggerschwelle werden kleine Impulse, die nicht von Alphateilchen erzeugt werden (Rauschen, Impulse von Beta- oder Gammastrahlung) diskriminiert. Die Rechteckimpulse haben eine Amplidude in Höhe der Betriebsspannung  Ub. Der ADC des Arduino ist jedoch für Spannungen von 0 bis 5V ausgelegt. Deshalb muss noch ein Spannungsteiler verwendet werden. In meiner Version mit Impulsformung habe ich die Rechteckimpulse auf ca. 2V reduziert. Der Schaltungsaufwand für die Impulsformung ist insgesamt gering (siehe Schaltbild unten).

Für eine komfortable Messung verwende ich folgende weitere Zubehörteile für die Messung:

  • SD-Speicherkarte zur Speicherung der Messwerte ,
  • LCD-Display, 2-zeilig zur Anzeige von Messwerten und
  • RTC-Modul für die Einbindung von Echtzeitwerten in die Ergebnisausgabe.

Alle Module sind preiswert als Zubehör für den Arduino erhältlich. Die notwendigen Bibliotheken gibt es alle im Netz oder sind bei der Standardinstallation der Arduiono-Software bereits enthalten.

Für Messungen von Thoronfolgeprodukten muss die erforderliche Pumpe noch über ein Relay zeitgesteuert geschaltet werden. Für die ausschließliche Messung von Radonfolgeprodukten ist das Relay nicht erforderlich.

Zur direkten Ausgabe von Messwerten wurde ein 2-teiliges LCD-Modul verwendet. In die erste Zeile habe ich das nach Ablauf der Zählzeit berechnete Ergebnis für die Messgröße EEC und in die 2. Zeile die bis dahin während der jeweiligen Zählzeit akkumulierten Impulse geschrieben. Der Messwert für EEC wird nach der in der Seite „Grundlagen der Messung“ beschriebenen Gleichung  mit dem programmintern festgelegten Kalibrierfaktor berechnet (die Bestimmung des Kalibrierfaktors wird später in der Seite „Auswertung“ beschrieben). Die Impulszahl wird im Abstand von 10 Sekunden aktualisiert.

Bild: LCD-Anzeige für Messwert und Impulszahl

 

Bild:  Blockschema des Aufbaus der Auswerteelektronik

Bei meinem Aufbau habe ich das Poti zur Kontrasteinstellung des LCD-Displays auf der Platine der Impulsformung eingebaut; deshalb die dünne Verbindung LCD-Impulsformung. Die Belegung der Arduino-Aus- und  -Eingänge für die Zusatzgeräte LCD-Display, SD-Kartenmodul und RTC ist weiter unten beschrieben.

Das von mir verwendete Relay benötigt eine 5V- Spannung, die vom Arduino entnommen werden kann. Um diesen nicht zu hoch zu belasten habe ich die 5V- Spannung allerdings, anders als im Blockschaltbild dargestellt, separat über einen Baustein zur Spannungsregulierung  aus der Betriebsspannung erzeugt.

Schaltbild der Impulsformung  (der Teil Komperator  wurde ebenfalls dem Artikel von Burkhard Kainka in der Zeitschrift Elektor 06-2011, entnommen, der Timer aus dem Netz.)

Das folgende Bild zeigt die Impulse nach der Impulsformung (Raster 200 μs)

Verwendete Bauteile:

  • LCD: LCD-Modul 1602 für Arduino, weiß auf blau mit Hintergrundbeleuchtung
  • RTC: Typ DS 3231 AT24C32 IIC Real Time Clock Memory Modul RTC für Arduino
  • SD-Modul: Micro Speicher SD TF Karte Memory Card Shield Modul SPI Reader für Arduino

Die Bibliotheken sind über die Arduino Referenz, auch mit Beispielprogrammen, verfügbar.

Ich habe für den Betrieb der Zusatzmodule folgende Zuordnung der Aus- und Eingänge zum Arduino verwendet:

Anschlussbelegung Arduino – LCD-Display  (4-Bit- Version)

Arduino           LCD-PIN          Bez.

Gnd. –                        1                    Vss

5V-                             2                    VDD

ext. Poti –                  3                  Kontrast (0-5V)

D2-                             4                   RS; Register select

Gnd.-                          5                   RW; Read/Write

D3-                              6                   E; Enable

D4-                             11                   Datenbit

D5 –                            12                   Datenbit

D6 –                            13                   Datenbit

D7 –                            14                   Datenbit

5V –                             15                   LED-Beleuchtung Anode

Gnd. –                         16                    LED-Beleuchtung Katode

 

Anschlussbelegung Arduino  –   SD-Modul

Arduino          SD-Modul

D10 –                CS slave select

D13 –                SCK serial clock

D11 –                 MOSI master out slave in

D12 –                MISO master in slave out

5V –                   Vcc

Gnd. –               Gnd.

Anschlussbelegung Arduino – RTC

Arduino                RTC

A5 –                           SCL

A4 –                           SDA

5V –                            Vcc

Gnd. –                        Gnd.

Die Zuordnung sollte jedoch für die verwendeten Bauteile noch ein Mal überprüft werden.

Es ist sicher vorteilhaft, den kompletten Aufbau zur Signalverarbeitung schrittweise erst mal auf einem Experimentier-Stecksystem aufzubauen. Insbesondere die Widerstandskombination am Eingang des Komperators  muss evtl. an die Impulshöhe am Verstärkerausgang  angepasst werden.

Die Verwendung der  Arduino- Ein/Ausgänge kann auch geändert werden. In diesem Fall müssen natürlich auch die Eintragungen im Setup des Beispiel-Sketches, den ich zur Verfügung stellen möchte (am Ende der Beschreibung zur Auswertung der Messergebnisse), geändert werden.

Aufbau der Messwertdatei

Das Ergebnis der Impulszählung wird auf der SD-Karte gespeichert. Die Messwertdatei  ist eine reine Textdatei und sollte eigentlich nur einen Datensatz aus  Datum/Uhrzeit und der Zahl der in der Messzeit registrierten Impulse pro Messpunkt enthalten. Für die Auswertung der Messgröße EEC oder PAEC für Radonfolgeprodukte kann jedoch eine weitere Ergebnisspalte geschrieben werden. Dazu ist der Kalibrierfaktor in den  Sketch einzugeben. Die Bestimmung des Kalibrierfaktors wird später in der Seite „Auswertung“ beschrieben. Es ist jedoch zu empfehlen, die Berechnung der Messgröße aus den Impulswerten nach Beendigung der Messung mit einem Tabellenkalkulationsprogramm neu durchzuführen, da der exakte Kalibrierfaktor evtl. aufgrund einer nachträglichen Durchsatzmessung geändert werden muss. Die Verwendung des Kalibrierfaktors ist jedoch für die Anzeige im LCD-Display sinnvoll, um eine orientierende Information bei der Messung zu erhalten. Die Thoronfolgeprodukmessung ist ohnehin nur offline unter Verwendung eines Tabellenkalkulationsprogramms möglich.

Datum und Uhrzeit werden im Programm-Sketch aus dem RTC-Modul ausgelesen. Dazu muss die Uhrzeit auf dem Modul noch eingestellt werden. Dafür habe ich einen Sketch  aus der Arduino Reference verwendet.

Beispiel für den Aufbau der Messwertdatei:

lfd. Nr.; Datum/Uhrzeit; Imp_Rn;  EEC_Rn
0;                                        ;                ;       Bq/m3
1          ; 7.6.2017 9:46     ;      35     ;           10
2          ; 7.6.2017 10:46   ;       70     ;          21
3          ;7.6.2017 11:46     ;       54     ;          16
4          ;7.6.2017 12:46    ;       57      ;          17
5          ;7.6.2017 13:46    ;        37     ;          11
6          ;7.6.2017 14:45    ;        52     ;          15
7          ;7.6.2017 15:45     ;        37     ;          11
8          ;7.6.2017 16:45    ;        67      ;         20
9          ;7.6.2017 17:45     ;        82     ;         25
10        ;7.6.2017 18:45     ;      128     ;         39
11         :7.6.2017 19:45     ;      118      ;         36
12         ;7.6.2017 20:45    ;     122      ;         37
13         ;7.6.2017 21:45     ;     147      ;         44
14         ;7.6.2017 22:45    ;      154     ;          47
15         ;7.6.2017 23:45    ;      166     ;          50
16         ;8.6.2017 0:45      ;      189     ;          57
17         ;8.6.2017 1:45       ;      163     ;          49
18        ;8.6.2017 2:45       ;       154     ;          47
19        ;8.6.2017 3:45       ;       186     ;          56
20       ;8.6.2017 4:45       ;       209     ;          63
21        ;8.6.2017 5:45       ;       204     ;          62

 

 

Vorbereitende Messung

Nach Fertigstellung der Baugruppen Verstärker und Messwertgewinnung kann der komplette Aufbau getestet werden. Wie bereits erwähnt sollte man überprüfen, ob alle vom Verstärker erzeugten Impulse durch den Arduino registriert werden. Dazu schlage ich folgende Reihenfolge vor:

  • Ein Filter mit Folgeprodukten beaufschlagen: Dazu kann man Luft durch ein Filter von ca. 5 mm  Durchmesser (siehe Punkt “Luftansaugung“) entweder über die eingebaute Pumpe oder eine externe Pumpe saugen;
  • Filter auf die Detektoröffnung legen;
  • Registrierung mit Arduino starten (auf Speicherkarte ausgeben oder per seriellen Monitor ausgeben lassen);
  • synchron mit einem Oszillografen (am besten Speicher Oszi) die Impulse in einem angemessenen Zeitraum (1 Minute) zählen;
  • beide Zählungen vergleichen.

Beachte: geringe Abweichungen sind möglich, weil man auch mal einen Impuls verpasst; diese kommen ja wegen der stochastischen Natur des radioaktiven Zerfalls nicht gleichmäßig. Deshalb sollte man das schon ein paar Mal wiederholen.

Einfacher geht der Test jedoch, wenn man ein Material, das Alphastrahlung aussendet, zur Verfügung hat.

Die von mir verwendeten Programme stelle ich zum Download zur Verfügung

Radonfolgeproduktmessung; kontinuierlich
Radon- und Thoronfolgeproduktmessung; diskontinuierlich

Als nächstes beschreibe ich das System zur Luftansaugung.

 

Zur Startseite

Deprecated: Required parameter $type follows optional parameter $pages in /mnt/web204/d1/77/5753477/htdocs/radon/wp-content/plugins/wassup/lib/main.php on line 1423 Deprecated: Required parameter $axes_type follows optional parameter $Search in /mnt/web204/d1/77/5753477/htdocs/radon/wp-content/plugins/wassup/lib/main.php on line 1756 Deprecated: Required parameter $chart_bg follows optional parameter $Search in /mnt/web204/d1/77/5753477/htdocs/radon/wp-content/plugins/wassup/lib/main.php on line 1756