Мазмуну:

Arduino Inverted Magnetron Transducer окуу: 3 кадам
Arduino Inverted Magnetron Transducer окуу: 3 кадам

Video: Arduino Inverted Magnetron Transducer окуу: 3 кадам

Video: Arduino Inverted Magnetron Transducer окуу: 3 кадам
Video: Amazing arduino project 2024, Ноябрь
Anonim
Arduino Inverted Magnetron Transducer окуу
Arduino Inverted Magnetron Transducer окуу

Бул жерде уланып жаткан менин долбоорумдун бир бөлүгү катары, Ultra High Vacuum бөлүкчөлөрүнүн физикасы дүйнөсүнө болгон ийгилигимди документтештирип, ал долбоордун электроникага жана коддоого муктаж болгон бөлүгүнө келди.

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

Төмөн вакуумда же орой вакуумда жөнөкөй термопар өлчөгүчтөр бул ишти аткара алат, бирок камерадан барган сайын алып салганда, газ иондоштуруучу өлчөгүчкө окшош бир нерсе керек. Эң кеңири таралган эки ыкма - ысык катод жана муздак катод өлчөгүчтөр. Катодтун ысык өлчөгүчтөрү көптөгөн вакуумдук түтүктөр сыяктуу иштейт, аларда торго карай тездетилген эркин электрондорду кайнаткан жип бар. Жолдогу ар кандай газ молекулалары иондошуп, сенсорго чалынат. Муздак катод өлчөгүчтөр магнитрон ичинде эч кандай жипчеси жок жогорку чыңалууну колдонушат, ошондой эле жергиликтүү газдын молекулаларын иондоштуруучу жана сенсорду иштетүүчү электрон жолун өндүрүшөт.

Менин өлчөгүчүм башкаруучу электрониканы ченегич жабдуунун өзү менен бириктирген MKS тарабынан жасалган тескери магнитрон түрдөгүч өлчөгүч катары белгилүү. Бирок, чыгаруу вакуумду өлчөө үчүн колдонулган логарифмдик шкала менен дал келген сызыктуу чыңалуу. Бул биздин ардуинону программалай турган нерсе.

1 -кадам: Эмне керек?

Эмне керек?
Эмне керек?
Эмне керек?
Эмне керек?
Эмне керек?
Эмне керек?
Эмне керек?
Эмне керек?

Эгерде сиз мага окшош болсоңуз, вакуумдук системаны арзан баада курууга аракет кылсаңыз, колуңуздан келген өлчөгүчтү алуу - бул сиз чече турган нерсе. Бактыга жараша, көптөгөн ченегичтер өлчөгүчтөрдү ушундай жол менен курушат, ал жерде өлчөгүч өз өлчөө тутумуңузда колдонула турган чыңалууну чыгарат. Атайын бул көрсөтмө үчүн сизге керек болот:

  • 1 MKS ГЭС сериясы 903 AP IMT муздак катод вакуум сенсор
  • 1 arduino uno
  • 1 стандарттык 2x16 ЖК мүнөздүү дисплей
  • 10k Ом потенциометр
  • аял DSUB-9 туташтыргычы
  • сериялык DB-9 кабели
  • чыңалуу бөлүштүргүч

2 -кадам: код

Code!
Code!

Ошентип, менин 3d принтерлеримдин RAMPS конфигурациясы менен чаташтыруу сыяктуу arduino менен бир аз тажрыйбам бар, бирок башынан баштап код жазуу тажрыйбам жок болчу, ошондуктан бул менин биринчи чыныгы долбоорум болчу. Мен сенсор менен кантип иштөө керектигин түшүнүү үчүн көптөгөн сенсордук көрсөтмөлөрдү изилдеп, аларды өзгөрттүм. Башында, мен башка сенсорлорду көргөндөй издөө столуна баруу болчу, бирок мен колдонмодо MKS тарабынан берилген конверсиялоо таблицасынын негизинде журнал/сызыктуу теңдемени аткаруу үчүн arduinoнун сүзүүчү чекит жөндөмүн колдонуп бүттүм.

Төмөндөгү код жөн эле A0ту чыңалуу үчүн 0-5v чыңалуу үчүн өзгөрүлмө чекит бирдиги катары коёт. Андан кийин ал 10в масштабга чейин кайра эсептелет жана P = 10^(v-k) теңдемеси аркылуу интерполяцияланат, мында p-басым, v-10в масштабдагы чыңалуу жана k-бирдик, мында 11000 менен көрсөтүлгөн torr. Бул калкып турган чекитте, андан кийин dtostre аркылуу илимий белгилерде ЖК экранда көрсөтөт деп эсептейт.

#include #include // китепкананы LiquidCrystal lcd интерфейсинин номерлери менен инициализациялоо (12, 11, 5, 4, 3, 2); / секундасына 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 Cold Cathode"); кечигүү (6500); lcd.clear (); lcd.print ("Өлчөөчү басым:"); } // цикл тартиби дайыма кайра -кайра иштейт: void loop () {float v = analogRead (A0); // v - киргизүү чыңалуусу analogRead v боюнча өзгөрмөлүү чекит бирдиги катары коюлган v = v * 10.0 /1024; // v - 0ден 1024кө чейин өлчөнүүчү 0-5v бөлүнүүчү чыңалуу 0vдөн 10v масштабына калкып чыгуучу p = pow (10, v - 11.000); // p - бул торрдогу басым, ал [P = 10^(vk)] теңдемесинде к- менен көрсөтүлгөн - // -11.000 (Тор үчүн K = 11.000, мбар үчүн 10.875, микрон үчүн 8.000, Паскаль үчүн 8.875)) Serial.print (v); char pressE [8]; dtostre (p, pressE, 1, 0); // 1 ондук орундуу илимий формат lcd.setCursor (0, 1); lcd.print (pressE); lcd.print ("Торр"); }

3 -кадам: Тестирлөө

Image
Image
Тестирлөө
Тестирлөө

Мен тесттерди тышкы электр менен камсыздоону колдонуп, 0-5v түрүндө жасадым. Мен андан кийин кол менен эсептөөлөрдү аткардым жана алар көрсөтүлгөн мааниге макул экенине ынандым. Бул аз гана сумманы окуп жатат окшойт, бирок бул чындыгында маанилүү эмес, анткени бул менин керектүү спецификациямда.

Бул проект мен үчүн эң чоң код долбоору болчу жана эгер фантастикалык arduino коомчулугу болбогондо мен аны бүтүрмөк эмесмин: 3

Сан жеткис гиддер жана сенсордук долбоорлор муну кантип жасоого жардам берди. Көптөгөн сыноолор жана каталар болду, жана көп нерселер тыгылып калды. Бирок, акыры, мен анын кантип чыкканына абдан кубанычтамын жана чынын айтсам, сиз жасаган кодду биринчи жолу жасоо керек болгон нерсени жасоо тажрыйбасы абдан сонун.

Сунушталууда: