Բովանդակություն:

Սենյակի թերմոստատ - Arduino + Ethernet ՝ 3 քայլ
Սենյակի թերմոստատ - Arduino + Ethernet ՝ 3 քայլ

Video: Սենյակի թերմոստատ - Arduino + Ethernet ՝ 3 քայլ

Video: Սենյակի թերմոստատ - Arduino + Ethernet ՝ 3 քայլ
Video: Термостат на Arduino, до 5 датчиков DS18B20 2024, Հուլիսի
Anonim
Սենյակի թերմոստատ - Arduino + Ethernet
Սենյակի թերմոստատ - Arduino + Ethernet

Սարքավորման առումով նախագիծը օգտագործում է

  • Arduino Uno / Mega 2560
  • Ethernet վահան Wiznet W5100 / Ethernet մոդուլ Wiznet W5200-W5500
  • DS18B20 ջերմաստիճանի տվիչ OneWire ավտոբուսում
  • Ռելե SRD-5VDC-SL-C, որն օգտագործվում է կաթսայի անջատման համար

Քայլ 1. Ethernet ջերմաչափի նկարագրություն

Ethernet ջերմաչափի նկարագրությունը
Ethernet ջերմաչափի նկարագրությունը

Arduino- ն իրենից ներկայացնում է հարմար հարթակ, որը կարող է օգտագործվել, օրինակ, սենյակային թերմոստատ կառուցելու համար, որը մենք ցույց կտանք այսօր: Թերմոստատը հասանելի է LAN ցանցից, որտեղ այն գտնվում է, մինչդեռ այն հագեցած է վեբ ինտերֆեյսով, որն օգտագործվում է թերմոստատի բոլոր տարրերը կազմաձևելու համար: Վեբ ինտերֆեյսը աշխատում է անմիջապես Arduino- ի վրա ՝ վեբ սերվերի ռեժիմում: Վեբ սերվերը թույլ է տալիս գործարկել մի քանի անկախ HTML էջեր, որոնք կարող են լինել տեղեկատվական կամ նույնիսկ ֆունկցիոնալ: Վեբ սերվերն աշխատում է 80 պորտով ՝

SRD-5VDC-SL-C էլեկտրամագնիսական ռելեը, որն օգտագործվում է նախագծում, թույլ է տալիս միացնել մինչև 10A մինչև 230V-հզորություն 2300W: DC միացում (բեռ) միացնելու դեպքում հնարավոր է միացնել 300W (10A 30V DC հոսանքով): Այլապես, OMRON G3MB-202P SSR ռելեը լիովին համատեղելի է էլեկտրագծերի դիագրամի համար, որը հարմար է միայն ոչ ինդուկտիվ բեռների և բացառապես AC սխեմաների համար: Առավելագույն անջատիչ հզորությունը 460W (230V, 2A): Arduino- ի սպառումը Ethernet վահանով և այլ ծայրամասային սարքերով 100-120 մԱ մակարդակի վրա է ՝ ռելեի բաց վիճակում: Երբ փակ է, 200 մԱ -ից ցածր 5 Վ լարման դեպքում:

Քայլ 2: Վեբ ինտերֆեյս

Վեբ ինտերֆեյս
Վեբ ինտերֆեյս

Թերմոստատի վեբ ինտերֆեյսը թույլ է տալիս

  • Դիտեք իրական ժամանակի ջերմաստիճանը DS18B20 սենսորից
  • Դիտեք իրական ժամանակի ռելեի կարգավիճակը էջի դինամիկ ելքային փոփոխությամբ
  • Փոփոխեք նպատակային (տեղեկատու) ջերմաստիճանը 5 -ից 50 ° C միջակայքում `0,25 ° C քայլով
  • Փոփոխեք հիստերեզը 0 -ից 10 ° C միջակայքում `0,25 ° C քայլով

Վեբ ինտերֆեյսը նախատեսված է ավելի ու ավելի փոքր էկրաններ տեղավորելու համար: Այն արձագանքում է, աջակցում է լայն էկրանով բարձր հստակ էկրաններին, բայց նաև շարժական սարքերին: Ինտերֆեյսը օգտագործում է Bootstrap շրջանակի ներմուծված CSS ոճերը արտաքին CDN սերվերից, որը բեռնում է հաճախորդի կողմից սարքը Arduino- ով աշխատող էջ բացելիս: Քանի որ Arduino Uno- ն սահմանափակ է հիշողությամբ, այն կարող է գործարկել միայն մի քանի կԲ չափի էջեր: Արտաքին սերվերից CSS ոճերի ներմուծմամբ դա կնվազեցնի Arduino- ի կատարողականը և հիշողության բեռը: Softwareրագրաշարի ներդրումը (Arduine Uno- ի համար) օգտագործում է ֆլեշ հիշողության 70% -ը (32kB - 4kB Bootloader) և RAM հիշողության 44% -ը (2kB):

Վեբ էջի ստատիկ մասերը (HTML փաստաթղթի վերնագիր և տողատակ, Bootstrap CSS հղում, մետա պիտակներ, HTTP արձագանքների վերնագիր, բովանդակության տեսակ, ձև և այլն) պահվում են անմիջապես Arduino- ի ֆլեշ հիշողության մեջ, ինչը կարող է էապես նվազեցնել օգտագործողի համար օգտագործվող RAM- ի քանակը: -առաջացած բովանդակություն: Այսպիսով, վեբ սերվերն ավելի կայուն է և կարող է միաժամանակ կարգավորել ցանցում մի քանի սարքերի բազմակողմանի կապը:

Կարգավորված արժեքները նույնիսկ հոսանքի խափանումից հետո պահելու համար դրանք պահվում են Arduino- ի EEPROM հիշողության մեջ: Տեղեկատվական ջերմաստիճանը օֆսեթ 10 -ից, հիստերեզը `օֆսեթ 100 -ից: EEPROM հիշողության մեջ արժեքներից յուրաքանչյուրը զբաղեցնում է առավելագույնը 5B: EEPROM տառադարձման սահմանաչափը 100,000 տառադարձման մակարդակի վրա է: Տվյալները փոխարինվում են միայն HTML ձևը ներկայացնելիս: Այն դեպքում, երբ առաջին գործարկման ժամանակ սարքը ոչինչ չի պահում նշված EEPROM հաշվանցումներում, ավտոմատ գրումը կկատարվի կանխադրված արժեքներով `տեղեկանք` 20.25, հիստերեզ 0.25 ° C

Թարմացնել մետա պիտակը թարմացնում է ամբողջ Arduino էջը յուրաքանչյուր 10 վայրկյանը մեկ: Այս պահին անհրաժեշտ է գրել փոփոխությունը ջերմաչափի համար, հակառակ դեպքում մուտքի պատուհանները կվերականգնվեն, երբ էջը թարմացվի: Քանի որ Ethernet գրադարանը չի ներառում ասինխրոն վեբ սերվերի օգտագործումը, ամբողջ էջը պետք է վերաշարադրվի: Հիմնականում փոփոխվող դինամիկ տվյալները ելքի ընթացիկ արժեքն է `միացված / անջատված:

Քայլ 3: HTML էջեր, որոնք աշխատում են վեբ սերվերում, սխեմատիկա, աղբյուրի կոդ

Վեբ սերվերում աշխատող HTML էջեր, սխեմատիկա, աղբյուրի ծածկագիր
Վեբ սերվերում աշխատող HTML էջեր, սխեմատիկա, աղբյուրի ծածկագիր

Arduino- ով աշխատող HTML էջեր

  • / - արմատային էջ, որը պարունակում է ձևը, ռելեի ընթացիկ տրամաբանական ելքի ցուցակը, ջերմաստիճանը
  • /action.html - արժեքները մշակում է ձևից, գրում դրանք EEPROM հիշողության մեջ, օգտվողին վերահղում դեպի արմատային էջ
  • / get_data/ - ընթացիկ ջերմաստիճանի, տեղեկանքային ջերմաստիճանի և հիստերեզի վերաբերյալ տվյալները բաշխում է երրորդ կողմին (համակարգիչ, միկրոկոնտրոլեր, այլ հաճախորդ…) JSON ձևաչափով

Կա նաև այս թերմոստատի ընդլայնված տարբերակը, որը ներառում է

  • Ռելեներ ձեռքով ռեժիմ (անսահմանափակ ժամանակ, ծանր միացում / անջատում)
  • Watchdog ժամաչափ
  • Առկա են ավելի շատ տվիչներ, օրինակ ՝ SHT21, SHT31, DHT22, BME280, BMP280 և այլն
  • Սառեցման ռեժիմ
  • Վերահսկում և կազմաձևում RS232 / UART- ի միջոցով ՝ անկախ Ethernet- ից
  • Թերմոստատի PID ջերմաստիճանի վերահսկում
  • Թերմոստատի համար ESP8266, ESP32 հարթակներ օգտագործելու հնարավորություն

Implementationրագրի իրականացմանը կարելի է ծանոթանալ ՝

Թերմոստատը նախատեսված է միայն ներքին ջերմաստիճանի համար: (0 ° C- ից բարձր), որին հարմարեցված է համակարգի տրամաբանությունը: Հնարավոր է գոյություն ունեցող սենյակային ջերմաստիճանը փոխարինել ջերմաստիճանով, հնարավոր է ժամանակավորապես փոխարինել սառնարանում գտնվող ջերմոստատը, պահպանել մշտական ջերմաստիճանը տերարիումում և այլն:

Խորհուրդ ենք տալիս: