Obsah:
- Krok 1: Zhromaždite zásoby
- Krok 2: Zapojenie
- Krok 3: Otestujte displej
- Krok 4: Kód magnetometra
- Krok 5: Budúca práca
Video: Magnetometer Arduino: 5 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Čo staviame?
Ľudia nedokážu odhaliť magnetické polia, ale používame zariadenia, ktoré sa na magnety neustále spoliehajú. Napríklad motory, kompasy, snímače rotácie a veterné turbíny vyžadujú na prevádzku magnety. Tento tutoriál popisuje, ako vytvoriť magnetometer na báze Arduina, ktorý sníma magnetické pole pomocou troch senzorov s Hallovým efektom. Vektor magnetického poľa na mieste je zobrazený na malej obrazovke pomocou izometrickej projekcie.
Čo je to Arduino?
Arduino je malý užívateľsky príjemný mikrokontrolér s otvoreným zdrojovým kódom. Má digitálne vstupné a výstupné kolíky. Má tiež analógové vstupné kolíky, ktoré sú užitočné na čítanie vstupov zo senzorov. K dispozícii sú rôzne modely Arduino. Tento tutoriál popisuje, ako používať Arduino Uno alebo Arduino MKR1010. Môžu sa však použiť aj iné modely.
Predtým, ako začnete s týmto tutoriálom, stiahnite si vývojové prostredie Arduino a všetky knižnice potrebné pre váš konkrétny model. Vývojové prostredie je k dispozícii na https://www.arduino.cc/en/main/software a pokyny na inštaláciu sú k dispozícii na
Čo je to magnetické pole?
Permanentné magnety pôsobia na ostatné permanentné magnety. Prúdové vodiče pôsobia na ostatné prúdové vodiče. Permanentné magnety a vodiče vedúce prúd pôsobia na seba navzájom tiež. Táto sila na jednotku testovacieho prúdu je magnetické pole.
Ak zmeráme objem objektu, dostaneme jedno skalárne číslo. Magnetizmus je však opísaný vektorovým poľom, komplikovanejšou veličinou. Po prvé, mení sa v závislosti od polohy v celom priestore. Napríklad magnetické pole jeden centimeter od permanentného magnetu bude pravdepodobne väčšie ako magnetické pole vzdialené desať centimetrov.
Ďalej je magnetické pole v každom bode priestoru reprezentované vektorom. Veľkosť vektora predstavuje silu magnetického poľa. Smer je kolmý na smer sily aj na smer skúšobného prúdu.
Magnetické pole na jednom mieste si môžeme predstaviť ako šípku. Magnetické pole v celom priestore si môžeme predstaviť pomocou šípky na rôznych miestach, prípadne rôznych veľkostí a smerujúcich rôznymi smermi. Pekná vizualizácia je k dispozícii na https://www.falstad.com/vector3dm/. Magnetometer, ktorý staviame, zobrazuje magnetické pole v mieste senzorov ako šípku na displeji.
Čo je to snímač Hallovho efektu a ako funguje?
Senzor s Hallovým efektom je malé, lacné zariadenie, ktoré meria silu magnetického poľa v určitom smere. Je vyrobený z kusu polovodiča dopovaného prebytočnými nábojmi. Výstup niektorých senzorov s Hallovým efektom je analógové napätie. Ostatné snímače s Hallovým efektom majú integrovaný komparátor a produkujú digitálny výstup. Ostatné snímače s Hallovým efektom sú integrované do väčších prístrojov, ktoré merajú prietok, rýchlosť otáčania alebo iné veličiny.
Fyzika za Hallovým efektom je zhrnutá v Lorentzovej silovej rovnici. Táto rovnica popisuje silu na pohybujúci sa náboj v dôsledku vonkajšieho elektrického a magnetického poľa.
Nasledujúci obrázok ilustruje Hallov efekt. Predpokladajme, že chceme merať silu magnetického poľa v smere modrej šípky. Ako je znázornené v ľavej časti obrázku, aplikujeme prúd cez polovodič kolmo na smer poľa, ktoré sa má merať. Prúd je tok nábojov, takže náboj v polovodiči sa pohybuje určitou rýchlosťou. Tento náboj pocíti silu v dôsledku vonkajšieho poľa, ako je znázornené v strednej časti obrázku. Nálože sa budú vplyvom sily pohybovať a hromadia sa na okrajoch polovodiča. Náboje sa hromadia, kým sila spôsobená nahromadenými nábojmi nevyrovná silu spôsobenú vonkajším magnetickým poľom. Napätie na polovodiči môžeme zmerať, ako je znázornené v pravej časti obrázku. Namerané napätie je úmerné sile magnetického poľa a je v smere kolmom na prúd a smere magnetického poľa.
Čo je to izometrická projekcia?
V každom bode priestoru je magnetické pole popísané trojrozmerným vektorom. Náš displej je však dvojrozmerný. Trojrozmerný vektor môžeme premietnuť do dvojrozmernej roviny, aby sme ho mohli nakresliť na obrazovku. Existuje niekoľko spôsobov, ako to dosiahnuť, napríklad izometrická projekcia, ortografická projekcia alebo šikmá projekcia.
Pri izometrickej projekcii sú osi x, y a z od seba vzdialené 120 stupňov a javia sa rovnako skrátené. Ďalšie informácie o izometrickej projekcii, ako aj potrebné vzorce, nájdete na stránke Wikipedia k tejto téme.
Krok 1: Zhromaždite zásoby
Arduino a kábel
Arduino je mozgom magnetometra. Tieto pokyny popisujú, ako používať Arduino Uno alebo Arduino MKR1010. V každom prípade je na pripojenie k počítaču potrebný kábel.
Možnosť 1: Kábel Arduino Uno a USB AB
www.digikey.com/product-detail/en/arduino/A000066/1050-1024-ND/2784006
www.digikey.com/product-detail/en/stewart-connector/SC-2ABE003F/380-1424-ND/8544570
Možnosť 2: Arduino MKR1010 a kábel microUSB
www.digikey.com/product-detail/en/arduino/ABX00023/1050-1162-ND/9486713
www.digikey.com/product-detail/en/stewart-connector/SC-2AMK003F/380-1431-ND/8544577
TFT displej
TFT je skratka pre Thin Film Transistor. Tento 1,44 displej obsahuje 128 x 128 pixelov. Je malý, jasný a farebný. Je pripevnený k oddeľovacej doske. Kolíky záhlavia sa však oddeľujú, takže ich musíte spájkovať. (Spájka a spájkovačka sú potrebné.)
www.digikey.com/product-detail/en/adafruit-industries-llc/2088/1528-1345-ND/5356830
- Analógové snímače s Hallovým efektom
Vyžadujú sa tri senzory s Hallovým efektom. Nižšie uvedený odkaz je pre číslo dielu Allegro A1324LUA-T. U tohto senzora je pin 1 napájacie napätie, pin 2 je uzemnený a pin 3 je výstup. Fungovať by mali aj ostatné Hallove senzory, uistite sa však, že sú analógové, nie digitálne. Ak používate iný snímač, skontrolujte vývod a v prípade potreby upravte zapojenie. (Na účely testovania som skutočne použil iný snímač od tej istej spoločnosti. Ten, ktorý som použil, je však zastaraný a tento senzor ho nahrádza.)
www.digikey.com/product-detail/en/allegro-microsystems-llc/A1324LUA-T/620-1432-ND/2728144
Malá doska a drôt
www.digikey.com/product-detail/en/adafruit-industries-llc/239/1528-2143-ND/7244929
Permanentné magnety na testovanie
Magnety na chladničku budú fungovať dobre.
Krok 2: Zapojenie
Spájkujte hlavičky na displeji.
Senzory umiestnite na jeden koniec nepájivej dosky a displej a Arduino umiestnite na opačný koniec. Prúd vo vodičoch v Arduine a displeji generuje magnetické polia, ktoré nechceme, aby senzory čítali. Okrem toho by sme mohli chcieť umiestniť senzory do blízkosti permanentných magnetov, ktoré by mohli nepriaznivo ovplyvniť prúd vo vodičoch displeja a senzora. Z týchto dôvodov chceme, aby boli senzory ďaleko od displeja a Arduina. Aj z týchto dôvodov by mal byť tento magnetometer držaný mimo veľmi silných magnetických polí.
Senzory umiestnite kolmo na seba, ale čo najbližšie k sebe. Senzory jemne ohnite tak, aby boli kolmé. Každý kolík každého senzora musí byť v samostatnom rade nepájivej dosky, aby ho bolo možné samostatne pripojiť.
Zapojenie medzi MKR1010 a Uno sa mierne líši z dvoch dôvodov. Po prvé, Arduino a displej komunikujú prostredníctvom SPI. Rôzne modely Arduino majú rôzne vyhradené piny pre určité rady SPI. Za druhé, analógové vstupy Uno môžu akceptovať až 5 V, zatiaľ čo analógové vstupy MKR1010 môžu prijímať iba až 3,3 V. Odporúčané napájacie napätie pre snímače s Hallovým efektom je 5 V. Výstupy senzorov sú pripojené k analógovým vstupom Arduino, a tie môžu byť také veľké ako napájacie napätie. Pre Uno použite pre senzory odporúčané 5 V napájanie. V prípade MKR1010 používajte 3,3 V, aby analógový vstup Arduina nikdy nevidel napätie väčšie, ako je schopné zvládnuť.
Postupujte podľa nižšie uvedených schém a pokynov pre Arduino, ktoré používate.
Zapojenie s Arduino Uno
Displej má 11 pinov. Pripojte ich k Arduino Uno nasledovne. (NC znamená, že nie je pripojený.)
- Vin → 5V
- 3,3 → NC
- GND → GND
- SCK → 13
- SO → NC
- SI → 11
- TCS → 10
- RST → 9
- D/C → 8
- CCS → NC
- Lite → NC
Pripojte Vin senzorov k 5V Arduina. Pripojte uzemnenie senzora k zemi Arduina. Pripojte výstup senzorov k analógovým vstupom A1, A2 a A3 Arduina.
Zapojenie s Arduino MKR1010
Displej má 11 pinov. Pripojte ich k Arduinu nasledovne. (NC znamená, že nie je pripojený.)
- Vin → 5V
- 3,3 → NC
- GND → GND
- SCK → SCK 9
- SO → NC
- SI → MOSI 8
- TCS → 5
- RST → 4
- D/C → 3
- CCS → NC
- Lite → NC
Pripojte Vin senzorov k Vcc Arduina. Tento kolík je na 3,3 V, nie na 5 V. Pripojte uzemnenie senzora k zemi Arduina. Pripojte výstup senzorov k analógovým vstupom A1, A2 a A3 Arduina.
Krok 3: Otestujte displej
Začnime pracovať s displejom TFT. Našťastie Adafruit má niekoľko používateľsky prívetivých knižníc a výborný návod, ako s nimi pracovať. Tieto pokyny dôsledne dodržiavajú návod, Otvorte vývojové prostredie Arduino. Prejdite na Nástroje → Spravovať knižnice. Nainštalujte knižnice Adafruit_GFX, Adafruit_ZeroDMA a Adafruit_ST7735. Reštartujte vývojové prostredie systému Android.
Príklad grafického testu je súčasťou knižníc. Otvor to. Súbor → Príklady → Knižnica Adafruit ST7735 a ST7789 → grafický test. Ak chcete vybrať 1,44 displej, riadok 95 pre komentár a nekomentujte riadok 98.
Originálna verzia:
94 // Tento inicializátor použite, ak používate 1,8 -palcovú obrazovku TFT:
95 tft.initR (INITR_BLACKTAB); // Čip Init7777S, čierny štítok 96 97 // ALEBO použite tento inicializátor (odkomentujte), ak používate 1,44 TFT: 98 //tft.initR(INITR_144GREENTAB); // Počiatočný čip ST7735R, zelená záložka
Správna verzia pre 1,44 displej:
94 // Tento inicializátor použite, ak používate 1,8 -palcovú obrazovku TFT:
95 //tft.initR(INIT_BLACKTAB); // Čip Init7777S, čierny štítok 96 97 // ALEBO použite tento inicializátor (odkomentujte), ak používate 1,44 TFT: 98 tft.initR (INITR_144GREENTAB); // Čip Init SST35R, zelená záložka
Displej komunikuje pomocou SPI a rôzne modely Arduinos používajú pre niektoré komunikačné linky rôzne vyhradené piny. Príklad grafického testu je nastavený na prácu s kolíkmi Uno. Ak používate MKR1010, medzi riadky 80 a 81 pridajte nasledujúce riadky.
Opravy pre MKR1010:
80
#define TFT_CS 5 #define TFT_RST 4 #define TFT_DC 3 #define TFT_MOSI 8 #define TFT_SCLK 9 Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK; TFT_ 81 float p = 3,1415926;
Uložte upravený príklad grafického testu. Ak ste tak ešte neurobili, zapojte Arduino do počítača. Prejdite na Nástroje → Doska a Nástroje → Port a overte, či počítač dokáže nájsť Arduino. Prejdite na položku Skica → Odovzdať. Ak príklad funguje, na displeji sa zobrazia čiary, obdĺžniky, text a úplné demo. Tutoriál Adafruit poskytuje viac podrobností, ak je potrebné riešenie problémov.
Krok 4: Kód magnetometra
Stiahnite si priložený kód a otvorte ho vo vývojovom prostredí Arduino.
Tento program používa šesť funkcií:
Setup () inicializuje zobrazenie
Loop () obsahuje hlavnú slučku programu. Sčernie obrazovku, nakreslí osi, prečíta vstupy a nakreslí šípku predstavujúcu vektor magnetického poľa. Má obnovovaciu frekvenciu jednu sekundu, ktorú je možné zmeniť zmenou riadka 127
DrawAxes3d () nakreslí a označí osi x, y a z
DrawArrow3d () má vstup x, y a z v rozsahu od 0 do 1023. Z týchto hodnôt vypočíta koncové body šípky v priestore. Ďalej používa funkcie izometricxx () a izometricyy () na výpočet koncových bodov na obrazovke. Nakoniec nakreslí šípku a vytlačí napätie v spodnej časti obrazovky
Isometricxx () nájde súradnicu x izometrickej projekcie. Zaujme súradnice bodu x, y a z a vráti zodpovedajúce umiestnenie x pixelov na obrazovke
Izometricia () nájde súradnicu y izometrickej projekcie. Zoberie súradnice bodu x, y a z a vráti zodpovedajúce umiestnenie pixelu y na obrazovku
Pred spustením kódu musíme určiť, ktoré piny sa majú použiť na komunikáciu SPI s displejom, a musíme určiť zdrojové napätie pre snímače. Ak používate MKR1010, komentujte riadky 92-96 a 110. Potom odkomentujte riadky 85-89 a 108. Ak používate Uno, komentujte riadky 85-89 a 108. Potom odkomentujte riadky 92-96 a 110.
Nahrajte kód, Skica → Nahrať.
Osi x, y a z by ste mali vidieť červenou farbou. Zelená šípka s modrým kruhom pre hrot predstavuje vektor magnetického poľa na senzoroch. Hodnoty napätia sa zobrazujú vľavo dole. Keď priblížite magnet k senzorom, hodnoty napätia by sa mali zmeniť a veľkosť šípky by mala rásť.
Krok 5: Budúca práca
Ďalším krokom by bola kalibrácia zariadenia. Dátový list senzora poskytuje informácie o tom, ako previesť surové hodnoty napätia senzora na silu magnetického poľa. Kalibráciu je možné overiť porovnaním s presnejším magnetometrom.
Permanentné magnety interagujú s prúdovými vodičmi. Drôty v blízkosti displeja a v Arduine generujú magnetické polia, ktoré môžu ovplyvniť hodnoty senzorov. Navyše, ak sa toto zariadenie používa na meranie v blízkosti silného permanentného magnetu, magnetické pole z testovaného zariadenia bude interagovať so zariadením, vytvárať do neho hluk a pravdepodobne poškodí Arduino a displej. Vďaka tieneniu by mohol byť tento magnetometer robustnejší. Arduino odoláva väčším magnetickým poliam, ak je tienené v kovovej skrinke, a pokiaľ k holým vodičom pripoja senzory tienené káble, bude dochádzať k menšiemu hluku.
Magnetické pole je funkciou polohy, takže je v každom bode priestoru iné. Toto zariadenie používa tri senzory, jeden na meranie zložky magnetického poľa x, y a z v bode. Senzory sú blízko seba, ale nie v jednom bode, čo obmedzuje rozlíšenie magnetometra. Bolo by skvelé uložiť hodnoty magnetického poľa v rôznych bodoch a potom ich zobraziť ako pole šípok na zodpovedajúcich miestach. To je však projekt na ďalší deň.
Referencie
Informácie o grafických knižniciach Adafruit Arduino
https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview
Vizualizácia magnetického poľa
https://www.falstad.com/vector3dm/
Informácie o snímačoch s Hallovým efektom a Hallovým efektom
- https://sensing.honeywell.com/index.php?ci_id=47847
- https://www.allegromicro.com/~/media/Files/Datasheets/A1324-5-6-Datasheet.ashx
Informácie o izometrickej projekcii
- https://en.wikipedia.org/wiki/3D_projection
- https://en.wikipedia.org/wiki/Isometric_projection
Odporúča:
Ako: Inštalácia Raspberry PI 4 bezhlavého (VNC) s obrazovým procesorom Rpi a obrázkami: 7 krokov (s obrázkami)
Ako na to: Inštalácia Raspberry PI 4 bez hlavy (VNC) s obrázkom Rpi a obrázkami: Plánujem použiť tento nástroj Rapsberry PI v mnohých zábavných projektoch späť na mojom blogu. Neváhajte sa na to pozrieť. Chcel som sa vrátiť k používaniu svojho Raspberry PI, ale na novom mieste som nemal klávesnicu ani myš. Chvíľu to bolo, odkedy som nastavil Raspberry
Počítadlo krokov - mikro: bit: 12 krokov (s obrázkami)
Počítadlo krokov - mikro: bit: Tento projekt bude počítadlom krokov. Na meranie našich krokov použijeme senzor akcelerometra, ktorý je vstavaný v Micro: Bit. Zakaždým, keď sa Micro: Bit zatrasie, pridáme k počtu 2 a zobrazíme ho na obrazovke
Prenosný magnetometer: 7 krokov (s obrázkami)
Prenosný magnetometer: Magnetometer, niekedy nazývaný aj Gaussmeter, meria silu magnetického poľa. Je to zásadný nástroj na testovanie sily permanentných magnetov a elektromagnetov a na pochopenie tvaru poľa netriviálnych konfigurácií magnetov
Bolt - Nočné hodiny pre bezdrôtové nabíjanie DIY (6 krokov): 6 krokov (s obrázkami)
Bolt - Nočné hodiny bezdrôtového nabíjania DIY (6 krokov): Indukčné nabíjanie (tiež známe ako bezdrôtové nabíjanie alebo bezdrôtové nabíjanie) je typ bezdrôtového prenosu energie. Na prenos elektriny do prenosných zariadení používa elektromagnetickú indukciu. Najbežnejšou aplikáciou je bezdrôtové nabíjanie Qi
Najlacnejšie Arduino -- Najmenšie Arduino -- Arduino Pro Mini -- Programovanie -- Arduino Neno: 6 krokov (s obrázkami)
Najlacnejšie Arduino || Najmenšie Arduino || Arduino Pro Mini || Programovanie || Arduino Neno: …………………………. REGISTRUJTE SA na môj kanál YouTube pre ďalšie videá ……. . Tento projekt je o tom, ako prepojiť najmenšie a najlacnejšie arduino vôbec. Najmenším a najlacnejším arduino je arduino pro mini. Je to podobné ako arduino