Sadržaj:
- Korak 1: Prikupite potrepštine
- Korak 2: Ožičenje
- Korak 3: Isprobajte zaslon
- Korak 4: Kod magnetometra
- Korak 5: Budući rad
Video: Arduino magnetometar: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Što gradimo?
Ljudi ne mogu otkriti magnetska polja, ali mi koristimo uređaje koji se cijelo vrijeme oslanjaju na magnete. Motori, kompasi, senzori rotacije i vjetroturbine, na primjer, za rad zahtijevaju magnete. Ovaj vodič opisuje kako izgraditi magnetometar temeljen na Arduinu koji osjeća magnetsko polje pomoću tri senzora Hall efekta. Vektor magnetskog polja na određenom mjestu prikazuje se na malom ekranu pomoću izometrijske projekcije.
Što je Arduino?
Arduino je mali open-source user-friendly mikrokontroler. Ima digitalne ulazne i izlazne pinove. Također ima analogne ulazne pinove koji su korisni za čitanje ulaza sa senzora. Dostupni su različiti modeli Arduino. Ovaj vodič opisuje kako koristiti Arduino Uno ili Arduino MKR1010. Međutim, mogu se koristiti i drugi modeli.
Prije nego započnete ovaj vodič, preuzmite razvojno okruženje Arduino, kao i sve knjižnice potrebne za vaš model. Razvojno okruženje dostupno je na https://www.arduino.cc/en/main/software, a upute za instalaciju dostupne su na
Što je magnetsko polje?
Trajni magneti djeluju na druge trajne magnete. Žice za nošenje struje djeluju na druge žice za nošenje struje. Trajni magneti i žice za nošenje struje također djeluju jedno na drugo. Ova sila po jedinici ispitne struje je magnetsko polje.
Ako mjerimo volumen objekta, dobivamo jedan skalarni broj. Međutim, magnetizam je opisan vektorskim poljem, složenijom veličinom. Prvo, varira ovisno o položaju u čitavom prostoru. Na primjer, magnetsko polje udaljeno jedan centimetar od stalnog magneta vjerojatno će biti veće od magnetskog polja udaljenog deset centimetara.
Zatim, magnetsko polje u svakoj točki prostora predstavlja vektor. Veličina vektora predstavlja jakost magnetskog polja. Smjer je okomit i na smjer sile i na smjer ispitne struje.
Magnetno polje na jednom mjestu možemo zamisliti kao strelicu. Magnetsko polje u svemiru možemo zamisliti nizom strelica na različitim mjestima, moguće različitih veličina i usmjerenim u različitim smjerovima. Lijepa vizualizacija dostupna je na https://www.falstad.com/vector3dm/. Magnetometar koji gradimo prikazuje magnetsko polje na mjestu senzora kao strelica na zaslonu.
Što je Hall -ov senzor i kako funkcionira?
Hall -ov senzor je mali, jeftin uređaj koji mjeri jakost magnetskog polja u određenom smjeru. Napravljen je od komada poluvodiča dopiranog s viškom naboja. Izlaz nekih osjetnika Hall efekta je analogni napon. Ostali Hallovi senzori imaju integrirani usporednik i proizvode digitalni izlaz. Ostali Hall -ovi senzori integrirani su u veće instrumente koji mjere brzinu protoka, brzinu rotacije ili druge veličine.
Fizika iza Hallovog efekta sažeta je Lorentzovom jednadžbom sile. Ova jednadžba opisuje silu na pokretni naboj zbog vanjskog električnog i magnetskog polja.
Donja slika ilustrira Hallov efekt. Pretpostavimo da želimo izmjeriti jakost magnetskog polja u smjeru plave strelice. Kao što je prikazano u lijevom dijelu slike, primjenjujemo struju kroz komad poluvodiča okomito na smjer polja koje treba mjeriti. Struja je protok naboja, pa se naboj u poluvodiču kreće određenom brzinom. Ovaj naboj će osjetiti silu zbog vanjskog polja, kao što je prikazano u srednjem dijelu slike. Naboji će se kretati zbog sile i nakupljati se na rubovima poluvodiča. Naboji se stvaraju sve dok sila zbog akumuliranih naboja ne uravnoteži silu nastalu zbog vanjskog magnetskog polja. Možemo izmjeriti napon na poluvodiču, kao što je prikazano u desnom dijelu slike. Izmjereni napon proporcionalan je jačini magnetskog polja, a smjer je okomit na struju i smjer magnetskog polja.
Što je izometrijska projekcija?
U svakoj točki prostora magnetsko polje je opisano trodimenzionalnim vektorom. Međutim, naš zaslon je dvodimenzionalan. Trodimenzionalni vektor možemo projicirati u dvodimenzionalnu ravninu tako da ga možemo nacrtati na ekranu. Postoji više načina da se to postigne, poput izometrijske projekcije, ortografske projekcije ili kose projekcije.
U izometrijskoj projekciji, osi x, y i z međusobno su udaljene 120 stupnjeva i izgledaju podjednako skraćene. Dodatne informacije o izometrijskoj projekciji, kao i potrebne formule, mogu se pronaći na Wikipedijinoj stranici na tu temu.
Korak 1: Prikupite potrepštine
Arduino i Cable
Arduino je mozak magnetometra. Ove upute opisuju kako koristiti Arduino Uno ili Arduino MKR1010. U oba slučaja potreban je kabel za povezivanje s računalom.
Opcija 1: Arduino Uno i USB AB kabel
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
Opcija 2: Arduino MKR1010 i microUSB kabel
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 zaslon
TFT znači Thin Film Transistor. Ovaj 1,44 -inčni zaslon ima 128 x 128 piksela. Mali je, svijetao i šaren. Dolazi pričvršćen na ploču za razbijanje. Međutim, pinovi zaglavlja se odvajaju pa ih morate lemiti. (Lemljenje i lemilica su potrebno.)
www.digikey.com/product-detail/en/adafruit-industries-llc/2088/1528-1345-ND/5356830
- Analogni osjetnici Hall efekta
Potrebna su tri senzora Hall efekta. Donja veza je za Allegro broj dijela A1324LUA-T. Za ovaj senzor, pin 1 je opskrbni napon, pin 2 je uzemljen, a pin 3 je izlaz. Trebali bi raditi i drugi Hall senzori, ali provjerite jesu li analogni, a ne digitalni. Ako koristite drugi senzor, provjerite pinout i po potrebi prilagodite ožičenje. (Za testiranje sam zapravo koristio drugi senzor iste tvrtke. Međutim, onaj koji sam koristio je zastario i ovaj je senzor njegova zamjena.)
www.digikey.com/product-detail/en/allegro-microsystems-llc/A1324LUA-T/620-1432-ND/2728144
Mala pločica i žica
www.digikey.com/product-detail/en/adafruit-industries-llc/239/1528-2143-ND/7244929
Trajni magneti za ispitivanje
Magneti za hladnjak će dobro raditi.
Korak 2: Ožičenje
Lemite zaglavlja na zaslonu.
Senzore postavite na jedan kraj ploče, a zaslon i Arduino na suprotni kraj. Struja u žicama u Arduinu i na zaslonu generira magnetska polja, koja ne želimo da senzori očitavaju. Osim toga, možda bismo trebali postaviti senzore u blizini stalnih magneta, što bi moglo negativno utjecati na struju u žicama zaslona i senzora. Iz tih razloga želimo senzore daleko od zaslona i Arduina. Također iz ovih razloga, ovaj magnetometar treba držati podalje od vrlo jakih magnetskih polja.
Senzore postavite okomito jedan na drugi, ali što bliže jedan drugom. Lagano savijte senzore kako bi bili okomiti. Svaki pin svakog senzora mora biti u zasebnom redu matične ploče kako bi se mogao zasebno spojiti.
Ožičenje se malo razlikuje između MKR1010 i Uno iz dva razloga. Prvo, Arduino i zaslon komuniciraju putem SPI -a. Različiti Arduino modeli imaju različite namjenske pinove za određene SPI linije. Drugo, analogni ulazi Uno -a mogu prihvatiti do 5 V, dok analogni ulazi MKR1010 mogu prihvatiti samo do 3,3 V. Preporučeni napon napajanja za Hall -ove senzore je 5 V. Izlazi senzora su spojeni na Arduino analogne ulaze, a oni mogu biti veliki koliko i naponi napajanja. Za Uno upotrijebite preporučeno napajanje od 5 V za senzore. Za MKR1010 upotrijebite 3,3 V tako da analogni ulaz Arduina nikada ne vidi napon veći nego što može podnijeti.
Slijedite donje dijagrame i upute za Arduino koji koristite.
Ožičenje s Arduino Uno
Zaslon ima 11 pinova. Spojite ih na Arduino Uno na sljedeći način. (NC znači da nije povezan.)
- Vin → 5V
- 3,3 → NC
- Gnd → GND
- SCK → 13
- SO → NC
- SI → 11
- TCS → 10
- RST → 9
- D/C → 8
- CCS → NC
- Lite → NC
Spojite Vin senzora na 5V Arduina. Spojite masu senzora na masu Arduina. Spojite izlaz senzora na analogne ulaze A1, A2 i A3 Arduina.
Ožičenje s Arduinom MKR1010
Zaslon ima 11 pinova. Povežite ih s Arduinom na sljedeći način. (NC znači da nije povezan.)
- 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
Spojite Vin senzora na Vcc Arduina. Ovaj pin je na 3.3V, a ne na 5V. Spojite masu senzora na masu Arduina. Spojite izlaz senzora na analogne ulaze A1, A2 i A3 Arduina.
Korak 3: Isprobajte zaslon
Neka TFT zaslon radi. Srećom, Adafruit ima neke knjižnice prilagođene korisnicima i izvrstan vodič za njih. Ove upute pomno slijede vodič, Otvorite razvojno okruženje Arduino. Idite na Alati → Upravljanje knjižnicama. Instalirajte knjižnice Adafruit_GFX, Adafruit_ZeroDMA i Adafruit_ST7735. Ponovo pokrenite razvojno okruženje Android.
Primjer grafičkog testa uključen je u knjižnice. Otvori. Datoteka → Primjeri → Knjižnica Adafruit ST7735 i ST7789 → grafički test. Za odabir 1,44 -inčnog zaslona za komentar iz reda 95 i redaka za uklanjanje komentara 98.
Originalna verzija:
94 // Koristite ovaj inicijalizator ako koristite 1,8 -inčni TFT zaslon:
95 tft.initR (INITR_BLACKTAB); // Init ST7735S čip, crna kartica 96 97 // ILI koristite ovaj inicijalizator (uncomment) ako koristite 1,44 TFT: 98 //tft.initR(INITR_144GREENTAB); // Init ST7735R čip, zelena kartica
Ispravna verzija za 1,44 zaslon:
94 // Koristite ovaj inicijalizator ako koristite 1,8 -inčni TFT zaslon:
95 //tft.initR(INIT_BLACKTAB); // Init ST7735S čip, crni jezičak 96 97 // ILI koristite ovaj inicijalizator (uncomment) ako koristite 1.44 TFT: 98 tft.initR (INITR_144GREENTAB); // Init SST35R čip, zelena kartica
Zaslon komunicira pomoću SPI -ja, a različiti modeli Arduinosa koriste različite namjenske pinove za neke komunikacijske linije. Primjer grafičkog testa postavljen je za rad s Uno pinovima. Ako koristite MKR1010, dodajte sljedeće retke između redaka 80 i 81.
Ispravke za 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_SCLK; 81 plovak p = 3,1415926;
Spremite izmijenjeni primjer grafičkog testa. Uključite Arduino u računalo ako to još niste učinili. Idite na Alati → Ploča i alati → Port kako biste provjerili može li računalo pronaći Arduino. Idite na Sketch → Upload. Ako primjer funkcionira, na zaslonu će se prikazati linije, pravokutnici, tekst i kompletna demonstracija. Vodič Adafruit pruža više detalja ako je potrebno rješavanje problema.
Korak 4: Kod magnetometra
Preuzmite priloženi kôd i otvorite ga u razvojnom okruženju Arduino.
Ovaj program koristi šest funkcija:
Setup () inicijalizira prikaz
Loop () sadrži glavnu petlju programa. Zatamnjuje zaslon, crta osi, čita ulaze i crta strelicu koja predstavlja vektor magnetskog polja. Ima brzinu osvježavanja od jedne sekunde koja se može promijeniti promjenom linije 127
DrawAxes3d () crta i označava osi x, y i z
DrawArrow3d () prima x, y i z unose u rasponu od 0 do 1023. Iz ovih vrijednosti izračunava krajnje točke strelice u prostoru. Zatim koristi funkcije isometricxx () i isometricyy () za izračun krajnjih točaka na ekranu. Na kraju, iscrtava strelicu i ispisuje napone na dnu zaslona
Isometricxx () pronalazi x koordinatu izometrijske projekcije. Uzima koordinate x, y i z točke i vraća odgovarajuće mjesto x piksela na zaslonu
Isometricyy () pronalazi y koordinatu izometrijske projekcije. Uzima koordinate x, y i z točke i vraća odgovarajuće mjesto y piksela na zaslonu
Prije pokretanja koda moramo odrediti koje pinove koristiti za SPI komunikaciju s zaslonom, a moramo odrediti i izvorni napon senzora. Ako koristite MKR1010, komentirajte retke 92-96 kao i redak 110. Zatim uklonite komentare na redove 85-89 kao i na redak 108. Ako koristite Uno, komentirajte retke 85-89 kao i redak 108. Zatim, komentirajte retke 92-96 kao i redak 110.
Učitajte kôd, Skica → Prenesi.
Osi x, y i z trebali biste vidjeti crvenom bojom. Zelena strelica s plavim krugom za vrh predstavlja vektor magnetskog polja na senzorima. Očitanja napona prikazana su u donjem lijevom kutu. Kako približavate magnet senzorima, očitanja napona bi se trebala promijeniti, a veličina strelice bi trebala rasti.
Korak 5: Budući rad
Sljedeći korak bio bi kalibriranje uređaja. Tehnički list senzora pruža informacije o tome kako pretvoriti vrijednosti napona sirovog senzora u jakost magnetskog polja. Kalibracija se može provjeriti usporedbom s preciznijim magnetometrom.
Trajni magneti stupaju u interakciju sa žicama za nošenje struje. Žice u blizini zaslona i u Arduinu stvaraju magnetska polja koja mogu utjecati na očitanja senzora. Osim toga, ako se ovaj uređaj koristi za mjerenje u blizini jakog trajnog magneta, magnetsko polje iz testiranog uređaja će stupiti u interakciju, unijeti šum u i eventualno oštetiti Arduino i zaslon. Zaštita bi ovaj magnetometar mogla učiniti robusnijim. Arduino može izdržati veća magnetska polja ako je oklopljen u metalnoj kutiji, a manje šuma bit će uvedeno ako oklopljeni kabeli povežu senzore umjesto golih žica.
Magnetsko polje je funkcija položaja pa je u svakoj točki prostora različito. Ovaj uređaj koristi tri senzora, jedan za mjerenje x, y i z komponente magnetskog polja u jednoj točki. Senzori su blizu jedan drugome, ali ne u jednoj točki, što ograničava razlučivost magnetometra. Bilo bi super spremiti očitanja magnetskog polja na različite točke, a zatim ih prikazati kao niz strelica na odgovarajućim mjestima. Međutim, to je projekt za još jedan dan.
Reference
Informacije o knjižnicama grafike Adafruit Arduino
https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview
Vizualizacija magnetskog polja
https://www.falstad.com/vector3dm/
Podaci o Hall -ovom efektu i Hall -ovom senzoru
- https://sensing.honeywell.com/index.php?ci_id=47847
- https://www.allegromicro.com/~/media/Files/Datasheets/A1324-5-6-Datasheet.ashx
Podaci o izometrijskoj projekciji
- https://en.wikipedia.org/wiki/3D_projection
- https://en.wikipedia.org/wiki/Isometric_projection
Preporučeni:
Kako: Instaliranje Raspberry PI 4 bez glave (VNC) s Rpi-imagerom i slikama: 7 koraka (sa slikama)
Kako: Instaliranje Raspberry PI 4 Headless (VNC) s Rpi-imagerom i slikama: Planiram koristiti ovaj Rapsberry PI u hrpi zabavnih projekata na svom blogu. Slobodno provjerite. Htio sam se vratiti korištenju Raspberry PI -a, ali nisam imao tipkovnicu ili miš na novoj lokaciji. Prošlo je dosta vremena od postavljanja maline
Prijenosni magnetometar: 7 koraka (sa slikama)
Prijenosni magnetometar: Magnetometar, koji se ponekad naziva i Gaussmeter, mjeri jakost magnetskog polja. To je bitan alat za ispitivanje čvrstoće stalnih magneta i elektromagneta te za razumijevanje oblika polja netrivijalnih konfiguracija magneta
Kako rastaviti računalo jednostavnim koracima i slikama: 13 koraka (sa slikama)
Kako rastaviti računalo jednostavnim koracima i slikama: Ovo uputstvo o tome kako rastaviti računalo. Većina osnovnih komponenti je modularna i lako se uklanja. Međutim, važno je da se oko toga organizirate. To će vam pomoći da spriječite gubitak dijelova, a također i prilikom ponovnog sastavljanja
SmartPhone Simulator igre- Igrajte Windows igre koristeći IMU za kontrolu pokreta, akcelerometar, žiroskop, magnetometar: 5 koraka
SmartPhone Game Simulator- Igrajte Windows igre koristeći IMU za upravljanje pokretima, akcelerometar, žiroskop, magnetometar: Podržite ovaj projekt: https://www.paypal.me/vslcreations doniranjem kodovima otvorenog koda & podrška daljnjem razvoju
Najjeftiniji Arduino -- Najmanji Arduino -- Arduino Pro Mini -- Programiranje -- Arduino Neno: 6 koraka (sa slikama)
Najjeftiniji Arduino || Najmanji Arduino || Arduino Pro Mini || Programiranje || Arduino Neno: …………………………. PRETPLATITE SE na moj YouTube kanal za više videa ……. .Ovaj projekt govori o tome kako spojiti najmanji i najjeftiniji arduino ikada. Najmanji i najjeftiniji arduino je arduino pro mini. Slično je arduinu