Სარჩევი:

ოთახის თერმოსტატი - Arduino + Ethernet: 3 ნაბიჯი
ოთახის თერმოსტატი - Arduino + Ethernet: 3 ნაბიჯი

ვიდეო: ოთახის თერმოსტატი - Arduino + Ethernet: 3 ნაბიჯი

ვიდეო: ოთახის თერმოსტატი - Arduino + Ethernet: 3 ნაბიჯი
ვიდეო: How to use W1209 Temperature relay controller and program the thermostat 2024, ივლისი
Anonim
ოთახის თერმოსტატი - Arduino + Ethernet
ოთახის თერმოსტატი - Arduino + Ethernet

ტექნიკის თვალსაზრისით, პროექტი იყენებს:

  • Arduino Uno / მეგა 2560
  • Ethernet ფარი Wiznet W5100 / Ethernet მოდული Wiznet W5200-W5500
  • DS18B20 ტემპერატურის სენსორი OneWire ავტობუსზე
  • სარელეო SRD-5VDC-SL-C გამოიყენება ქვაბის გადართვისთვის

ნაბიჯი 1: Ethernet თერმოსტატის აღწერა

Ethernet თერმოსტატის აღწერა
Ethernet თერმოსტატის აღწერა

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

ელექტრომაგნიტური სარელეო SRD-5VDC-SL-C, რომელიც გამოიყენება პროექტში, საშუალებას იძლევა 10A– მდე გადართვა 230V– ზე-სიმძლავრე 2300W. DC ჩართვის (დატვირთვის) გადართვის შემთხვევაში შესაძლებელია 300W (10A 30V DC- ზე) გადართვა. გარდა ამისა, OMRON G3MB-202P SSR სარელეო სრულად არის თავსებადი გაყვანილობის დიაგრამასთან, რომელიც განკუთვნილია მხოლოდ არაინდუქციური დატვირთვისთვის და ექსკლუზიურად AC სქემებისთვის. გადართვის მაქსიმალური სიმძლავრე 460W (230V, 2A). არდუინოს მოხმარება Ethernet ფარით და სხვა პერიფერიული მოწყობილობებით არის 100-120mA დონეზე რელე ღიაა. როდესაც დახურულია, 200mA- ზე ქვემოთ 5V მიწოდებაზე.

ნაბიჯი 2: ვებ ინტერფეისი

ვებ ინტერფეისი
ვებ ინტერფეისი

თერმოსტატის ვებ ინტერფეისი საშუალებას გაძლევთ:

  • იხილეთ რეალურ დროში ტემპერატურა DS18B20 სენსორიდან
  • იხილეთ რეალურ დროში სარელეო სტატუსი გვერდზე დინამიური გამომავალი ცვლილებით
  • შეცვალეთ სამიზნე (მითითება) ტემპერატურა 5 -დან 50 ° C დიაპაზონში 0.25 ° C საფეხურით
  • შეცვალეთ ჰისტერეზი 0 -დან 10 ° C დიაპაზონში 0.25 ° C საფეხურით

ვებ ინტერფეისი შექმნილია უფრო დიდი და პატარა ეკრანებისთვის. ის მგრძნობიარეა, მხარს უჭერს ფართო ეკრანის მაღალი რეზოლუციის ეკრანებს, არამედ მობილურ მოწყობილობებს. ინტერფეისი იყენებს Bootstrap ჩარჩოს იმპორტირებულ CSS სტილებს გარე CDN სერვერიდან, რომელიც იტვირთება კლიენტის მხარის მოწყობილობაზე Arduino– ზე გაშვებული გვერდის გახსნისას. რადგან Arduino Uno არის შეზღუდული მეხსიერებით, მას შეუძლია მხოლოდ რამდენიმე კბაიტის ზომის გვერდების გაშვება. გარე სერვერიდან CSS სტილის იმპორტირებით, ის შეამცირებს Arduino– ს მუშაობას და მეხსიერებას. პროგრამული უზრუნველყოფის დანერგვა (Arduine Uno– სთვის) იყენებს ფლეშ მეხსიერების 70% -ს (32kB - 4kB Bootloader) და 44% ოპერატიული მეხსიერების (2kB).

ვებ გვერდის სტატიკური ნაწილები (HTML დოკუმენტის სათაური და ქვედა კოლონტიტული, Bootstrap CSS კავშირი, მეტა ტეგები, HTTP პასუხის სათაური, შინაარსის ტიპი, ფორმა და სხვა) ინახება უშუალოდ Arduino– ს ფლეშ მეხსიერებაში, რამაც შეიძლება მნიშვნელოვნად შეამციროს მომხმარებლისთვის გამოყენებული RAM -გენერირებული შინაარსი. ამრიგად, ვებ სერვერი უფრო სტაბილურია და შეუძლია გაუმკლავდეს ქსელში რამდენიმე მოწყობილობის ერთდროულად დაკავშირებას.

დენის წყვეტის შემდეგაც კი დადგენილი მნიშვნელობების შესანარჩუნებლად, ისინი ინახება არდუინოს EEPROM მეხსიერებაში. საცნობარო ტემპერატურა ოფსეტში 10, ჰისტერეზი ოფსეტურიდან 100. თითოეული მნიშვნელობა EEPROM მეხსიერებაში იკავებს მაქსიმუმ 5B- ს. EEPROM ტრანსკრიფციის ლიმიტი არის 100,000 ჩანაწერის დონეზე. მონაცემები გადაწერილია მხოლოდ მაშინ, როდესაც წარმოდგენილია HTML ფორმა. იმ შემთხვევაში, თუ მოწყობილობას არაფერი აქვს შენახული ხსენებულ EEPROM გადატვირთვისას პირველი გაშვებისას, ავტომატური წერა შესრულდება ნაგულისხმევი მნიშვნელობებით - მითითება: 20.25, ჰისტერეზი 0.25 ° C

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

ნაბიჯი 3: ვებ გვერდების სერვერზე გაშვებული HTML გვერდები, სქემები, წყაროს კოდი

ვებ გვერდის სერვერზე გაშვებული HTML გვერდები, სქემები, წყაროს კოდი
ვებ გვერდის სერვერზე გაშვებული HTML გვერდები, სქემები, წყაროს კოდი

არდუინოზე გაშვებული HTML გვერდები:

  • / - root გვერდი, რომელიც შეიცავს ფორმას, რელეს მიმდინარე ლოგიკური გამომავალი ჩამონათვალი, ტემპერატურა
  • /action.html - ამუშავებს მნიშვნელობებს ფორმიდან, წერს მათ EEPROM მეხსიერებაში, გადამისამართებს მომხმარებელს ძირითად გვერდზე
  • / get_data/ - ავრცელებს მონაცემებს მიმდინარე ტემპერატურის, საცნობარო ტემპერატურისა და ჰისტერეზის შესახებ მესამე მხარეს (კომპიუტერი, მიკროკონტროლი, სხვა კლიენტი…) JSON ფორმატში

ასევე არსებობს ამ თერმოსტატის გაფართოებული ვერსია, რომელიც მოიცავს:

  • რელეების მექანიკური რეჟიმი (შეუზღუდავი დრო, მძიმე ჩართვა / გამორთვა)
  • Watchdog ტაიმერი
  • ხელმისაწვდომია მეტი სენსორი, მაგალითად: SHT21, SHT31, DHT22, BME280, BMP280 და სხვა
  • გაგრილების რეჟიმი
  • კონტროლი და კონფიგურაცია RS232 / UART– ით Ethernet– ისგან დამოუკიდებლად
  • PID ტემპერატურის კონტროლი თერმოსტატისთვის
  • თერმოსტატისთვის ESP8266, ESP32 პლატფორმების გამოყენების შესაძლებლობა

პროექტის პროგრამის განხორციელება შეგიძლიათ იხილოთ აქ: https://github.com/martinius96/termostat-ethernet/ განხორციელება შეიცავს პროგრამებს Ethernet ფარისთვის მინიჭებული სტატიკური/დინამიური IPv4 მისამართისთვის.

თერმოსტატი განკუთვნილია მხოლოდ შიდა ტემპერატურისთვის! (0 ° C- ზე ზემოთ), რომელსაც ადაპტირებული აქვს სისტემის ლოგიკა. შესაძლებელია არსებული ოთახის თერმოსტატის ჩანაცვლება თერმოსტატით, შესაძლებელია თერმოსტატის დროებით შეცვლა მაცივარში, მუდმივი ტემპერატურის შენარჩუნება ტერარიუმში და მსგავსი.

გირჩევთ: