Мазмұны:

Arduino инвертті магнитронды түрлендіргіштің оқылуы: 3 қадам
Arduino инвертті магнитронды түрлендіргіштің оқылуы: 3 қадам

Бейне: Arduino инвертті магнитронды түрлендіргіштің оқылуы: 3 қадам

Бейне: Arduino инвертті магнитронды түрлендіргіштің оқылуы: 3 қадам
Бейне: MKS SGEN L V1.0 - Switch Endstop 2024, Желтоқсан
Anonim
Arduino инвертті магнитронды түрлендіргішті оқу
Arduino инвертті магнитронды түрлендіргішті оқу

Менің бұл жерде жүргізіліп жатқан жобаның бір бөлігі ретінде, Ultra High Vacuum бөлшектер физикасы әлеміне жасаған қадамымның барысын құжаттай отырып, ол электроника мен кодтауды қажет ететін жобаның бөлігіне келді.

Мен контроллерсіз немесе оқылмайтын MKS сериялы 903 IMT суық катодты вакуумды өлшегішті сатып алдым. Кейбір фон үшін өте жоғары вакуумдық жүйелер камерадағы газдардың жетіспеушілігін дұрыс өлшеу үшін сенсордың әр түрлі сатыларын қажет етеді. Сіз күшті және күшті вакуумды алған сайын, бұл өлшеу соғұрлым күрделі болады.

Вакуум төмен немесе өрескел вакуум кезінде қарапайым термопара өлшегіштері бұл жұмысты орындай алады, бірақ камерадан көбірек алып тастаған сайын сізге газ ионизациясының өлшегішіне ұқсас нәрсе қажет. Ең кең тараған екі әдіс - катодты ыстық және катодты өлшеуіштер. Катодты ыстық өлшегіштер көптеген вакуумдық түтіктер сияқты жұмыс істейді, оларда торға қарай жылдамдатылған бос электрондарды қайнататын жіп бар. Кез келген газ молекуласы сенсорды иондайды және өшіреді. Суық катодты өлшегіштер магнитрон ішінде жіпсіз жоғары кернеуді қолданады, ол электронды жолды шығарады, ол сонымен қатар жергілікті газ молекулаларын иондайды және сенсорды өшіреді.

Менің өлшегіш MKS шығарған инвертті магнитронды түрлендіргіш ретінде белгілі, ол басқару электроникасын өлшегіш аппаратураның өзімен біріктірді. Алайда, шығыс - вакуумды өлшеу үшін қолданылатын логарифмдік шкаламен сәйкес келетін сызықтық кернеу. Бұл біздің ардуиноны бағдарламалауға болатын нәрсе.

1 -қадам: не қажет?

Не қажет?
Не қажет?
Не қажет?
Не қажет?
Не қажет?
Не қажет?
Не қажет?
Не қажет?

Егер сіз мен сияқты болсаңыз, вакуумдық жүйені арзанға құрғыңыз келсе, кез келген өлшегішті алу - сіз шешетін нәрсе. Бақытымызға орай, көптеген калибрлік өндірушілер өлшеуіштерді осылайша құрастырады, онда өлшеуіш сіздің жеке өлшеу жүйеңізде қолдануға болатын кернеуді шығарады. Нақты нұсқаулық үшін сізге қажет:

  • 1 MKS ГЭС сериясы 903 AP IMT суық катодты вакуумдық сенсор
  • 1 Arduino Uno
  • 1 стандартты 2x16 СКД дисплейі
  • 10км потенциометр
  • әйел DSUB-9 қосқышы
  • сериялық DB-9 кабелі
  • кернеу бөлгіш

2 -қадам: код

Код!
Код!

Сонымен, менің 3D принтерлерімнің RAMPS конфигурациясымен араласу сияқты arduino тәжірибесі бар, бірақ менде кодты басынан бастап жазу тәжірибесі болмады, сондықтан бұл менің алғашқы нақты жобам болды. Мен сенсормен қалай жұмыс істеу керектігін түсіну үшін сенсорлық бағыттағыштарды зерттедім және өзгерттім. Бастапқыда мен басқа сенсорларды көргендей іздеу кестесімен жұмыс жасауды ойладым, бірақ мен нұсқаулықта MKS ұсынған түрлендіру кестесі негізінде журналды/сызықтық теңдеуді орындау үшін arduino -ның өзгермелі нүктелік мүмкіндігін қолдандым.

Төмендегі код A0 кернеу бөлгіштен 0-5в болатын кернеудің өзгермелі нүктелік бірлігі ретінде орнатады. Содан кейін ол 10в шкаласына дейін есептеледі және P = 10^(v-k) теңдеуі арқылы интерполяцияланады, мұнда p-қысым, v-10в шкаладағы кернеу және k-бұл жағдайда торр, бұл жағдайда 11.000. Ол өзгермелі нүктеде, оны dtostre көмегімен ғылыми белгіде СКД экранында көрсетеді деп есептейді.

#include #include // кітапхананы LiquidCrystal lcd (12, 11, 5, 4, 3, 2) интерфейсінің түйреуіштерінің нөмірлерімен инициализациялаңыз; // қалпына келтіру түймесін басқан кезде орнату процедурасы бір рет орындалады: void setup () {/ / сериялық байланысты секундына 9600 битпен инициализациялау: Serial.begin (9600); pinMode (A0, INPUT); // A0 #define PRESSURE_SENSOR A0 кірісі ретінде орнатылады; lcd.begin (16, 2); lcd.print («MKS құралдары»); lcd.setCursor (0, 1); lcd.print («IMT суық катод»); кешіктіру (6500); lcd.clear (); lcd.print («Өлшеуіш қысымы:»); } // цикл процедурасы мәңгілікке қайталанып отырады: void loop () {float v = analogRead (A0); // v - кіріс кернеуі analogRead v бойынша өзгермелі нүкте бірлігі ретінде орнатылған v = v * 10.0 /1024; // v - 0 -ден 1024 -ке дейінгі өлшенетін 0-5в бөлгіш кернеуі 0в -тен 10В шкалаға есептеледі p = pow (10, v - 11.000); // p - торрдағы қысым, ол [P = 10^(vk)] теңдеуінде к -пен көрсетілген - // -11.000 (Тор үшін K = 11.000, мбар үшін 8.875, микрон үшін 8.000, Паскаль үшін 8.875)) Serial.print (v); заряд қысымыE [8]; dtostre (p, қысымE, 1, 0); // 1 ондық белгісі бар ғылыми формат lcd.setCursor (0, 1); lcd.print (қысымE); lcd.print («Торр»); }

3 -қадам: тестілеу

Image
Image
Сынақ
Сынақ

Мен сынақтарды сыртқы қуат көзінің көмегімен, 0-5в қадаммен жасадым. Содан кейін мен қолмен есептеулер жүргіздім және олардың көрсетілген мәнмен келісетініне көз жеткіздім. Бұл өте аз мөлшерде оқылатын сияқты, бірақ бұл өте маңызды емес, себебі бұл менің қажеттіліктерімде.

Бұл жоба мен үшін алғашқы үлкен кодтық жоба болды, және егер ол фантастикалық ардуино қауымдастығы болмаса, мен оны аяқтамас едім: 3

Сансыз гидтер мен сенсорлық жобалар мұны қалай жасауға болатынын анықтауға көмектесті. Көптеген сынақтар мен қателіктер болды, және көптеген қиындықтар болды. Бірақ, ақырында, мен мұның қалай шыққанына өте қуаныштымын және шынымды айтсам, сіз жасаған кодты бірінші рет жасау керектігін білу өте керемет.

Ұсынылған: