Obsah:
- Krok 1: Konfigurácia
- Krok 2: Konfigurácia relé
- Krok 3: Regulátor hysterézie
- Krok 4: PID regulátor
- Krok 5: Zbernica správ
- Krok 6: Libs
Video: Termostat založený na Arduine: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Tentokrát budeme stavať termostat na báze Arduina, teplotného senzora a relé. Nájdete na github
Krok 1: Konfigurácia
Celá konfigurácia je uložená v Config.h. PIN môžete ovládať pomocou relé, teploty čítania, prahových hodnôt alebo časovania.
Krok 2: Konfigurácia relé
Predpokladajme, že by sme chceli mať 3 relé:
- ID: 0, PIN: 1, Nastavená teplota: 20
- ID: 1, PIN: 10, Nastavená teplota: 30
- ID: 2, PIN: 11, Nastavená teplota: 40
Najprv sa musíte uistiť, že vami zvolený PIN ešte nie je zadaný. Všetky piny nájdete v Config.h, sú definované premennými začínajúcimi na DIG_PIN.
Musíte upraviť Config.h a nakonfigurovať PINy, prahové hodnoty a počet relé. Niektoré vlastnosti už existujú, takže ich musíte len upraviť.
const static uint8_t DIG_PIN_RELAY_0 = 1; const static uint8_t DIG_PIN_RELAY_1 = 10; const static uint8_t DIG_PIN_RELAY_2 = 11;
const static uint8_t RELAYS_AMOUNT = 3;
const static int16_t RELAY_TEMP_SET_POINT_0 = 20;
const static int16_t RELAY_TEMP_SET_POINT_1 = 30; const static int16_t RELAY_TEMP_SET_POINT_2 = 40;
Teraz musíme nastaviť relé a ovládač, to sa deje v programe RelayDriver.cpp
initRelayHysteresisController (0, DIG_PIN_RELAY_0, RELAY_TEMP_SET_POINT_0); initRelayHysteresisController (1, DIG_PIN_RELAY_1, RELAY_TEMP_SET_POINT_1); initRelayHysteresisController (2, DIG_PIN_RELAY_2, RELAY_TEMP_SET_POINT_2);
xxx
Krok 3: Regulátor hysterézie
Je to ten, ktorý bol vybraný v príklade vyššie, má niekoľko ďalších konfigurácií:
konštantná uint32_t RELAY_DELAY_AFTER_SWITCH_MS = 300000; // 5 minutesconst static uint32_t RHC_RELAY_MIN_SWITCH_MS = 3600000;
RELAY_DELAY_AFTER_SWITCH_MS poskytuje čas čakania na prepnutie ďalšieho relé. Predstavte si, že konfigurácia z nášho príkladu by začala fungovať v 40 -stupňovom prostredí. Výsledkom by bolo povolenie všetkých troch relé súčasne. To môže nakoniec viesť k vysokej spotrebe energie - v závislosti od toho, čo ovládate, napríklad elektrický motor spotrebuje počas štartu viac energie. V našom prípade majú spínacie relé nasledujúci tok: prvé relé rozbehne, počkajte 5 minút, druhé zapne, počkáte 5 minút, tretie zapne.
RHC_RELAY_MIN_SWITCH_MS definuje hysterézu, je to minimálna frekvencia pre konkrétne relé na zmenu stavu. Akonáhle je zapnutý, zostane zapnutý ešte najmenej toto časové obdobie, pričom ignoruje zmeny teploty. Je tiché, že ovládate elektrické motory, pretože každý spínač má negatívny vplyv na živý čas.
Krok 4: PID regulátor
Toto je pokročilá téma. Implementácia takéhoto ovládača je jednoduchá úloha, nájsť správne nastavenia amplitúdy je iný príbeh.
Aby ste mohli používať PID regulátor, musíš zmeniť Ako obvykle ich nájdete v Config.h
Implementoval som jednoduchý simulátor v Jave, aby bolo možné vizualizovať výsledky. Nachádza sa v priečinku: pidsimulator. Nasledujú simulácie pre dva regulátory PID a P. PID nie je úplne stabilný, pretože som na nájdenie správnych hodnôt nepoužil žiadny sofistikovaný algoritmus.
Na oboch grafoch je požadovaná teplota nastavená na 30 (modrá). Aktuálna teplota indikuje čítací riadok. Relé má dva stavy ZAP a VYP. Keď je povolená, teplota klesne o 1,5, keď je deaktivovaná, zvýši sa o 0,5.
Krok 5: Zbernica správ
Rôzne softvérové moduly musia medzi sebou komunikovať, dúfajme, že nie oboma spôsobmi;)
Napríklad:
- štatistický modul musí vedieť, kedy sa konkrétne relé zapína a vypína,
- stlačením tlačidla sa zmení obsah zobrazenia a tiež sa musia pozastaviť služby, ktoré by spotrebovali mnoho cyklov CPU, napríklad čítanie teploty zo senzora,
- po určitom čase sa hodnoty teploty musia obnoviť,
- a tak ďalej….
Každý modul je pripojený k zbernici správ a môže sa registrovať pre konkrétne udalosti a môže vytvárať akékoľvek udalosti (prvý diagram).
Na druhom diagrame vidíme tok udalostí po stlačení tlačidla.
Niektoré komponenty majú niektoré úlohy, než je potrebné vykonávať pravidelne. Ich zodpovedajúce metódy by sme mohli nazvať z hlavnej slučky, pretože máme zbernicu správ, je potrebná iba na šírenie správnej udalosti (tretí diagram)
Krok 6: Libs
- https://github.com/maciejmiklas/Thermostat
- https://github.com/milesburton/Arduino-Temperature…
- https://github.com/maciejmiklas/ArdLog.git
Odporúča:
Telefón založený na Arduine (prototyp): 7 krokov
Telefón na báze Arduino (prototyp): Ahoj všetci, dnes sa v tomto návode pozrieme na telefón založený na arduino. Tento telefón je prototypom, ktorý je stále vo vývoji. Zdrojový kód je opensource, ktokoľvek môže kód upraviť. Funkcie v telefóne: 1. Hudba 2. Videá 3.
Plotter na vajíčka založený na Arduine: 17 krokov (s obrázkami)
Vajcový ploter na báze Arduino: Vajcový ploter je umelecký robot, ktorý dokáže kresliť na guľovito tvarované predmety, ako sú vajíčka. Tento stroj by ste mohli použiť aj na kreslenie pingpongových loptičiek a golfových loptičiek. Môžete použiť svoju predstavivosť pri návrhoch, ktoré ste na ňu uviedli, napríklad by ste mohli urobiť
Systém triedenia farieb: Systém založený na Arduine s dvoma pásmi: 8 krokov
Systém triedenia farieb: Systém založený na Arduino s dvoma pásmi: Doprava a/alebo balenie výrobkov a predmetov v priemyselnej oblasti sa vykonáva pomocou liniek vyrobených pomocou dopravníkových pásov. Tieto pásy pomáhajú presúvať položku z jedného bodu do druhého so špecifickou rýchlosťou. Niektoré úlohy spracovania alebo identifikácie môžu byť
GPS sledovač automobilov s upozornením SMS a nahraním údajov Thingspeak, založený na Arduine, domáca automatizácia: 5 krokov (s obrázkami)
GPS sledovač automobilov s upozornením SMS a nahraním údajov Thingspeak, založený na Arduine, domáca automatizácia: Tento sledovač GPS som vyrobil minulý rok a pretože funguje dobre, zverejňujem ho teraz na stránke Instructable. Je pripojený k zásuvke príslušenstva v kufri. GPS tracker nahráva polohu auta, rýchlosť, smer a nameranú teplotu prostredníctvom mobilných dát
DIY - Parkovací asistent založený na Arduine V2: 6 krokov
DIY - Parkovací asistent založený na Arduine V2: Keď vám život dá banány !!!!! Jedzte ich. Nutnosť je matkou vynálezov a ja túto skutočnosť nepopieram. Úprimne povedané, toto je druhýkrát, čo som narazil do steny našej garáže, odkedy sme sa presťahovali do tohto nového domu. To je všetko, nebolo by