Სარჩევი:

ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით .: 7 ნაბიჯი (სურათებით)
ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით .: 7 ნაბიჯი (სურათებით)

ვიდეო: ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით .: 7 ნაბიჯი (სურათებით)

ვიდეო: ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით .: 7 ნაბიჯი (სურათებით)
ვიდეო: DIY Temperature and Humidity Monitoring | Temperature sensor | Humidity sensor | ESP8266 2024, ნოემბერი
Anonim
Image
Image
ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით
ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart კორექციით და ტემპერატურის სიგნალიზაციით

ჯერ კიდევ "მომავალი პროექტის" დასასრულებლად მოგზაურობისას, "ESP32 NTP ტემპერატურის ზონდის მომზადების თერმომეტრი Steinhart-Hart- ის კორექციით და ტემპერატურის სიგნალიზაციით" არის ინსტრუქცია, რომელიც გვიჩვენებს, თუ როგორ დავამატო NTP ტემპერატურის ზონდი, პიეზო ზუმერი და პროგრამული უზრუნველყოფა ჩემს ტევადობის შეხებაზე Instructable " ESP32 ტევადობის შეხება შეყვანის გამოყენებით "მეტალის ხვრელის სანთლები" ღილაკებისთვის "მარტივი, მაგრამ ზუსტი სამზარეულოს თერმომეტრის შესაქმნელად პროგრამირებადი ტემპერატურის სიგნალიზაციით.

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

და როგორც აღვნიშნეთ, NTP ტემპერატურის ზონდი გამოიყენება დიზაინში სტეინჰარტ-ჰარტის განტოლებებთან და კოეფიციენტებთან ერთად, რომლებიც აუცილებელია ტემპერატურის ზუსტი კითხვისთვის. მე შევიტანე სტეინჰარტ-ჰარტის განტოლების, სტაინჰარტ-ჰარტის კოეფიციენტების, ძაბვის გამყოფების და ალგებრის მეტისმეტად აღწერილი აღწერა (როგორც ბონუსი, მე მაძინებს ყოველ ჯერზე, როდესაც ვკითხულობ, ასე რომ თქვენ შეიძლება მოისურვოთ გამოტოვეთ ნაბიჯი 1 და გადადით პირდაპირ ნაბიჯი 2 -ზე: ელექტრონიკის აწყობა, თუ რა თქმა უნდა არ გჭირდებათ ძილი).

თუ გადაწყვეტთ ამ სამზარეულოს თერმომეტრის აშენებას, დაკონფიგურირებისთვის და 3D ბეჭდვისთვის მე ჩავრთე შემდეგი ფაილები:

  • Arduino ფაილი "AnalogInput.ino" შეიცავს პროგრამულ უზრუნველყოფას დიზაინისთვის.
  • Autodesk Fusion 360 cad ფაილი საქმისთვის, რომელიც გვიჩვენებს, თუ როგორ შეიქმნა საქმე.
  • Cura 3.4.0 STL ფაილები "Case, Top.stl" და "Case, Bottom.stl" მზად არის 3D ბეჭდვისთვის.

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

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

ელექტრონიკა შექმნილია ფანქრის, ქაღალდისა და რადიოსადგურის EC-2006a (კატა. No65-962a) მზის ენერგიის გამომთვლელით.

პროგრამული უზრუნველყოფა შეიქმნა Arduino 1.8.5 გამოყენებით.

კორპუსი შექმნილია Autodesk Fusion 360 -ის გამოყენებით, დაჭრილი Cura 3.4.0 გამოყენებით და დაბეჭდილია PLA- ში Ultimaker 2+ Extended და Ultimaker 3 Extended.

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

ნაბიჯი 1: მათემატიკა, მათემატიკა და სხვა მათემატიკა: სტაინჰარტ – ჰარტი, კოეფიციენტები და რეზისტენტული გამყოფი

მათემატიკა, მათემატიკა და სხვა მათემატიკა: სტაინჰარტ – ჰარტი, კოეფიციენტები და რეზისტენტული გამყოფი
მათემატიკა, მათემატიკა და სხვა მათემატიკა: სტაინჰარტ – ჰარტი, კოეფიციენტები და რეზისტენტული გამყოფი

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

პირველად გამოქვეყნდა 1968 წელს ჯონ ს. შტაინჰარტისა და სტენლი რ. ჰარტის მიერ, შტაინჰარტ-ჰარტის განტოლება განსაზღვრავს NTC ტემპერატურის ზონდის ტემპერატურულ ურთიერთობას წინააღმდეგობას შემდეგნაირად:

1 / T = A + (B * (ჟურნალი (თერმისტორი)))) + (C * ჟურნალი (თერმისტორი) * ჟურნალი (თერმისტორი) * ჟურნალი (თერმისტორი))

სად:

  • T არის კელვინის გრადუსი.
  • A, B, C არის სტაინჰარტ-ჰარტის კოეფიციენტები (დაწვრილებით ამის შესახებ მომენტში).
  • და თერმისტორი არის ტემპერატურის ზონდის თერმისტორის წინააღმდეგობის მნიშვნელობა მიმდინარე ტემპერატურაზე.

მაშ რატომ არის ეს ერთი შეხედვით რთული შტაინჰარტ-ჰარტის განტოლება აუცილებელი მარტივი NTC ტემპერატურის ზონდის ციფრული თერმომეტრისთვის? "იდეალური" NTC ტემპერატურის ზონდი უზრუნველყოფს ფაქტობრივი ტემპერატურის ხაზოვანი წინააღმდეგობის წარმოდგენას, ამრიგად მარტივი ხაზოვანი განტოლება, რომელიც მოიცავს ძაბვის შეყვანას და მასშტაბს გამოიწვევს ტემპერატურის ზუსტ წარმოდგენას. თუმცა, NTC ტემპერატურის ზონდები არ არის წრფივი და პრაქტიკულად ყველა დაბალფასიანი ერთჯერადი დაფის პროცესორების არაწრფივი ანალოგური შეყვანისას, როგორიცაა WiFi Kit 32, აწარმოებს არაწრფივი ანალოგურ შეყვანას და, შესაბამისად, ტემპერატურის არაზუსტ მაჩვენებლებს. ისეთი განტოლების გამოყენებით, როგორიცაა სტეინჰარტ-ჰარტი, ფრთხილად დაკალიბრებასთან ერთად, მაღალი სიზუსტის ტემპერატურის მაჩვენებლების NTC ტემპერატურის ზონდების გამოყენებით დაბალი დაფის ერთჯერადი პროცესორი მიიღწევა ფაქტობრივი ტემპერატურის ძალიან ახლო მიახლოებით.

ასე რომ, დავუბრუნდეთ შტაინჰარტ-ჰარტის განტოლებას. განტოლება იყენებს სამ კოეფიციენტს A, B და C ტემპერატურის დასადგენად როგორც თერმისტორის წინააღმდეგობის ფუნქცია. საიდან მოდის ეს სამი კოეფიციენტი? ზოგიერთი მწარმოებელი ამ კოეფიციენტებს აწვდის NTC ტემპერატურის ზონდებს, ზოგი კი არა. გარდა ამისა, მწარმოებლის მიერ მოწოდებული კოეფიციენტები შეიძლება იყოს ან არ იყოს ზუსტი ტემპერატურის ზონდისთვის, რომელიც თქვენ შეგიძლიათ შეიძინოთ, და, სავარაუდოდ, კოეფიციენტები წარმოადგენენ დიდი ტემპერატურის ზონდის დიდ ნიმუშს, რომელსაც ისინი აწარმოებენ გარკვეული პერიოდის განმავლობაში. დაბოლოს, მე უბრალოდ ვერ ვიპოვე ამ დიზაინში გამოყენებული ზონდის კოეფიციენტები.

საჭირო კოეფიციენტების გარეშე, მე შევქმენი Steinhart-Hart Spreadsheet, ცხრილებზე დაფუძნებული კალკულატორი, რომელიც ეხმარება NTC ტემპერატურის ზონდის საჭირო კოეფიციენტების გენერირებაში (მე დავკარგე ბმული მსგავსი ვებ – კალკულატორთან, რომელიც მე ვიყენებდი მრავალი წლის წინ, ასე რომ მე შევქმენი ეს). ტემპერატურის ზონდის კოეფიციენტების დასადგენად, ვიწყებ ციფრული ოჰმემეტრით ძაბვის გამყოფში გამოყენებული 33k რეზისტორის მნიშვნელობის გაზომვით და ვდებ მნიშვნელობას ცხრილის ყვითელ არეში, სახელწოდებით "რეზისტორი". შემდეგი, ტემპერატურის ზონდს ვათავსებ სამ გარემოში; პირველი ოთახის ტემპერატურა, მეორე ყინულის წყალი და მესამე მდუღარე წყალი, ცნობილ ზუსტ ციფრულ თერმომეტრთან ერთად, და დაუშვებს დრო თერმომეტრზე ტემპერატურის და თერმისტორის შეყვანის რიცხვის გამოჩენას WiFi Kit 32 ეკრანზე (უფრო მოგვიანებით) სტაბილიზაციისათვის. ტემპერატურისა და თერმისტორის შეყვანის სტაბილიზაციით, მე ვიღებ იმ ტემპერატურას, რომელიც მითითებულია ცნობილი ზუსტი თერმომეტრით და თერმისტორის რიცხვი, რომელიც გამოჩნდება WiFi Kit 32 -ის ეკრანზე, ცხრილის ყვითელ არეში, სახელწოდებით "გრადუსი F თერმომეტრიდან" და "ახ.წ." დაითვალეთ WiFi ნაკრებიდან 32”შესაბამისად, სამივე გარემოსთვის. ყველა გაზომვის შეყვანისთანავე, ცხრილის მწვანე ფართობი უზრუნველყოფს A, B და C კოეფიციენტებს, რომლებიც საჭიროა სტაინჰარტ-ჰარტის განტოლებით, რომლებიც შემდეგ უბრალოდ გადაწერილია და ჩასმულია წყაროს კოდში.

როგორც უკვე აღვნიშნეთ, შტაინჰარტ-ჰარტის განტოლების გამომუშავება არის კელვინის გრადუსი და ეს დიზაინი აჩვენებს ფარენჰეიტის ხარისხს. კონვერტაცია კელვინის გრადუსიდან ფარენჰეიტის გრადუსამდე არის შემდეგი:

პირველი, გადააკეთეთ კელვინის გრადუსი ცელსიუს გრადუსზე, გამოაკლებით 273.15 (გრადუსი კელვინი) სტაინჰარტ-ჰარტის განტოლებიდან:

ხარისხი C = (A + (B * (ჟურნალი (თერმისტორი)))) + (C * ჟურნალი (თერმისტორი) * ჟურნალი (თერმისტორი) * ჟურნალი (თერმისტორი))) - 273.15

და მეორე, გადააკეთეთ ცელსიუსის გრადუსი ფარენჰეიტის გრადუსზე შემდეგნაირად:

გრადუსი F = ((ხარისხი C * 9) / 5) + 32

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

vRef <--- თერმისტორი <--- vOut <--- რეზისტორი <--- გრუნტი

სად:

  • vRef ამ დიზაინში არის 3.3vdc.
  • თერმისტორი არის NTC ტემპერატურის ზონდი, რომელიც გამოიყენება რეზისტორის გამყოფში.
  • vOut არის რეზისტორის გამყოფის ძაბვის გამომუშავება.
  • რეზისტორი არის 33k რეზისტორი, რომელიც გამოიყენება რეზისტორის გამყოფში.
  • და მიწა, კარგად, მიწაა.

v ამ დიზაინის რეზისტორის გამყოფიდან არის მიმაგრებული WiFi Kit 32 ანალოგური შეყვანა A0 (პინი 36), ხოლო რეზისტორის გამყოფის ძაბვის გამომუშავება გამოითვლება შემდეგნაირად:

vOut = vRef * რეზისტორი / (რეზისტორი + თერმისტორი)

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

გავამრავლოთ ორივე მხარე "(რეზისტორი + თერმისტორი)", რის შედეგადაც:

vOut * (რეზისტორი + თერმისტორი) = vRef * რეზისტორი

გაყავით ორივე მხარე "vOut" - ით, რის შედეგადაც:

რეზისტორი + თერმისტორი = (vRef * რეზისტორი) / vOut

გამოაკელით "რეზისტორი" ორივე მხრიდან, რის შედეგადაც:

თერმისტორი = (vRef * რეზისტორი / vOut) - რეზისტორი

დაბოლოს, გამანაწილებელი ქონების გამოყენებით გაამარტივეთ:

თერმისტორი = რეზისტორი * ((vRef / vOut) - 1)

შეცვლის WiFi Kit 32 A0 ანალოგური შეყვანის რიცხვი 0-დან 4095-მდე vOut, და შეცვლის მნიშვნელობას 4096 vRef– ით, რეზისტორის გამყოფი განტოლება, რომელიც უზრუნველყოფს თერმისტორული წინააღმდეგობის მნიშვნელობას, რომელიც სტეინჰარტ-ჰარტის განტოლებაში ხდება:

თერმისტორი = რეზისტორი * ((4096 / ანალოგური შეყვანის რაოდენობა) - 1)

ასე რომ მათემატიკის უკან, მოდით შევიკრიბოთ რამდენიმე ელექტრონიკა.

ნაბიჯი 2: ელექტრონიკის აწყობა

ელექტრონიკის აწყობა
ელექტრონიკის აწყობა
ელექტრონიკის აწყობა
ელექტრონიკის აწყობა
ელექტრონიკის აწყობა
ელექტრონიკის აწყობა

ელექტრონიკისთვის, მე ადრე შევიკრიბე ESP32 Capacitive Touch დემონსტრატორი https://www.instructables.com/id/ESP32-Capacitive… ამ შეკრებისას საჭიროა შემდეგი დამატებითი კომპონენტები:

  • ხუთი, 4”ინჩი 28awg მავთულის (ერთი წითელი, ერთი შავი, ერთი ყვითელი და ორი მწვანე).
  • ერთი, მავერიკის "ET-72 ტემპერატურის ზონდი" ზონდი (https://www.maverickthermometers.com/product/pr-003/).
  • ერთი, 2.5 მმ "ტელეფონის" კონექტორი, პანელის მთა (https://www.mouser.com/ProductDetail/502-TR-2A).
  • ერთი, 33k ohm 1% 1/8 ვატიანი რეზისტორი.
  • ერთი, პიეზო ზუზუნი https://www.adafruit.com/product/160. თუ აირჩევთ სხვა პიეზოს ზუმერს, დარწმუნდით, რომ ის ემთხვევა ამ მახასიათებლის მახასიათებლებს (კვადრატული ტალღით ამოძრავებული, <= ESP32– ის მიმდინარე გამომავალი).

დამატებითი კომპონენტების შესაქმნელად, მე შევასრულე შემდეგი ნაბიჯები:

  • გაშიშვლებული და მოჭედილი თითოეული 4 "მავთულის სიგრძის ბოლოები, როგორც ნაჩვენებია.
  • შეკრული ყვითელი მავთულის ერთი ბოლო და 33k ohm რეზისტორის ერთი ბოლო ტელეფონის კონექტორის "რჩევა" პინზე.
  • შავი მავთულის ერთი ბოლო 33 კილოგრამიანი რეზისტორის თავისუფალ ბოლოზე შევაერთეთ და ზედმეტი რეზისტორის მავთული მოვაწყვეთ.
  • გამოყენებული სითბოს შემცირების მილები მავთულხლართებსა და რეზისტორზე.
  • ტელეფონის მავთულის ერთი ბოლო დადებულია ტელეფონის კონექტორის "ყდის" პინზე.
  • დადებულია ყვითელი მავთულის უფასო ბოლო 36 პინზე WiFi Kit 32 -ზე.
  • შავი მავთულის უფასო დასასრული დადებულია GND პინზე WiFi Kit 32 -ზე.
  • წითელი მავთულის უფასო დასასრული 3V3 პინზე WiFi Kit 32 -ზე.
  • ერთი მწვანე მავთული შეკრული პიეზო ზუზერის ერთ ტყვიზე.
  • დარჩენილი მწვანე მავთული მიაწებეს პიეზო ზუზერის დარჩენილ ტყვიას
  • ერთი მწვანე პიეზო მავთულის უფასო დასასრული დადგით WiFi 32 -ზე 32 -ზე.
  • დარჩენილი მწვანე პიეზო მავთულის უფასო დასასრული მიერთებულია GND პინზე WiFi Kit 32 -ზე.
  • შეაერთეთ ტემპერატურის ზონდი ტელეფონის კონექტორში.

ყველა გაყვანილობის დასრულების შემდეგ, მე ორჯერ შევამოწმე ჩემი სამუშაო.

ნაბიჯი 3: პროგრამული უზრუნველყოფის ინსტალაცია

პროგრამული უზრუნველყოფის ინსტალაცია
პროგრამული უზრუნველყოფის ინსტალაცია

ფაილი "AnalogInput.ino" არის Arduino გარე ფაილი, რომელიც შეიცავს დიზაინის პროგრამულ უზრუნველყოფას. ამ ფაილის გარდა, თქვენ დაგჭირდებათ გრაფიკული ბიბლიოთეკა "U8g2lib" WiFi Kit32 OLED ეკრანისთვის (იხილეთ https://github.com/olikraus/u8g2/wiki ამ ბიბლიოთეკის შესახებ დამატებითი ინფორმაციისათვის).

თქვენს Arduino დირექტორიაში დაინსტალირებული U8g2lib გრაფიკული ბიბლიოთეკით და Arduino გარემოში ჩატვირთული "AnalogInput.ino" - ით, შეადგინეთ და ჩამოტვირთეთ პროგრამული უზრუნველყოფა WiFi Kit 32 -ში. გადმოტვირთვისა და გაშვების შემდეგ, WiFi ნაკრზე OLED ეკრანის ზედა ხაზი 32 -ში უნდა იყოს წაკითხული "ტემპერატურა" მიმდინარე ტემპერატურის ჩვენებით დიდი ტექსტით ეკრანის ცენტრში.

შეეხეთ ცენტრალურ ღილაკს (T5), რომ ნახოთ "მაღვიძარას ტემპერატურის დაყენება" ჩვენება. შეცვალეთ განგაშის ტემპერატურა დაჭერით ან მარცხენა ღილაკზე (T4) ან მარჯვენა ღილაკზე (T6), როგორც ეს აღწერილია შესავალში. სიგნალიზაციის შესამოწმებლად, შეცვალეთ სიგნალიზაციის ტემპერატურა ტოლი ან დაბალი ვიდრე მიმდინარე ტემპერატურა და მაღვიძარა უნდა გაისმოდეს. როდესაც განგაშის ტემპერატურის დაყენება დასრულდება, შეეხეთ ცენტრალურ ღილაკს ტემპერატურის ჩვენებაზე დასაბრუნებლად.

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

ნაბიჯი 4: NTP ტემპერატურის ზონდის დაკალიბრება

NTP ტემპერატურის ზონდის დაკალიბრება
NTP ტემპერატურის ზონდის დაკალიბრება

ტემპერატურის გაზომვის დასადგენად საჭიროა შემდეგი ელემენტები:

  • ერთი ციფრული ოჰმეტრი.
  • ერთი ცნობილი ზუსტი ციფრული თერმომეტრი, რომელსაც შეუძლია 0 -დან 250 გრადუსამდე F გრადუსამდე.
  • ერთი ჭიქა ყინულის წყალი.
  • ერთი ქვაბი მდუღარე წყალი (იყავით ძალიან, ძალიან ფრთხილად!).

დაიწყეთ ფაქტობრივი 33k რეზისტორის მნიშვნელობის მიღებით:

  • ამოიღეთ დენი WiFi Kit 32 დაფიდან.
  • ამოიღეთ ტემპერატურის ზონდი ტელეფონის კონექტორიდან (შეიძლება ასევე დაგჭირდეთ შავი მავთულის გათიშვა WiFi ნაკრებიდან 32-დან, თქვენი ციფრული ომმეტრიდან გამომდინარე).
  • გახსენით Steinhart-Hart ცხრილები.
  • გაზომეთ 33k ohm რეზისტორის მნიშვნელობა ციფრული ომეტრის გამოყენებით და ჩაწერეთ იგი ცხრილში ყვითელ "რეზისტორის" ყუთში და პროგრამულ უზრუნველყოფაში ცვლადი "dResistor". მიუხედავად იმისა, რომ ეს შეიძლება ზედმეტად მოგეჩვენოთ, 33k ohm 1% რეზისტენტულმა შეიძლება მართლაც იმოქმედოს ტემპერატურის ჩვენების სიზუსტეზე.
  • შეაერთეთ ტემპერატურის ზონდი ტელეფონის კონექტორში.

შემდეგ მიიღეთ სტაინჰარტ-ჰარტის კოეფიციენტები:

  • ჩართეთ ცნობილი ზუსტი ციფრული თერმომეტრი.
  • შეაერთეთ USB კვების წყარო WiFi ნაკრებში 32.
  • ერთდროულად დააჭირეთ და გამართეთ მარცხენა (T4) და მარჯვენა (T6) ღილაკები, სანამ არ გამოჩნდება ეკრანი "Thermistor Counts".
  • მიეცით საშუალება ციფრული თერმომეტრის და თერმისტორის რიცხვის ჩვენებების სტაბილიზაცია.
  • შეიყვანეთ ტემპერატურისა და თერმისტორის რიცხვები ყვითელ სვეტებში "გრადუსი F თერმომეტრიდან" და "AD ითვლის ESP32- დან" "ოთახის" სვეტში.
  • ჩადეთ ციფრული თერმომეტრი და თერმისტორი ზონდები ყინულის წყალში და დაუშვით ორივე ეკრანის სტაბილიზაცია.
  • შეიყვანეთ ტემპერატურა და თერმისტორის რაოდენობა ყვითელ სვეტებში "გრადუსი F თერმომეტრიდან" და "AD ითვლის ESP32- დან" "ცივი წყლის" რიგზე.
  • ჩადეთ ციფრული თერმომეტრი და თერმისტორი ზონდები მდუღარე წყალში და დაუშვით ორივე ეკრანის სტაბილიზაცია.
  • შეიყვანეთ ტემპერატურა და თერმისტორის რაოდენობა ყვითელ სვეტებში "გრადუსი F თერმომეტრიდან" და "AD ითვლის ESP32- დან" "მდუღარე წყლის" რიგზე.
  • დააკოპირეთ მწვანე "A:" კოეფიციენტი ცვლადში "dProbeA" წყაროს კოდში.
  • დააკოპირეთ მწვანე "B:" კოეფიციენტი ცვლადში "dProbeB" წყაროს კოდში.
  • დააკოპირეთ მწვანე "C:" კოეფიციენტი ცვლადში "dProbeC" წყაროს კოდში.

შეადგინეთ და გადმოწერეთ პროგრამა WiFi Kit 32 -ში.

ნაბიჯი 5: საქმის 3D ბეჭდვა და საბოლოო შეკრება

3D ბეჭდვა საქმე და საბოლოო ასამბლეა
3D ბეჭდვა საქმე და საბოლოო ასამბლეა
3D ბეჭდვა საქმე და საბოლოო ასამბლეა
3D ბეჭდვა საქმე და საბოლოო ასამბლეა
3D ბეჭდვა საქმე და საბოლოო ასამბლეა
3D ბეჭდვა საქმე და საბოლოო ასამბლეა

მე დავბეჭდე ორივე "Case, Top.stl" და "Case, Bottom.stl".1 მმ ფენის სიმაღლეზე, 50% შევსება, საყრდენების გარეშე.

კორპუსით დაბეჭდილი, მე ავაწყე ელექტრონიკა და საქმე შემდეგნაირად:

  • მე გავთიშე მავთულები სამი ხვრელის საცობიდან, დავაჭირე ხვრელის საცობები "Case, Top.stl"-ში, შემდეგ ხელახლა შევაერთე მავთულები ხვრელის სანთლებზე, ყურადღებით შევნიშნე მარცხენა (T4), ცენტრი (T5) და მარჯვენა (T6) მავთულები და შესაბამისი ღილაკები.
  • უზრუნველყოფილია ტელეფონის კონექტორი მრგვალ ხვრელში "Case, Bottom.stl" ჩართული თხილის გამოყენებით.
  • მოათავსეთ პიეზო ზუზუნი კეისის ქვედა ნაწილში ტელეფონის კონექტორის გვერდით და დაიჭირეთ ორმაგი ცალმხრივი ლენტით.
  • გადაიტანეთ WiFi ნაკრები 32 კეისის ქვედა ნაწილში, დარწმუნდით, რომ USB პორტი WiFi Kit 32 -ზე შეესაბამება ოვალური ხვრელს საქმის ქვედა ნაწილში (არ დააჭიროთ OLED ეკრანს, რომ დააინსტალიროთ WiFi ნაკრები 32 კეისის ბოლოში შეკრება, დამიჯერე ამ ერთზე, უბრალოდ ნუ გააკეთებ ამას!).
  • დააწკაპუნეთ ქეისის ზედა ნაწილზე საქმის ქვედა შეკრებაზე და დაიმაგრეთ კუთხეებში სქელი ციანოკრილატის წებოს მცირე წერტილების გამოყენებით.

ნაბიჯი 6: პროგრამული უზრუნველყოფის შესახებ

პროგრამული უზრუნველყოფის შესახებ
პროგრამული უზრუნველყოფის შესახებ

ფაილი "AnalogInput.ino" არის მოდიფიკაცია "Buttons.ino" ჩემი წინა ინსტრუქციიდან "https://www.instructables.com/id/ESP32-Capacitive-Touch-Buttons/". მე შევცვალე ორიგინალური სამი კოდის სექცია "setup ()", "loop ()" და "InterruptService ()", რათა გამოვიყენო ზონდისა და სიგნალიზაციის პროგრამული უზრუნველყოფა და დავამატე დამატებით სამი კოდის სექცია "ანალოგი ()", "ღილაკები ()" და "ჩვენება ()" "მარყუჟის ()" გასასუფთავებლად და ზონდისა და განგაშისათვის საჭირო პროგრამული უზრუნველყოფის დასამატებლად.

"ანალოგი ()" შეიცავს კოდს, რომელიც საჭიროა თერმისტორის რაოდენობის მასივად წასაკითხად, რიცხვის მასივის საშუალო მაჩვენებლებისთვის, გამოიყენეთ ძაბვის გამყოფი თერმისტორის მნიშვნელობის შესაქმნელად და საბოლოოდ გამოიყენეთ შტაინჰარტ-ჰარტის განტოლებები და ტემპერატურის გარდაქმნის განტოლებები ფარენჰეიტის გრადუსების შესაქმნელად.

"ღილაკები ()" შეიცავს კოდს, რომელიც აუცილებელია ღილაკების დაჭერის დასამუშავებლად და განგაშის ტემპერატურის რედაქტირებისთვის.

"ჩვენება ()" შეიცავს კოდს, რომელიც აუცილებელია ინფორმაციის წარსადგენად OLED ეკრანზე.

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

ვიმედოვნებ, რომ ისიამოვნეთ (და ჯერ კიდევ გაღვიძებული ხართ)!

ნაბიჯი 7: "მომავალი პროექტი"

ის
ის

მომავალი პროექტი, "Intelligrill® Pro", არის ორმაგი ტემპერატურის ზონდის მწეველის მონიტორი, რომელშიც არის:

  • სტაინჰარტ-ჰარტის ტემპერატურის ზონდის გამოთვლები (განსხვავებით "საძიებელი" ცხრილებისგან) გაზრდილი სიზუსტისთვის, როგორც ეს მოცემულია ამ ინსტრუქციაში.
  • გამოძიების 1 დასრულების პროგნოზირებადი დრო, რომელიც მოიცავს სტეინჰარტ-ჰარტის გამოთვლებით მიღებულ სიზუსტეს.
  • მეორე ზონდი, ზონდი 2, მწეველის ტემპერატურის მონიტორინგისთვის (შემოიფარგლება 32 -დან 399 გრადუსამდე).
  • შეხებით შეყვანის კონტროლის მოცულობა (როგორც წინა ინსტრუქციებში).
  • WIFI დაფუძნებული დისტანციური მონიტორინგი (ფიქსირებული IP მისამართით, საშუალებას გაძლევთ მონიტორინგი გაუწიოთ მწეველთა პროგრესს ნებისმიერი ადგილიდან, სადაც არის ინტერნეტ კავშირი).
  • გაფართოებული ტემპერატურის დიაპაზონი (32 -დან 399 გრადუსამდე).
  • დასრულების ხმოვანი სიგნალიზაცია ხდება როგორც Intelligrill® გადამცემში, ასევე WiFi- ს მონიტორინგის მოწყობილობების უმეტესობაზე.
  • ტემპერატურის ჩვენება ან F გრადუსით ან C გრადუსით.
  • დროის ფორმატი HH: MM: SS ან HH: MM. ბატარეის ჩვენება ან ვოლტი ან % დამუხტული.
  • და PID გამომავალი აუგზე დაფუძნებული მწეველებისთვის.

"Intelligrill® Pro" ჯერ კიდევ ცდილობს გახდეს ყველაზე ზუსტი, გამორჩეული და საიმედო HTML დაფუძნებული Intelligrill®, რომელიც მე შევიმუშავე. ის ჯერ კიდევ გამოცდის ქვეშაა, მაგრამ იმ კერძებით, რომლებიც ტესტირების დროს ემზადება, რამდენიმე კილოგრამზე მეტი მოვიმატე.

კიდევ ერთხელ, ვიმედოვნებ, რომ ისიამოვნებთ!

გირჩევთ: