Sisällysluettelo:
- Vaihe 1: Määritykset
- Vaihe 2: Releiden määrittäminen
- Vaihe 3: Hystereesisäädin
- Vaihe 4: PID -säädin
- Vaihe 5: Viestiväylä
- Vaihe 6: Libs
Video: Arduinoon perustuva termostaatti: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tällä kertaa aiomme rakentaa termostaatin, joka perustuu Arduinoon, lämpötila -anturiin ja releeseen.
Vaihe 1: Määritykset
Koko kokoonpano on tallennettu Config.h. Voit muuttaa releitä, lukulämpötilaa, kynnysarvoja tai ajoituksia ohjaavia PIN -koodeja.
Vaihe 2: Releiden määrittäminen
Oletetaan, että haluaisimme saada 3 relettä:
- ID: 0, PIN: 1, Lämpötilan asetusarvo: 20
- ID: 1, PIN: 10, Lämpötilan asetusarvo: 30
- ID: 2, PIN: 11, Lämpötilan asetusarvo: 40
Varmista ensin, että valitsemasi PIN -koodi ei ole jo otettu. Kaikki nastat löytyvät Config.h: sta, ne määritellään muuttujilla, jotka alkavat DIG_PIN.
Sinun on muokattava Config.h ja määritettävä PIN -koodit, kynnysarvot ja releiden määrä. Tietenkin jotkut ominaisuudet ovat jo olemassa, joten sinun on vain muokattava niitä.
const staattinen uint8_t DIG_PIN_RELAY_0 = 1; const staattinen uint8_t DIG_PIN_RELAY_1 = 10; const staattinen uint8_t DIG_PIN_RELAY_2 = 11;
const staattinen uint8_t RELAYS_AMOUNT = 3;
const staattinen int16_t RELAY_TEMP_SET_POINT_0 = 20;
const staattinen int16_t RELAY_TEMP_SET_POINT_1 = 30; const staattinen int16_t RELAY_TEMP_SET_POINT_2 = 40;
Nyt meidän on asennettava releet ja ohjain, tämä tapahtuu RelayDriver.cpp -tiedostossa
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
Vaihe 3: Hystereesisäädin
Se on edellä esimerkissä valittu, sillä on vain muutamia muita kokoonpanoja:
const staattinen uint32_t RELAY_DELAY_AFTER_SWITCH_MS = 300000; // 5 minuuttiapysyvä staattinen uint32_t RHC_RELAY_MIN_SWITCH_MS = 3600000;
RELAY_DELAY_AFTER_SWITCH_MS antaa odotusaikaa seuraavan releen kytkemiseen. Kuvittele, että esimerkin mukainen kokoonpano alkaisi toimia 40 asteen ympäristössä. Tämä johtaisi kaikkien kolmen releen käyttöönottoon samanaikaisesti. Tämä voi lopulta johtaa suureen virrankulutukseen - riippuen siitä, mitä ohjaat, esimerkiksi sähkömoottori kuluttaa enemmän virtaa käynnistyksen aikana. Meidän tapauksessamme kytkentäreleillä on seuraava virtaus: ensimmäinen rele menee, odota 5 minuuttia, toinen jatkaa, odota 5 minuuttia, kolmas jatkaa.
RHC_RELAY_MIN_SWITCH_MS määrittää hystereesin, se on tietyn releen minimi taajuus sen tilan muuttamiseksi. Kun se on päällä, se pysyy päällä vähintään tämän ajan ilman lämpötilan muutoksia. Tämä on hiljaista hyötyä, kun ohjaat sähkömoottoreita, koska jokaisella kytkimellä on negatiivinen vaikutus elinaikaan.
Vaihe 4: PID -säädin
Tämä on edistynyt aihe. Tällaisen ohjaimen käyttöönotto on yksinkertainen tehtävä, oikeiden amplitudiasetusten löytäminen on eri tarina.
Jotta voit käyttää PID -ohjainta, sinun on vaihdettava initRelayHysteresisController (…..) muotoon initRelayPiDController (…) ja sinun on löydettävä sille oikeat asetukset. Löydät ne normaalisti Config.h -sivustosta
Olen ottanut käyttöön yksinkertaisen simulaattorin Javassa, jotta tulokset voidaan visualisoida. Se löytyy kansiosta: pidsimulator. Alla näet simulaatioita kahdelle ohjaimelle PID P.
Molemmilla käyrillä vaadittu lämpötila on 30 (sininen). Nykyinen lämpötila osoittaa lukurivin. Releellä on kaksi tilaa ON ja OFF. Kun se on käytössä, lämpötila laskee 1,5, kun se on pois käytöstä, se nousee 0,5.
Vaihe 5: Viestiväylä
Eri ohjelmistomoduulien on kommunikoitava keskenään, toivottavasti ei molempiin suuntiin;)
Esimerkiksi:
- tilastomoduulin on tiedettävä, milloin tietty rele syttyy ja sammuu,
- painikkeen painamisen on muutettava näytön sisältöä ja sen on myös keskeytettävä palvelut, jotka kuluttavat monia suoritinjaksoja, esimerkiksi lämpötilan lukeminen anturista,
- jonkin ajan kuluttua lämpötilan lukema on uusittava,
- ja niin edelleen….
Jokainen moduuli on kytketty Message Busiin ja voi rekisteröityä tiettyihin tapahtumiin ja tuottaa mitä tahansa tapahtumia (ensimmäinen kaavio).
Toisessa kaaviossa näemme tapahtumavirran painamalla painiketta.
Joillakin komponenteilla on joitakin tehtäviä kuin ne on suoritettava määräajoin. Voisimme kutsua niiden vastaavat menetelmät pääsilmukasta, koska meillä on sanomaväylä, tarvitaan vain oikean tapahtuman levittäminen (kolmas kaavio)
Vaihe 6: Libs
- https://github.com/maciejmiklas/Thermostat
- https://github.com/milesburton/Arduino-Temperature…
- https://github.com/maciejmiklas/ArdLog.git
Suositeltava:
Sormenjälkiin perustuva biometrinen äänestyskone Arduinolla: 4 vaihetta (kuvilla)
Sormenjälkiin perustuva biometrinen äänestyslaite Arduinolla: Me kaikki olemme tietoisia olemassa olevasta sähköisestä äänestyskoneesta, jossa käyttäjän on painettava painiketta äänestääkseen. Mutta näitä koneita on kritisoitu karkaisusta alusta lähtien. Joten hallitus aikoo ottaa käyttöön sormenjälkitunnistimen
Kuvankäsittelyyn perustuva palontunnistus- ja sammutusjärjestelmä: 3 vaihetta
Kuvankäsittelyyn perustuva palontunnistus- ja sammutusjärjestelmä: Hei ystävät, tämä on kuvankäsittelyyn perustuva palonhavaitsemis- ja sammutusjärjestelmä, joka käyttää Arduinoa
Kylo Renin valomiekkaan perustuva audiovisualisoija: 5 vaihetta
Kylo Renin valomiekkoon perustuva audiovisualisaattori: Kylo Renin valosapelin innoittamana päätin tehdä audiovisualisaattorin käyttämällä arduinoon kytkettyjä LED -valoja ja käyttää sitten prosessointia pulssamaan LEDit kappaleen perusteella … arvasit oikein Keisarillinen maaliskuu
Värin havaitsemiseen perustuva kohteen seuranta: 10 vaihetta
Värin havaitsemiseen perustuva objektien seuranta: Tarina Tein tämän projektin oppiakseni kuvankäsittelyn Raspberry PI: n ja avoimen CV: n avulla. Tämän projektin tekemiseksi mielenkiintoisemmaksi käytin kahta SG90 -servomoottoria ja kiinnitin siihen kameran. Yksi moottori liikkui vaakasuunnassa ja toinen moottori pystysuorassa
Täysin varusteltu Raspberry Piin perustuva ulkoturvakamera: 21 vaihetta
Täysin varusteltu Raspberry Piin perustuva ulkoturvakamera: Jos sinulla oli pettymyksiä halvoista verkkokameroista, niiden huonosti kirjoitetusta ohjelmistosta ja/tai riittämättömästä laitteistosta, voit helposti rakentaa puoliammatillisen verkkokameran, jossa on Raspberry Pi ja muutamia muita elektronisia komponentteja selvittää millä juoksulla