Სარჩევი:
- ნაბიჯი 1: კომპონენტები
- ნაბიჯი 2: ხორბლის ქვის ხიდი
- ნაბიჯი 3: გაძლიერება
- ნაბიჯი 4: ჩართეთ წრე
- ნაბიჯი 5: სრული წრე და კოდი
- Step 6: Time Response of PT100
ვიდეო: ტემპერატურის გაზომვა PT100– დან Arduino– ს გამოყენებით: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-31 10:21
PT100 არის წინააღმდეგობის ტემპერატურის დეტექტორი (RTD), რომელიც ცვლის მის წინააღმდეგობას გარემომცველი ტემპერატურის მიხედვით, იგი ფართოდ გამოიყენება ნელი დინამიკით და შედარებით ფართო ტემპერატურის დიაპაზონის მქონე სამრეწველო პროცესებისთვის. იგი გამოიყენება ნელი დინამიური პროცესებისთვის, რადგან RTD– ს აქვს ნელი რეაგირების დრო (რაზეც მე უფრო მოგვიანებით ვისაუბრებ), მაგრამ ზუსტია და აქვს დაბალი დრიფტი დროთა განმავლობაში. ის, რასაც მე ვაჩვენებ ამ ინსტრუქციებში, არ იქნება ინდუსტრიული სტანდარტის შესაბამისი, მაგრამ ის გამოგივლენთ ტემპერატურის გაზომვის ალტერნატიულ გზაზე, ვიდრე LM35– ის გამოყენება, რომელსაც ბევრი ჰობიისტი იცნობს და ნაჩვენებია წრიული თეორია შეიძლება გამოყენებულ იქნას სხვა სენსორებზე.
ნაბიჯი 1: კომპონენტები
1x PT100 (ორი მავთული)
1x Arduino (ნებისმიერი მოდელი)
3x 741 ოპერაციული გამაძლიერებლები (LM741 ან UA741)
1x 80ohm რეზისტორი
2x 3.9kohms რეზისტორები
2x 3.3kohms რეზისტორები
2x 8.2kohms რეზისტორები
2x 47kohms რეზისტორები
1x 5kohms Potentiometer
1x ორი ტერმინალური კვების წყარო ან 8x 1.5V AA ბატარეები
მე ვიყენებ ორი მავთულის PT100– ს, სამ და ოთხ მავთულის PT100– ს ექნება განსხვავებული სქემა. ამ უმეტესობისთვის რეზისტორის მნიშვნელობები არ უნდა იყოს ზუსტად იგივე, რაც ზემოთ არის, მაგრამ თუ არსებობს რეზისტორების წყვილი, ანუ 3.9Kohms, თუ თქვენ შეცვალეთ ისინი ვთქვათ 5k, თქვენ უნდა შეცვალოთ ორივე 5k როგორც მაშინ უნდა იყოს იგივე. როდესაც ჩვენ მივიღებთ სქემას, მე ვიტყვი სხვადასხვა მნიშვნელობების არჩევის ეფექტზე. ოპერაციის გამაძლიერებლებისთვის (op amps) შეგიძლიათ გამოიყენოთ სხვა op amps, მაგრამ ეს არის ის, რაც მე გამოვიყენე.
ნაბიჯი 2: ხორბლის ქვის ხიდი
მე ჯერ უნდა ვისაუბრო PT100– ის წინააღმდეგობის ტემპერატურის მიღების ფორმულაზე, სანამ წრის პირველ ნაწილზე ვისაუბრებ, წინააღმდეგობის ფორმულა ასეთია:
სადაც Rx არის PT100 წინააღმდეგობა, R0 არის PT100 წინააღმდეგობა 0 გრადუსზე, α არის ტემპერატურის წინააღმდეგობის კოეფიციენტი და T არის ტემპერატურა.
R0 არის 100 Ohms რადგან ეს არის PT100, თუ ის იყო PT1000, R0 იქნებოდა 1000ohms. α არის 0.00385 ohms/გრადუსი C აღებული მონაცემთა ცხრილიდან. ასევე არსებობს უფრო ზუსტი ფორმულა, რომელიც შეიძლება მოიძებნოს აქ, მაგრამ ზემოაღნიშნული ფორმულა გამოდგება ამ პროექტისათვის. თუ ფორმულას გადავიტანთ, შეგვიძლია გამოვთვალოთ ტემპერატურა მოცემული წინააღმდეგობისთვის:
ვთქვათ, ჩვენ გვინდა გავზომოთ ის, რასაც ექნება ტემპერატურის დიაპაზონი -51.85 -დან 130 გრადუსამდე და ჩვენ PT100 მოვათავსეთ სურათზე ნაჩვენები წრეში. ზემოთ განტოლების გამოყენებით და ძაბვის გამყოფი ძაბვის განტოლების გამოყენებით (ნაჩვენებია პირველ სურათზე) ჩვენ შეგვიძლია გამოვთვალოთ ძაბვის დიაპაზონი. დიაპაზონის ქვედა ნაწილი T = -51.85 (80 Ohms)
და 130 გრადუსზე (150 Ohms):
ეს მისცემს დიაპაზონს 0.1187V და DC ოფსეტს 0.142, რადგან ჩვენ ვიცით, რომ ჩვენი ტემპერატურა არასოდეს დაიკლებს -51.85 გრადუსს ქვემოთ, ეს შეამცირებს მგრძნობელობას იმ დიაპაზონში, რომელიც ჩვენ გვაინტერესებს (80-130 Ohms), როდესაც ამ ძაბვას გავაძლიერებთ. ამ DC ოფსეტურიდან თავის დასაღწევად და ჩვენი მგრძნობელობის გასაზრდელად შეგვიძლია გამოვიყენოთ Wheatstone ხიდი, რომელიც ნაჩვენებია მეორე სურათზე.
მეორე ძაბვის გამყოფი (Vb-) გამომავალი იქნება გამოკლებული პირველი ძაბვის გამყოფი გამომავალიდან (Vb+) დიფერენციალური გამაძლიერებლის გამოყენებით მოგვიანებით. ხიდის გამომუშავების ფორმულა არის მხოლოდ ორი ძაბვის გამყოფი:
ძაბვა PT100– ისთვის არის 80 Ohms და იყენებს სხვა მნიშვნელობებს სურათზე:
და Pt100 არის 150 Ohms:
Wheatstone– ის გამოყენებით ჩვენ ვიშორებთ DC ოფსეტს და ვზრდით მგრძნობელობას ამპლიფიკაციის შემდეგ. ახლა, როდესაც ჩვენ ვიცით, როგორ მუშაობს Wheatstone ხიდი, შეგვიძლია ვისაუბროთ იმაზე, თუ რატომ ვიყენებთ 80ohms და 3.3kohms. 80 ოჰმი ერთგვარი ახსნილია ზემოთ მოყვანილი ფორმულადან, შეარჩიეთ ეს მნიშვნელობა (ჩვენ ამას დავარქმევთ ოფსეტური რეზისტორი როფი) იყოს თქვენი ტემპერატურის ქვედა დიაპაზონი ან კიდევ უკეთესი, თქვენი დიაპაზონის ოდნავ ქვემოთ, თუ ეს გამოიყენება ტემპერატურის რეგულირების კონტროლის სისტემები ან მსგავსი რამ, თქვენ გინდათ იცოდეთ რამდენად დაბალია ტემპერატურა თქვენი ტემპერატურის დიაპაზონის ქვემოთ. ასე რომ, თუ -51.85C არის თქვენი დიაპაზონის ბოლოში, გამოიყენეთ 74.975 ohms (-65 გრადუსი C) თქვენი Roff– ისთვის.
მე ავირჩიე 3.3k R1 და R3 ორი მიზეზის გამო, რომ შეზღუდოს დენი და გაიზარდოს ხაზოვანი გამომავალი. რადგანაც PT100 ცვლის წინააღმდეგობას ტემპერატურის გამო, მასში ძალიან ბევრი დენის გავლა არასწორ კითხვას მისცემს თვითგათბობის გამო, ამიტომ მე ავირჩიე მაქსიმალური დენი 5-10mA. როდესაც PT100 არის 80ohms, მიმდინარე არის 1.775mA, ასე რომ უსაფრთხოდ ქვემოთ მაქსიმალური დიაპაზონი. თქვენ ამცირებთ წინააღმდეგობას მგრძნობელობის გასაზრდელად, მაგრამ ამან შეიძლება უარყოფითი გავლენა იქონიოს ხაზოვანობაზე, რადგან ჩვენ მოგვიანებით გამოვიყენებთ წრფის განტოლებას (y = mx+c), რომელსაც აქვს არაწრფივი გამომუშავება შეცდომის დანერგვას. მესამე სურათს აქვს ხიდების დიაგრამა სხვადასხვა ზედა რეზისტორების გამოყენებით, მყარი ხაზი არის რეალური გამომუშავება და წერტილოვანი ხაზი არის წრფივი მიახლოება. თქვენ ხედავთ მუქ ლურჯ გრაფიკში (R1 & R3 = 200ohms) იძლევა ძაბვის ყველაზე დიდ დიაპაზონს, მაგრამ გამომავალი არის ყველაზე ნაკლებად წრფივი. ღია ცისფერი (R1 & R3 = 3.3kohms) იძლევა ძაბვის ყველაზე მცირე დიაპაზონს, მაგრამ წერტილოვანი ხაზი და მყარი ხაზი გადაფარულია, რაც აჩვენებს მის ხაზოვანობას ძალიან კარგია.
მოგერიდებათ შეცვალოთ ეს მნიშვნელობები თქვენი აპლიკაციის შესაბამისად, ასევე თუ ძაბვას შეცვლით, დარწმუნდით, რომ დენი არ გახდება ძალიან მაღალი.
ნაბიჯი 3: გაძლიერება
ბოლო ეტაპზე ჩვენ აღმოვაჩინეთ, რომ გამოკლებული ორი ძაბვის გამყოფის გამოსასვლელი დიაპაზონი იყო 0 -დან 0.1187 -მდე, მაგრამ ჩვენ არ ვისაუბრეთ იმაზე, თუ როგორ გამოვაკლოთ ეს ძაბვები. ამისათვის ჩვენ დაგვჭირდება დიფერენციალური გამაძლიერებელი, რომელიც გამოაკლებს ერთ შეყვანას მეორისგან და გააძლიერებს ამას გამაძლიერებლის მომატებით. დიფერენციალური გამაძლიერებლის სქემა ნაჩვენებია პირველ სურათზე. თქვენ Vb+ იკვებებით შემობრუნებულ შეყვანისას და Vb- არაინვერტირებად შეყვანისას და გამომავალი იქნება Vb+- Vb- ერთი მომატებით ანუ გაძლიერების გარეშე მაგრამ სურათზე ნაჩვენები რეზისტორების დამატებით ჩვენ ვამატებთ მოგებას 5.731 რა მოგება მოცემულია:
Ra არის R5 & R7 და Rb არის R6 & R8, ძაბვის გამოსავალი მოცემულია:
არსებობს ორი პრობლემა, როდესაც ამ გამაძლიერებელს მხოლოდ ხიდთან აკავშირებთ, ჩატვირთვის ეფექტს და მოგების შეცვლას. გამაძლიერებლის მომატების შეცვლა მოითხოვს თქვენ შეცვალოთ მინიმუმ ორი რეზისტორი, რადგან ორი წყვილი რეზისტორი უნდა იყოს ერთი და იგივე, ასე რომ ორი ქოთნის ქონა, რომელსაც უნდა ჰქონდეს იგივე მნიშვნელობა შემაშფოთებელი იქნება, ამიტომ ჩვენ გამოვიყენებთ რაღაცას, რასაც ეწოდება ინსტრუმენტის გამაძლიერებელი რომელზეც მე ქვემოთ ვსაუბრობ. ჩატვირთვის ეფექტი არის ამპტერში შეყვანის რეზისტორები, რომლებიც გავლენას ახდენენ ძაბვის ვარდნაზე PT100– ზე, ჩვენ გვინდა რომ ძაბვა PT100– ზე იყოს უცვლელი და ამისათვის ჩვენ შეგვიძლია შევარჩიოთ ძალიან დიდი რეზისტორები შეყვანის რეზისტენტებისთვის ისე, რომ PT100– ის პარალელური წინააღმდეგობა და შემავალი რეზისტორი ძალიან ახლოს არის PT100 წინააღმდეგობასთან, მაგრამ ამან შეიძლება გამოიწვიოს პრობლემები ხმაურისა და ძაბვის გამოსასვლელთან, რომელშიც მე არ ვაპირებ წასვლას. უბრალოდ შეარჩიეთ საშუალო დიაპაზონი კომის დიაპაზონში, მაგრამ როგორც ვთქვი, მცირე რეზისტორების ქონა ასევე ცუდია, ამიტომ ჩვენ ოდნავ შევცვლით წრეს.
მეორე სურათზე, ჩვენ გვაქვს ხიდის გამომავალი, რომელიც დაკავშირებულია ინსტრუმენტულ გამაძლიერებელთან, რომელიც მოქმედებს ბუფერულ გამაძლიერებელს, რომ გამოყოს სქემების ორი ნახევარი (ხიდი და გამაძლიერებელი), ასევე იძლევა გამოყენების შესაძლებლობას გაზარდოს შეყვანა მხოლოდ ერთი პოტენომეტრის შეცვლით (დაიბრუნე). ინსტრუმენტის გამაძლიერებლის მოგება მოცემულია:
სადაც Rc არის ორი 3.9k რეზისტორი ქოთნის ზემოთ და ქვემოთ.
Rgain– ის შემცირებით, გაძლიერება იზრდება. შემდეგ Va და Vb წერტილში (გაძლიერებულია Vb+ და Vb-), ეს არის მხოლოდ დიფერენციალური გამაძლიერებელი, როგორც ადრე და წრის მთლიანი მოგება მხოლოდ მიღწევებია ერთად გამრავლებული.
თქვენი მოგების ასარჩევად გსურთ გააკეთოთ ისეთი რამ, როგორიც ჩვენ ადრე გავაკეთეთ როფისთან ერთად, ჩვენ უნდა ავირჩიოთ წინააღმდეგობა თქვენს დიაპაზონში მაქსიმალურ ტემპერატურაზე მხოლოდ იმ შემთხვევაში, თუ ის გადააჭარბებს. ვინაიდან ჩვენ ვიყენებთ Arduino– ს, რომელსაც აქვს 5V adc, მიკროსქემის მაქსიმალური გამოსავალი უნდა იყოს 5V თქვენს მიერ არჩეულ მაქსიმალურ ტემპერატურაზე. მოდით ავირჩიოთ 150 ოჰმი, როგორც მაქსიმალური წინააღმდეგობა და ხიდის ძაბვა გაძლიერებული იყო 0.1187 ვ, მოგება, რომელიც ჩვენ გვჭირდება არის 42.185 (5/0.1187)
ვთქვათ, ჩვენ ვინახავთ Ra, Rb და Rc როგორც 8.2k, 47k და 3.9k, ჩვენ უბრალოდ უნდა ვიპოვოთ ქვაბის ღირებულება Rgain:
ამრიგად, იმისათვის, რომ გამოვიყენოთ სრული 5 ვოლტი იმ ტემპერატურის დიაპაზონიდან, რომელსაც ჩვენ ვიყენებთ, შეცვალეთ Rgain მნიშვნელობა 1.226k. დიფერენციალური ამპერიდან გამომავალი ძაბვა მოცემულია:
ნაბიჯი 4: ჩართეთ წრე
ეს არის წრედის ბოლო საფეხური, თქვენ შეიძლება შეამჩნიოთ Vcc+ და Vcc- ოპ გამაძლიერებელ სქემებზე, ეს იმიტომ ხდება, რომ მათ სჭირდებათ როგორც დადებითი, ასევე უარყოფითი ძაბვა, რომ გამართულად იმუშაონ, შეგიძლიათ მიიღოთ ერთი სარკინიგზო ამპები, მაგრამ მე გადავწყვიტე გამოვიყენო ეს გამაძლიერებელი, რადგან ეს არის ის, რაც მე მქონდა მოტყუებული. ჩვენ მივაწოდებთ +6V და -6V, ამის გაკეთების სამი გზა არსებობს. პირველი ნაჩვენებია პირველ სურათზე, სადაც უნდა გვქონდეს ორი კვების წყარო ან ორი გამომავალი ტერმინალი ერთი დენის წყაროსგან, გვაქვს ორივე 6 ვ -ზე და ერთი დადებითი გამომავალი დაკავშირებულია მეორის ნეგატივთან. ზედა მიწოდების 6V იქნება ჩვენი +6V, ქვედა მიწოდების დადებითი არის GND და ქვედა მიწოდების უარყოფითი არის -6V. დაუკავშირდით მას მხოლოდ იმ შემთხვევაში, თუ ორი მარაგის გონება განცალკევებულია ან ზიანს აყენებს თქვენს ენერგომომარაგებას. ელექტროენერგიის ყველა კომერციული წყარო გამოყოფილი იქნებოდა GND– ებით, მაგრამ თუ გსურთ შემოწმება, გამოიყენეთ მულტიმეტრზე უწყვეტობის შემმოწმებელი, თუ ის ზუზუნდება, ნუ გამოიყენებთ ამ კონფიგურაციას და გამოიყენეთ შემდეგი. ჩემი ხელნაკეთი მომარაგების დროს, მე დავფუჭე დაუკრავენ ამას.
მეორე სურათზე არის მეორე კონფიგურაცია, რომელიც ჩვენ შეგვიძლია გვქონდეს, ის მოითხოვს ერთ წყაროს, რომ ჰქონდეს ორმაგი ძაბვა სხვაგან, მაგრამ არ დააზიანებს წყაროს, თუ GND- ები დაკავშირებულია. ჩვენ გვაქვს ორი წყარო, ერთი 12 ვ და მეორე 6 ვ. 12V იმოქმედებს როგორც ჩვენი +6V, 6V მეორე წყაროდან იმოქმედებს როგორც GND და ორი ფაქტობრივი GNDs მარაგებიდან იმოქმედებს როგორც -6V.
ეს უკანასკნელი კონფიგურაცია განკუთვნილია მხოლოდ ერთი გამომავალი დენის წყაროსთვის, ის იყენებს 1 -ის ბუფერულ გამაძლიერებელს, რათა შექმნას ვირტუალური საფუძველი ბუფერული გამაძლიერებლის მეშვეობით მიწოდების ძაბვის ნახევრის გავლით. შემდეგ 12V იმოქმედებს +6V, ხოლო ფაქტობრივი GND ტერმინალი იქნება -6V.
თუ გსურთ გამოიყენოთ ბატარეები, მე გირჩევთ პირველ დაყენებას, მაგრამ პრობლემა ბატარეებთან არის ის, რომ ძაბვა დაეცემა, როდესაც ისინი იწყებენ კვებას და ძაბვა ხიდიდან ასევე დაეცემა, რაც არასწორი ტემპერატურის მაჩვენებლებს იძლევა. თქვენ, რა თქმა უნდა, შეგიძლიათ წაიკითხოთ ძაბვა ბატარეებიდან და ჩართოთ ისინი გამოთვლებში, ან გამოიყენოთ რეგულატორები და მეტი ბატარეა. საბოლოო ჯამში, თქვენზეა დამოკიდებული.
ნაბიჯი 5: სრული წრე და კოდი
სრული წრე ნაჩვენებია ზემოთ და ის დამზადებულია Autodesk– ის ახალ სქემებში. შეუძლია Arduino- ს დაპროგრამებაც კი და მისი დაკავშირება პურის დაფის რეჟიმში, გვერდის ქვემოთ არის სიმულაცია და შეგიძლიათ ითამაშოთ ორი ქოთნით. თუ გსურთ გაიმეოროთ წრე და ჩაწეროთ თქვენი საკუთარი მნიშვნელობები, თქვენ შეგიძლიათ იპოვოთ წრე აქ. პირველი ქოთანი არის 70 Ohms და სერიაში 80 Ohm რეზისტორით, რომელიც ახდენს PT100– ის სიმულაციას 80-150 Ohms დიაპაზონში, მეორე ქოთანი არის ინსტრუმენტის გამაძლიერებლის მომატება. სამწუხაროდ, მე გამოვიყენე ბიბლიოთეკა, რომელიც გადმოვწერე ჩემი კოდისთვის, ასე რომ, Arduino არ შედის ქვემოთ მოცემულ წრედში, მაგრამ მხოლოდ ორი დამატებითი მავთული გჭირდებათ რომ დააკავშიროთ. თუ თქვენ უფრო კომფორტულად გრძნობთ თავს LTspice– სთან ერთად, ჩართული მაქვს ასკ ფაილი წრედ.
შეაერთეთ A0 პინი დიფერენციალური გამაძლიერებლის გამომავალთან
შეაერთეთ Arduino– ს GND სქემის GND– თან (არა –6V)
და ეს არის ჩართვა დასრულებული, ახლა გადატანა კოდი. ადრე აღვნიშნე, რომ ჩვენ ვიყენებთ ფორმულას y = mx+c, ახლა კი ჩვენ გამოვთვლით m (ფერდობზე) და c (ოფსეტური). არდუინოში ჩვენ ვკითხულობთ ძაბვას, მაგრამ ტემპერატურის განტოლებას სჭირდება ვიცოდეთ PT100- ის წინააღმდეგობა, ასე რომ თუ როგორ შეგვიძლია ამის გაკეთება არის Serial.println (temp) Serial.println (V) ჩანაცვლებით და ჩაწერა ძაბვა და წინააღმდეგობა ორ ტემპერატურაზე. ამ ტესტის გაკეთებისას დატოვეთ PT100 ცოტა ხნით, ერთი ან ორი წუთის განმავლობაში და თავი შეიკავეთ სითბოს წყაროსგან (მზის შუქი, ლეპტოპის ვენტილატორი, თქვენი სხეული და ა. შ.).
პირველი წერტილი, რისი აღებაც შეგვიძლია, არის ოთახის ტემპერატურა, როდესაც ჩართული გაქვთ ჩართული და მუშაობთ, ჩაწერეთ ძაბვა (Vt1) Arduino– ს მიერ სერიულ მონიტორზე და სწრაფად გათიშეთ PT100 და ჩაწერეთ მისი წინააღმდეგობა (Rt1), არ დააყენოთ თქვენი გათიშვისას მიაყენეთ ზონდს, რადგან ეს ცვლის წინააღმდეგობას. მეორე ტემპერატურისთვის, ჩვენ შეგვიძლია მოვათავსოთ ზონდი ყინულის წყალში ან ცხელ წყალში (ფრთხილად იყავით ცხელი წყლის გამოყენებისას) და გავიმეოროთ ის, რაც გავაკეთეთ Vt2 და Rt2– ის აღმოჩენამდე. მას შემდეგ რაც ზონდს სითხეში მოათავსებთ დაელოდეთ ერთი ან ორი წუთი წინააღმდეგობის დარეგულირებას. თუ თქვენ დაინტერესებული ხართ PT100- ის დროული რეაგირებით, ჩაწერეთ სერიული მონიტორის ძაბვა ყოველ 2 წამში და ასე რომ ჩვენ შეგვიძლია დავხატოთ გრაფიკი აქედან და მე ამას მოგვიანებით აგიხსნით. ორი ძაბვისა და წინააღმდეგობის გამოყენებით, ჩვენ შეგვიძლია გამოვთვალოთ ფერდობი შემდეგნაირად:
Rt1 და Rt2 არის წინააღმდეგობა ორ ტემპერატურაზე და იგივე ეხება ძაბვებს Vt1 და Vt2. ფერდობიდან და თქვენ მიერ ჩაწერილი ორი წერტილიდან ერთ -ერთიდან შეგვიძლია გამოვთვალოთ ოფსეტური:
C ახლოს უნდა იყოს თქვენს ნამდვილ როფთან, ჩემი სიმულაციიდან გამოვთვალე ეს მნიშვნელობები:
ამ წინააღმდეგობიდან ჩვენ შეგვიძლია ვიპოვოთ ჩვენი ტემპერატურა ფორმულის გამოყენებით, რომელიც გვქონდა დასაწყისში:
და ეს არის ის, რომ Arduino– ს კოდი მოცემულია ქვემოთ, თუ რაიმე პრობლემა შეგექმნათ, უბრალოდ დატოვეთ კომენტარი და მე შევეცდები დაგეხმაროთ.
ჩემს მიერ გაკეთებული სქემის სურათები არ არის, როგორც ამას წინათ ვაკეთებ და აღარ მაქვს PT100 გადაკეთებისა და გამოცდისთვის, მაგრამ თქვენ უნდა დამიჯეროთ, რომ ის მუშაობს. არაფერია PT100 შესახებ Instructables რომ მე აღმოვაჩინე, ამიტომ მე გავაკეთე ეს ible.
მომდევნო ეტაპზე მე ვისაუბრებ PT100- ის დროულ რეაგირებაზე და თუ თქვენ არ ხართ დაინტერესებული მათემატიკით, როდესაც გაზომავთ ტემპერატურის ცვლილებას, ნება მიეცით PT100 დაისვენოს ერთი წუთის განმავლობაში კითხვის დაწყებამდე.
თუ გაინტერესებთ სხვა პროექტების ნახვა, ეწვიეთ ჩემს
ბლოგი: Roboroblog
YouTube არხი: Roboro
ან გადახედეთ ჩემს სხვა ინსტრუქციებს: აქ
თუ HTML არევა ქვემოთ მოცემულ კოდს, კოდი თან ერთვის
* ეს კოდი ითვლის ტემპერატურას PT100 გამოყენებით
* დაწერილია რობოროს * Github: <a href = "https://github.com/RonanB96/Read-Temp-From-PT100-… <a href =" https://github.com/RonanB96/Read-Temp- From-PT100-… <a href = "https://github.com/RonanB96/Read-Temp-From-PT100-… >>>>>>>>> * Circuit: <a href=" href="https://github.com/RonanB96/Read-Temp-From-PT100-… <a href=" https://github.com/ronanb96/read-temp-from-pt100-…="">>>>>>>>>> * Blog: <a href=" href="https://github.com/RonanB96/Read-Temp-From-PT100-… <a href=" https://github.com/ronanb96/read-temp-from-pt100-…="">>>>>>>>>> * Instrustable Post: <a href=" href="https://github.com/RonanB96/Read-Temp-From-PT100-… <a href=" https://github.com/ronanb96/read-temp-from-pt100-…="">>>>>>>>>> * */ //You'll need to download this timer library from here //https://www.doctormonk.com/search?q=timer #include "Timer.h" // Define Variables float V; float temp; float Rx; // Variables to convert voltage to resistance float C = 79.489; float slope = 14.187; // Variables to convert resistance to temp float R0 = 100.0; float alpha = 0.00385; int Vin = A0; // Vin is Analog Pin A0 Timer t; // Define Timer object
void setup() {
Serial.begin(9600); // Set Baudrate at 9600 pinMode(Vin, INPUT); // Make Vin Input t.every(100, takeReading); // Take Reading Every 100ms } void loop() { t.update(); // Update Timer } void takeReading(){ // Bits to Voltage V = (analogRead(Vin)/1023.0)*5.0; // (bits/2^n-1)*Vmax // Voltage to resistance Rx = V*slope+C; //y=mx+c // Resistance to Temperature temp= (Rx/R0-1.0)/alpha; // from Rx = R0(1+alpha*X) // Uncommect to convet celsius to fehrenheit // temp = temp*1.8+32; Serial.println(temp); }
Step 6: Time Response of PT100
მე აღვნიშნე, რომ PT100– ს აქვს ნელი პასუხი, მაგრამ ჩვენ შეგვიძლია მივიღოთ PT100– ის მიერ წაკითხული მიმდინარე ტემპერატურის ფორმულა ნებისმიერ დროს t. PT100 პასუხი არის პირველი რიგის პასუხი, რომელიც შეიძლება დაიწეროს ლაპლასის პირობებში, ანუ გადაცემის ფუნქცია, როგორც:
სადაც tau (τ) არის დროის მუდმივი, K არის სისტემის მომატება და s არის ლაპლასის ოპერატორი, რომელიც შეიძლება დაიწეროს როგორც jω სადაც ω არის სიხშირე.
დროის მუდმივი გეუბნებათ, რამდენი ხანი სჭირდება პირველი რიგის სისტემას მის ახალ მნიშვნელობას და წესი ან ცერი არის ის, რომ 5*ტაუ არის რამდენი დრო დასჭირდება ახალ სტაბილურ მდგომარეობას. მოგება K გეუბნებათ რამდენად გაძლიერდება შეყვანა. PT100– ით, მოგება არის ის, თუ რამდენად იცვლება წინააღმდეგობა ტემპერატურის ცვლილებით, ამ მონაცემთა ცხრილის ორი შემთხვევითი მნიშვნელობის არჩევიდან მივიღე 0.3856 ohm/C მომატება.
სანამ ვთქვი, თქვენ შეგიძლიათ ჩაწეროთ ძაბვა ყოველ 2 წამში მას შემდეგ, რაც ზონდი ჩაყარეთ სითხეში, ცხელ ან ცივში, აქედან შეგვიძლია გამოვთვალოთ სისტემის დროის მუდმივი. პირველ რიგში თქვენ უნდა დაადგინოთ სად არის საწყისი წერტილი და დასასრული წერტილი, საწყისი წერტილი არის ძაბვა, სანამ ზონდი ჩაუშვით სითხეში და ბოლო წერტილი არის როდესაც ის დასახლდება. შემდეგ გამოაკელით ისინი და ეს არის საფეხურის ძაბვის ცვლილება, თქვენ მიერ ჩატარებული ტესტი იყო საფეხურის ცვლილება, რომელიც არის სისტემის შეყვანის უეცარი ცვლილება, ნაბიჯი არის ტემპერატურა. ახლა თქვენს გრაფიკზე გადადით ძაბვის ცვლილების 63.2% -ზე და ეს დრო დროის მუდმივია.
თუ თქვენ შეაერთებთ ამ მნიშვნელობას გადაცემის ფუნქციაში, თქვენ გექნებათ ფორმულა, რომ აღწეროთ სისტემების სიხშირის რეაქცია, მაგრამ ეს არ არის ის, რაც ჩვენ გვინდა ახლა, ჩვენ გვინდა ფაქტობრივი ტემპერატურა იმ მომენტში, როდესაც ჩვენ ვდგავართ ტემპერატურის საფეხურზე. უნდა შეასრულოს საფეხურის შებრუნებული გარდაქმნა სისტემაში. პირველი რიგის სისტემის გადაცემის ფუნქცია საფეხურით არის შემდეგი:
სადაც Ks არის საფეხურის ზომა ანუ ტემპერატურის სხვაობა. ვთქვათ, ზონდი მოთავსებულია 20 გრადუსზე, მოთავსებულია წყალში 30 გრადუსზე და ზონდს აქვს დროის მუდმივი 8 წ, გადაცემის ფუნქცია და დროის დომენის ფორმულა ასეთია:
ამ შემთხვევაში δ (t) ნიშნავს იმპულსს, ანუ DC ოფსეტური 20 გრადუსი C ამ შემთხვევაში, თქვენ შეგიძლიათ უბრალოდ ჩაწეროთ 20 თქვენს განტოლებებში ამის გაანგარიშებისას. ეს არის სტანდარტული განტოლება ნაბიჯი პირველი რიგის სისტემაში:
ზემოთ გამოთვლილია ტემპერატურა t დროს, მაგრამ ეს იმუშავებს ძაბვაზე, რადგან ისინი ერთმანეთის პროპორციულია, თქვენ უბრალოდ გჭირდებათ საწყისი და დამთავრებული მნიშვნელობა, დროის მუდმივი და ნაბიჯის ზომა. ვებსაიტი სახელწოდებით Symbolab შესანიშნავია იმის შესამოწმებლად, არის თუ არა თქვენი მათემატიკა სწორი, მას შეუძლია ლაპლასის გაკეთება, ინტეგრაცია, დიფერენციაცია და ბევრი სხვა რამ და ეს გაძლევთ ყველა ნაბიჯს გზაზე. შებრუნებული ლაპლასის გარდაქმნა შეგიძლიათ ნახოთ აქ.
გირჩევთ:
ტემპერატურის გაზომვა XinaBox– ისა და თერმისტორის გამოყენებით: 8 ნაბიჯი
ტემპერატურის გაზომვა XinaBox– ისა და თერმისტორის გამოყენებით: გაზომეთ სითხის ტემპერატურა XinaBox– დან ანალოგიური შეყვანის xChip– ის და თერმისტორის ზონდის გამოყენებით
ტემპერატურის გაზომვა AD7416ARZ და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა AD7416ARZ და Raspberry Pi გამოყენებით: AD7416ARZ არის 10 ბიტიანი ტემპერატურის სენსორი, რომელსაც აქვს ოთხი ერთარხიანი ანალოგური ციფრული გადამყვანი და მასში შემავალი ტემპერატურის სენსორი. ნაწილების ტემპერატურის სენსორზე წვდომა შესაძლებელია მულტიპლექსერული არხებით. ეს მაღალი სიზუსტის ტემპერატურა
ტემპერატურის გაზომვა STS21 და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა STS21- ისა და არდუინო ნანოს გამოყენებით: STS21 ციფრული ტემპერატურის სენსორი გთავაზობთ საუკეთესო შესრულებას და სივრცის დაზოგვის ნაკვალევს. ის უზრუნველყოფს დაკალიბრებულ, ხაზოვანი სიგნალებს ციფრულ, I2C ფორმატში. ამ სენსორის დამზადება ემყარება CMOSens ტექნოლოგიას, რომელიც მიაკუთვნებს უპირატესობას
ტემპერატურის გაზომვა ADT75 და არდუინო ნანოს გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა ADT75 და Arduino Nano გამოყენებით: ADT75 არის უაღრესად ზუსტი, ციფრული ტემპერატურის სენსორი. იგი მოიცავს დიაპაზონის ტემპერატურის სენსორს და 12 ბიტიან ციფრულ ციფრულ გადამყვანს ტემპერატურის მონიტორინგისა და ციფრების გასაუმჯობესებლად. მისი უაღრესად მგრძნობიარე სენსორი მას საკმარისად კომპეტენტურს ხდის ჩემთვის
ტემპერატურის გაზომვა PT100 და არდუინოს გამოყენებით: 16 ნაბიჯი
ტემპერატურის გაზომვა PT100 და Arduino– ს გამოყენებით: ამ პროექტის მიზანია ტემპერატურის მგრძნობიარე სისტემის შემუშავება, აგება და გამოცდა. სისტემა შექმნილია 0 -დან 100 ° C ტემპერატურის დიაპაზონის გასაზომად. PT100 გამოიყენებოდა ტემპერატურის გასაზომად და ეს არის წინააღმდეგობის ტემპერატურის დეტექტორი (RTD)