Агуулгын хүснэгт:

Өрөөний термостат - Arduino + Ethernet: 3 алхам
Өрөөний термостат - Arduino + Ethernet: 3 алхам

Видео: Өрөөний термостат - Arduino + Ethernet: 3 алхам

Видео: Өрөөний термостат - Arduino + Ethernet: 3 алхам
Видео: Обрешетка. Полимерная обрешетка под сайдинг - виды и преимущества. Часть 1 2024, Долдугаар сарын
Anonim
Өрөөний термостат - Arduino + Ethernet
Өрөөний термостат - Arduino + Ethernet

Тоног төхөөрөмжийн хувьд төсөл нь дараахь зүйлийг ашигладаг

  • Arduino Uno / Mega 2560
  • Ethernet бамбай Wiznet W5100 / Ethernet модуль Wiznet W5200-W5500
  • OneWire автобус дээрх DS18B20 температур мэдрэгч
  • Бойлерыг солиход ашигладаг SRD-5VDC-SL-C реле

Алхам 1: Ethernet термостатын тодорхойлолт

Ethernet термостатын тодорхойлолт
Ethernet термостатын тодорхойлолт

Arduino бол жишээлбэл, өрөөний термостат бүтээхэд ашиглах боломжтой хялбар платформ бөгөөд үүнийг бид өнөөдөр үзүүлэх болно. Термостатыг байрладаг LAN сүлжээнээс авах боломжтой бөгөөд энэ нь термостатын бүх элементүүдийг тохируулахад ашигладаг вэб интерфэйсээр тоноглогдсон байдаг. Вэб интерфэйс нь вэб серверийн горимд шууд Arduino дээр ажилладаг. Вэб сервер нь мэдээллийн эсвэл бүр ажиллагаатай байж болох хэд хэдэн бие даасан HTML хуудсыг ажиллуулах боломжийг олгодог. Вэб сервер нь 80 - HTTP порт дээр ажилладаг.

Төсөлд ашиглагдаж буй цахилгаан соронзон реле SRD-5VDC-SL-C нь 2300 Вт хүчдэл бүхий 230 В-т 10А хүртэл шилжих боломжийг олгодог. Тогтмол гүйдлийн хэлхээг (ачаалал) солих тохиолдолд 300 Вт (30 В тогтмол гүйдлийн 10А) шилжих боломжтой. Эсвэл OMRON G3MB-202P SSR реле нь зөвхөн индуктив бус ачаалал, зөвхөн хувьсах гүйдлийн хэлхээнд тохиромжтой утас диаграммд бүрэн нийцдэг. Хамгийн их шилжих хүч 460W (230V, 2A). Ethernet бамбай болон бусад дагалдах хэрэгсэлтэй Arduino-ийн хэрэглээ реле нээлттэй байхад 100-120mA түвшинд байна. Хаалттай үед 5V тэжээлд 200мА -аас доош.

Алхам 2: Вэб интерфэйс

Вэб интерфэйс
Вэб интерфэйс

Термостатын вэб интерфейс нь дараахь боломжийг олгодог

  • Бодит цагийн температурыг DS18B20 мэдрэгчээс үзээрэй
  • Хуудсан дээрх динамик гаралтын өөрчлөлт бүхий бодит цагийн буухиа статусыг үзэх
  • Зорилтот (лавлагаа) температурыг 5 -аас 50 ° С -ийн хооронд 0.25 ° C -ийн алхамаар өөрчлөх
  • Гистерезийг 0 -ээс 10 хэм хүртэл 0.25 хэмийн алхамаар өөрчлөх

Вэб интерфэйс нь том, жижиг дэлгэцийг байрлуулах зориулалттай. Энэ нь хариу үйлдэл үзүүлэх чадвартай, өргөн дэлгэцийн өндөр нарийвчлалтай дэлгэцийг дэмждэг боловч хөдөлгөөнт төхөөрөмжийг дэмждэг. Интерфэйс нь Arduino дээр ажиллаж байгаа хуудсыг нээх үед үйлчлүүлэгч талын төхөөрөмжийг ачаалдаг гадаад CDN серверээс Bootstrap тогтолцооны импортын CSS загварыг ашигладаг. Arduino Uno санах ой хязгаарлагдмал тул хэдхэн кБ хэмжээтэй хуудсыг ажиллуулах боломжтой. Гадаад серверээс CSS стилийг импортлосноор Arduino -ийн гүйцэтгэл, санах ойн ачаалал буурах болно. Програм хангамжийн хэрэгжилт (Arduine Uno -ийн хувьд) флаш санах ойн 70% (32kB - 4kB Bootloader) болон RAM санах ойн 44% (2kB) ашигладаг.

Вэб хуудасны статик хэсэг (HTML баримт бичгийн толгой ба хөл, Bootstrap CSS холболт, мета тэмдэг, HTTP хариултын толгой, Агуулгын төрөл, маягт гэх мэт) нь Arduino -ийн флэш санах ойд шууд хадгалагддаг бөгөөд энэ нь хэрэглэгчийн RAM -ийн хэмжээг мэдэгдэхүйц бууруулдаг. -үүсгэсэн контент. Вэб сервер нь илүү тогтвортой бөгөөд сүлжээнд байгаа хэд хэдэн төхөөрөмжийн олон холболтыг нэгэн зэрэг зохицуулж чаддаг.

Цахилгаан тасарсан ч гэсэн тогтоосон утгыг хадгалахын тулд Arduino -ийн EEPROM санах ойд хадгалагддаг. Лавлах температур 10 -аас офсет, гистерезис 100 -аас офсет хүртэл байна. Утга бүр EEPROM санах ойд хамгийн ихдээ 5В эзэлдэг. EEPROM транскрипцийн хязгаар нь 100,000 хуулбарын түвшинд байна. Зөвхөн HTML маягтыг оруулах үед өгөгдлийг дарж бичдэг. Төхөөрөмжийг анх эхлүүлэх үед дээр дурдсан EEPROM офсет дээр хадгалсан зүйл байхгүй тохиолдолд автоматаар бичих ажлыг анхдагч утгаар гүйцэтгэнэ. Лавлагаа: 20.25, гистерезис 0.25 ° C

Refresh мета тэмдэг нь 10 секунд тутамд Arduino хуудсыг бүхэлд нь шинэчилдэг. Энэ үед термостатын өөрчлөлтийг бичих шаардлагатай болно, эс тэгвээс хуудсыг шинэчлэх үед оролтын цонхыг дахин тохируулах болно. Ethernet номын сан нь асинхрон вэб сервер ашиглахыг агуулаагүй тул хуудсыг бүхэлд нь дахин бичих ёстой. Голчлон өөрчлөгдөж буй динамик өгөгдөл нь өнөөгийн гаралтын утга юм - On / Off.

Алхам 3: Вэб сервер дээр ажилладаг HTML хуудсууд, схем, эх код

Вэб сервер дээр ажилладаг HTML хуудас, схем, эх код
Вэб сервер дээр ажилладаг HTML хуудас, схем, эх код

Arduino дээр ажилладаг HTML хуудсууд:

  • / - маягтыг агуулсан үндсэн хуудас, релений одоогийн логик гаралтын жагсаалт, температур
  • /action.html - маягтаас утгыг боловсруулж, EEPROM санах ойд бичиж хэрэглэгчийг эх хуудас руу дахин чиглүүлдэг.
  • / get_data/ - одоогийн температур, лавлагааны температур, гистерезисийн талаархи мэдээллийг JSON форматаар гуравдагч этгээдэд (компьютер, микроконтроллер, бусад үйлчлүүлэгч…) тараана.

Энэхүү термостатын өргөтгөсөн хувилбар байдаг бөгөөд үүнд дараахь зүйлс орно

  • Релений гар горим (хязгааргүй хугацаа, хатуу ON / OFF)
  • Харуулын нохойн цаг хэмжигч
  • Илүү олон мэдрэгчийг ашиглах боломжтой, жишээлбэл: SHT21, SHT31, DHT22, BME280, BMP280 болон бусад.
  • Хөргөх горим
  • Ethernet -ээс хамааралгүй RS232 / UART -ээр дамжуулан хяналт, тохиргоо хийх
  • Термостатын PID температурын хяналт
  • Термостатын хувьд ESP8266, ESP32 платформыг ашиглах боломж

Төслийн хөтөлбөрийн хэрэгжилтийг дараах хаягаар үзэх боломжтой: https://github.com/martinius96/termostat-ethernet/ Хэрэгжилт нь Ethernet бамбайд оноосон статик/динамик IPv4 хаягийн програмуудыг агуулдаг.

Термостат нь зөвхөн доторх температурт зориулагдсан болно! (0 ° C -аас дээш), системийн логикийг дасан зохицсон болно. Одоо байгаа өрөөний термостатыг термостатаар солих боломжтой, хөргөгчинд термостатыг түр хугацаагаар солих, террариум гэх мэт температурыг тогтмол байлгах боломжтой.

Зөвлөмж болгож буй: