Innehållsförteckning:
Video: Arduino Inverterad Magnetron -givaravläsning: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Som en del av ett pågående projekt för mig här, som dokumenterar den pågående framstegen i min strävan mot Ultra High Vacuum -partikelfysik, kom det till den del av projektet som krävde lite elektronik och kodning.
Jag köpte en överskottsvakuummätare i MKS -serien 903 IMT, utan kontroller eller avläsning. För en viss bakgrund behöver ultrahögvakuumsystem olika sensorsteg för att korrekt mäta bristen på gaser i en kammare. När du får ett starkare och starkare vakuum, desto mer komplicerad blir denna mätning.
Vid lågvakuum eller grovt vakuum kan enkla termoelementmätare göra jobbet, men när du tar bort mer och mer från kammaren behöver du något som liknar en gasjoniseringsmätare. De två vanligaste metoderna är varma katoder och kalla katodmätare. Heta katodmätare fungerar som många vakuumrör, där de har ett glödtråd som kokar av fria elektroner, som accelereras mot ett rutnät. Eventuella gasmolekyler i vägen kommer att jonisera och utlösa sensorn. Kalla katodmätare använder en högspänning utan glödtråd inuti en magnetron för att producera en elektronväg som också joniserar lokala gasmolekyler och utlöser sensorn.
Min mätare är känd som en inverterad magnetronsgivarmätare, tillverkad av MKS, som integrerade styrelektroniken i själva mätarhårdvaran. Utgången är dock en linjär spänning som sammanfaller med en logaritmisk skala som används för att mäta vakuum. Detta är vad vi kommer att programmera vår arduino att göra.
Steg 1: Vad behövs?
Om du är som jag, försöker du bygga upp ett vakuumsystem på ett billigt sätt. Lyckligtvis tillverkar många mätare byggmätare på detta sätt, där mätaren matar ut en spänning som kan användas i ditt eget mätsystem. För detta instruerbara specifikt behöver du dock:
- 1 MKS HPS -serie 903 AP IMT kallkatodvakuumsensor
- 1 arduino uno
- 1 standard 2x16 LCD -teckenvisning
- 10k ohm potentiometer
- hona DSUB-9-kontakt
- seriell DB-9-kabel
- spänningsdelare
Steg 2: Kod
Så jag har lite erfarenhet av arduino, som att röra med mina 3d -skrivares RAMPS -konfiguration, men jag hade inte erfarenhet av att skriva kod från grunden, så det här var mitt första riktiga projekt. Jag studerade många sensorguider och modifierade dem för att förstå hur jag kunde använda dem med min sensor. Först var tanken att gå med en uppslagstabell som jag har sett andra sensorer, men jag slutade med att använda arduinos flytande punktförmåga för att utföra en log/linjär ekvation baserad på konverteringstabellen från MKS i manualen.
Koden nedan anger helt enkelt A0 som en flytande punktenhet för spänning, som är 0-5v från spänningsdelaren. Sedan beräknas det tillbaka till en 10v skala och interpoleras med ekvationen P = 10^(v-k) där p är tryck, v är spänning på en 10v skala och k är enheten, i detta fall torr, representerad av 11.000. Den beräknar den i flytande punkt och visar den sedan på en LCD -skärm i vetenskaplig notering med dtostre.
#include #include // initiera biblioteket med numren på gränssnittsstiften LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // installationsrutinen körs en gång när du trycker på reset: void setup () {/ / initiera seriell kommunikation med 9600 bitar per sekund: Serial.begin (9600); pinMode (A0, INPUT); // A0 är inställd som input #define PRESSURE_SENSOR A0; lcd.begin (16, 2); lcd.print ("MKS Instruments"); lcd.setCursor (0, 1); lcd.print ("IMT kall katod"); fördröjning (6500); lcd.clear (); lcd.print ("Mättryck:"); } // loop -rutinen körs om och om igen för alltid: void loop () {float v = analogRead (A0); // v är ingångsspänning inställd som flytpunktsenhet på analogLäs v = v * 10,0 /1024; // v är 0-5v divideringsspänning mätt från 0 till 1024 beräknat till 0v till 10v skala float p = pow (10, v - 11.000); // p är trycket i torr, som representeras av k i ekvationen [P = 10^(vk)] som är- // -11.000 (K = 11.000 för Torr, 10.875 för mbar, 8.000 för mikron, 8.875 för Pascal) Serial.print (v); rödningstryck E [8]; dtostre (p, tryck E, 1, 0); // vetenskapligt format med 1 decimal lcd.setCursor (0, 1); lcd.print (tryckE); lcd.print ("Torr"); }
Steg 3: Testning
Jag utförde testerna med en extern strömförsörjning, i steg 0-5v. Jag utförde sedan beräkningarna manuellt och såg till att de stämde överens med det visade värdet. Det verkar läsa lite av med en mycket liten mängd, men det här är inte riktigt viktigt, eftersom det är inom min nödvändiga specifikation.
Detta projekt var ett enormt första kodprojekt för mig, och jag hade inte avslutat det om det inte vore för det fantastiska arduino -samhället: 3
De otaliga guiderna och sensorprojekten hjälpte verkligen till att ta reda på hur man gör detta. Det var mycket prövning och fel, och mycket fastnade. Men i slutändan är jag oerhört nöjd med hur det här kom ut, och ärligt talat är upplevelsen av att se koden du fick göra vad den ska för första gången ganska fantastisk.
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
RC -spårad robot med Arduino - Steg för steg: 3 steg
RC -spårad robot med Arduino - Steg för steg: Hej killar, jag är tillbaka med ett annat häftigt robotchassi från BangGood. Hoppas att du har gått igenom våra tidigare projekt - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot med Robotic Arms och The Badland Braw
Inverterad pendel: Kontrollteori och dynamik: 17 steg (med bilder)
Inverterad pendel: Kontrollteori och dynamik: Den inverterade pendeln är ett klassiskt problem inom dynamik och kontrollteori som generellt utarbetas i gymnasie- och grundläggande fysik- eller matematikkurser. Eftersom jag själv var matte- och vetenskapsentusiast bestämde jag mig för att försöka implementera begreppen
DIY Arduino robotarm, steg för steg: 9 steg
DIY Arduino robotarm, steg för steg: Denna handledning lär dig hur du bygger en robotarm själv