Bauplan Schaltplan Quellcode LCD Impuls / Frequenz Zähler in Assembler für Geiger Zählrohre

Die Genauigkeit bei 1MHz liegt im ppm-Berich des Quarzes.

Leider haben es die Ereignisse der letzten Monate und Wochen uns wieder schmerzhaft in Erinnerung gebracht, dass Atomkraft mit sehr realen Risiken behaftet ist. Nun ist das Kind in den Brunnen gefallen, und in Japan ist Strahlung in erheblichem Masse ausgetreten. Aber auch bei uns finden sich in der Umwelt noch Spuren des Atomunfalls in Russland vor 25 Jahren. Gar nicht auszudenken, wenn bei uns in der Nähe ein Störfall auftreten würde. Wie auch immer, zumindest messtechnisch kann man hier eine gewisse Vorbereitung treffen so dass man zumindest für sich selbst eine grobe Abschätzung von Strahlenbelastung und damit verbundenen Gefahren treffen kann.

Strahlenmessgeräte für den privaten Gebrauch arbeiten in der Regel alle nach demselben Prinzip: Ein Zählrohr erzeugt bei jedem erkannten radioaktiven Zerfall einen Impuls. Wenn man nun diese Impulse für eine gewisse Zeit, meist eine Sekunde oder eine Minute, zählt, kann man Rückschlüsse auf die herrschende Belastung durch Strahlung schliessen. Die Anzeige dieser Impulse übernimmt ein geeignetes Messgerät.

Und hierfür sind Mikrocontroller geradezu wie geschaffen. Sie erfüllen alle Vorrausetzungen, um Impulse pro Zeit zu zählen. Die Anzeige kann dabei praktischerweise im Klartext auf einer LCD Anzeige erfolgen.

Diese Software erfüllt genau diesen Zweck: Sie zählt die Anzahl positiver Flankenwechsel am T1 Eingang eines Atmel Mega Controllers. Damit diese Software auch für andere Anwendungen einsetzbar ist, habe ich einen relativ grossen Anzeigebereich von bis zu sieben Stellen vorgesehen. Die Funktionsweise ist dabei recht einfach:

Hier der Link zum Quellcode.

Timer1 wird so konfiguriert, dass er positive Flanken am T1 Eingang zählt. Weiterhin wird Timer1 so konfiguriert, dass er alle 10000 Impulse einen Interrupt erzeugt und sich automatisch zurücksetzt. Wurden 10000 Impulse gezählt, wird für jeden Überlauf ein weiterer Zähler erhöht, welcher die höheren 3 Stellen des Messergebnisses direkt abbildet.

Mit Timer0, unterstützt durch Software-Zähler wird ein periodischer Interrupt erzeugt, der alle Sekunde oder Minute (im Quellcode einstellbar) den aktuellen Zählerstand in einen Zwischenspeicher schreibt, von wo aus er dann auf dem LCD ausgegeben wird. Eine kleine Besonderheit weist die Ausgaberoutine auf: Hier arbeitet eine Mischung aus Dezimalzähler und Binärzähler. Die Stellen 0 bis 9999 werden direkt aus dem TCNT1 Register übernommen , die führenden 3 Stellen stammen aus einem dezimal arbeitenden Software-Zähler.

Damit hat man schonmal einen Teil eines funktionierenden Geiger-Zählers. Die analoge Signalaufbereitung ist dann wieder ein anderes Thema, hier benötigt man noch eine Schaltung, welche die Impulse eines Zählrohrs oder einer z.B BPW34 Fotodiode in passende Spannungen für den Controller umwandelt. Im einfachsten Fall kann dies ein geeignet dimensioniertes MonoFlop aus Transistoren sein. Aber das ist Material für ein anderes Projekt.

Entwickelt wurde die Software auf einem STK500 mit dem Atmel Mega32 Prozessor, welcher mit einem 3.6864 MHz Quarz läuft.

Bauteile für dieses Projekt - Anzeigen:
Aktive Bauelemente

Passive Bauelemente


Weitere Informationen,Grundlagen,Bauanleitung,Schaltplan, Links zum Thema
Anzeigen:

Neueste Artikel
Anzeigen:
Aktuelle Newsbeiträge
Sie sind Besucher Nr. 1211987