Komora jonizacyjna, to urządzenie składające się z dwóch elektrod do których doprowadzane jest stałe napięcie, co powoduje powstanie pola elektrycznego w jej środku. Gdy kwant promieniowania "uderzy" w atom gazu znajdującego się w komorze, "rozbija" go na dwa jony (dodatni i ujemny), które są przyciągane do elektrod (dodatni do ujemnej i vice versa). Mierząc prąd płynący między dodatnią, a ujemną elektrodą, będzie on proporcjonalny do ilości tych jonów, zaś to będzie proporcjonalne do mierzonego promieniowania. By te jony powstały, do elektrod trzeba doprowadzić stałe napięcie polaryzujące.
Utrudnieniem jest, że wspomniane prądy są małe, więc wymagają dużego wzmocnienia, co zaś wymaga m.in. starannego filtrowania zasilania, oraz ekranowania, by urządzenie się nie wzbudzało.
Architektura
Założeniem było, by urządzenie można było pozostawić same sobie i zdalnie je flashować, czy też pobierać z niego dane. Zostało to zrealizowane przez dodanie Raspberry Pi, do której podpięty jest zarówno programator, jak i przelotka UART/USB.
Sensor zrobiłem z laminatu i folii aluminiowej, którą połączyłem samoprzylepną taśmą aluminiową. wewnętrzna elektroda jest zrobiona z drutu srebrzonego. Sensor nie jest wypełniony żadnym gazem, nie jest szczelny, więc jest tam po prostu zwykłe powietrze.
Część elektroniczna
Pierwotnie do wytworzenia napięcia polaryzującego, miałem w planach użycie przetwornicy, jednak okazało się, że napięcie 12V z baterii jest wystarczające. Sygnał z komory trafia do wzmacniacza transimpedancyjnego, w pętli sprzężenia znajdują się szeregowo dwa rezystory o wartości aż 50G. Połączenie owych rezystorów, elektrody komory jonizacyjnej i nóżki wzmacniacza musi być wykonane w powietrzu, by uniknąć pasożytniczych rezystancji.
Poniżej znajduje się render w KiCADie, oraz rzeczywiste urządzenie (wiem, fotka jest dość niskiej jakości, ale nie mam, jak zrobić lepszej, bo nie mam teraz tego urządzenia przy sobie).
Część programistyczna
Sygnał analogowy trafia do przetwornika ADC, i jest zbierany przez procek - tu użyłem dość mało popularnego STM8. Zaskoczeniem było dla mnie, że GCC nie obsługuje tych procesorów, zaś poświęcony im SDCC nie umie wycinać z binarki funkcji, które nie są używane! Do komunikacji z hardwarem użyłem stdperiph. Komunikacja ze światem zewnętrznym jest jednokierunkowa (urządzenie wysyła pomiary co kilka sekund) za pomocą UARTa.
Soft na procka napisałem w C. Pobieranie danych po stronie maliny jest wykonywane przez skrypt w Pythonie, dane są wizualizowane skryptem w R. Użyłem R, mimo, że Python też ma biblioteki do tworzenia wykresów, bo dużo bardziej podobają mi się wizualnie te w R.
Dokumentacja powstała w LATEXie.
Pomiary
Poniżej znajdują się dane pomiarowe zebrane za pomocą urządzenia.
Hardware, software, dokumentacja i wszystko inne dostępne jest na GitHubie: https://github.com/RobertGawron/IonizationChamber
Zrzut repozytorium:
Utrudnieniem jest, że wspomniane prądy są małe, więc wymagają dużego wzmocnienia, co zaś wymaga m.in. starannego filtrowania zasilania, oraz ekranowania, by urządzenie się nie wzbudzało.
Architektura
Założeniem było, by urządzenie można było pozostawić same sobie i zdalnie je flashować, czy też pobierać z niego dane. Zostało to zrealizowane przez dodanie Raspberry Pi, do której podpięty jest zarówno programator, jak i przelotka UART/USB.
Sensor zrobiłem z laminatu i folii aluminiowej, którą połączyłem samoprzylepną taśmą aluminiową. wewnętrzna elektroda jest zrobiona z drutu srebrzonego. Sensor nie jest wypełniony żadnym gazem, nie jest szczelny, więc jest tam po prostu zwykłe powietrze.

Część elektroniczna


Pierwotnie do wytworzenia napięcia polaryzującego, miałem w planach użycie przetwornicy, jednak okazało się, że napięcie 12V z baterii jest wystarczające. Sygnał z komory trafia do wzmacniacza transimpedancyjnego, w pętli sprzężenia znajdują się szeregowo dwa rezystory o wartości aż 50G. Połączenie owych rezystorów, elektrody komory jonizacyjnej i nóżki wzmacniacza musi być wykonane w powietrzu, by uniknąć pasożytniczych rezystancji.
Poniżej znajduje się render w KiCADie, oraz rzeczywiste urządzenie (wiem, fotka jest dość niskiej jakości, ale nie mam, jak zrobić lepszej, bo nie mam teraz tego urządzenia przy sobie).


Część programistyczna
Sygnał analogowy trafia do przetwornika ADC, i jest zbierany przez procek - tu użyłem dość mało popularnego STM8. Zaskoczeniem było dla mnie, że GCC nie obsługuje tych procesorów, zaś poświęcony im SDCC nie umie wycinać z binarki funkcji, które nie są używane! Do komunikacji z hardwarem użyłem stdperiph. Komunikacja ze światem zewnętrznym jest jednokierunkowa (urządzenie wysyła pomiary co kilka sekund) za pomocą UARTa.
Soft na procka napisałem w C. Pobieranie danych po stronie maliny jest wykonywane przez skrypt w Pythonie, dane są wizualizowane skryptem w R. Użyłem R, mimo, że Python też ma biblioteki do tworzenia wykresów, bo dużo bardziej podobają mi się wizualnie te w R.
Dokumentacja powstała w LATEXie.
Pomiary
Poniżej znajdują się dane pomiarowe zebrane za pomocą urządzenia.

Hardware, software, dokumentacja i wszystko inne dostępne jest na GitHubie: https://github.com/RobertGawron/IonizationChamber
Zrzut repozytorium:
Cool! Ranking DIY