Innholdsfortegnelse:
Video: Arduino invertert magnetronsensoravlesning: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Som en del av et pågående prosjekt av meg her, som dokumenterte den pågående fremdriften i mitt angrep i verden med Ultra High Vacuum -partikkelfysikk, kom det til den delen av prosjektet som krevde litt elektronikk og koding.
Jeg kjøpte en overskytende MKS -serie 903 IMT kaldkatod vakuummåler, uten kontroller eller avlesning. For noen bakgrunn trenger systemer med ekstremt høyt vakuum forskjellige sensortrinn for å måle mangelen på gasser i et kammer på riktig måte. Etter hvert som du får et sterkere og sterkere vakuum, jo mer komplisert ender denne målingen.
Ved lavt vakuum eller grovt vakuum kan enkle termoelementmålere gjøre jobben, men etter hvert som du fjerner mer og mer fra kammeret, trenger du noe som ligner en gassioniseringsmåler. De to vanligste metodene er varme katoder og kalde katodemålere. Varme katodemålere fungerer som mange vakuumrør, der de har et filament som koker av frie elektroner, som akselereres mot et rutenett. Eventuelle gassmolekyler i veien vil ionisere og trippe sensoren. Kalde katodemålere bruker en høyspenning uten filament inne i en magnetron for å produsere en elektronbane som også ioniserer lokale gassmolekyler og tripper sensoren.
Min måler er kjent som en invertert magnetron -transdusermåler, laget av MKS, som integrerte kontrollelektronikken med selve målerens maskinvare. Utgangen er imidlertid en lineær spenning som sammenfaller med en logaritmisk skala som brukes til å måle vakuum. Dette er hva vi skal programmere arduinoen vår til å gjøre.
Trinn 1: Hva trengs?
Hvis du er som meg, prøver du å bygge et vakuumsystem på en billig måte, og får det som du kan. Heldigvis produserer mange målere konstruksjonsmålere på denne måten, hvor måleren sender ut en spenning som kan brukes i ditt eget målesystem. For dette instruerbare spesielt trenger du imidlertid:
- 1 MKS HPS serie 903 AP IMT kaldkatode vakuum sensor
- 1 arduino uno
- 1 standard 2x16 LCD -tegnvisning
- 10k ohm potensiometer
- kvinnelig DSUB-9-kontakt
- seriell DB-9-kabel
- spenningsdeler
Trinn 2: Kode
Så jeg har litt erfaring med arduino, som å rote med 3D -skrivernes RAMPS -konfigurasjon, men jeg hadde ikke erfaring med å skrive kode fra grunnen, så dette var mitt første virkelige prosjekt. Jeg studerte mange sensorguider og modifiserte dem for å forstå hvordan jeg kunne bruke dem med sensoren min. I begynnelsen var tanken å gå med et oppslagstabell slik jeg har sett andre sensorer, men jeg endte opp med å bruke arduinoens flytende punkts evne til å utføre en log/lineær ligning basert på konverteringstabellen fra MKS i manualen.
Koden nedenfor setter ganske enkelt A0 som et flytende punkt for spenning, som er 0-5v fra spenningsdeleren. Deretter beregnes det tilbake til en 10v skala og interpoleres ved hjelp av ligningen P = 10^(v-k) hvor p er trykk, v er spenning på en 10v skala og k er enheten, i dette tilfellet torr, representert med 11.000. Det beregner det i flytende punkt, og viser det deretter på en LCD -skjerm i vitenskapelig notasjon ved hjelp av dtostre.
#include #include // initialiser biblioteket med tallene på grensesnittpinnene LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // oppsettsrutinen kjøres en gang når du trykker reset: void setup () {/ / initialisere seriell kommunikasjon med 9600 bits per sekund: Serial.begin (9600); pinMode (A0, INNGANG); // A0 er angitt som input #define PRESSURE_SENSOR A0; lcd.begin (16, 2); lcd.print ("MKS Instruments"); lcd.setCursor (0, 1); lcd.print ("IMT kald katode"); forsinkelse (6500); lcd.clear (); lcd.print ("Gauge Pressure:"); } // sløyfe -rutinen går igjen og igjen for alltid: void loop () {float v = analogRead (A0); // v er inngangsspenning angitt som flytende punkt på analogLes v = v * 10,0 /1024; // v er 0-5v divider spenning målt fra 0 til 1024 beregnet til 0v til 10v skala float p = pow (10, v - 11.000); // p er trykk i torr, som er representert med k i ligningen [P = 10^(vk)] som er- // -11.000 (K = 11.000 for Torr, 10.875 for mbar, 8.000 for mikron, 8.875 for Pascal) Serial.print (v); forkullstrykk E [8]; dtostre (p, trykk E, 1, 0); // vitenskapelig format med 1 desimal lcd.setCursor (0, 1); lcd.print (trykkE); lcd.print ("Torr"); }
Trinn 3: Testing
Jeg utførte testene med en ekstern strømforsyning, i trinn 0-5v. Jeg utførte deretter beregningene manuelt og sørget for at de stemte overens med den viste verdien. Det ser ut til å lese litt av med en veldig liten mengde, men dette er egentlig ikke viktig, da det er innenfor min nødvendige spesifikasjon.
Dette prosjektet var et stort første kodeprosjekt for meg, og jeg hadde ikke fullført det hvis det ikke var for det fantastiske arduino -samfunnet: 3
De utallige guider og sensorprosjekter hjalp virkelig med å finne ut hvordan du gjør dette. Det var mye prøving og feiling, og mye ble sittende fast. Men til slutt er jeg ekstremt fornøyd med hvordan dette kom ut, og ærlig talt er opplevelsen av å se koden du fikk til å gjøre det den skal for første gang, ganske fantastisk.
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Invertert pendel: Kontrollteori og dynamikk: 17 trinn (med bilder)
Omvendt pendel: Kontrollteori og dynamikk: Den omvendte pendelen er et klassisk problem innen dynamikk og kontrollteori som generelt utdypes i fysikk- eller matematikkkurs på videregående og lavere nivå. Jeg var selv matematikk- og vitenskapsentusiast og bestemte meg for å prøve å implementere konseptene
DIY Arduino robotarm, trinn for trinn: 9 trinn
DIY Arduino robotarm, trinn for trinn: Denne opplæringen lærer deg hvordan du bygger en robotarm selv