Zostań w domu, zamów taniej!
Nie wychodź z domu i zamów online swoje ulubione pisma 20% taniej. Skorzystaj z kodu rabatowego: czytajwdomu

Magnetometr GaussMeter

Magnetometr GaussMeter
Pobierz PDF Download icon

Urządzenie powstało w odpowiedzi na potrzebę badania magnesów stałych w przetwornikach gitarowych, jednak może być użyte do badania pola magnetycznego emitowanego przez dowolny obiekt. Oprócz wskazania siły pola magnetycznego (indukcji magnetycznej) wskaże także jego biegunowość.

Podstawowe parametry:
  • pomiar wielkości indukcji magnetycznej,
  • pomiar biegunowości magnetycznej (S lub N),
  • zasilanie z akumulatora litowego lub poprzez złącze USB,
  • wbudowany kontroler ładownia akumulatora litowego.

W roli czujnika pola magnetycznego zastosowano precyzyjny przetwornik Halla pod postacią układu scalonego A1308 firmy Allegro MicroSystems. Przetwarza on siłę pola magnetycznego na proporcjonalny sygnał napięciowy (wykorzystując efekt Halla) z rozdzielczością 1,3 mV/Gauss. Aby zapewnić deklarowaną przez producenta dokładność pomiaru przetwornik musi być zasilany ze stabilnego źródła napięcia o wartości 5 V, co biorąc pod uwagę przenośny charakter urządzenia narzuciło dość wysokie wymagania dotyczące bloku zasilającego.

Budowa urządzenia

Zaprojektowano średnio skomplikowany system mikroprocesorowy, którego schemat pokazano na rysunku 1. Za funkcjonowanie urządzenia odpowiada mikrokontroler ATmega88 firmy Microchip (Atmel) taktowany wewnętrznym, wysokostabilnym oscylatorem o częstotliwości 1 MHz.

Rysunek 1. Schemat ideowy magnetometru

Napięciem zasilania systemu mikroprocesorowego jest napięcie 2,8 V dostarczane przez liniowy stabilizator LDO pod postacią układu scalonego AP2127K-2.8TRG1 (U2). Napięcie to, poprzez prosty klucz z tranzystorami MOSFET (T2, T3) trafia na wejście przetwornicy DC/DC (tzw. pompy ładunku) zbudowanej na bazie układu scalonego MCP1252-ADJ (U6), na wyjściu której dostępne jest napięcie 5,5 V. Zastosowanie klucza tranzystorowego wynika z wymagań dotyczących energooszczędności urządzenia, a co za tym idzie potrzeby załączania/wyłączania bloku zasilającego przetwornik Halla. Co więcej, przetwornicę MCP1252-ADJ wyposażono w wyprowadzenie PGOOD, dzięki czemu system mikroprocesorowy może zaczekać na ustabilizowanie się napięcia wyjściowego.

Napięcie z przetwornicy trafia na wejście stabilizatora LDO – układu scalonego TPS76350DBVT (U5), na którego wyjściu pojawia się pożądane 5 V zasilające czujnik Halla. Ponadto, układ U5 wyposażono w wejście EN (Enable), dzięki któremu możemy włączać/wyłączać stabilizator, co ma znaczenie w aplikacjach o niskim poborze mocy.

Stabilizator AP2127K-2.8TRG1 (U2) jest źródłem napięcia zasilania całego systemu, zaś źródłem napięcia zasilania tego stabilizatora jest z kolei, albo wbudowany akumulator litowo-polimerowy (BATT), albo napięcie pozyskiwane z wbudowanego gniazda USB. Ta część bloku zasilającego jest również nieco bardziej rozbudowana, dlatego należy napisać kilka słów wyjaśnienia. Blok zasilający system mikroprocesorowy zbudowano z użyciem specjalizowanego układu ładowania akumulatorów litowo-jonowych i litowo-polimerowych – układu MCP73832 produkcji firmy Microchip. Układ ten integruje w sobie kompletny system ładowania, który charakteryzuje się następującą funkcjonalnością:

  • szeroki zakres napięć zasilania 3,75...6 V,
  • duża dokładność regulacji rzędu ±0,75%,
  • programowany prąd ładowania szybkiego w zakresie 15...500 mA (tylko jeden rezystor, w naszym wypadku R1),
  • możliwość wyboru wartości prądu ładowania wstępnego (w odniesieniu do prądu ładowania szybkiego): 10%, 20%, 40% lub opcja nieaktywna,
  • możliwość wyboru poziomu naładowania akumulatora (a dokładnie „reszty” do 100% pojemności), po którym układ przechodzi do trybu ładowania konserwacyjnego: 5%, 7,5%, 10% lub 20%,
  • wbudowany mechanizm wykrywania podłączonego akumulatora,
  • trójstanowe wyjście statusu procesu ładowania STAT,
  • automatyczne przejście do trybu power-down o niskim poborze mocy.

Z przytoczonych właściwości wynika, że układ MCP73832 idealnie nadaje się do zastosowania w prostych aplikacjach ładowarek ogniw litowo-jonowych i litowo-polimerowych. W pełni automatycznie nadzoruje proces ładowania akumulatora wybierając odpowiedni tryb ładowania oraz mechanizm kontroli, zaś jedynym „zmartwieniem” użytkownika jest wybór prądu szybkiego ładowania, którego dokonujemy dobierając wartość rezystora podłączonego pomiędzy wyprowadzenie PROG a masę. Wartość prądu dobieramy według poniższej zależności:

,

gdzie wielkości: IREG wyrażono w mA, zaś RPROG w kΩ.

W naszym urządzeniu rezystor RPROG(R1) ma wartość 10 kΩ, co ustawia prąd ładowania szybkiego na wartość 100 mA. Celowo ustawiono taką wartość, ponieważ zasilanie naszego urządzenia może być dołączone z portu USB komputera (lub popularnego zasilacza sieciowego z portem USB przeznaczonego do ładowania telefonów komórkowych) zaś ten pozwala na maksymalny pobór prądu rzędu 500 mA w trybie high-power, zaś typowo 100 mA.

Układ MCP73832 nie posiada w swojej strukturze bloków funkcjonalnych odpowiedzialnych za współdzielenie obciążenia, to znaczy odpowiedzialnych za uwzględnienie w procesie ładowania tego, że akumulator zasila urządzenie. Taka sytuacja, powoduje wydłużenie procesu ładowania, zaś w skrajnych wypadkach może go zaburzyć czy też spowodować, że proces ładowania nigdy nie dobiegnie końca (gdyż odbiornik pobierając nieustannie prąd z ogniwa, a więc de facto z układu nadzorującego nie pozwoli tym samym na skuteczną detekcję końca procesu ładowania).

Aby temu zapobiec zastosowano prosty „przełącznik” w postaci tranzystora MOSFET, którego bramkę podłączono bezpośrednio do napięcia USB zasilającego ładowarkę. W przypadku obecności napięcia USB (czyli de facto stanu wysokiego na bramce tranzystora) tranzystor T1 przechodzi w stan wyłączenia (brak przewodzenia pomiędzy drenem a źródłem) odłączając tym samym ładowany akumulator od obciążenia. W tym samym czasie obciążenie, jakim jest w naszym wypadku system mikroprocesorowy, zostaje zasilone z napięcia portu USB poprzez diodę D1.

W przypadku odłączenia naszego urządzenia od napięcia zasilającego USB, bramka tranzystora T1 zostaje ściągnięta do masy (poprzez rezystory R2 i R3) powodując przewodzenie tranzystora, a więc zasilenie naszego urządzenia z akumulatora. W tym przypadku dioda D1 zabezpiecza przed przepływem prądu wstecznego tj. z akumulatora w kierunku źródła napięcia zasilającego (USB). W ten prosty sposób zbudowano prosty i w pełni funkcjonalny układ współdzielenia obciążenia, który czasami występuje w innych typach scalonych kontrolerów ładowania produkcji firmy Microchip.

Wyjście z układu ładowania wprowadzono na wejście wspomnianego wcześniej stabilizatora LDO typu AP2127K-2.8TRG1, który zapewnia stały poziom napięcia zasilającego system mikroprocesorowy (2,8 V) niezależnie od stanu układu ładowania. Dla porządku dodam, że aplikacja magnetometru korzysta również z wbudowanego w strukturę mikrokontrolera przetwornika ADC (wejście ADC7), przy udziale którego (poprzez prosty dzielnik napięciowy R14, R15) mierzony jest poziom napięcia akumulatora zasilającego co pozwala na „zgrubne” określenie stanu naładowania. Jest to oczywiście rozwiązanie uproszczone, dokładne określenie stanu naładowania akumulatora wymagałoby zastosowania specjalizowanego kontrolera wielkości gromadzonego i traconego ładunku, jednak w tak prostym systemie wydaje się w zupełności wystarczające.

Co więcej, wspomniany dzielnik napięcia jest „odłączany” od napięcia zasilającego (tranzystor T4 typu MOSFET) w czasie, gdy pomiar nie jest wykonywany, a to wszystko dla oszczędzania energii akumulatora zasilającego.

Magnetometr wyposażono w ciekawy i niezmiernie prosty interfejs użytkownika złożony z 3 przycisków funkcyjnych umownie oznaczonych MODE, POWER i START/STOP oraz niewielkiego, lecz bardzo efektownego graficznego wyświetlacza OLED o rozdzielczości 128×64 piksele i wielkości 0,96”.

Ponadto, urządzenie nie jest wyposażone w „sprzętowy” wyłącznik zasilania, który fizycznie odłączałby system mikroprocesorowy od napięcia zasilającego, lecz posiada programowy wyłącznik zasilania.

Działanie i obsługa

Standardowo całe urządzenie jest w stanie uśpienia z wyłączonymi wszystkimi niepotrzebnymi peryferiami mikrokontrolera sterującego oraz wyłączonym wyświetlaczem OLED. W tym stanie pracy zasilanie przetwornicy DC/DC jest wyłączone co dezaktywuje czujnik Halla.

Wybudzenie urządzenia następuje po naciśnięciu przycisku POWER. Po wybudzeniu włączane jest zasilanie przetwornicy MCP1252 (sygnałem H_PWR_SW=HIGH) i po jego ustabilizowaniu się (PWR_GOOD=LOW) wykonywany jest pomiar napięcia akumulatora zasilającego. Jeśli zmierzone napięcie jest zbyt małe, wyświetlany jest piktogram informujący o zbyt niskim stanie akumulatora zasilającego, zaś urządzenie jest ponownie usypiane.

Jeśli napięcie akumulatora mieści się w wymaganym zakresie wyświetlany jest ekran powitalny (animacja logo EA) po czym wykonywana jest kalibracja czujnika Halla (mierzone jest jego napięcie wyjściowe, zakładając, że czujnik nie znajduje się w polu magnetycznym – standardowo jest to 2,5 V). Następnie urządzenie dokonuje cyklicznych pomiarów zgodnie z wybranym trybem pracy, a wyniki pokazywane są na wyświetlaczu OLED.

Pomiary napięcia czujnika Halla (poprzez dzielnik R5 i R6) dokonywane są co 100 ms według następującego scenariusza:

  1. Włączany jest stabilizator TPS76350DBVT (LDO) sygnałem H_ENABLE=LOW,
  2. Wykonywanych jest 20 pomiarów napięcia czujnika Halla (wejście ADC6 mikrokontrolera),
  3. Wynik jest uśredniany po czym pokazywany na wyświetlaczu OLED,
  4. Wyłączany jest stabilizator TPS76350DBVT (LDO) sygnałem H_ENABLE=HIGH.

Wynik pomiaru obliczany jest na podstawie następującej zależności:

gdzie:

B – siła pola magnetycznego,

Vm – napięcie mierzone w trakcie pomiaru,

Vref – napięcie referencyjne czujnika zmierzone w momencie wykonywania kalibracji,

h – współczynnik obliczeniowy równy 3,91006843.

Z kolei występujący we wzorze powyżej współczynnik obliczeniowy h wyznaczany jest z następującej zależności:

gdzie:

R5, R6 – wartości rezystorów w dzielniku napięcia czujnika Halla,

– czułość czujnika Halla (odwrotność) przeliczona na Volty (rzeczywista czułość to 1,3 mV/Gauss),

 – to wartość LSB przetwornika ADC.

Zastosowany czujnik Halla ma skończony zakres przetwarzania i w przypadku jego przekroczenia (>1690) na wyświetlaczu pojawi się napis „OVER” razem z oznaczeniem bieguna magnesu (N lub S w zależności od napięcia). Z kolei wyświetlana biegunowość magnesu zależy tutaj od znaku różnicy napięć Vm – Vref. Co ważne, dla zaoszczędzenia energii akumulatora zasilającego urządzenie przechodzi w stan uśpienia po 1 minucie nieużywania lub po długim wciśnięciu przycisku POWER (z wyświetleniem napisu „OFF” przez 3 sekundy).

Aby w pełni zrozumieć funkcje poszczególnych wyprowadzeń mikrokontrolera w zakresie implementacji programu obsługi aplikacji poniżej, w tabeli 1, przedstawiono funkcjonalność ważniejszych wyprowadzeń mikrokontrolera.
GaussMeter może pracować w kilku trybach pracy. Podstawowym trybem pracy urządzenia jest tryb oznaczony jako CURR, w przypadku którego pomiar jest wykonywany i wyświetlany 10 razy na sekundę. Oprócz wielkości indukcji magnetycznej pokazywana jest również biegunowość (S lub N).

Opis

Kolejnym trybem pracy jest tryb AVG, w którym możliwe jest uśrednianie wyników pomiaru. Podstawowo uśrednianie jest wyłączone (pokazywany jest wtedy symbol kwadracika – tj. stop) i wtedy ekran pokazuje te same wartości, jak w trybie CURR. Każdorazowe przyciśnięcie klawisza START/STOP powoduje włączenie/wyłączenie uśredniania wyników pomiaru. Włączeniu towarzyszy pokazanie się symbolu trójkącika – tj. play na ekranie urządzenia. Podczas uśredniania pomiar wykonywany jest również 10 razy na sekundę ale wynik jest akumulowany a na ekranie urządzenia pokazywana jest bieżąca średnia wartość indukcji magnetycznej (średnia od czasu włączenia uśredniania). Po wyłączeniu uśredniania pokazywana jest ponownie bieżąca wartość (i biegun) indukcji magnetycznej (średnia jest zerowana).

Rysunek 2. Ekran graficznego interfejsu użytkownika

Ostatnim trybem pracy jest tryb PEAK. W tym trybie pracy na ekranie urządzenia pokazywana jest najwyższa zmierzona wartość indukcji magnetycznej. Każdorazowe przyciśnięcie klawisza START/STOP powoduje wyzerowanie zapamiętanej, najwyższej wartości pomiaru. Ekran graficznego interfejsu użytkownika urządzenia GaussMeter pokazano na rysunku 2, zaś w tabeli 2 pokazano funkcjonalność poszczególnych klawiszy.

Opis

Dodatkowy przycisk RESET służy do sprzętowego zresetowania urządzenia w przypadku, gdyby przestało odpowiadać. Raz na sekundę dokonywany jest pomiar napięcia akumulatora zasilającego, po czym stosowna informacja wyświetlana jest w ramach graficznego interfejsu użytkownika (symbol kabla USB w przypadku podłączenia urządzenia do kabla USB lub symbol baterii w przypadku pracy na zasilaniu akumulatorowym – wypełnienie baterii wskazuje wtedy stan naładowania akumulatora).

Ustawienia Fuse-bitów:
CKSEL3…0: 0010
SUT1…0: 10
CKDIV8: 0
CKOUT: 1
DWEN: 1

Montaż i uruchomienie

Schemat montażowy urządzenia pokazano na rysunkach 3 i 4. Zaprojektowano zwarty obwód drukowany ze zdecydowaną przewagą elementów typu SMD. Dodatkowo kształt płytki drukowanej oraz rozmieszczenie elementów regulacyjnych sprzyja wygodzie użytkowania.

Rysunek 3. Schemat płytki PCB wraz z rozmieszczeniem elementów, strona TOP
Rysunek 4. Schemat płytki PCB wraz z rozmieszczeniem elementów, strona BOTTOM

Montaż urządzenia rozpoczynamy od warstwy BOTTOM, gdzie w pierwszej kolejności przylutowujemy półprzewodniki. Następnie lutujemy elementy bierne po czym przechodzimy na warstwę TOP. Tutaj postępujemy w analogiczny sposób lutując jako pierwsze elementy półprzewodnikowe, następnie rezystory i kondensatory a na samym końcu elementy mechaniczne jak przyciski MODE, START/STOP, POWER i RESET oraz złącze USB.

Z uwagi na zagęszczenie wyprowadzeń niektórych elementów przed pierwszym podłączeniem urządzenia do zasilania należy jeszcze raz sprawdzić jakość wykonanych połączeń by nie dopuścić do ewentualnych zwarć. Wspomniana kontrola będzie znacznie łatwiejsza, jeśli zmontowaną płytkę przemyjemy alkoholem izopropylowym. Widok zmontowanego urządzenia GaussMeter od strony BOTTOM pokazano na fotografii 1.

Fotografia 1. Widok zmontowanej płytki urządzenia od strony BOTTOM.

Na samym końcu, montujemy wyświetlacz OLED, zwyczajnie lutując jego wyprowadzenia w przeznaczone do tego celu pola lutownicze (należy sprawdzić polaryzację zasilania), gdyż połączenia te zapewniają mu jednocześnie wystarczający montaż mechaniczny. Wybierając wyświetlacz należy zakupić wersję wyposażoną w następujące sygnały sterujące: CLK (sygnał zegarowy magistrali SPI), MOSI (wejście danych magistrali SPI), CS (wejście wyboru sterownika SSD1306) oraz DC (wejście, decydujące o charakterze wysyłanych danych: 1 → dane pamięci obrazu, 0 → rozkaz sterujący). Ważne jest rozmieszczenie sygnałów zasilających, ponieważ moduły dostępne w handlu często mają zamienione miejscami sygnały zasilania (VCC) i masy (GND).

Akumulator zasilający podłączamy do wyprowadzeń +/– po stronie TOP (zachowując odpowiednią polaryzację) i umieszczamy pomiędzy modułem wyświetlacza OLED a płytką naszego urządzenia. Poprawnie zmontowany układ powinien działać od razu po podłączeniu zasilania.

Robert Wołgajew
robert.wolgajew@ep.com.pl

Wykaz elementów:
Rezystory: (SMD0603)
  • R1, R7: 10 kΩ
  • R2…R4: 47 kΩ
  • R5: 8,2 kΩ 1%
  • R6: 2,2 kΩ 1%
  • R8, R10, R11: 100 kΩ
  • R9: 28,7 kΩ 1%
  • R12: 220 Ω
  • R13: 1 kΩ
  • R14: 15 kΩ 1%
  • R15: 5,6 kΩ 1%
Kondensatory: (SMD0603, jeśli nie zapisano inaczej)
  • C1, C7…C11: ceramiczny 100 nF
  • C2…C4, C6: elektrolityczny 10 μF/10 V (A/3216-18W)
  • C5: ceramiczny 10 nF
  • C12: ceramiczny 1 nF
  • C13: ceramiczny 4,7 μF
  • C14: ceramiczny 10 μF
  • C15, C16: ceramiczny 1 μF
  • C17: ceramiczny 10 nF
Półprzewodniki:
  • U1: MCP73832 (SOT-23-5)
  • U2: AP2127K-2.8TRG1 (SOT-23-5)
  • U3: ATmega88 (TQFP32)
  • U4: A1302 lub A1308 (SIP3)
  • U5: TPS76350DBVT (SOT-23-5)
  • U6: MCP1252-ADJ (MSOP8)
  • T1: AO3401A (SOT23)
  • T2, T4: DMG3415 (SOT23)
  • T3: DMN2075 (SOT23)
  • D1: MBR0520L (SOD123)
  • OLED: wyświetlacz OLED 0.96” 128×64 niebiesko-żółty SPI
Inne:
  • L1: dławik 10 μH (SMD 0603)
  • RESET: mikroprzełącznik SMD typu DTSM-61N-V-B
  • MODE, POWER, START/STOP: mikroprzełącznik SMD typu DTSM-66N-V-B
  • USB: gniazdo USB
  • ACCU: akumulator Li-po typu ACCU-LP403035/CL
Artykuł ukazał się w
Elektronika Praktyczna
kwiecień 2020
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik luty 2021

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio luty 2021

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka Podzespoły Aplikacje luty 2021

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna luty 2021

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich styczeń 2021

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów