Satura rādītājs:

Arduino apgrieztā magnetrona pārveidotāja rādījums: 3 soļi
Arduino apgrieztā magnetrona pārveidotāja rādījums: 3 soļi

Video: Arduino apgrieztā magnetrona pārveidotāja rādījums: 3 soļi

Video: Arduino apgrieztā magnetrona pārveidotāja rādījums: 3 soļi
Video: Формирователь кода "ЛИСЫ" на Arduino Nano 2024, Novembris
Anonim
Arduino apgrieztā magnetrona pārveidotāja rādījums
Arduino apgrieztā magnetrona pārveidotāja rādījums

Kā daļa no mana šeit notiekošā projekta, kas dokumentē manu ieceļošanas progresu īpaši augsta vakuuma daļiņu fizikas pasaulē, nonāca pie projekta daļas, kas prasīja zināmu elektroniku un kodēšanu.

Es nopirku pārpalikuma MKS sērijas 903 IMT aukstā katoda vakuuma mērītāju bez kontroliera vai rādījuma. Dažiem apstākļiem īpaši augsta vakuuma sistēmām ir nepieciešami dažādi sensoru posmi, lai pareizi izmērītu gāzu trūkumu kamerā. Iegūstot arvien spēcīgāku vakuumu, šis mērījums kļūst sarežģītāks.

Pie zema vai neapstrādāta vakuuma vienkāršie termopāra mērinstrumenti var paveikt šo uzdevumu, bet, arvien vairāk izņemot no kameras, jums ir nepieciešams kaut kas līdzīgs gāzes jonizācijas mērierīcei. Divas visizplatītākās metodes ir karstā katoda un aukstā katoda mērinstrumenti. Karstie katoda mērinstrumenti darbojas tāpat kā daudzas vakuuma caurules, kurās tiem ir kvēldiegs, kas vārās no brīvajiem elektroniem, kas tiek paātrināti uz režģi. Visas ceļā esošās gāzes molekulas jonizēs un iedarbinās sensoru. Aukstā katoda mērītāji izmanto augstspriegumu bez kvēldiega magnetrona iekšpusē, lai radītu elektronu ceļu, kas arī jonizē vietējās gāzes molekulas un iedarbina sensoru.

Mans mērinstruments ir pazīstams kā apgriezts magnetronu devēja mērītājs, ko izgatavojis MKS, kas integrēja vadības elektroniku ar pašu mērierīces aparatūru. Tomēr izeja ir lineārs spriegums, kas sakrīt ar logaritmisko skalu, ko izmanto vakuuma mērīšanai. Tas ir tas, ko mēs programmēsim mūsu arduino.

1. darbība. Kas ir nepieciešams?

Kas ir vajadzīgs?
Kas ir vajadzīgs?
Kas ir vajadzīgs?
Kas ir vajadzīgs?
Kas ir vajadzīgs?
Kas ir vajadzīgs?
Kas ir vajadzīgs?
Kas ir vajadzīgs?

Ja jūs esat līdzīgs man, mēģiniet lēti izveidot vakuuma sistēmu, iegūstiet visu iespējamo mērierīci. Par laimi, daudzi mērinstrumentu ražotāji šādā veidā veido mērinstrumentus, kur mērītājs izvada spriegumu, ko var izmantot savā mērīšanas sistēmā. Tomēr, lai veiktu šo pamācību, jums būs nepieciešams:

  • 1 MKS HPS sērijas 903 AP IMT aukstā katoda vakuuma sensors
  • 1 arduino uno
  • 1 standarta 2x16 LCD rakstzīmju displejs
  • 10k omu potenciometrs
  • sieviešu DSUB-9 savienotājs
  • sērijas DB-9 kabelis
  • sprieguma dalītājs

2. solis: kods

Kods!
Kods!

Tātad, man ir zināma pieredze ar arduino, piemēram, sajaukšanās ar manu 3D printeru RAMPS konfigurāciju, taču man nebija pieredzes rakstīt kodu no paša sākuma, tāpēc šis bija mans pirmais īstais projekts. Es izpētīju daudz sensoru rokasgrāmatu un pārveidoju tās, lai saprastu, kā es varētu tās izmantot ar savu sensoru. Sākumā bija doma ieturēt uzmeklēšanas tabulu, kā esmu redzējis citus sensorus, bet galu galā es izmantoju arduino peldošā komata iespēju, lai veiktu žurnāla/lineāro vienādojumu, pamatojoties uz MKS rokasgrāmatā sniegto konversijas tabulu.

Zemāk esošais kods vienkārši nosaka A0 kā peldošā komata sprieguma vienību, kas ir 0–5 V no sprieguma dalītāja. Tad to aprēķina līdz 10V skalai un interpolē, izmantojot vienādojumu P = 10^(v-k), kur p ir spiediens, v ir spriegums 10v skalā un k ir vienība, šajā gadījumā torr, ko attēlo ar 11.000. Tas aprēķina to peldošā komatā, pēc tam parāda to LCD ekrānā zinātniskā apzīmējumā, izmantojot dtostre.

#include #include // inicializēt bibliotēku, izmantojot saskarnes tapas numurus LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // iestatīšanas rutīna tiek izpildīta vienu reizi, nospiežot reset: void setup () {/ / inicializēt seriālo komunikāciju ar ātrumu 9600 biti sekundē: Serial.begin (9600); pinMode (A0, INPUT); // A0 ir iestatīts kā ieeja #define PRESSURE_SENSOR A0; lcd. sākums (16, 2); lcd.print ("MKS Instruments"); lcd.setCursor (0, 1); lcd.print ("IMT aukstais katods"); kavēšanās (6500); lcd.clear (); lcd.print ("Manometra spiediens:"); } // cilpas rutīna atkal un atkal darbojas mūžīgi: void loop () {float v = analogRead (A0); // v ir ievades spriegums, kas iestatīts kā peldošā komata vienība analogRead v = v * 10.0 /1024; // v ir 0-5v dalītāja spriegums, ko mēra no 0 līdz 1024, aprēķinot līdz 0v līdz 10v skalas pludiņam p = pow (10, v - 11.000); // p ir spiediens torros, ko apzīmē ar k vienādojumā [P = 10^(vk)], kas ir // -11.000 (K = 11.000 Torr, 10.875 mbar, 8.000 mikroniem, 8.875 Pascal) Serial.print (v); ogles spiediensE [8]; dtostre (p, spiediensE, 1, 0); // zinātniskais formāts ar 1 zīmi aiz komata lcd.setCursor (0, 1); lcd.print (spiediensE); lcd.print ("Torr"); }

3. darbība: pārbaude

Image
Image
Testēšana
Testēšana

Es veicu testus, izmantojot ārēju barošanas avotu, ar soli 0-5v. Pēc tam es veicu aprēķinus manuāli un pārliecinājos, ka tie atbilst parādītajai vērtībai. Šķiet, ka tas ir nedaudz nolasāms par ļoti mazu summu, taču tas nav īsti svarīgi, jo tas ir manā vajadzīgajā specifikācijā.

Šis projekts man bija milzīgs pirmā koda projekts, un es to nebūtu pabeidzis, ja nebūtu fantastiskas arduino kopienas: 3

Neskaitāmie ceļveži un sensoru projekti patiešām palīdzēja izdomāt, kā to izdarīt. Bija daudz izmēģinājumu un kļūdu, kā arī daudz iestrēgšanas. Bet galu galā es esmu ārkārtīgi apmierināts ar to, kā tas iznāca, un, godīgi sakot, pieredze, redzot, ka jūsu izveidotais kods pirmo reizi dara to, kas tam paredzēts, ir diezgan satriecoša.

Ieteicams: