Turinys:

„Arduino“invertuoto magnetrono keitiklio rodmenys: 3 žingsniai
„Arduino“invertuoto magnetrono keitiklio rodmenys: 3 žingsniai

Video: „Arduino“invertuoto magnetrono keitiklio rodmenys: 3 žingsniai

Video: „Arduino“invertuoto magnetrono keitiklio rodmenys: 3 žingsniai
Video: Измерение напряжения и тока магнетрона микроволновой печи 2024, Lapkritis
Anonim
„Arduino“invertuoto magnetrono keitiklio rodmenys
„Arduino“invertuoto magnetrono keitiklio rodmenys

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?

Ko reikia?
Ko reikia?
Ko reikia?
Ko reikia?
Ko reikia?
Ko reikia?
Ko reikia?
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

Kodas!
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

Image
Image
Testavimas
Testavimas

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: