Სარჩევი:

ტემპერატურის გაზომვა PT100– დან Arduino– ს გამოყენებით: 6 ნაბიჯი (სურათებით)
ტემპერატურის გაზომვა PT100– დან Arduino– ს გამოყენებით: 6 ნაბიჯი (სურათებით)

ვიდეო: ტემპერატურის გაზომვა PT100– დან Arduino– ს გამოყენებით: 6 ნაბიჯი (სურათებით)

ვიდეო: ტემპერატურის გაზომვა PT100– დან Arduino– ს გამოყენებით: 6 ნაბიჯი (სურათებით)
ვიდეო: How to Interface Industrial Sensors with Arduino Nano 2024, ნოემბერი
Anonim
ტემპერატურის გაზომვა PT100– დან Arduino– ს გამოყენებით
ტემპერატურის გაზომვა PT100– დან Arduino– ს გამოყენებით

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 დროის რეაგირება

მე აღვნიშნე, რომ 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 შესანიშნავია იმის შესამოწმებლად, არის თუ არა თქვენი მათემატიკა სწორი, მას შეუძლია ლაპლასის გაკეთება, ინტეგრაცია, დიფერენციაცია და ბევრი სხვა რამ და ეს გაძლევთ ყველა ნაბიჯს გზაზე. შებრუნებული ლაპლასის გარდაქმნა შეგიძლიათ ნახოთ აქ.

გირჩევთ: