Kazalo:

Arduino pretvornik pretvornika Magnetrona: 3 koraki
Arduino pretvornik pretvornika Magnetrona: 3 koraki

Video: Arduino pretvornik pretvornika Magnetrona: 3 koraki

Video: Arduino pretvornik pretvornika Magnetrona: 3 koraki
Video: #15 HC 05 Bluetooth Modbus Android HMI | Внешний ПЛК Arduino 2024, November
Anonim
Odčitavanje pretvornika pretvornika Magnetron Arduino
Odčitavanje pretvornika pretvornika Magnetron Arduino

Kot del mojega tekočega projekta, ki je dokumentiral nenehni napredek mojega pohoda v svet fizike delcev ultra visokega vakuuma, je prišel del projekta, ki je zahteval nekaj elektronike in kodiranja.

Kupil sem presežek vakuumskega merilnika s hladno katodo MKS serije 903 IMT brez krmilnika ali odčitka. Za določeno ozadje potrebujejo ultra visoki vakuumski sistemi različne stopnje senzorjev za pravilno merjenje pomanjkanja plinov v komori. Ko dobivate močnejši in močnejši vakuum, je ta meritev bolj zapletena.

Pri nizkem vakuumu ali grobem vakuumu lahko enostavni merilniki termoelementov opravijo svoje delo, a ko vedno več odstranjujete iz komore, potrebujete nekaj podobnega merilniku ionizacije plina. Dve najpogostejši metodi sta merilnika z vročo katodo in hladno katodo. Merilniki z vročo katodo delujejo kot mnoge vakuumske cevi, v katerih imajo nitko, ki vre iz prostih elektronov, ki se pospešijo proti mreži. Vse molekule plina na poti bodo ionizirale in sprožile senzor. Merilniki s hladno katodo uporabljajo visoko napetost brez filamentov v magnetronu za izdelavo elektronske poti, ki ionizira tudi lokalne molekule plina in sproži senzor.

Moj merilnik je znan kot obrnjen magnetronski pretvornik, ki ga je izdelala MKS in je integrirala krmilno elektroniko v samo strojno opremo merilnika. Vendar je izhod linearna napetost, ki sovpada z logaritmično lestvico, ki se uporablja za merjenje vakuuma. To je tisto, za kar bomo programirali naš arduino.

1. korak: Kaj je potrebno?

Kaj je potrebno?
Kaj je potrebno?
Kaj je potrebno?
Kaj je potrebno?
Kaj je potrebno?
Kaj je potrebno?
Kaj je potrebno?
Kaj je potrebno?

Če ste podobni meni, se boste odločili, da boste poceni zgradili vakuumski sistem in dobili kar koli, kar lahko. Na srečo mnogi proizvajalci merilnikov izdelujejo merilnike na ta način, kjer merilnik oddaja napetost, ki jo lahko uporabite v svojem merilnem sistemu. Za ta navodila pa boste potrebovali:

  • 1 MKS HPS serija 903 AP IMT vakuumsko tipalo s hladno katodo
  • 1 arduino uno
  • 1 standardni 2x16 LCD -prikazovalnik
  • 10k ohmski potenciometer
  • ženski konektor DSUB-9
  • serijski kabel DB-9
  • delilnik napetosti

2. korak: Koda

Koda!
Koda!

Torej, imam nekaj izkušenj z arduinom, na primer z igranjem konfiguracije RAMPS mojih 3D tiskalnikov, vendar nisem imel izkušenj s pisanjem kode od začetka, zato je bil to moj prvi pravi projekt. Preučil sem veliko vodnikov za senzorje in jih spremenil, da sem razumel, kako jih lahko uporabim s svojim senzorjem. Sprva je bila ideja, da grem z iskalno tabelo, kot sem videl druge senzorje, vendar sem na koncu uporabil zmožnost arduino s plavajočo vejico za izvedbo log/linearne enačbe, ki temelji na tabeli pretvorbe, ki jo MKS vsebuje v priročniku.

Spodnja koda preprosto nastavi A0 kot enoto s plavajočo vejico za napetost, ki je 0-5v od delilnika napetosti. Nato se izračuna nazaj do lestvice 10v in interpolira z enačbo P = 10^(v-k), kjer je p tlak, v je napetost na lestvici 10v in k je enota, v tem primeru torr, ki jo predstavlja 11.000. Izračuna to v plavajoči vejici, nato pa to prikaže na LCD zaslonu v znanstvenem zapisu z uporabo dtostre.

#include #include // inicializirajte knjižnico s številkami vmesniških zatičev LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // nastavitvena rutina se zažene enkrat, ko pritisnete reset: void setup () {/ / inicializirajte serijsko komunikacijo pri 9600 bitih na sekundo: Serial.begin (9600); pinMode (A0, INPUT); // A0 je nastavljen kot vhod #define PRESSURE_SENSOR A0; lcd.begin (16, 2); lcd.print ("Instrumenti MKS"); lcd.setCursor (0, 1); lcd.print ("IMT hladna katoda"); zamuda (6500); lcd.clear (); lcd.print ("Merilnik tlaka:"); } // rutina zanke se vedno znova izvaja: void loop () {float v = analogRead (A0); // v je vhodna napetost nastavljena kot enota s plavajočo vejico na analogRead v = v * 10,0 /1024; // v je napetost delilnika 0-5v, merjena od 0 do 1024, izračunana do 0v do 10v lebdeča lestvica p = pow (10, v - 11.000); // p je tlak v torrju, ki je v enačbi predstavljen s k [P = 10^(vk)], ki je - // -11.000 (K = 11.000 za Torr, 10.875 za mbar, 8.000 za mikrone, 8.875 za Pascal) Serial.print (v); tlak ogljaE [8]; dtostre (p, tlakE, 1, 0); // znanstvena oblika z 1 decimalnimi mesti lcd.setCursor (0, 1); lcd.tisk (tlakE); lcd.print ("Torr"); }

3. korak: Testiranje

Image
Image
Testiranje
Testiranje

Preizkuse sem izvedel z zunanjim napajalnikom, v korakih po 0-5v. Nato sem ročno izvedel izračune in se prepričal, da se strinjajo s prikazano vrednostjo. Zdi se, da se zelo malo odčita, vendar to ni res pomembno, saj je v mojih potrebnih specifikacijah.

Ta projekt je bil zame velik prvi kodni projekt in ne bi ga dokončal, če ne bi bilo fantastične skupnosti arduino: 3

Nešteti vodniki in projekti senzorjev so resnično pomagali ugotoviti, kako to storiti. Bilo je veliko poskusov in napak in veliko se je zataknilo. Na koncu pa sem izredno zadovoljen, kako se je to izkazalo, in iskreno, izkušnja, ko sem videl, da je koda prvič naredila tisto, kar naj bi bila, je precej super.

Priporočena: