Orodha ya maudhui:
- Hatua ya 1: Usanidi
- Hatua ya 2: Kusanidi Upelekaji
- Hatua ya 3: Mdhibiti wa Hysteresis
- Hatua ya 4: Mdhibiti wa PID
- Hatua ya 5: Ujumbe wa basi
- Hatua ya 6: Libs
Video: Thermostat Kulingana na Arduino: 6 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Wakati huu tutaunda Thermostat kulingana na Arduino, sensorer ya joto na relay. Unaweza kupata kwenye github
Hatua ya 1: Usanidi
Usanidi mzima umehifadhiwa katika Config.h. Unaweza kubadilisha PIN kudhibiti kudhibiti relays, kusoma joto, vizingiti au nyakati.
Hatua ya 2: Kusanidi Upelekaji
Wacha tufikirie kwamba tungependa kuwa na relays 3:
- Kitambulisho: 0, PIN: 1, Kiwango cha kuweka joto: 20
- Kitambulisho: 1, PIN: 10, Kiwango cha kuweka joto: 30
- Kitambulisho: 2, PIN: 11, Kiwango cha kuweka joto: 40
Kwanza lazima uhakikishe kuwa PIN ya chaguo lako haijachukuliwa tayari. Pini zote zinaweza kupatikana katika Config.h, zinafafanuliwa na anuwai zinazoanza na DIG_PIN.
Lazima uhariri Config.h na usanidi PIN, vizingiti na kiwango cha relays. Kwa wazi mali zingine tayari zipo, kwa hivyo lazima uzibadilishe tu.
const static uint8_t DIG_PIN_RELAY_0 = 1; const static uint8_t DIG_PIN_RELAY_1 = 10; const tuli uint8_t DIG_PIN_RELAY_2 = 11;
const tuli uint8_t RELAYS_AMOUNT = 3;
st tuli int16_t RELAY_TEMP_SET_POINT_0 = 20;
st tuli int16_t RELAY_TEMP_SET_POINT_1 = 30; st tuli int16_t RELAY_TEMP_SET_POINT_2 = 40;
Sasa tunalazimika kusanidi relays na mtawala, hii hufanyika katika RelayDriver.cpp
initRelayHysteresisController (0, DIG_PIN_RELAY_0, RELAY_TEMP_SET_POINT_0); initRelayHysteresisController (1, DIG_PIN_RELAY_1, RELAY_TEMP_SET_POINT_1); initRelayHysteresis Mdhibiti (2, DIG_PIN_RELAY_2, RELAY_TEMP_SET_POINT_2);
xxx
Hatua ya 3: Mdhibiti wa Hysteresis
Ni ile iliyochaguliwa kwa mfano hapo juu, ina mipangilio michache ya ziada:
const tuli uint32_t RELAY_DELAY_AFTER_SWITCH_MS = 300000; // Dakika 5 tuli tuli u3232t RHC_RELAY_MIN_SWITCH_MS = 3600000;
RELAY_DELAY_AFTER_SWITCH_MS inatoa wakati wa kusubiri kwa kubadili relay inayofuata. Fikiria kuwa usanidi kutoka kwa mfano wetu ungeanza kufanya kazi katika mazingira ya digrii 40. Hii itasababisha kuwezeshwa kwa relays zote tatu kwa wakati mmoja. Hii inaweza kusababisha matumizi makubwa ya nguvu - kulingana na kile unachodhibiti, injini ya umeme kwa mfano hutumia nguvu zaidi wakati wa kuanza. Kwa upande wetu, kubadili relay kuna mtiririko ufuatao: relay ya kwanza huenda, subiri dakika 5, pili inaendelea, subiri dakika 5, tatu inaendelea.
RHC_RELAY_MIN_SWITCH_MS inafafanua hysteresis, ni kiwango cha chini cha relay fulani kubadilisha hali yake. Mara tu ikiwasha, itabaki kwa angalau kipindi hiki cha wakati, ikipuuza mabadiliko ya joto. Hii ni utulivu mzuri na unadhibiti motors za umeme, kwani kila swichi ina athari mbaya kwa wakati wa moja kwa moja.
Hatua ya 4: Mdhibiti wa PID
Hii ni mada ya hali ya juu. Utekelezaji wa mtawala kama huo ni kazi rahisi, kutafuta mipangilio ya amplitude sahihi ni hadithi tofauti.
Ili kutumia mtawala wa PID lazima ubadilishe initRelayHysteresisController (…..) kuwa initRelayPiDController (….) Na unahitaji kupata mipangilio sahihi ya hiyo. Kama kawaida utazipata kwenye Config.h
Nimetekeleza simulator rahisi katika Java, ili iweze kuibua matokeo. Chini inaweza kupatikana kwenye folda: pidsimulator. Ka chini unaweza kuona masimulizi kwa watawala wawili PID P. PID sio sawa kabisa kwa sababu sikutumia algorithm yoyote ya hali ya juu kupata maadili sahihi.
Kwenye viwanja vyote joto linahitajika hadi 30 (bluu). Joto la sasa linaonyesha mstari wa kusoma. Relay ina majimbo mawili ON and OFF. Inapowezeshwa joto hupungua kwa 1.5, wakati imelemazwa huongezeka kwa 0.5.
Hatua ya 5: Ujumbe wa basi
Moduli tofauti za programu zinapaswa kuwasiliana na kila mmoja, kwa matumaini sio njia zote mbili;)
Kwa mfano:
- moduli ya takwimu inapaswa kujua wakati relay fulani inaendelea na kuzima,
- kubonyeza kitufe lazima ibadilishe yaliyomo kwenye onyesho na inapaswa pia kusimamisha huduma ambazo zitatumia mizunguko mingi ya CPU, kwa mfano kusoma joto kutoka kwa sensa,
- baada ya kusoma kwa muda wa joto inapaswa kufanywa upya,
- Nakadhalika….
Kila moduli imeunganishwa na Ujumbe wa Basi na inaweza kujiandikisha kwa hafla fulani, na inaweza kutoa hafla yoyote (mchoro wa kwanza).
Kwenye mchoro wa pili tunaweza kuona mtiririko wa hafla kwenye kitufe cha kubonyeza.
Vipengele vingine vina majukumu kadhaa kuliko mahitaji ya kutekelezwa mara kwa mara. Tunaweza kupiga njia zao zinazolingana kutoka kitanzi kuu, kwa kuwa tuna Ujumbe wa Basi ni muhimu tu kueneza tukio la kulia (mchoro wa tatu)
Hatua ya 6: Libs
- https://github.com/maciejmiklas/Thermostat
- https://github.com/milesburton/Arduino-Joto …….
- https://github.com/maciejmiklas/ArdLog.git
Ilipendekeza:
Wavuti? Kulingana na Arduino Simulator Kutoka Wokwi-2020 ?: Hatua 5
Wavuti? Kulingana na Arduino Simulator Kutoka Wokwi-2020 ?: Simulator ya Wokwi Arduino inaendesha kwenye jukwaa la AVR8js. Ni mtandao wa Arduino Simulator. Arduino Simulator inaendesha kivinjari cha wavuti. kwa hivyo, hii inapata umakini zaidi na kwa uaminifu, hii ina alama nyingi nzuri ikilinganishwa na simulators zingine zinazopatikana
Arduino & MPU6050 Kulingana na Kiwango cha Roho wa Dijiti: 3 Hatua
Arduino & MPU6050 Kulingana na Kiwango cha Roho wa Dijiti: Karibu kwenye mafunzo yangu ya kwanza kabisa! Natumai kuwa utaipata ikiwa ya kuelimisha. Tafadhali jisikie huru kuacha maoni iwe chanya au hasi.Mradi huu ni kutengeneza arduino & Kiwango cha roho cha dijiti cha MPU6050. Wakati muundo umekamilika na
Arduino Kulingana na Udhibiti wa IOT Relay Inayodhibitiwa na Sauti (Nyumba ya Google na Alexa Inasaidiwa): Hatua 11
Arduino Kulingana na Udhibiti wa IOT Relay Inayodhibitiwa na Sauti (Google Home & Alexa Inasaidiwa): Mradi huu unaelezea jinsi ya kufanya swichi inayotumia Arduino, inayodhibitiwa na sauti, na IOT. Hii ni relay ambayo unaweza kuwasha na kuzima kwa mbali ukitumia programu ya iOS na Android, na pia kuifunga kwa IFTTT na kuidhibiti kwa sauti yako ukitumia Goog
Kidhibiti cha Mchezo wa Arduino Kulingana na DIY - Arduino PS2 Mdhibiti wa Mchezo - Kucheza Tekken na DIY Arduino Gamepad: Hatua 7
Kidhibiti cha Mchezo wa Arduino Kulingana na DIY | Arduino PS2 Mdhibiti wa Mchezo | Kucheza Tekken na DIY Arduino Gamepad: Halo jamani, kucheza michezo kila wakati ni raha lakini kucheza na Mdhibiti wako wa mchezo wa dhana ya DIY ni ya kufurahisha zaidi. Kwa hivyo tutafanya Mdhibiti wa mchezo kutumia arduino pro micro katika mafundisho haya
Arduino Kulingana na Thermometer ya infrared - Kipimajoto cha Msingi cha IR Kutumia Arduino: Hatua 4
Arduino Kulingana na Thermometer ya infrared | Kipimajoto cha Kulingana na IR Kutumia Arduino: Halo jamani katika mafundisho haya tutafanya Thermometer isiyo ya kutumia kwa kutumia arduino. joto basi katika hali hiyo