Kiedy ostatni raz mieliście okazję obserwować zjawisko w pełni kwantowomechaniczne, bez żadnej klasycznej analogii? PyPPM to urządzenie, które umożliwi taką obserwację. Jest to magnetometr protonowy, urządzenie które pozwala mierzyć rezonans protonów w polu magnetycznym Ziemi. PyPPM składa się z jednej płytki drukowanej, do której podłącza się komputer poprzez port USB oraz cewkę pomiarową. To system pozwalający na wykonywanie eksperymentu NMR - spektroskopii magnetycznego rezonansu jądrowego (jak w popularnym badaniu MRI), wykorzystując pole magnetyczne Ziemi, co eliminuje konieczność wykorzystywania drogich magnesów nadprzewodzących.
Wyjaśniając pokrótce zasadę działania: jądro atomowe każdego atomu wodoru przybliżyć można z pomocą magnesu sztabkowego. NMR ustawia wszystkie te magnesiki w próbce w jednym kierunku, następnie pozwala im zrelaksować. Podczas relaksacji momentów magnetycznych jąder atomowych układ mierzy pole magnetyczne indukowane przez relaksujące jądra. Sygnał ten nazywany jest sygnałem zaniku swobodnej precesji. Więcej przeczytać można np. na Wikipedii - pod tym linkiem.
Prezentowany poniżej układ to pierwszy, otwarty magnetometr protonowy, który nie wymaga żadnego dodatkowego sprzętu, skomplikowanych połączeń pomiędzy płytkami etc. Układ podłącza się bezpośrednio do gniazda USB w komputerze PC z systemem Linux lub do Macintosha. Pracę systemu kontroluje się z pomocą prostego API napisanego w języku Python.
Detale układu:
Poniżej znaleźć można dwa filmiki, wprowadzające w zagadnienie i motywację do stworzenia PyPPM:
Jeśli jesteście zainteresowani, to czytajcie dalej:
Jak działa eksperyment FENMR (czyli NMR w polu magnetycznym Ziemi)?
Pierwsza wersja PyPPM, opisana poniżej, pracuje w trybie Variana-Packarda (nazwanego tak od nazwiska swoich wynalazców). Pomiar w tym trybie podzielić można na trzy fazy: polaryzację, tłumienie i akwizycję. Poniżej omówiono poszczególne etapy:
Polaryzacja: Podczas pierwszej fazy eksperymentu, cewka podłączona jest do źródła stałego prądu (około 2 A). Próbka w cewce zostaje spolaryzowana magnetycznie - stopień polaryzacji wzrasta wykładniczo, ze stałą czasową równą około kilku sekund (T1). Ten etap trwa około 5..10 sekund, zależnie od poziomu polaryzacji jaki ma zostać wyindukowany i jakiego oczekujemy od pomiaru sygnału.
Tłumienie: To najbardziej krytyczny etap w opisywanej metodzie. W momencie gdy wyłączamy cewkę, energia zmagazynowana w cewce musi być szybko rozproszona. Jeśli pole nie zostanie wytłumione dostatecznie szybko, próbka nie zachowa swojej polaryzacji magnetycznej, a co za tym idzie, nie będzie żadnego sygnału w dalszym pomiarze.
Akwizycja: Jeśli wszystko póki co poszło zgodnie z planem, to cewka zostaje podłączona do wejścia analogowego naszego układu. Tor analogowy zapewnia 110 dB wzmocnienia wokół częstotliwości 3 kHz przy szerokości pasma 2 kHz. Wzmocniony sygnał jest następnie digitalizowany i przesyłany w postaci cyfrowej do komputera, przez złącze USB, gdzie dane są dalej obrabiane.
Poniżej zaprezentowano w postaci graficznej cały eksperyment:
Czas martwy polaryzacji: Jak można zauważyć na schemacie, pomiędzy wyłączeniem prądu w cewce, a przełączeniem przekaźnika jest pewien czas martwy, który zapobiega iskrzeniu styków przekaźników.
Czas martwy akwizycji: Kolejny czas martwy zawarty jest pomiędzy etapem polaryzacji a pomiarem, co daje przekaźnikowi czas na ustabilizowanie się, zanim zaczniemy zbierać sygnał analogowy.
Czas pomiędzy pomiarami: Wbudowano także funkcję pozwalającą próbce na ustabilizowanie się między pomiarami. W przypadku wielokrotnych pomiarów, pozwala to na ostudzenie cewki polaryzującej i powrót próbki do warunków ekwilibrium.
Dokumentacja sprzętowa PyPPM w wersji pierwszej
Cewka: bez dwóch zdań najważniejszy element całego systemu. Jej rezystancja i indukcyjność determinują jak szybko można ją włączać i wyłączać oraz to, ile prądu jest w stanie przepuścić i jak dokładnie pozwala na pomiar słabego sygnału oscylacji pola magnetycznego próbki. Cewka w aktualnej wersji jest długa na 10,2 cm i jest nawinięta na rurkę PCV o średnicy 5 cm. Składa się ona z czterech warstw po 158 zwoje każda, co daje łącznie 632 zwoje. Cewkę nawinięto drutem emaliowanym AWG 22. Jego indukcyjność wynosi około 7,5 mH, a rezystancja 5,5 ?. Kolejne, planowane wersje cewki mają pozwolić na zminimalizowanie interferencji jakie są zbierane podczas pomiaru. Układ jest w stanie, bez problemu, zebrać 30-ta harmoniczną sieci energetycznej (60 Hz).
Przekaźnik: Sprawdzi się tutaj dowolny przekaźnik DPDT na przykład Omron G6A. Zapewnia on izolację pomiędzy czułym obwodem analogowym, a układami polaryzacji cewki.
Źródło napięcia polaryzacji: W aktualnym projekcie podłączyć można dowolne źródło napięcia stałego, mniejszego od 15 V. Należy zwrócić uwagę, że pobór prądu jest duży - około 2 A. Autor aktualnie używa akumulatora samochodowego.
Źródło prądowe: Element ten musi być w stanie przełączać kilka amperów poprzez indukcyjność cewki. Aktualnie projekt wykorzystuje tranzystor typu MOSFET z driverem bramki do realizacji tego celu. Załączanie prądu może być powolne, jednakże jego wyłączenie musi być natychmiastowe (poniżej 500 mikrosekund). Przy parametrach cewki, jak opisane powyżej, oznacza to że źródło prądowe musi przyjąć około 20 mJ energii. Aby nie uległo uszkodzeniu tranzystor połączony został równolegle z transilem.
Tor analogowy: Napięcie zaindukowane na cewce jest niewielkie - nie więcej niż kilkaset mikrowoltów. Rolą toru analogowego jest wzmocnienie tego sygnału powyżej poziomu szumu (szum cieplny samej cewki to 18 nV) do poziomu który pozwala na digitalizacją z napięciem referencyjnym ok 5 V.
Wzmacniacz pomiarowy: Ten element oparty został o układ AD8428 firmy Analog Devices. Zapewnia on płaskie wzmocnienie w pasmie od DC do 15 kHz o 66 dB z wysokim CMRR i PSRR.
Niskoszumny stopień wzmacniający: Sygnał z wzmacniacza pomiarowego jest podłączony poprzez sprzężenie pojemnościowe do układu AD8597 w konfiguracji nieodwracającej. Zapewnia on dodatkowe 40 dB wzmocnienia i odcięcie na 16 kHz.
Filtr pasmowy: Filtr oparty o OP462 to filtr Czebyszewa ósmego rzędu, z częstotliwością środkową 1,4 kHz i szerokością pasma 3,7 kHz.
Konwerter analogowo-cyfrowy: Sygnał wychodzący z filtra pasmowoprzepustowego jest sprzęgany z dzielnikiem oporowym, który centruje sygnał na 2,5 V. Jest on buforowany i podany na 16 bitowy przetwornik ADC o sukcesywnej aproksymacji AD7680, który pracować może z częstotliwością próbkowania do 100 kHz, jednakże w PyPPM rzadko kiedy przekracza 20 kHz.
Zasilanie sekcji analogowej: Jednym z założeń projektowych było zasilenie całej elektroniki z szyny USB. W związku z tym sekcja zasilania przetwarza sygnał 5 V z komputera na niskoszumne zasilanie symetryczne ?5 V. Zasilacz daje kilkadziesiąt mA przy szumie napięciowym i tętnieniach na poziomie 100 ?V.
Mikrokontroler: Sercem układu jest ATmega32U2/4 - 8 bitowy mikrokontroler z rodziny AVR. Zajmuje się on realizacją wszystkich zależności czasowych w systemie i odczytem danych z ADC. Przesyła je on następnie do komputera poprzez USB 2.0.
Komputer: Oprogramowanie napisane dla PyPPM może działać pod Linuxem lub Mac OS X. Autor pracuje aktualnie nad podłączeniem PyPPM do Raspberry Pi z Apache.
Aby zmontować własnego PyPPM postępuj zgodnie z poniższymi instrukcjami:
1. Pobierz pliki źródłowe PyPPM z repozytorium na GiHubue
2 Rozpakuj źródła do folderu
3 W folderze designs znajduje się projekt płytki drukowanej (aktualnie w wersji 1.3)
4 Projekt zlecamy do wykonania firmie, robiącej PCB - trudno by było wykonać taką płytkę drukowaną w domu
5 W pliku ppm-bom.csv znajdziemy listę elementów, które nabyć można w dowolnej hurtowni elektronicznej
6 Płytkę lutujemy zgodnie z najnowszą dokumentacją
7 Lokalizujemy w pobranych źródłach firmware i kompilujemy je
8 Podłączamy nasze urządzenie do komputera poprzez USB i instalujemy na nim firmware wykorzystując 'sudo make dfu'.
9 Rozłączamy i podłączamy ponownie płytkę do komputera, lub resetujemy ją przyciskiem. Diody LED na płytce powinny zamrugać kilka razy i wyłączyć się.
10 Skompiluj moduł Pythona w 'software/py/' korzystając z 'make && sudo make install' i instalujemy go do przetestowania komunikacji pomiędzy komputerem a PyPPM. Przykładowy program dostępny jest w folderze 'software/py/README.md'.
Źródło: https://hackaday.io/project/1376-pyppm-a-proton-precession-magnetometer-for-all
Wyjaśniając pokrótce zasadę działania: jądro atomowe każdego atomu wodoru przybliżyć można z pomocą magnesu sztabkowego. NMR ustawia wszystkie te magnesiki w próbce w jednym kierunku, następnie pozwala im zrelaksować. Podczas relaksacji momentów magnetycznych jąder atomowych układ mierzy pole magnetyczne indukowane przez relaksujące jądra. Sygnał ten nazywany jest sygnałem zaniku swobodnej precesji. Więcej przeczytać można np. na Wikipedii - pod tym linkiem.
Prezentowany poniżej układ to pierwszy, otwarty magnetometr protonowy, który nie wymaga żadnego dodatkowego sprzętu, skomplikowanych połączeń pomiędzy płytkami etc. Układ podłącza się bezpośrednio do gniazda USB w komputerze PC z systemem Linux lub do Macintosha. Pracę systemu kontroluje się z pomocą prostego API napisanego w języku Python.
Detale układu:
Poniżej znaleźć można dwa filmiki, wprowadzające w zagadnienie i motywację do stworzenia PyPPM:
Jeśli jesteście zainteresowani, to czytajcie dalej:
Jak działa eksperyment FENMR (czyli NMR w polu magnetycznym Ziemi)?
Pierwsza wersja PyPPM, opisana poniżej, pracuje w trybie Variana-Packarda (nazwanego tak od nazwiska swoich wynalazców). Pomiar w tym trybie podzielić można na trzy fazy: polaryzację, tłumienie i akwizycję. Poniżej omówiono poszczególne etapy:
Polaryzacja: Podczas pierwszej fazy eksperymentu, cewka podłączona jest do źródła stałego prądu (około 2 A). Próbka w cewce zostaje spolaryzowana magnetycznie - stopień polaryzacji wzrasta wykładniczo, ze stałą czasową równą około kilku sekund (T1). Ten etap trwa około 5..10 sekund, zależnie od poziomu polaryzacji jaki ma zostać wyindukowany i jakiego oczekujemy od pomiaru sygnału.
Tłumienie: To najbardziej krytyczny etap w opisywanej metodzie. W momencie gdy wyłączamy cewkę, energia zmagazynowana w cewce musi być szybko rozproszona. Jeśli pole nie zostanie wytłumione dostatecznie szybko, próbka nie zachowa swojej polaryzacji magnetycznej, a co za tym idzie, nie będzie żadnego sygnału w dalszym pomiarze.
Akwizycja: Jeśli wszystko póki co poszło zgodnie z planem, to cewka zostaje podłączona do wejścia analogowego naszego układu. Tor analogowy zapewnia 110 dB wzmocnienia wokół częstotliwości 3 kHz przy szerokości pasma 2 kHz. Wzmocniony sygnał jest następnie digitalizowany i przesyłany w postaci cyfrowej do komputera, przez złącze USB, gdzie dane są dalej obrabiane.
Poniżej zaprezentowano w postaci graficznej cały eksperyment:
Czas martwy polaryzacji: Jak można zauważyć na schemacie, pomiędzy wyłączeniem prądu w cewce, a przełączeniem przekaźnika jest pewien czas martwy, który zapobiega iskrzeniu styków przekaźników.
Czas martwy akwizycji: Kolejny czas martwy zawarty jest pomiędzy etapem polaryzacji a pomiarem, co daje przekaźnikowi czas na ustabilizowanie się, zanim zaczniemy zbierać sygnał analogowy.
Czas pomiędzy pomiarami: Wbudowano także funkcję pozwalającą próbce na ustabilizowanie się między pomiarami. W przypadku wielokrotnych pomiarów, pozwala to na ostudzenie cewki polaryzującej i powrót próbki do warunków ekwilibrium.
Dokumentacja sprzętowa PyPPM w wersji pierwszej
Cewka: bez dwóch zdań najważniejszy element całego systemu. Jej rezystancja i indukcyjność determinują jak szybko można ją włączać i wyłączać oraz to, ile prądu jest w stanie przepuścić i jak dokładnie pozwala na pomiar słabego sygnału oscylacji pola magnetycznego próbki. Cewka w aktualnej wersji jest długa na 10,2 cm i jest nawinięta na rurkę PCV o średnicy 5 cm. Składa się ona z czterech warstw po 158 zwoje każda, co daje łącznie 632 zwoje. Cewkę nawinięto drutem emaliowanym AWG 22. Jego indukcyjność wynosi około 7,5 mH, a rezystancja 5,5 ?. Kolejne, planowane wersje cewki mają pozwolić na zminimalizowanie interferencji jakie są zbierane podczas pomiaru. Układ jest w stanie, bez problemu, zebrać 30-ta harmoniczną sieci energetycznej (60 Hz).
Przekaźnik: Sprawdzi się tutaj dowolny przekaźnik DPDT na przykład Omron G6A. Zapewnia on izolację pomiędzy czułym obwodem analogowym, a układami polaryzacji cewki.
Źródło napięcia polaryzacji: W aktualnym projekcie podłączyć można dowolne źródło napięcia stałego, mniejszego od 15 V. Należy zwrócić uwagę, że pobór prądu jest duży - około 2 A. Autor aktualnie używa akumulatora samochodowego.
Źródło prądowe: Element ten musi być w stanie przełączać kilka amperów poprzez indukcyjność cewki. Aktualnie projekt wykorzystuje tranzystor typu MOSFET z driverem bramki do realizacji tego celu. Załączanie prądu może być powolne, jednakże jego wyłączenie musi być natychmiastowe (poniżej 500 mikrosekund). Przy parametrach cewki, jak opisane powyżej, oznacza to że źródło prądowe musi przyjąć około 20 mJ energii. Aby nie uległo uszkodzeniu tranzystor połączony został równolegle z transilem.
Tor analogowy: Napięcie zaindukowane na cewce jest niewielkie - nie więcej niż kilkaset mikrowoltów. Rolą toru analogowego jest wzmocnienie tego sygnału powyżej poziomu szumu (szum cieplny samej cewki to 18 nV) do poziomu który pozwala na digitalizacją z napięciem referencyjnym ok 5 V.
Wzmacniacz pomiarowy: Ten element oparty został o układ AD8428 firmy Analog Devices. Zapewnia on płaskie wzmocnienie w pasmie od DC do 15 kHz o 66 dB z wysokim CMRR i PSRR.
Niskoszumny stopień wzmacniający: Sygnał z wzmacniacza pomiarowego jest podłączony poprzez sprzężenie pojemnościowe do układu AD8597 w konfiguracji nieodwracającej. Zapewnia on dodatkowe 40 dB wzmocnienia i odcięcie na 16 kHz.
Filtr pasmowy: Filtr oparty o OP462 to filtr Czebyszewa ósmego rzędu, z częstotliwością środkową 1,4 kHz i szerokością pasma 3,7 kHz.
Konwerter analogowo-cyfrowy: Sygnał wychodzący z filtra pasmowoprzepustowego jest sprzęgany z dzielnikiem oporowym, który centruje sygnał na 2,5 V. Jest on buforowany i podany na 16 bitowy przetwornik ADC o sukcesywnej aproksymacji AD7680, który pracować może z częstotliwością próbkowania do 100 kHz, jednakże w PyPPM rzadko kiedy przekracza 20 kHz.
Zasilanie sekcji analogowej: Jednym z założeń projektowych było zasilenie całej elektroniki z szyny USB. W związku z tym sekcja zasilania przetwarza sygnał 5 V z komputera na niskoszumne zasilanie symetryczne ?5 V. Zasilacz daje kilkadziesiąt mA przy szumie napięciowym i tętnieniach na poziomie 100 ?V.
Mikrokontroler: Sercem układu jest ATmega32U2/4 - 8 bitowy mikrokontroler z rodziny AVR. Zajmuje się on realizacją wszystkich zależności czasowych w systemie i odczytem danych z ADC. Przesyła je on następnie do komputera poprzez USB 2.0.
Komputer: Oprogramowanie napisane dla PyPPM może działać pod Linuxem lub Mac OS X. Autor pracuje aktualnie nad podłączeniem PyPPM do Raspberry Pi z Apache.
Aby zmontować własnego PyPPM postępuj zgodnie z poniższymi instrukcjami:
1. Pobierz pliki źródłowe PyPPM z repozytorium na GiHubue
2 Rozpakuj źródła do folderu
3 W folderze designs znajduje się projekt płytki drukowanej (aktualnie w wersji 1.3)
4 Projekt zlecamy do wykonania firmie, robiącej PCB - trudno by było wykonać taką płytkę drukowaną w domu
5 W pliku ppm-bom.csv znajdziemy listę elementów, które nabyć można w dowolnej hurtowni elektronicznej
6 Płytkę lutujemy zgodnie z najnowszą dokumentacją
7 Lokalizujemy w pobranych źródłach firmware i kompilujemy je
8 Podłączamy nasze urządzenie do komputera poprzez USB i instalujemy na nim firmware wykorzystując 'sudo make dfu'.
9 Rozłączamy i podłączamy ponownie płytkę do komputera, lub resetujemy ją przyciskiem. Diody LED na płytce powinny zamrugać kilka razy i wyłączyć się.
10 Skompiluj moduł Pythona w 'software/py/' korzystając z 'make && sudo make install' i instalujemy go do przetestowania komunikacji pomiędzy komputerem a PyPPM. Przykładowy program dostępny jest w folderze 'software/py/README.md'.
Źródło: https://hackaday.io/project/1376-pyppm-a-proton-precession-magnetometer-for-all
Cool? Ranking DIY