ዝርዝር ሁኔታ:

በአርዱዲኖ ላይ የተመሠረተ ቴርሞስታት -6 ደረጃዎች
በአርዱዲኖ ላይ የተመሠረተ ቴርሞስታት -6 ደረጃዎች

ቪዲዮ: በአርዱዲኖ ላይ የተመሠረተ ቴርሞስታት -6 ደረጃዎች

ቪዲዮ: በአርዱዲኖ ላይ የተመሠረተ ቴርሞስታት -6 ደረጃዎች
ቪዲዮ: On/OFF LED using Arduino Programming Full Video Basic To Advanced Languages #onoffledusingarduino 2024, ሀምሌ
Anonim
ቴርሞስታት በአርዱዲኖ ላይ የተመሠረተ
ቴርሞስታት በአርዱዲኖ ላይ የተመሠረተ
ቴርሞስታት በአርዱዲኖ ላይ የተመሠረተ
ቴርሞስታት በአርዱዲኖ ላይ የተመሠረተ
በአርዱዲኖ ላይ የተመሠረተ ቴርሞስታት
በአርዱዲኖ ላይ የተመሠረተ ቴርሞስታት

በዚህ ጊዜ በአሩዲኖ ፣ በሙቀት ዳሳሽ እና በቅብብሎሽ ላይ የተመሠረተ ቴርሞስታት እንገነባለን። በ github ላይ ማግኘት ይችላሉ

ደረጃ 1: ውቅር

ውቅረት
ውቅረት

ሙሉ ውቅር በ Config.h ውስጥ ተከማችቷል። ቅብብሎችን ፣ የንባብ ሙቀትን ፣ ገደቦችን ወይም ጊዜዎችን የሚቆጣጠሩ ፒኖችን መለወጥ ይችላሉ።

ደረጃ 2 - ማስተላለፊያዎችን በማዋቀር ላይ

3 ቅብብሎሽ እንዲኖረን እንፈልጋለን እንበል -

  • መታወቂያ 0 ፣ ፒን 1 ፣ የሙቀት መጠን ነጥብ 20
  • መታወቂያ 1 ፣ ፒን 10 ፣ የሙቀት መጠን ነጥብ 30
  • መታወቂያ 2 ፣ ፒን 11 ፣ የሙቀት መጠን ነጥብ - 40

በመጀመሪያ እርስዎ የመረጡት ፒን አስቀድሞ አለመወሰዱን ማረጋገጥ አለብዎት። ሁሉም ፒኖች በ Config.h ውስጥ ሊገኙ ይችላሉ ፣ እነሱ ከ DIG_PIN ጀምሮ በተለዋዋጮች ተለይተዋል።

Config.h ን ማርትዕ እና ፒኖችን ፣ ገደቦችን እና የቅብብሎሽ መጠንን ማዋቀር አለብዎት። በእርግጥ አንዳንድ ንብረቶች ቀድሞውኑ አሉ ፣ ስለዚህ እነሱን ማርትዕ አለብዎት።

የማይንቀሳቀስ uint8_t DIG_PIN_RELAY_0 = 1; የማይንቀሳቀስ uint8_t DIG_PIN_RELAY_1 = 10; የማይንቀሳቀስ uint8_t DIG_PIN_RELAY_2 = 11;

የማይንቀሳቀስ 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;

አሁን ቅብብል እና መቆጣጠሪያን ማቀናበር አለብን ፣ ይህ በ 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

ደረጃ 3 - የጅብ መቆጣጠሪያ

ከላይ በምሳሌነት የተመረጠው እሱ ነው ፣ ጥቂት ተጨማሪ ውቅሮች አሉት

የማይንቀሳቀስ uint32_t RELAY_DELAY_AFTER_SWITCH_MS = 300000; // 5 ደቂቃዎች ኮንስትራክሽን የማይንቀሳቀስ uint32_t RHC_RELAY_MIN_SWITCH_MS = 3600000;

RELAY_DELAY_AFTER_SWITCH_MS የሚቀጥለውን ቅብብሎሽን ለመቀየር የጥበቃ ጊዜን ይሰጣል። ከእኛ ምሳሌ ውቅር በ 40 ዲግሪ አከባቢ ውስጥ መሥራት ይጀምራል ብለው ያስቡ። ይህ ሦስቱን ቅብብሎሽ በአንድ ጊዜ ማስቻልን ያስከትላል። ይህ በመጨረሻ ወደ ከፍተኛ የኃይል ፍጆታ ሊያመራ ይችላል - እርስዎ በሚቆጣጠሩት ላይ በመመስረት ፣ ለምሳሌ የኤሌክትሪክ ሞተር በሚነሳበት ጊዜ የበለጠ ኃይል ይወስዳል። በእኛ ሁኔታ የመቀየሪያ ቅብብሎች የሚከተለው ፍሰት አለው -የመጀመሪያው ቅብብል ይሄዳል ፣ 5 ደቂቃዎች ይጠብቁ ፣ ሁለተኛው ይቀጥላል ፣ 5 ደቂቃዎች ይጠብቁ ፣ ሦስተኛው ይቀጥላል።

RHC_RELAY_MIN_SWITCH_MS hysteresis ን ይገልፃል ፣ ሁኔታውን ለመለወጥ ለተወሰነ ቅብብል ዝቅተኛው ድግግሞሽ ነው። አንዴ ከበራ ፣ የሙቀት ለውጥን ችላ በማለት ቢያንስ በዚህ ጊዜ ይቆያል። እያንዳንዱ ማብሪያ / ማጥፊያ በቀጥታ ጊዜ ላይ አሉታዊ ተጽዕኖ ስለሚያሳድር ይህ ጸጥ ያለ ጠቃሚ ነው የኤሌክትሪክ ሞተሮችን ይቆጣጠሩታል።

ደረጃ 4 የ PID መቆጣጠሪያ

የ PID መቆጣጠሪያ
የ PID መቆጣጠሪያ
የ PID መቆጣጠሪያ
የ PID መቆጣጠሪያ

ይህ የተራቀቀ ርዕስ ነው። እንዲህ ዓይነቱን ተቆጣጣሪ መተግበር ቀላል ተግባር ነው ፣ ትክክለኛ የ amplitude ቅንብሮችን ማግኘት የተለየ ታሪክ ነው።

የ PID መቆጣጠሪያን ለመጠቀም initRelayHysteresisController (…..) ወደ initRelayPiDController (…) መለወጥ አለብዎት እና ለእሱ ትክክለኛ ቅንብሮችን ማግኘት አለብዎት። እንደተለመደው በ Config.h ውስጥ ያገኛሉ

ውጤቱን በዓይነ ሕሊናህ ለማየት እንዲቻል በጃቫ ውስጥ ቀላል አስመሳይን ተግባራዊ አድርጌያለሁ። እሱ በአቃፊ ውስጥ ሊገኝ ይችላል- pidsimulator ከዚህ በታች ለሁለት ተቆጣጣሪዎች ምሳሌዎችን ማየት ይችላሉ PID a P. PID ትክክለኛ እሴቶችን ለማግኘት ማንኛውንም የተራቀቀ ስልተ ቀመር ስላልተገበርኩ።

በሁለቱም ሰቆች ላይ የሚፈለገው የሙቀት መጠን ወደ 30 (ሰማያዊ) ተቀናብሯል። የአሁኑ ሙቀት የንባብ መስመርን ያመለክታል። ቅብብል ሁለት ግዛቶች በርቷል እና ጠፍቷል። ሲነቃ የሙቀት መጠኑ በ 1.5 ሲቀንስ ፣ ሲሰናከል በ 0.5 ከፍ ይላል።

ደረጃ 5 - የመልዕክት አውቶቡስ

የመልዕክት አውቶቡስ
የመልዕክት አውቶቡስ
የመልዕክት አውቶቡስ
የመልዕክት አውቶቡስ
የመልዕክት አውቶቡስ
የመልዕክት አውቶቡስ
የመልዕክት አውቶቡስ
የመልዕክት አውቶቡስ

የተለያዩ የሶፍትዌር ሞጁሎች እርስ በእርስ መገናኘት አለባቸው ፣ ተስፋ እናደርጋለን ሁለቱም መንገዶች አይደሉም።)

ለምሳሌ:

  • የስታቲስቲክስ ሞዱል ልዩ ቅብብል ሲበራ እና ሲጠፋ ማወቅ አለበት ፣
  • አንድ አዝራር መጫን የማሳያ ይዘትን መለወጥ አለበት እንዲሁም ብዙ የሲፒዩ ዑደቶችን የሚወስዱ አገልግሎቶችን ማገድ አለበት ፣ ለምሳሌ የሙቀት መጠንን ከአነፍናፊ ፣
  • ከተወሰነ ጊዜ በኋላ የሙቀት ንባብ መታደስ አለበት ፣
  • እናም ይቀጥላል….

እያንዳንዱ ሞጁል ከመልእክት አውቶቡስ ጋር የተገናኘ እና ለተወሰኑ ክስተቶች መመዝገብ ይችላል ፣ እና ማንኛውንም ክስተቶች (የመጀመሪያ ንድፍ) ሊያወጣ ይችላል።

በሁለተኛው ሥዕላዊ መግለጫ ላይ በመጫን ቁልፍ ላይ የክስተት ፍሰት ማየት እንችላለን።

አንዳንድ አካላት በየጊዜው መከናወን ከሚያስፈልጋቸው በላይ አንዳንድ ተግባራት አሏቸው። እኛ የመልዕክት አውቶቡስ ስላለን ትክክለኛውን ክስተት ማሰራጨት ብቻ አስፈላጊ ነው (ሦስተኛው ሥዕላዊ መግለጫ) እኛ ተጓዳኝ ዘዴዎቻቸውን ከዋናው ዑደት ልንጠራቸው እንችላለን።

ደረጃ 6 - ሊብስ

  • https://github.com/maciejmiklas/Thermostat
  • https://github.com/milesburton/Arduino-Temperature…
  • https://github.com/maciejmiklas/ArdLog.git

የሚመከር: