Sommario:

Lettura del trasduttore a magnetron invertito Arduino: 3 passaggi
Lettura del trasduttore a magnetron invertito Arduino: 3 passaggi

Video: Lettura del trasduttore a magnetron invertito Arduino: 3 passaggi

Video: Lettura del trasduttore a magnetron invertito Arduino: 3 passaggi
Video: 3-Axis Magnetometer Build 2024, Novembre
Anonim
Lettura del trasduttore a magnetron invertito Arduino
Lettura del trasduttore a magnetron invertito Arduino

Come parte di un mio progetto in corso qui, che documenta i progressi in corso della mia incursione nel mondo della fisica delle particelle dell'Ultra Alto Vuoto, è arrivato alla parte del progetto che richiedeva un po' di elettronica e codifica.

Ho acquistato un vacuometro a catodo freddo MKS serie 903 IMT in eccedenza, senza controller o lettura. In alcuni casi, i sistemi per vuoto ultra alto richiedono vari stadi del sensore per misurare correttamente la mancanza di gas in una camera. Man mano che ottieni un vuoto sempre più forte, più complicata diventa questa misurazione.

A basso vuoto o vuoto approssimativo, i semplici misuratori a termocoppia possono fare il lavoro, ma man mano che si rimuove sempre più dalla camera, è necessario qualcosa di simile a un misuratore di ionizzazione del gas. I due metodi più comuni sono i misuratori a catodo caldo e a catodo freddo. I misuratori a catodo caldo funzionano come molti tubi a vuoto, in cui hanno un filamento che evapora gli elettroni liberi, che vengono accelerati verso una griglia. Qualsiasi molecola di gas sulla strada ionizzerà e farà scattare il sensore. I misuratori a catodo freddo utilizzano un'alta tensione senza filamenti all'interno di un magnetron per produrre un percorso di elettroni che ionizza anche le molecole di gas locali e fa scattare il sensore.

Il mio misuratore è noto come misuratore di trasduttore a magnetron invertito, realizzato da MKS, che ha integrato l'elettronica di controllo con l'hardware del misuratore stesso. Tuttavia, l'uscita è una tensione lineare che coincide con una scala logaritmica utilizzata per misurare il vuoto. Questo è ciò che programmeremo per il nostro arduino.

Passaggio 1: cosa è necessario?

Ciò che è necessario?
Ciò che è necessario?
Ciò che è necessario?
Ciò che è necessario?
Ciò che è necessario?
Ciò che è necessario?
Ciò che è necessario?
Ciò che è necessario?

Se sei come me, cercando di costruire un sistema di vuoto a buon mercato, ottenere qualsiasi misura possibile è ciò di cui ti accontenterai. Fortunatamente, molti produttori di misuratori costruiscono misuratori in questo modo, in cui il misuratore emette una tensione che può essere utilizzata nel proprio sistema di misurazione. Per questo istruibile in particolare, tuttavia, avrai bisogno di:

  • 1 sensore di vuoto a catodo freddo MKS HPS serie 903 AP IMT
  • 1 arduino uno
  • 1 display a caratteri LCD standard 2x16
  • Potenziometro da 10k ohm
  • connettore DSUB-9 femmina
  • cavo seriale DB-9
  • partitore di tensione

Passaggio 2: codice

Codice!
Codice!

Quindi, ho una certa esperienza con arduino, come scherzare con la configurazione RAMPS delle mie stampanti 3D, ma non avevo esperienza nella scrittura di codice da zero, quindi questo è stato il mio primo vero progetto. Ho studiato molte guide ai sensori e le ho modificate per capire come potevo usarle con il mio sensore. All'inizio, l'idea era quella di utilizzare una tabella di ricerca come ho visto altri sensori, ma ho finito per utilizzare la capacità in virgola mobile di arduino per eseguire un'equazione log/lineare basata sulla tabella di conversione fornita da MKS nel manuale.

Il codice seguente imposta semplicemente A0 come unità in virgola mobile per la tensione, che è 0-5v dal partitore di tensione. Quindi viene ricalcolato su una scala di 10v e interpolato usando l'equazione P=10^(v-k) dove p è la pressione, v è la tensione su una scala di 10v e k è l'unità, in questo caso torr, rappresentata da 11.000. Lo calcola in virgola mobile, quindi lo visualizza su uno schermo LCD in notazione scientifica usando dtostre.

#include #include // inizializza la libreria con i numeri dei pin dell'interfaccia LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // la routine di installazione viene eseguita una volta quando si preme reset: void setup() { / / inizializza la comunicazione seriale a 9600 bit al secondo: Serial.begin(9600); pinMode(A0, INGRESSO); //A0 è impostato come input #define PRESSURE_SENSOR A0; lcd.begin(16, 2); lcd.print("Strumenti MKS"); lcd.setCursor(0, 1); lcd.print("Catodo freddo IMT"); ritardo (6500); lcd.clear(); lcd.print("Pressione relativa:"); }// la routine del ciclo viene eseguita più e più volte per sempre: void loop() { float v = analogRead(A0); //v è la tensione di ingresso impostata come unità in virgola mobile su analogRead v = v * 10.0 / 1024; //v è la tensione del divisore 0-5v misurata da 0 a 1024 calcolata su scala da 0v a 10v float p = pow(10, v - 11.000); //p è la pressione in torr, che è rappresentata da k nell'equazione [P=10^(vk)] che è- // -11.000 (K = 11.000 per Torr, 10.875 per mbar, 8.000 per micron, 8.875 per Pascal) Stampa.seriale(v); char pressioneE[8]; dtostre(p, pressioneE, 1, 0); // formato scientifico con 1 decimale lcd.setCursor(0, 1); lcd.print(pressioneE); lcd.print("Torre"); }

Passaggio 3: test

Image
Image
test
test

Ho eseguito i test utilizzando un alimentatore esterno, con incrementi da 0-5v. Ho quindi eseguito i calcoli manualmente e mi sono assicurato che concordassero con il valore visualizzato. Sembra leggere leggermente fuori da una quantità molto piccola, tuttavia questo non è molto importante, in quanto rientra nelle mie specifiche necessarie.

Questo progetto è stato un enorme primo progetto di codice per me, e non l'avrei finito se non fosse stato per la fantastica comunità di arduino:3

Le innumerevoli guide e progetti di sensori hanno davvero aiutato a capire come farlo. Ci sono stati un sacco di tentativi ed errori, e un sacco di rimanere bloccati. Ma alla fine, sono estremamente contento di come è venuto fuori, e onestamente, l'esperienza di vedere il codice che hai fatto fare ciò che dovrebbe per la prima volta è davvero fantastica.

Consigliato: