Sisukord:
- Samm: koguge tarvikuid
- 2. samm: juhtmestik
- Samm: proovige ekraani
- Samm: magnetomeetri kood
- Samm: tulevane töö
Video: Arduino magnetomeeter: 5 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Mida me ehitame?
Inimesed ei suuda magnetvälju tuvastada, kuid me kasutame seadmeid, mis toetuvad kogu aeg magnetitele. Näiteks mootorid, kompassid, pöörlemisandurid ja tuuleturbiinid vajavad töötamiseks magneteid. See õpetus kirjeldab, kuidas ehitada Arduino -põhine magnetomeeter, mis tuvastab kolme Halli efekti anduri abil magnetvälja. Asukoha magnetvälja vektor kuvatakse isomeetrilise projektsiooni abil väikesel ekraanil.
Mis on Arduino?
Arduino on väike avatud lähtekoodiga kasutajasõbralik mikrokontroller. Sellel on digitaalsed sisend- ja väljundpoldid. Sellel on ka analoogsisendi tihvtid, mis on kasulikud andurite sisendi lugemiseks. Saadaval on erinevad Arduino mudelid. See õpetus kirjeldab, kuidas kasutada kas Arduino Unot või Arduino MKR1010. Siiski saab kasutada ka teisi mudeleid.
Enne selle õpetuse alustamist laadige alla Arduino arenduskeskkond ja kõik teie konkreetse mudeli jaoks vajalikud teegid. Arenduskeskkond on saadaval aadressil https://www.arduino.cc/en/main/software ja installijuhised on saadaval aadressil
Mis on magnetväli?
Püsimagnetid avaldavad jõudu teistele püsimagnetitele. Voolujuhtmed avaldavad jõudu teistele voolu kandvatele juhtmetele. Püsimagnetid ja voolu kandvad juhtmed avaldavad jõudu ka üksteisele. See jõud testimisvoolu ühiku kohta on magnetväli.
Kui me mõõdame objekti mahtu, saame ühe skalaarse numbri. Kuid magnetismi kirjeldab vektorväli, keerulisem suurus. Esiteks varieerub see olenevalt asukohast kogu ruumis. Näiteks püsimagnetist ühe sentimeetri kaugusel asuv magnetväli on tõenäoliselt suurem kui kümne sentimeetri kaugusel asuv magnetväli.
Järgmisena on magnetvälja igas ruumi punktis kujutatud vektoriga. Vektori suurus näitab magnetvälja tugevust. Suund on risti nii jõu suuna kui ka katsevoolu suunaga.
Me võime kujutada magnetvälja ühes kohas noolena. Me võime kujutada magnetvälja kogu ruumis noolega erinevates kohtades, võib -olla erineva suurusega ja eri suundades. Kena visualiseering on saadaval aadressil https://www.falstad.com/vector3dm/. Meie ehitatav magnetomeeter kuvab magnetvälja andurite asukohas ekraanil noolena.
Mis on Halli efekti andur ja kuidas see toimib?
Halli efekti andur on väike ja odav seade, mis mõõdab magnetvälja tugevust kindlas suunas. See on valmistatud pooljuhtidest, millele on lisatud liigseid laenguid. Mõne Halli efekti anduri väljund on analoogpinge. Teistel Halli efekti anduritel on integreeritud võrdlus ja need toodavad digitaalset väljundit. Teised Hall -efekti andurid on integreeritud suurematesse instrumentidesse, mis mõõdavad voolukiirust, pöörlemiskiirust või muid koguseid.
Halli efekti taga oleva füüsika võtab kokku Lorentzi jõu võrrand. See võrrand kirjeldab liikuva laengu jõudu välise elektri- ja magnetvälja mõjul.
Allolev joonis illustreerib Halli efekti. Oletame, et tahame mõõta magnetvälja tugevust sinise noole suunas. Nagu on näidatud joonise vasakus osas, rakendame voolu läbi pooljuhatüki, mis on risti mõõdetava välja suunaga. Vool on laengute voog, seega liigub pooljuhtlaeng teatud kiirusega. See laeng tunneb välisvälja mõjul jõudu, nagu on näidatud joonise keskosas. Laengud liiguvad jõu mõjul ja kogunevad pooljuhi servadele. Laengud kogunevad seni, kuni kogunenud laengutest tulenev jõud tasakaalustab välisest magnetväljast tuleneva jõu. Saame mõõta pooljuhi pinget, nagu on näidatud joonise parempoolses osas. Mõõdetud pinge on võrdeline magnetvälja tugevusega ning see on vooluga risti ja magnetvälja suunaga.
Mis on isomeetriline projektsioon?
Igas ruumi punktis kirjeldab magnetvälja kolmemõõtmeline vektor. Kuid meie ekraan on kahemõõtmeline. Võime projitseerida kolmemõõtmelise vektori kahemõõtmeliseks tasapinnaks, et saaksime selle ekraanile joonistada. Selle saavutamiseks on mitu võimalust, näiteks isomeetriline projektsioon, ortograafiline projektsioon või kaldus projektsioon.
Isomeetrilises projektsioonis on x-, y- ja z -teljed üksteisest 120 -kraadised ning need on võrdselt lühenenud. Lisateavet isomeetrilise projektsiooni kohta ja vajalikke valemeid leiate Vikipeedia teemakohaselt lehelt.
Samm: koguge tarvikuid
Arduino ja kaabel
Arduino on magnetomeetri aju. Need juhised kirjeldavad Arduino Uno või Arduino MKR1010 kasutamist. Mõlemal juhul on arvutiga ühendamiseks vaja kaablit.
Valik 1: Arduino Uno ja USB AB kaabel
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
Valik 2: Arduino MKR1010 ja microUSB -kaabel
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 ekraan
TFT tähistab Thin Film Transistor. See 1,44 -tolline ekraan sisaldab 128 x 128 pikslit. See on väike, särav ja värvikas. See on kinnitatud purunemisplaadi külge. Siiski on päise tihvtid eraldi, nii et peate need jootma. (Jootetoru ja jootekolb on vaja.)
www.digikey.com/product-detail/en/adafruit-industries-llc/2088/1528-1345-ND/5356830
- Analooghalli efekti andurid
Vaja on kolme Halli efekti andurit. Alloleval lingil on Allegro osa number A1324LUA-T. Selle anduri puhul on tihvt 1 toitepinge, tihvt 2 on maandatud ja tihvt 3 on väljund. Ka teised Halli andurid peaksid töötama, kuid veenduge, et need oleksid analoogsed, mitte digitaalsed. Kui kasutate teist andurit, kontrollige pistikut ja vajadusel reguleerige juhtmestikku. (Ma kasutasin testimiseks tegelikult sama ettevõtte erinevat andurit. Kuid see, mida ma kasutasin, on vananenud ja see andur on selle asendaja.)
www.digikey.com/product-detail/en/allegro-microsystems-llc/A1324LUA-T/620-1432-ND/2728144
Väike leivalaud ja traat
www.digikey.com/product-detail/en/adafruit-industries-llc/239/1528-2143-ND/7244929
Püsimagnetid testimiseks
Külmiku magnetid töötavad hästi.
2. samm: juhtmestik
Jootke päised ekraanil.
Asetage andurid leivalaua ühte otsa ning asetage ekraan ja Arduino teise otsa. Arduino ja ekraani juhtmete vool tekitab magnetvälju, mida me ei taha, et andurid loeksid. Lisaks võime panna andurid püsimagnetite lähedale, mis võib negatiivselt mõjutada ekraani ja anduri juhtmete voolu. Nendel põhjustel soovime, et andurid ei oleks kuvarist ja Arduinost kaugel. Ka nendel põhjustel tuleks seda magnetomeetrit hoida väga tugevatest magnetväljadest eemal.
Asetage andurid üksteise suhtes risti, kuid üksteisele võimalikult lähedale. Painutage andureid õrnalt, et need oleksid risti. Iga anduri iga tihvt peab olema leivalaua eraldi reas, nii et seda saab eraldi ühendada.
Juhtmed on MKR1010 ja Uno vahel pisut erinevad kahel põhjusel. Esiteks suhtlevad Arduino ja ekraan SPI kaudu. Erinevatel Arduino mudelitel on teatud SPI liinide jaoks erinevad spetsiaalsed tihvtid. Teiseks võivad Uno analoogsisendid vastu võtta kuni 5 V, MKR1010 analoogsisendid aga kuni 3,3 V. Hall -efekti andurite soovitatav toitepinge on 5 V. Anduri väljundid on ühendatud Arduino analoogsisenditega, ja need võivad olla sama suured kui toitepinged. Uno jaoks kasutage andurite jaoks soovitatud 5 V toiteallikat. MKR1010 jaoks kasutage 3,3 V, nii et Arduino analoogsisend ei näe kunagi pinget, mis on suurem kui see suudab taluda.
Järgige allolevaid skeeme ja juhiseid kasutatava Arduino kohta.
Juhtmestik Arduino Unoga
Ekraanil on 11 kontakti. Ühendage need Arduino Unoga järgmiselt. (NC tähendab, et pole ühendatud.)
- Vin → 5V
- 3.3 → NC
- Gnd → GND
- SCK → 13
- SO → NC
- SI → 11
- TCS → 10
- RST → 9
- D/C → 8
- CCS → NC
- Lihtne → NC
Ühendage andurite Vin Arduino 5V -ga. Ühendage anduri maandus Arduino maandusega. Ühendage andurite väljund Arduino analoogsisenditega A1, A2 ja A3.
Juhtmestik Arduino MKR1010 -ga
Ekraanil on 11 kontakti. Ühendage need Arduinoga järgmiselt. (NC tähendab, et pole ühendatud.)
- Vin → 5V
- 3.3 → NC
- Gnd → GND
- SCK → SCK 9
- SO → NC
- SI → MOSI 8
- TCS → 5
- RST → 4
- D/C → 3
- CCS → NC
- Lihtne → NC
Ühendage andurite Vin Arduino Vcc -ga. See pin on 3.3V, mitte 5V. Ühendage anduri maandus Arduino maandusega. Ühendage andurite väljund Arduino analoogsisenditega A1, A2 ja A3.
Samm: proovige ekraani
Paneme TFT -ekraani tööle. Õnneks on Adafruitil mõned kasutajasõbralikud raamatukogud ja suurepärane õpetus nendega kaasas käimiseks. Need juhised järgivad täpselt õpetust
Avage Arduino arenduskeskkond. Avage Tööriistad → Raamatukogude haldamine. Installige teegid Adafruit_GFX, Adafruit_ZeroDMA ja Adafruit_ST7735. Taaskäivitage Androidi arenduskeskkond.
Graafilise testi näide on raamatukogudega kaasas. Ava see. Fail → Näited → Adafruit ST7735 ja ST7789 raamatukogu → graphicstest. 1,44 -tollise ekraani kommentaarirea 95 ja tühistamisrea 98 valimiseks.
Algne versioon:
94 // Kasutage seda initsialiseerijat, kui kasutate 1,8 -tollist TFT -ekraani:
95 tft.initR (INITR_BLACKTAB); // Init ST7735S kiip, must sakk 96 97 // VÕI kasutage seda initsialiseerijat (märkusteta), kui kasutate 1,44 TFT: 98 //tft.initR (INITR_144GREENTAB); // Init ST7735R kiip, roheline sakk
1,44 -tollise ekraani õige versioon:
94 // Kasutage seda initsialiseerijat, kui kasutate 1,8 -tollist TFT -ekraani:
95 //tft.initR (INIT_BLACKTAB); // Init ST7735S kiip, must sakk 96 97 // VÕI kasutage seda initsialiseerijat (märkusteta), kui kasutate 1,44 -tollist TFT -d: 98 tft.initR (INITR_144GREENTAB); // Init SST35R kiip, roheline sakk
Ekraan suhtleb SPI abil ja erinevad mudelid Arduinos kasutavad teatud kommunikatsiooniliinide jaoks erinevaid spetsiaalseid kontakte. Graafilise testi näide on loodud töötama Uno tihvtidega. Kui kasutate MKR1010, lisage ridade 80 ja 81 vahele järgmised read.
Parandused MKR1010 jaoks:
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_RST); 81 ujuk p = 3,1415926;
Salvestage muudetud graafilise testi näide. Ühendage Arduino arvutiga, kui te pole seda veel teinud. Avage Tööriistad → Tahvel ja Tööriistad → Port, et veenduda, kas arvuti leiab Arduino. Avage Visand → Laadi üles. Kui näide töötab, kuvatakse ekraanil read, ristkülikud, tekst ja täielik demo. Adafruit'i õpetus annab rohkem teavet, kui tõrkeotsingut on vaja.
Samm: magnetomeetri kood
Laadige alla lisatud kood ja avage see Arduino arenduskeskkonnas.
See programm kasutab kuut funktsiooni:
Seadistus () lähtestab ekraani
Loop () sisaldab programmi peamist tsüklit. See pimendab ekraani, joonistab teljed, loeb sisendid ja tõmbab magnetvälja vektorit tähistava noole. Selle värskendussagedus on üks sekund, mida saab muuta, muutes rida 127
DrawAxes3d () joonistab ja sildistab teljed x, y ja z
DrawArrow3d () võtab x, y ja z sisendi vahemikus 0 kuni 1023. Nendest väärtustest arvutab see ruumis oleva noole lõpp -punktid. Järgmisena kasutab ta ekraani lõpp -punktide arvutamiseks funktsioone isometricxx () ja isometricyy (). Lõpuks joonistab see noole ja prindib pinged ekraani põhja
Isometricxx () leiab isomeetrilise projektsiooni x -koordinaadi. See võtab punkti x, y ja z koordinaadid ning tagastab vastava x piksli asukoha ekraanil
Isometricyy () leiab isomeetrilise projektsiooni y -koordinaadi. See võtab punkti x, y ja z koordinaadid ning tagastab vastava y piksli asukoha ekraanil
Enne koodi käivitamist peame täpsustama, milliseid tihvte kasutada ekraaniga SPI -sideks, ja andurite jaoks tuleb määrata toiteallika pinge. Kui kasutate MKR1010, kommenteerige nii ridu 92–96 kui ka rida 110. Seejärel tühistage kommentaaride read 85–89 ja rida 108. Kui kasutate Unot, kommenteerige nii ridu 85–89 kui ka rida 108. Seejärel tühistage read 92–96 ja rida 110.
Laadige kood üles, visandage → Laadi üles.
Te peaksite nägema x-, y- ja z -telge punaselt. Roheline nool, mille ots on sinise ringiga, tähistab andurite juures magnetvälja vektorit. Pinge näidud kuvatakse vasakus alanurgas. Kui tuua magnet magnetitele lähemale, peaksid pingenäidud muutuma ja noole suurus suurenema.
Samm: tulevane töö
Järgmine samm oleks seadme kalibreerimine. Anduri andmeleht annab teavet selle kohta, kuidas toorpinge väärtused teisendada magnetvälja tugevuseks. Kalibreerimist saab kontrollida, kui võrrelda seda täpsema magnetomeetriga.
Püsimagnetid suhtlevad voolu kandvate juhtmetega. Juhtmed ekraani lähedal ja Arduinos tekitavad magnetvälju, mis võivad mõjutada anduri näitu. Lisaks, kui seda seadet kasutatakse tugeva püsimagneti läheduses mõõtmiseks, hakkab testitava seadme magnetväli suhtlema, tekitama müra ja võib kahjustada Arduino ja ekraani. Varjestus võib muuta selle magnetomeetri tugevamaks. Arduino talub suuremaid magnetvälju, kui see on metallkarbis varjestatud, ja vähem müra tekib, kui varjestatud kaablid ühendavad andurid paljaste juhtmete asemel.
Magnetväli on positsiooni funktsioon, seega on see igas ruumi punktis erinev. See seade kasutab kolme andurit, millest üks mõõdab magnetvälja x, y ja z komponenti ühes punktis. Andurid on üksteise lähedal, kuid mitte ühes kohas ja see piirab magnetomeetri eraldusvõimet. Oleks lahe salvestada magnetvälja näidud erinevatesse kohtadesse ja kuvada need vastavate kohtade nooltena. See on aga teise päeva projekt.
Viited
Teave Adafruit Arduino graafikateekide kohta
https://learn.adafruit.com/adafruit-1-44-color-tft-with-micro-sd-socket/overview
Magnetvälja visualiseerimine
https://www.falstad.com/vector3dm/
Teave Halli efekti ja Halli efekti andurite kohta
- https://sensing.honeywell.com/index.php?ci_id=47847
- https://www.allegromicro.com/~/media/Files/Datasheets/A1324-5-6-Datasheet.ashx
Teave isomeetrilise projektsiooni kohta
- https://en.wikipedia.org/wiki/3D_projection
- https://en.wikipedia.org/wiki/Isometric_projection
Soovitan:
Kuidas: Raspberry PI 4 peata (VNC) installimine RPI-pildistaja ja piltidega: 7 sammu (koos piltidega)
Kuidas: Raspberry PI 4 peata (VNC) installimine Rpi-pildistaja ja piltidega: kavatsen seda Rapsberry PI-d kasutada oma blogis hunniku lõbusate projektide jaoks. Vaadake seda julgelt. Tahtsin uuesti oma Raspberry PI kasutamist alustada, kuid mul polnud uues asukohas klaviatuuri ega hiirt. Vaarika seadistamisest oli tükk aega möödas
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Kaasaskantav magnetomeeter: 7 sammu (piltidega)
Kaasaskantav magnetomeeter: magnetomeeter, mõnikord ka Gaussmeter, mõõdab magnetvälja tugevust. See on oluline tööriist püsimagnetite ja elektromagnetite tugevuse testimiseks ning mittetriviaalsete magnetkonfiguratsioonide väljakuju mõistmiseks
Arvuti demonteerimine lihtsate sammude ja piltidega: 13 sammu (piltidega)
Arvuti demonteerimine lihtsate sammude ja piltidega: see on juhis arvuti demonteerimiseks. Enamik põhikomponente on modulaarsed ja kergesti eemaldatavad. Siiski on oluline, et oleksite selles osas organiseeritud. See aitab vältida osade kaotamist ja ka kokkupanekut
Odavaim Arduino -- Väikseim Arduino -- Arduino Pro Mini -- Programmeerimine -- Arduino Neno: 6 sammu (piltidega)
Odavaim Arduino || Väikseim Arduino || Arduino Pro Mini || Programmeerimine || Arduino Neno: …………………………. Palun TELLI minu YouTube'i kanalile, et saada rohkem videoid ……. .See projekt käsitleb kõigi aegade väikseima ja odavaima arduino liidestamist. Väikseim ja odavaim arduino on arduino pro mini. See sarnaneb arduinoga