Obsah:

Čtení převráceného magnetronového snímače Arduino: 3 kroky
Čtení převráceného magnetronového snímače Arduino: 3 kroky

Video: Čtení převráceného magnetronového snímače Arduino: 3 kroky

Video: Čtení převráceného magnetronového snímače Arduino: 3 kroky
Video: Cigáň počíta 2024, Listopad
Anonim
Čtení převráceného magnetronového snímače Arduino
Čtení převráceného magnetronového snímače Arduino

Jako součást probíhajícího mého projektu zde, dokumentujícího pokračující postup mého vpádu do světa fyziky částic ultra vysokého vakua, došlo k části projektu, která vyžadovala určitou elektroniku a kódování.

Koupil jsem přebytečný vakuový měřič IMT se studenou katodou MKS řady 903 IMT, bez ovladače nebo bez odečtu. V některých podmínkách systémy s velmi vysokým vakuem potřebují různé stupně čidel, aby správně změřily nedostatek plynů v komoře. Jak budete mít stále silnější vakuum, tím složitější toto měření skončí.

Při nízkém vakuu nebo hrubém vakuu to zvládnou jednoduché termočlánky, ale jak čím dál více odebíráte z komory, potřebujete něco podobného plynovému ionizačnímu měřidlu. Dvě nejběžnější metody jsou měřiče horké katody a studené katody. Měřiče horké katody fungují jako mnoho vakuových trubic, ve kterých mají vlákno, které se vaří z volných elektronů, které se zrychlují směrem k mřížce. Jakékoli molekuly plynu v cestě ionizují a vypnou senzor. Měřiče se studenou katodou používají vysoké napětí bez vlákna uvnitř magnetronu k výrobě elektronové dráhy, která také ionizuje místní molekuly plynu a vypne senzor.

Můj měřič je známý jako invertovaný magnetronový měřicí převodník vyrobený společností MKS, která integrovala řídicí elektroniku se samotným hardwarem měřidla. Výstupem je však lineární napětí, které se shoduje s logaritmickou stupnicí používanou pro měření vakua. K tomu budeme programovat naše arduino.

Krok 1: Co je potřeba?

Co je potřeba?
Co je potřeba?
Co je potřeba?
Co je potřeba?
Co je potřeba?
Co je potřeba?
Co je potřeba?
Co je potřeba?

Pokud jste jako já, snažíte se levně postavit vakuový systém, uspokojíte se s jakýmkoli měřidlem. Naštěstí mnoho výrobců měřidel tímto způsobem staví měřidla, kde měřidlo vydává napětí, které lze použít ve vašem vlastním měřicím systému. Pro tento specifický návod však budete potřebovat:

  • 1 vakuový snímač studené katody MKS HPS 903 AP IMT
  • 1 arduino uno
  • 1 standardní 2x16 LCD znakový displej
  • Potenciometr 10k ohm
  • samice konektoru DSUB-9
  • sériový kabel DB-9
  • dělič napětí

Krok 2: Kód

Kód!
Kód!

Mám tedy určité zkušenosti s arduinem, jako bych si zahrával s konfigurací RAMPS svých 3D tiskáren, ale neměl jsem zkušenosti s psaním kódu od základů, takže to byl můj první skutečný projekt. Prostudoval jsem spoustu průvodců senzorů a upravil je, abych pochopil, jak je mohu použít se svým senzorem. Nejprve jsem měl jít s vyhledávací tabulkou, protože jsem viděl jiné senzory, ale nakonec jsem použil schopnost arduino s plovoucí desetinnou čárkou provést log/lineární rovnici na základě převodní tabulky poskytnuté MKS v manuálu.

Níže uvedený kód jednoduše nastaví A0 jako jednotku s plovoucí desetinnou čárkou napětí, což je 0-5v od děliče napětí. Poté se vypočítá zpět do stupnice 10v a interpolovalo se pomocí rovnice P = 10^(v-k), kde p je tlak, v je napětí na stupnici 10v a k je jednotka, v tomto případě torr, reprezentovaná 11 000. Vypočítá to s pohyblivou řádovou čárkou a poté to zobrazí na LCD obrazovce ve vědecké notaci pomocí dtostre.

#include #include // inicializace knihovny čísly pinů rozhraní LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // instalační rutina se spustí jednou, když stisknete reset: void setup () {/ / inicializovat sériovou komunikaci rychlostí 9600 bitů za sekundu: Serial.begin (9600); pinMode (A0, INPUT); // A0 je nastaven jako vstup #define PRESSURE_SENSOR A0; lcd.begin (16, 2); lcd.print („nástroje MKS“); lcd.setCursor (0, 1); lcd.print („IMT Cold Cathode“); zpoždění (6500); lcd.clear (); lcd.print ("Tlak měřidla:"); } // rutina smyčky běží stále znovu a znovu: void loop () {float v = analogRead (A0); // v je vstupní napětí nastaveno jako jednotka s plovoucí desetinnou čárkou na analogRead v = v * 10,0 /1024; // v je dělič napětí 0-5v měřeno od 0 do 1024 vypočteno na 0v až 10v stupnice float p = pow (10, v - 11 000); // p je tlak v torru, který je reprezentován k v rovnici [P = 10^(vk)] což je - // -11 000 (K = 11 000 pro Torr, 10,875 pro mbar, 8 000 pro mikrony, 8,875 pro Pascal) Serial.print (v); sací tlakE [8]; dtostre (p, tlakE, 1, 0); // vědecký formát s 1 desetinnými místy lcd.setCursor (0, 1); lcd.print (tlak E); lcd.print ("Torr"); }

Krok 3: Testování

Image
Image
Testování
Testování

Testy jsem provedl pomocí externího napájecího zdroje v přírůstcích od 0 do 5 V. Poté jsem provedl výpočty ručně a ujistil jsem se, že souhlasí se zobrazenou hodnotou. Zdá se, že se to odečítá o velmi malé množství, ale to není opravdu důležité, protože je to v mé potřebné specifikaci.

Tento projekt byl pro mě obrovským prvním kódovým projektem a já bych ho nedokončil, kdyby nebylo fantastické arduino komunity: 3

Nespočet průvodců a projektů senzorů opravdu pomohlo zjistit, jak to udělat. Došlo k mnoha pokusům a omylům a také k uvíznutí. Ale nakonec jsem nesmírně spokojený s tím, jak to vyšlo, a upřímně, zkušenost vidět kód, který jste poprvé udělali, co má, je docela úžasný.

Doporučuje: