Obsah:

Odčítaný inverzný magnetrónový snímač Arduino: 3 kroky
Odčítaný inverzný magnetrónový snímač Arduino: 3 kroky

Video: Odčítaný inverzný magnetrónový snímač Arduino: 3 kroky

Video: Odčítaný inverzný magnetrónový snímač Arduino: 3 kroky
Video: Háčkovaný vzor pro stylový elegantní lakonický svetr, mikiny / mistrovská třída pletení 2024, November
Anonim
Čítanie invertovaného magnetrónového prevodníka Arduino
Čítanie invertovaného magnetrónového prevodníka Arduino

Ako súčasť môjho prebiehajúceho projektu, ktorý dokumentuje prebiehajúci postup môjho vpádu do sveta fyziky častíc ultra vysokého vákua, sa dostal k časti projektu, ktorá vyžadovala určitú elektroniku a kódovanie.

Kúpil som prebytočný vákuový merač IMT so studenou katódou MKS série 903 IMT bez ovládača alebo odčítania. V niektorých podmienkach systémy s extrémne vysokým vákuom potrebujú rôzne stupne snímačov, aby správne merali nedostatok plynov v komore. Čím je vákuum stále silnejšie, tým je toto meranie komplikovanejšie.

Pri nízkom vákuu alebo hrubom vákuu môžu túto prácu vykonávať jednoduché termočlánkové meradlá, ale keď z komory vyberáte stále viac, potrebujete niečo podobné plynovému ionizačnému meradlu. Dve najbežnejšie metódy sú merače s horúcou katódou a so studenou katódou. Merače horúcej katódy fungujú ako mnohé vákuové trubice, v ktorých majú vlákno, ktoré vrie z voľných elektrónov, ktoré sú urýchľované smerom k mriežke. Akékoľvek molekuly plynu v ceste ionizujú a vypnú snímač. Merače studenej katódy používajú vysoké napätie bez vlákna vo vnútri magnetrónu na výrobu elektrónovej dráhy, ktorá tiež ionizuje miestne molekuly plynu a vypne senzor.

Môj merač je známy ako invertovaný magnetrónový prevodník vyrobený spoločnosťou MKS, ktorá integrovala riadiacu elektroniku do samotného hardvéru meradla. Výstupom je však lineárne napätie, ktoré sa zhoduje s logaritmickou stupnicou používanou na meranie vákua. Na to budeme programovať naše arduino.

Krok 1: Čo je potrebné?

Čo je potrebné?
Čo je potrebné?
Čo je potrebné?
Čo je potrebné?
Čo je potrebné?
Čo je potrebné?
Čo je potrebné?
Čo je potrebné?

Ak ste ako ja, pokúsite sa lacno vybudovať vákuový systém a uspokojíte sa s akýmkoľvek rozchodom. Našťastie mnoho výrobcov manometrov stavia týmto spôsobom merače, z ktorých meradlo vydáva napätie, ktoré je možné použiť vo vašom vlastnom meracom systéme. Na tento konkrétny návod však budete potrebovať:

  • 1 vákuový snímač studenej katódy MKS HPS série 903 AP IMT
  • 1 arduino uno
  • 1 štandardný 2 x 16 LCD znakový displej
  • Potenciometer 10 kOhm
  • samica konektora DSUB-9
  • sériový kábel DB-9
  • delič napätia

Krok 2: Kód

Kód!
Kód!

Mám teda určité skúsenosti s arduinom, ako napríklad s konfiguráciou RAMPS mojich 3D tlačiarní, ale nemal som skúsenosti s písaním kódu od základov, takže toto bol môj prvý skutočný projekt. Študoval som veľa sprievodcov senzormi a upravil ich, aby som pochopil, ako ich môžem používať so svojim senzorom. Najprv som mal ísť s vyhľadávacou tabuľkou, pretože som videl aj iné senzory, ale nakoniec som použil arduino schopnosť s pohyblivou rádovou čiarkou na vykonanie log/lineárnej rovnice na základe prevodnej tabuľky poskytnutej MKS v manuáli.

Nasledujúci kód jednoducho nastaví A0 ako jednotku s pohyblivou rádovou čiarkou pre napätie, ktoré je 0-5 V z deliča napätia. Potom sa vypočíta späť do stupnice 10v a interpoluje sa pomocou rovnice P = 10^(v-k), kde p je tlak, v je napätie na stupnici 10v a k je jednotka, v tomto prípade torr, reprezentovaná 11 000. Vypočíta to s pohyblivou rádovou čiarkou a potom to zobrazí na LCD obrazovke vo vedeckom zápise pomocou dtostre.

#include #include // inicializácia knižnice číslami pinov rozhrania LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // rutina nastavenia sa spustí raz, keď stlačíte reset: void setup () {/ / inicializovať sériovú komunikáciu rýchlosťou 9600 bitov za sekundu: Serial.begin (9600); pinMode (A0, INPUT); // A0 je nastavený ako vstup #define PRESSURE_SENSOR A0; lcd.begin (16, 2); lcd.print („Nástroje MKS“); lcd.setCursor (0, 1); lcd.print („studená katóda IMT“); oneskorenie (6500); lcd.clear (); lcd.print ("Tlak meradla:"); } // rutina slučky beží stále znova a znova: void loop () {float v = analogRead (A0); // v je vstupné napätie nastavené ako jednotka s pohyblivou rádovou čiarkou na analogRead v = v * 10,0 /1024; // v je delič napätia 0-5v meraný od 0 do 1024 vypočítaný na 0v až 10v stupnice float p = pow (10, v - 11 000); // p je tlak v torroch, ktorý je reprezentovaný k v rovnici [P = 10^(vk)], ktorá je - // -11 000 (K = 11 000 pre Torr, 10,875 pre mbar, 8 000 pre mikróny, 8,875 pre Pascal) Serial.print (v); plniaci tlakE [8]; dtostre (p, tlak E, 1, 0); // vedecký formát s 1 desatinným miestom lcd.setCursor (0, 1); lcd.print (tlak E); lcd.print ("Torr"); }

Krok 3: Testovanie

Image
Image
Testovanie
Testovanie

Testy som vykonal pomocou externého napájania v prírastkoch od 0 do 5 V. Potom som vykonal výpočty ručne a ubezpečil som sa, že súhlasia so zobrazenou hodnotou. Zdá sa, že sa to mierne odčíta vo veľmi malom množstve, čo však nie je dôležité, pretože to patrí medzi moje potrebné špecifikácie.

Tento projekt bol pre mňa obrovským prvým kódovým projektom a nebol by som ho dokončil, keby nebolo fantastickej komunity arduino: 3

Nespočetné množstvo sprievodcov a projektov senzorov skutočne pomohlo zistiť, ako to urobiť. Veľa pokusov a omylov, veľa zaseknutí. Ale nakoniec som veľmi spokojný s tým, ako to dopadlo, a úprimne, zážitok z prvého pohľadu na kód, ktorý ste urobili, je taký úžasný, ako je.

Odporúča: