Talaan ng mga Nilalaman:

Arduino Inverted Magnetron Transducer Readout: 3 Hakbang
Arduino Inverted Magnetron Transducer Readout: 3 Hakbang

Video: Arduino Inverted Magnetron Transducer Readout: 3 Hakbang

Video: Arduino Inverted Magnetron Transducer Readout: 3 Hakbang
Video: 3-Axis Magnetometer Build 2024, Nobyembre
Anonim
Arduino Inverted Magnetron Transducer Readout
Arduino Inverted Magnetron Transducer Readout

Bilang bahagi ng isang patuloy na proyekto ng minahan dito, pagdodokumento ng patuloy na pag-unlad ng aking paglalakad sa mundo ng Ultra High Vacuum particle physics, dumating ito sa bahagi ng proyekto na nangangailangan ng ilang electronics at coding.

Bumili ako ng isang sobrang serye ng MKS 903 IMT cold cathode vacuum gauge, na walang controller o readout. Para sa ilang background, ang mga ultra mataas na vacuum system ay nangangailangan ng iba't ibang mga yugto ng sensor upang maayos na masukat ang kakulangan ng mga gas sa isang silid. Habang nakakakuha ka ng isang mas malakas at mas malakas na vacuum, mas kumplikado ang pagsukat na ito ay nagtatapos.

Sa mababang vacuum, o magaspang na vacuum, ang mga simpleng gauge ng thermocouple ay maaaring gawin ang trabaho, ngunit habang tinatanggal mo ang higit pa at higit pa mula sa silid, kailangan mo ng isang bagay na katulad sa isang pagsukat ng gas ionization. Ang dalawang pinaka-karaniwang pamamaraan ay ang mainit na cathode at cold cathode gauge. Gumagana ang mga mainit na gauge ng cathode tulad ng maraming mga tubo ng vacuum, kung saan mayroon silang isang filament na kumukulo ng mga libreng electron, na pinabilis patungo sa isang grid. Ang anumang mga molekulang gas sa paraan ay mag-ionize at maglakbay sa sensor. Ang mga malamig na gauge ng cathode ay gumagamit ng isang mataas na boltahe na walang filament sa loob ng isang magnetron upang makagawa ng isang electron path na nag-ionize din ng mga lokal na molekula ng gas at nilalakbay ang sensor.

Ang aking gauge ay kilala bilang isang inverted magnetron transducer gauge, na ginawa ng MKS, na isinama ang control electronics sa mismong gauge hardware. Gayunpaman, ang output ay isang linear boltahe na kasabay ng isang logarithmic scale na ginamit para sa pagsukat ng vacuum. Ito ang gagawin naming programa ng aming arduino na dapat gawin.

Hakbang 1: Ano ang Kailangan?

Kung ano ang kinakailangan?
Kung ano ang kinakailangan?
Kung ano ang kinakailangan?
Kung ano ang kinakailangan?
Kung ano ang kinakailangan?
Kung ano ang kinakailangan?
Kung ano ang kinakailangan?
Kung ano ang kinakailangan?

Kung katulad mo ako, ang pagsubok na bumuo ng isang vacuum system sa murang, pagkuha ng anumang sukat na maaari mong ayusin mo. Sa kasamaang palad, maraming mga gauge ang gumagawa ng mga gauge sa ganitong paraan, kung saan ang gauge ay naglalabas ng isang boltahe na maaaring magamit sa iyong sariling sistema ng pagsukat. Para sa partikular na itinuturo na ito, kakailanganin mo ang:

  • 1 serye ng MKS HPS 903 AP IMT malamig na cathode vacuum sensor
  • 1 arduino uno
  • 1 karaniwang pagpapakita ng 2x16 LCD character
  • 10k ohm potentiometer
  • babaeng konektor ng DSUB-9
  • serial DB-9 cable
  • divider ng boltahe

Hakbang 2: Code

Code!
Code!

Kaya, mayroon akong ilang karanasan sa arduino, tulad ng paggulo sa aking config ng mga printer ng 3d 'RAMPS, ngunit wala akong karanasan sa pagsulat ng code mula sa ground up, kaya ito ang aking unang tunay na proyekto. Pinag-aralan ko ang maraming mga gabay ng sensor at binago ang mga ito upang maunawaan kung paano ko magagamit ang mga ito sa aking sensor. Sa una, ang ideya ay upang pumunta sa isang talahanayan ng paghahanap tulad ng nakita ko ang iba pang mga sensor, ngunit nagtapos ako gamit ang kakayahan ng lumulutang point ng arduino upang magsagawa ng isang log / linear equation batay sa talahanayan ng conversion na ibinigay ng MKS sa manu-manong.

Ang code sa ibaba ay nagtatakda lamang ng A0 bilang isang lumulutang na yunit ng punto para sa boltahe, na kung saan ay 0-5v mula sa divider ng boltahe. Pagkatapos ito ay kinakalkula pabalik hanggang sa isang scale ng 10v at interpolated gamit ang equation P = 10 ^ (v-k) kung saan ang p ay presyon, ang v ay boltahe sa isang sukat na 10v at ang k ay ang yunit, sa kasong ito torr, kinakatawan ng 11.000. Kinakalkula nito ang sa lumulutang na punto, pagkatapos ay ipinapakita ito sa isang LCD screen sa notasyong pang-agham gamit ang dtostre.

#include #include // ipasimuno ang library gamit ang mga numero ng interface pin LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // ang gawain sa pag-setup ay tumatakbo nang isang beses kapag pinindot mo ang pag-reset: void setup () {/ / simulan ang serial na komunikasyon sa 9600 bits bawat segundo: Serial.begin (9600); pinMode (A0, INPUT); // A0 ay itinakda bilang input # tukuyin ang PRESSURE_SENSOR A0; lcd.begin (16, 2); lcd.print ("Mga Instrumentong MKS"); lcd.setCursor (0, 1); lcd.print ("IMT Cold Cathode"); pagkaantala (6500); lcd.clear (); lcd.print ("Pressure ng Gauge:"); } // ang gawain ng loop ay tumatakbo nang paulit-ulit magpakailanman: void loop () {float v = analogRead (A0); // v ay input boltahe na itinakda bilang lumulutang point unit sa analogRead v = v * 10.0 / 1024; // v ay 0-5v divider voltage na sinusukat mula 0 hanggang 1024 na kinalkula sa 0v hanggang 10v scale float p = pow (10, v - 11.000); // p ay presyon sa torr, na kinatawan ng k sa equation [P = 10 ^ (vk)] na- // -11.000 (K = 11.000 para sa Torr, 10.875 para sa mbar, 8.000 para sa microns, 8.875 para sa Pascal) Serial.print (v); presyon ng charE [8]; dtostre (p, pressureE, 1, 0); // format na pang-agham na may 1 decimal na lugar lcd.setCursor (0, 1); lcd.print (pressureE); lcd.print ("Torr"); }

Hakbang 3: Pagsubok

Image
Image
Pagsubok
Pagsubok

Ginawa ko ang mga pagsubok gamit ang isang panlabas na supply ng kuryente, sa mga palugit na form 0-5v. Pagkatapos ay ginawa ko nang manu-mano ang mga kalkulasyon at tinitiyak na sumasang-ayon sila sa ipinakitang halaga. Tila na basahin nang bahagya sa pamamagitan ng isang napakaliit na halaga, subalit hindi ito talaga mahalaga, dahil nasa loob ito ng aking kinakailangang spec.

Ang proyektong ito ay isang malaking proyekto sa unang code para sa akin, at hindi ko ito tatapusin kung hindi dahil sa kamangha-manghang pamayanan ng arduino: 3

Ang hindi mabilang na mga gabay at proyekto ng sensor ay talagang nakatulong sa pag-uunawa kung paano ito gawin. Mayroong maraming pagsubok at error, at maraming makaalis. Ngunit sa huli, lubos akong nasiyahan sa kung paano ito lumabas, at sa totoo lang, ang karanasan sa pagkakita ng code na iyong ginawa ay ginawa kung ano ang dapat sa unang pagkakataon ay kasindak-sindak.

Inirerekumendang: