Turinys:
Video: „Arduino“invertuoto magnetrono keitiklio rodmenys: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Vykdydama čia vykdomą projektą, kuriame dokumentuojame nuolatinę pažangą, padarytą žengiant į itin didelio vakuumo dalelių fizikos pasaulį, buvo pasiekta projekto dalis, kuriai reikėjo šiek tiek elektronikos ir kodavimo.
Aš nusipirkau perteklinį MKS serijos 903 IMT šalto katodo vakuumo matuoklį be valdiklio ar rodmenų. Tam tikru atveju ypač aukšto vakuumo sistemoms reikia įvairių jutiklių pakopų, kad būtų galima tinkamai išmatuoti dujų trūkumą kameroje. Kai gausite vis stipresnį vakuumą, tuo sudėtingesnis šis matavimas.
Esant mažam vakuumui arba šiurkščiam vakuumui, paprasti termoporos matuokliai gali atlikti šį darbą, tačiau, kai vis daugiau ir daugiau pašalinate iš kameros, jums reikia kažko panašaus į dujų jonizacijos matuoklį. Du dažniausiai naudojami metodai yra karšto katodo ir šalto katodo matuokliai. Karšto katodo matuokliai veikia kaip daugelis vakuuminių vamzdelių, kuriuose yra kaitinimo siūlas, išvirinantis laisvus elektronus, kurie pagreitinami link tinklelio. Bet kokios dujų molekulės jonizuos ir užgesins jutiklį. Šaltojo katodo matuokliai naudoja aukštą įtampą be gijų magnetrono viduje, kad sukurtų elektronų kelią, kuris taip pat jonizuoja vietines dujų molekules ir išjungia jutiklį.
Mano matuoklis yra žinomas kaip apverstas magnetronų keitiklio matuoklis, pagamintas MKS, kuris sujungė valdymo elektroniką su pačia matuoklio aparatūra. Tačiau išėjimas yra linijinė įtampa, kuri sutampa su logaritmine skale, naudojama vakuumui matuoti. Tai mes programuosime savo arduino.
1 žingsnis: ko reikia?
Jei esate panašus į mane, bandysite pigiai sukurti vakuuminę sistemą, įsigysite bet kokį matuoklį. Laimei, daugelis matuoklių gamintojų taip gamina matuoklius, kur matuoklis išleidžia įtampą, kurią galima naudoti jūsų matavimo sistemoje. Tačiau konkrečiai šiai instrukcijai jums reikės:
- 1 MKS HPS serijos 903 AP IMT šalto katodo vakuumo jutiklis
- 1 arduino uno
- 1 standartinis 2x16 LCD ekranas
- 10k omų potenciometras
- moterų DSUB-9 jungtis
- serijinis kabelis DB-9
- įtampos daliklis
2 žingsnis: kodas
Taigi, turiu tam tikros patirties su „arduino“, pavyzdžiui, klydau su savo 3D spausdintuvų RAMPS konfigūracija, tačiau neturėjau patirties rašant kodą nuo pat pradžių, todėl tai buvo mano pirmasis tikras projektas. Aš išstudijavau daugybę jutiklių vadovų ir juos pakeičiau, kad suprasčiau, kaip galėčiau juos naudoti su savo jutikliu. Iš pradžių buvo mintis naudoti paieškos lentelę, kaip mačiau kitus jutiklius, bet galiausiai panaudojau „arduino“slankiojo kablelio funkciją, kad galėčiau atlikti žurnalo/linijinę lygtį, pagrįstą MKS pateiktoje instrukcijoje pateikta konversijų lentele.
Žemiau pateiktas kodas tiesiog nustato A0 kaip slankiojo kablelio vienetą įtampai, kuri yra 0-5v nuo įtampos skirstytuvo. Tada jis apskaičiuojamas iki 10 V skalės ir interpoluojamas naudojant lygtį P = 10^(v-k), kur p yra slėgis, v yra įtampa 10 V skalėje ir k yra vienetas, šiuo atveju torr, atstovaujamas 11 000. Jis apskaičiuoja, kad slankiuoju kableliu, tada pateikia jį LCD ekrane, naudojant mokslinį žymėjimą, naudojant dtostre.
#include #include // inicijuoti biblioteką naudojant sąsajos kaiščių numerius „LiquidCrystal lcd“(12, 11, 5, 4, 3, 2); // sąrankos tvarka paleidžiama vieną kartą paspaudus „reset“: void setup () {/ / inicijuoti serijinį ryšį 9600 bitų per sekundę greičiu: Serial.begin (9600); pinMode (A0, INPUT); // A0 nustatytas kaip įvestis #define PRESSURE_SENSOR A0; LCD. pradžia (16, 2); lcd.print („MKS Instruments“); lcd.setCursor (0, 1); lcd.print ("IMT šaltasis katodas"); vėlavimas (6500); lcd.clear (); lcd.print ("Manometrinis slėgis:"); } // ciklo rutina vis kartojasi visam laikui: void loop () {float v = analogRead (A0); // v yra įėjimo įtampa, nustatyta kaip slankiojo kablelio vienetas „analogRead“v = v * 10.0 /1024; // v yra 0-5v daliklio įtampa, išmatuota nuo 0 iki 1024, apskaičiuota iki 0v iki 10v skalės plūdė p = pow (10, v - 11.000); // p yra slėgis torr, kuris pavaizduotas k lygtyje [P = 10^(vk)], kuris yra - // -11 000 (K = 11 000 Torr, 10,875 mbar, 8 000 mikronų, 8,875 Pascal)) Serial.print (v); anglies slėgisE [8]; dtostre (p, slėgisE, 1, 0); // mokslinis formatas su 1 dešimtaine dalimi lcd.setCursor (0, 1); lcd.print (slėgisE); lcd.print („Torr“); }
3 žingsnis: bandymas
Bandymus atlikau naudodami išorinį maitinimo šaltinį, žingsniais 0-5v. Tada skaičiavimus atlikiau rankiniu būdu ir įsitikinau, kad jie atitinka rodomą vertę. Atrodo, kad tai šiek tiek sumažėjo, tačiau tai nėra labai svarbu, nes tai atitinka mano reikalingas specifikacijas.
Šis projektas man buvo didžiulis pirmojo kodo projektas, ir nebūčiau jo baigęs, jei ne fantastinė arduino bendruomenė: 3
Daugybė vadovų ir jutiklių projektų tikrai padėjo išsiaiškinti, kaip tai padaryti. Buvo daug bandymų ir klaidų, daug įstrigo. Bet galų gale aš esu labai patenkintas tuo, kaip tai pasirodė, ir, tiesą sakant, patirtis, kai pirmą kartą padarėte kodą, padarytą taip, kaip turėtų, yra gana nuostabu.
Rekomenduojamas:
Dabartinio limito funkcijos pridėjimas prie „Buck/Boost“keitiklio: 4 žingsniai (su paveikslėliais)
Dabartinio limito funkcijos pridėjimas prie „Buck/Boost“keitiklio: Šiame projekte mes atidžiau pažvelgsime į įprastą „Buck/Boost“keitiklį ir sukursime mažą, papildomą grandinę, kuri pridės srovės ribojimo funkciją. Naudojant jį, „Buck/Boost“keitiklis gali būti naudojamas kaip kintamos laboratorijos maitinimo šaltinis. Le
DCDC keitiklio išėjimo įtampa, valdoma PWM: 3 žingsniai
DCDC keitiklio išėjimo įtampa valdoma PWM: man reikėjo skaitmeniniu būdu valdomo DCDC keitiklio su kintama išėjimo įtampa įkrovimo grandinei … Taigi aš padariau vieną. Išėjimo įtampos skiriamoji geba yra eksponentiškai blogesnė, tuo didesnė įtampa. Galbūt kažkas susiję su LED ryšiu
Kaip padaryti LED juostos spalvų keitiklio grandinę: 6 žingsniai
Kaip padaryti LED juostos spalvų keitiklio grandinę: Sveiki, draugas, šiandien aš padarysiu LED juostos spalvų keitiklio grandinę. Pradėkime
Kaip įkelti programą ar kodą į „Arduino Pro Mini“naudojant CH340 UART serijos keitiklio kabelį: 4 žingsniai
Kaip įkelti programą ar kodą į „Arduino Pro Mini“naudojant CH340 UART serijinio keitiklio kabelį: USB TTL nuoseklieji kabeliai yra įvairūs USB į nuoseklius keitiklio kabeliai, užtikrinantys ryšį tarp USB ir nuosekliųjų UART sąsajų. Galimi įvairūs kabeliai, siūlantys 5 voltų, 3,3 voltų arba vartotojo nurodytus signalo lygius
100 W keitiklio grandinė: 8 žingsniai
100 W keitiklio grandinė: Įvadas:-Inverteris konvertuoja nuolatinę įtampą į kintamosios srovės įtampą. Daugeliu atvejų įvesties nuolatinė įtampa paprastai yra mažesnė už keitiklio išėjimo įtampą, o išėjimo kintamoji srovė yra lygi tinklo įtampai 120 voltų arba 240 voltų. Padarykime