Სარჩევი:

Arduino ინვერსიული მაგნიტრონის გადამცემის წაკითხვა: 3 ნაბიჯი
Arduino ინვერსიული მაგნიტრონის გადამცემის წაკითხვა: 3 ნაბიჯი

ვიდეო: Arduino ინვერსიული მაგნიტრონის გადამცემის წაკითხვა: 3 ნაბიჯი

ვიდეო: Arduino ინვერსიული მაგნიტრონის გადამცემის წაკითხვა: 3 ნაბიჯი
ვიდეო: #3 როგორ დავაპროგრამოთ Outseal Arduino PLC - კონტაქტები და რელეები 2024, ნოემბერი
Anonim
Arduino ინვერსიული Magnetron Transducer Readout
Arduino ინვერსიული Magnetron Transducer Readout

როგორც ჩემი მიმდინარე პროექტის ნაწილი, რომელიც ასახავს ჩემი წინსვლის ულტრა მაღალი ვაკუუმ ნაწილაკების ფიზიკის სამყაროში პროგრესს, ის მივიდა პროექტის იმ ნაწილზე, რომელიც საჭიროებდა ელექტრონიკას და კოდირებას.

შევიძინე ზედმეტი MKS სერია 903 IMT ცივი კათოდური ვაკუუმური ლიანდაგი, კონტროლერისა და წაკითხვის გარეშე. უკიდურესად მაღალი ვაკუუმური სისტემებისთვის საჭიროა სხვადასხვა სენსორული საფეხურები, რათა სწორად გაზომოთ გაზების ნაკლებობა პალატაში. რაც უფრო ძლიერ და ძლიერ ვაკუუმს მიიღებთ, მით უფრო გართულდება ეს გაზომვა.

დაბალ ვაკუუმში, ან უხეშ ვაკუუმში, თერმოწყვილების უბრალო გაზომვებს შეუძლიათ შეასრულონ ეს სამუშაო, მაგრამ რაც უფრო და უფრო ამოიღებთ კამერიდან, თქვენ დაგჭირდებათ რაღაც მსგავსი გაზის იონიზაციის საზომი. ორი ყველაზე გავრცელებული მეთოდია ცხელი კათოდური და ცივი კათოდური საზომი. ცხელი კათოდური საზომი ფუნქციონირებს მრავალი ვაკუუმური მილის მსგავსად, რომელშიც მათ აქვთ ძაფები, რომლებიც იშლება თავისუფალი ელექტრონებისგან, რომლებიც დაჩქარებულია ქსელისკენ. ნებისმიერი გაზის მოლეკულა იონიზაციას გაუწევს სენსორს. ცივი კათოდური საზომი იყენებს მაღალ ძაბვას მაგნიტრონის შიგნით ძაფის გარეშე, რათა გამოიმუშაოს ელექტრონული ბილიკი, რომელიც ასევე ახდენს ადგილობრივი გაზის მოლეკულების იონიზაციას და სენსორს.

ჩემი ლიანდაგი ცნობილია როგორც ინვერსიული მაგნეტრონის გადამცემის ლიანდაგი, დამზადებულია MKS– ის მიერ, რომელმაც საკონტროლო ელექტრონიკა ინტეგრირებული შეაფასა აპარატურასთან. ამასთან, გამომავალი არის წრფივი ძაბვა, რომელიც ემთხვევა ვაკუუმის გაზომვისათვის გამოყენებულ ლოგარითმულ მასშტაბს. ეს არის ის, რასაც ჩვენ დავგეგმავთ ჩვენი არდუინოს გასაკეთებლად.

ნაბიჯი 1: რა არის საჭირო?

რა არის საჭირო?
რა არის საჭირო?
რა არის საჭირო?
რა არის საჭირო?
რა არის საჭირო?
რა არის საჭირო?
რა არის საჭირო?
რა არის საჭირო?

თუ თქვენ ჩემნაირი ხართ, ცდილობთ იაფად ააშენოთ ვაკუუმური სისტემა, მიიღებთ რა ლიანდაგს, რისი გადაწყვეტაც შეგიძლიათ. საბედნიეროდ, ბევრი ლიანდაგის მწარმოებელი ადგენს გაზომვებს ამ გზით, სადაც ლიანდაგი აწარმოებს ძაბვას, რომელიც შეიძლება გამოყენებულ იქნას თქვენს გაზომვის სისტემაში. ამასთან, სპეციალურად ამ ინსტრუქციისთვის დაგჭირდებათ:

  • 1 MKS HPS სერია 903 AP IMT ცივი კათოდური ვაკუუმის სენსორი
  • 1 არდუინო უნო
  • 1 სტანდარტული 2x16 LCD პერსონაჟის ჩვენება
  • 10k ohm პოტენციომეტრი
  • ქალი DSUB-9 კონექტორი
  • სერიული DB-9 კაბელი
  • ძაბვის გამყოფი

ნაბიჯი 2: კოდი

კოდი!
კოდი!

ამრიგად, მე მაქვს გარკვეული გამოცდილება arduino– სთან, როგორიცაა ჩემი 3D პრინტერების RAMPS კონფიგურაციის შეცვლა, მაგრამ მე არ მქონდა კოდის წერის გამოცდილება, ასე რომ ეს იყო ჩემი პირველი რეალური პროექტი. მე შევისწავლე ბევრი სენსორული სახელმძღვანელო და შევცვალე ისინი იმის გასაგებად, თუ როგორ შემეძლო მათი გამოყენება ჩემს სენსორთან ერთად. თავდაპირველად, იდეა იყო საძიებო ცხრილით წასვლა, როგორც სხვა სენსორები მინახავს, მაგრამ მე საბოლოოდ გამოვიყენე arduino– ს მცურავი წერტილის უნარი, რომ შევასრულო ჟურნალი/ხაზოვანი განტოლება, რომელიც დაფუძნებულია MKS– ის მიერ მოწოდებულ კონვერტაციის ცხრილზე.

ქვემოთ მოყვანილი კოდი უბრალოდ ადგენს A0 ძაბვის მცურავ წერტილს, რომელიც არის ძაბვის გამყოფიდან 0-5 ვ. შემდეგ იგი გამოითვლება 10 ვ-მდე მასშტაბით და ინტერპოლაციით გამოიყენება განტოლების P = 10^(v-k) სადაც p არის წნევა, v არის ძაბვა 10v მასშტაბით და k არის ერთეული, ამ შემთხვევაში torr, წარმოდგენილია 11.000-ით. იგი ითვლის, რომ მცურავ წერტილში, შემდეგ აჩვენებს მას LCD ეკრანზე სამეცნიერო აღნიშვნის გამოყენებით dtostre.

#include #include // ბიბლიოთეკის ინიციალიზაცია ინტერფეისის ქინძისთავების LiquidCrystal LCD (12, 11, 5, 4, 3, 2); // კონფიგურაციის რუტინა გადის ერთხელ, როდესაც დააჭირეთ გადატვირთვას: void setup () {/ / სერიული კომუნიკაციის ინიციალიზაცია 9600 ბიტი წამში: Serial.begin (9600); pinMode (A0, INPUT); // A0 მითითებულია შეყვანის სახით #განსაზღვრეთ PRESSURE_SENSOR A0; lcd. დასაწყისი (16, 2); lcd.print ("MKS ინსტრუმენტები"); lcd.setCursor (0, 1); lcd.print ("IMT ცივი კათოდი"); დაგვიანება (6500); lcd. წმინდა (); lcd.print ("გაზომვის წნევა:"); } // მარყუჟის რუტინა გადის უსასრულოდ სამუდამოდ: void loop () {float v = analogRead (A0); // v არის შეყვანის ძაბვა მითითებული, როგორც მცურავი წერტილის ერთეული ანალოგზე წაკითხვა v = v * 10.0 /1024; // v არის 0-5v გამყოფი ძაბვა, რომელიც იზომება 0 -დან 1024 -მდე, გამოითვლება 0v- დან 10v- მდე მასშტაბის float p = pow (10, v - 11.000); // p არის წნევა torr– ში, რომელიც წარმოდგენილია k– ით განტოლებაში [P = 10^(vk)] რაც არის - // -11.000 (K = 11.000 Torr, 10.875 mbar, 8.000 მიკრონი, 8.875 პასკალისთვის)) სერიული. ბეჭდვა (v); ნახშირის წნევა E [8]; dtostre (p, pressE, 1, 0); // სამეცნიერო ფორმატი 1 ათობითი ადგილით lcd.setCursor (0, 1); lcd.print (წნევა E); lcd.print ("Torr"); }

ნაბიჯი 3: ტესტირება

Image
Image
ტესტირება
ტესტირება

მე ჩავატარე ტესტები გარე კვების წყაროს გამოყენებით, თანდათანობით 0-5 ვ. ამის შემდეგ გამოვთვალე ხელით და დავრწმუნდი, რომ ისინი ეთანხმებოდნენ ნაჩვენებ მნიშვნელობას. როგორც ჩანს, ოდნავ მცირედით იკითხება, თუმცა ეს ნამდვილად არ არის მნიშვნელოვანი, რადგან ის ჩემს საჭირო სპეციფიკაშია.

ეს პროექტი იყო ჩემთვის უზარმაზარი პირველი კოდის პროექტი და მე არ დავასრულებდი მას რომ არა ფანტასტიკური არდუინოს საზოგადოება: 3

უამრავი სახელმძღვანელო და სენსორული პროექტი ნამდვილად დაეხმარა იმის გარკვევაში, თუ როგორ უნდა გაკეთდეს ეს. იყო ბევრი ცდა და შეცდომა და ბევრი დავრჩებოდით. საბოლოო ჯამში, მე ძალიან კმაყოფილი ვარ იმით, თუ როგორ გამოჩნდა ეს და გულწრფელად გითხრათ, თქვენ მიერ გაკეთებული კოდის ნახვის გამოცდილება, რასაც პირველად აკეთებ, საკმაოდ გასაოცარია.

გირჩევთ: