Мазмұны:

Суару сорғысына арналған IOT негізіндегі DOL стартер контроллері: 6 қадам
Суару сорғысына арналған IOT негізіндегі DOL стартер контроллері: 6 қадам

Бейне: Суару сорғысына арналған IOT негізіндегі DOL стартер контроллері: 6 қадам

Бейне: Суару сорғысына арналған IOT негізіндегі DOL стартер контроллері: 6 қадам
Бейне: Brain Fog, Stress and Hydration: What Research Tells Us Webinar 2024, Шілде
Anonim
IOL негізіндегі суару сорғысына арналған DOL стартер контроллері
IOL негізіндегі суару сорғысына арналған DOL стартер контроллері
IOT негізіндегі суару сорғысына арналған DOL стартер контроллері
IOT негізіндегі суару сорғысына арналған DOL стартер контроллері

Сәлем достар

Бұл нұсқаулық интернетте орнатылған суару сорғысын қашықтан бақылау және басқару туралы.

Әңгіме: Менің фермамда мен жергілікті желіден күніне 6 сағаттай ғана қуат аламын. Уақыт тұрақты емес, қуаттың болуы таңертең немесе кешке немесе түн ортасына дейін болуы мүмкін. Қуат көзін тексеру, ұңғыманың орналасқан жеріне барған сайын, қозғалтқышты іске қосу немесе тоқтату өте ауыр процесс болды. Сондай-ақ, мен тамшылататын жүйеге жеткілікті сумен қамтамасыз ету үшін мотордың күніне кемінде 2-3 сағат жұмыс істеуін қамтамасыз етуім керек болды. Мен моторды қашықтан басқару арқылы бұл мәселені шешудің нұсқаларын зерттедім, сонымен қатар оның күйін білдім. Нарықта моторды қуат көзі пайда болғаннан кейін іске қосатын құрылғылар бар, бірақ олар қалаған кезде қозғалтқышты тоқтату мүмкіндігіне ие емес. Сондай -ақ, кез келген уақытта қозғалтқыштың ҚОСУ/ӨШІРУ күйін білу мүмкін емес. Бұл әдетте суаруға әкеледі, бұл топырақ құнарлылығының төмендеуіне және электр энергиясының ысырап болуына әкеледі. Ақырында мен мобильді құрылғыдан/планшеттен/компьютерден қашықтан іске қосуға және тоқтатуға болатын шешімді өзім жасадым. Сондай -ақ, мен белдіктен қуат көзінің болуын, қозғалтқыштың күйін (ON/OFF) үнемі бақылай аламын. Бұл елдегі фермерлік қожалықтарға үнемі стартерлік жерге бармай -ақ, суару жүйесін басқаруға көмектеседі деп үміттенемін.

Жабдықтар

Пререквизиттер:

Бұл құрылғыны орнатқыңыз келетін жерде интернет болуы керек (wifi/мобильді интернеті бар кең жолақты)

Сізге қажет заттар:

  1. NodeMCU /ESP12
  2. Екі арналы реле
  3. WCS1700 - ток сенсоры
  4. TP4056 батареяны зарядтау модулі
  5. LD313, Конденсатор - 1000uF регистрі - 5к ом екі регистр
  6. Байланыс нүктесі /интернеті бар кез келген (ескі) смартфон.

Бұл қалай жұмыс істейді:

NodeMCU/ESP12 мен қашықтағы MQTT брокерін қолданатын бұлтқа негізделген қарапайым IOT шешімі. NodeMCU IOT шлюзі ретінде жұмыс істейді, сонымен қатар DOL стартерін басқарады. Ол Интернет арқылы қашықтағы MQTT брокеріне қосылады. Android ұялы телефонында жұмыс істейтін бағдарлама брокерге қосылады, ол арқылы біз суару насосының қондырғысын үнемі бақылай аламыз және басқара аламын, мен Adafruit IO тегін қол жетімді MQTT брокерін қолдандым. Шыбын -шіркей, cloudmqtt т.б сияқты көптеген тегін брокерлер бар. Сіз кодты сервер мен порт нөмірін өзгерткен жағдайда кез келген брокерді таңдай аласыз. NodeMCU Интернетке мобильді кіру нүктесінен WiFi арқылы қосылады. Yon кез келген ескі немесе арзан ұялы телефонды хотспот арқылы Wi -Fi қол жетімділігін немесе Wi -Fi арқылы интернетпен қамтамасыз етудің кез келген басқа құралын пайдалана алады. Ұялы телефон зарядтағышқа қосылуы керек, себебі ол 24X7 болуы керек.

NodeMCU қозғалтқышты іске қосуды және тоқтатуды басқару үшін екі релемен байланысады. Қозғалтқыштағы токты сезу үшін мен WCS1700 ток датчигін қолдандым. Датчиктің аналогтық шығысы қозғалтқыштың ҚОСУЛЫ немесе ӨШІРІЛГЕН екенін білу үшін қолданылады. Ол сонымен қатар желіден қуаттың болуын сезеді және оны брокерге жариялайды, осылайша біз кез келген уақытта желі күйін біле аламыз. Құрылғы қозғалтқышты қосу және өшіру туралы сұранысты алу үшін екі арнаға жазылады. Бұл арналарға нақты мәндерді жіберу арқылы біз қозғалтқышты START немесе STOP күйіне басқара аламыз.

Ақырында мен Android телефоныма MQTT Dash қосымшасын орнаттым және оны MQTT брокеріне қосылуға және оның бақылау тақтасындағы/гуидегі арналарды қолдануға конфигурацияладым. Қолданбада тартымды бақылау тақтасын жасау үшін түймелері, өлшегіші, қосқышы бар өте жақсы белгішелер бар. Алайда, сіз mqtt протоколына қолдау көрсететін кез келген IOT үй автоматтандыру мобильді қосымшасын пайдалана аласыз.

WCS1700 қалай жұмыс істейді:

WCS1700 негізінен Холл эффектілі сенсор болып табылады, ол ток катушка арқылы өтетін кезде пайда болатын магнит өрісіне пропорционалды шығыс кернеуін шығарады. Мұндағы катушка - бұл қозғалтқышқа қосылатын қуат көзі. Ол айнымалы токты 70 амперге дейін өлшей алады. Жұмыс кернеуі 3,3 - 12 В аралығында. Толығырақ ақпарат алу үшін оның мәліметтер парағын қараңыз. Мен ESP12 -ді қолданған кезде мен WCS1700 жұмыс кернеуі сияқты 3,3 В қуат көзін қолдандым. Деректер парағында көрсетілгендей, 3,3 В, құрылғы катушка арқылы бір ампер токқа шамамен 32-38 мВ дифференциалды кернеу шығаруы керек. Бірақ ол катушканың мөлшеріне / ауа саңылауына және құрылғыдағы өзгерістерге байланысты өзгеруі мүмкін. Сондықтан оны Ampere Meter көмегімен тексеру арқылы калибрлеуге тура келді. Мен құрылғының дәлдігіне риза емеспін, бірақ ол Қозғалтқыштың күйін ON/OFF күйінде шешуге жеткілікті жақсы. WCS1700 шығыс түйрегіші ESP12 A0 қосылады. Ток болмаған кезде ESP12 шамамен 556 мәнін оқуы керек. Катушканың ағымдағы өсуі кабель сенсордан қалай өтетініне байланысты кернеудің екі жағына да әсер етуі мүмкін. Кодта мен мәндердің айырмасын абсолюттік мән ретінде қабылдадым (x - 556). Нәтижені 15 -ке бөлу арқылы сенсор арқылы өтетін шамамен ток алдым. Сізге сәйкес нөмірді алу үшін сіз мұны сынап көруіңіз керек. Құрылғының 5 амперден жоғары кез келген ток өлшеуі мен қозғалтқышты ҚОСУ және 5 амперден төмен деп есептеймін, себебі қозғалтқыш ӨШІРІЛДІ. Эксперимент жүргізу арқылы құрылғыға қажетті нөмірді қолдануға болады. Соған сәйкес кодта WCS1700_CONST және MIN_CURRENT өзгерту қажет.

1 -қадам: құрылғы құрылысы

Құрылғының құрылысы
Құрылғының құрылысы
Құрылғының құрылысы
Құрылғының құрылысы

Жоғарыда келтірілген диаграммада барлық компоненттерді сыммен қосу туралы толық ақпарат берілген.

Қуат көзі: Мен батареяларды зарядтау үшін TP4056 мен NodeMCU -ді қосу үшін 3,7 В - 4,2 В батарея қуатын 3,3 В дейін реттеу үшін LM313 қолдандым. 3.3В тұрақты ток алу үшін Вин мен LM313 жері арасындағы 1000мФ конденсатор қолданылды. TP4056 қуатын қосу үшін қарапайым USB ұялы зарядтағышын пайдалануға болады. Аккумуляторды шамадан тыс зарядтаудан қорғау үшін батареяны қорғау тізбегі бар.

Қуат көзінің сезгіштігі: 5к Ом кернеу бөлгіш 5 В -тан 2,5 В -қа дейін төмендетеді. NodeMCU D5 түйреуі кернеуді сезеді.

WCS1700 шығыс штыры сенсордан аналогты кернеуді оқу үшін A0 -ге қосылған. Электр желісі токты өлшеу үшін тесік арқылы өтуі керек. Мен WCS1700 тұрақты оқу формасын алу үшін 0,01 uF конденсаторды қолдандым.

NodeMCU D1 және D2 реле кіріс түйреуіштерінің IN0 және IN1 -ге қосылады.

2 -қадам: DOL Starter Connections

DOL стартер қосылымдары
DOL стартер қосылымдары
DOL стартер қосылымдары
DOL стартер қосылымдары

Мен START және STOP қосқышының басқа жиынтығын енгізу үшін DOL стартерінің басқару тізбегін өзгерттім. Бұл өзгеріс қолмен іске қосу/тоқтату жұмысына әсер етпейді және олар бұрынғыдай жұмысын жалғастырады.

Абайлаңыз !!!! DOL стартері жоғары вольтты құрылғы болғандықтан, қорапты ашпас бұрын негізгі қосқыштың өшірілгеніне көз жеткізіңіз. Сыммен тікелей байланыс қауіпті болуы мүмкін. Егер сіз сенімді болмасаңыз, қосылу үшін электриктің көмегіне жүгініңіз

Мен 2 арналы 5 В реле модулін START және STOP қосқышы ретінде қолдандым. Бұл реле ESP12 арқылы басқарылатын болады.

Реле - 0 БАСТАУ қосқышы ретінде жұмыс істейді - ЖОҚ ретінде қосылады (Әдетте ашық).

Реле -1 STOP қосқышы ретінде жұмыс істейді - NC ретінде қосылады (Әдетте жабық). Стартерде жоғарғы контактордан NVC -ге қосылатын сым болады. Сіз оны алып тастап, суреттегідей реле -1 сымдарына ауыстыруыңыз керек.

Қауіпсіздік үшін стартер мен Реле модульдерінің арасындағы байланыстар толығымен оқшауланғанына көз жеткізіңіз. Мен СТАРТ/СТОП батырмасын басу үшін екі релені 2 секунд ұстап тұруға ESP бағдарламаладым.

3 -қадам: Adafruit IO көмегімен тіркелгі жасаңыз (io.adafruit.com)

Мен Adafruit io mqtt брокерін қолдандым, оны бірнеше шектеулерсіз қолдануға болады, бірақ ол біз үшін қолайлы. Мен мұны жақсы көремін, өйткені мен оны басқа жобаларда қолдандым және сенімді болдым, сонымен қатар бақылау тақтасы сияқты басқа да көптеген функциялары бар, GUI жақсы, тіпті біз триггерлерді қолдана аламыз. Adafruit io пайдалану үшін сізге тіркелгі жасау керек және пайдаланушы аты мен активті кілтті ескеру қажет.

4 -қадам: Бағдарламалық жасақтаманы құрыңыз және орнатыңыз

Толық код эскизде бар. Сіз оны Arduino IDE -де ашып, микробағдарламаны құрастыру мен жүктемес бұрын бірнеше өзгерістер енгізуіңіз керек. NodeMCU 1.0 ретінде тақта түрін таңдаңыз. IDE және онымен байланысты кітапханаларды орнату бұл құжаттаманың аясына кірмейді.

Келесі жолдарды кодта өзгертіңіз.

#WLAN_SSID «xxx» анықтаңыз // Сіздің ұялы байланыс нүктесі WiFi SSID

#WLAN_PASS анықтаңыз «……» //

/************************* Adafruit.io орнату ******************** *************/

#AIO_SERVER «io.adafruit.com» анықтаңыз

#depine AIO_SERVERPORT 1883 // SSL үшін 8883 пайдаланыңыз

#difine AIO_USERNAME «xyz» // Сіздің adafruit есептік жазбаңыздың пайдаланушы аты

#анықтаңыз AIO_KEY «abcd ……» // сіздің белсенді кілтіңіз…

MQTT арналары туралы: Құрылғы мен клиент (мобильді қосымша) MQTT брокері арқылы pub қосалқы моделі арқылы хабарламалар арналары арқылы ақпарат алмасады. Хабарламаны алу үшін кез келген клиент немесе құрылғы алдын ала анықталған арнаға жазылуы керек және хабарды арнаға жіберу үшін жариялау әдісін қолдануы керек. Біздің жоба үшін бізге шамамен 5 фид қажет. Төменде кодта көріп отырғаныңыздай, олардың әрқайсысы мен олардың қалай жұмыс істейтіні түсіндіріледі.

Тор мәртебесі: желіден қуат көзінің болуы/feed/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME «/feeds/grid») арнасында жарияланады;

0 қуат көзінің жоқтығын және қуат көзі үшін 1 бар екенін көрсетеді.

Қозғалтқыш күйі: құрылғы қозғалтқыштың күйін…/feed/grid -те жариялайды.

Adafruit_MQTT_Publish motor_status = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME «/feeds/motor»)

ӨШІРУ үшін 0 және ҚОСУ үшін 1 мәні

Қозғалтқышты қосу түймесі: Бұл беріліс моторды іске қосу туралы сұранысты қабылдау үшін қолданылады. Құрылғы = 1 мәніндегі қозғалтқышты іске қосу сұранысын алу үшін арнасына жазылады және растау хабарламасын 0 ретінде жариялау үшін сол арнаны қолданады. Осылайша біз іске қосу туралы сұраудың хабарын құрылғы қабылдағанын растай аламыз.

Adafruit_MQTT_Subscribe motoronbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME «/feeds/motor_on»);

Қозғалтқышты өшіру түймесі:

Бастау сұрауына ұқсас, бұл беріліс моторды тоқтату сұранысын алу үшін қолданылады. Құрылғы = 1 мәні бар тоқтату сұранысын алу үшін арнаға жазылады және растау хабарламасын 0 ретінде жариялау үшін сол арнаны пайдаланады.

Adafruit_MQTT_Subscribe motoroffbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME «/feeds/motor_off»);

Қосылу:

Бұл «соңғы қалау» опциясы қосылған арнайы арна. Құрылғы әр белгіленген аралықта жақсы жұмыс істегенде, ол пайдаланушыға бәрі жақсы екенін айту үшін қосылым = 1 жариялайды. Егер жүйе істен шықса немесе байланыс үзілсе, онда құрылғы брокермен байланыса алмайды. Мұндай жағдайларда MQTT брокері қолданушыға бірдеңе дұрыс болмай қалғанын және құрылғыға интернет арқылы қол жеткізілмейтінін хабарлау үшін арнаға = 0 деп жариялайды. Біз физикалық түрде барып, құрылғыны тексеруіміз керек. Код өте қарапайым. «Соңғы ерік» қалай жұмыс істейтіні туралы қосымша ақпарат алу үшін MQTT құжаттамасын қараңыз.

егер (itr <= 0)

{

mqtt.publish (AIO_USERNAME «/feeds/connection», «1», 1);

itr = CON_LIVE_ITR;

}

Кодтың қалған бөлігі өздігінен түсіндіріледі және өзгертулер қажет емес. Егер сізге қосымша ақпарат қажет болса, түсініктеме беріңіз.

5 -қадам: MQTT Dash қосымшасын ұялы телефонға орнатыңыз және конфигурациялаңыз

Ұялы телефоныңызға MQTT Dash APP орнатыңыз және конфигурациялаңыз
Ұялы телефоныңызға MQTT Dash APP орнатыңыз және конфигурациялаңыз
Ұялы телефоныңызға MQTT Dash APP орнатыңыз және конфигурациялаңыз
Ұялы телефоныңызға MQTT Dash APP орнатыңыз және конфигурациялаңыз
Ұялы телефоныңызға MQTT Dash APP орнатыңыз және конфигурациялаңыз
Ұялы телефоныңызға MQTT Dash APP орнатыңыз және конфигурациялаңыз
  1. Android телефонына MQTT Dash орнатыңыз және бағдарламаны ашыңыз
  2. Құрылғыны қосу үшін жоғарғы оң жақ бұрыштағы + белгішесін басыңыз.
  3. Жоғарыдағы бірінші суретте көрсетілгендей, құрылғыға «MyFarm-IPSet» деп айтыңыз. Мекенжай өрісі io.adafruit.com және 1883 порты, пайдаланушы аты сіздің adafruit пайдаланушы аты болуы керек және пароль adafruit активті кілті болуы керек. Қалған өрістерді сол күйінде қалдырыңыз. Соңында сақтауды нұқыңыз.
  4. Сіз құрылғыны жасадыңыз. Енді бақылау тақтасын қосу үшін оны басыңыз.
  5. + Түймесін басып, коммутатор/түймешік ретінде түрді таңдаңыз. Жоғарыда көрсетілгендей, аты өрісіне sys енгізіңіз. және тақырып өрісіне арна атауын енгізіңіз. әрбір арна пайдаланушы атымен/арналарынан/басталуы керек. бұл үшін біз /арналар /байланыс. Жариялауды қосу өшірілгеніне көз жеткізіңіз. Көрсету үшін белгішені басу арқылы сіз бақылау тақтасында қажет болатын белгішенің түрін таңдай аласыз. 1 мәні үшін түстердің біреуін таңдаңыз (жасыл болсын) және 0 мәні үшін сұр немесе қызыл түсті таңдаңыз. Соңында жоғарғы оң жақ бұрыштағы сақтау түймесін басыңыз. Дәл осылай тақырып ретінде пайдаланушы аты/арналары/торы бар торға және пайдаланушы аты/ленталары/қозғалтқышы бар қозғалтқышқа арналған тағы екі белгішені жасаңыз. Жариялауды қосу өшірілгеніне көз жеткізіңіз.
  6. Соңында моторды қосу түймесін жасаңыз. Ол қайтадан коммутатор/түймемен бірдей. Тақырып /feed /motor_on болуы керек және бұл жолы Жариялауды қосу және QOS = 1 қосылуы керек. Сол сияқты Моторды ӨШІРУ үшін басқа түйме жасаңыз. Тақырып /ücretli /motor_off болуы керек.

6-қадам: Соңғы қадам:-) Тестілеу және баптау

  1. Қауіпсіз болу үшін рольдерді DOL стартеріне қоспас бұрын алдымен құрылғыны START және STOP әрекеттерін тексеру қажет. Интернет қосылған ұялы телефонда хотспотты қосыңыз. Даму ортасы бар ноутбукті NodeMCU USB портына бір уақытта TP4056 қосылған басқа зарядтағышпен қосыңыз. Егер құрылғы Интернетке сәтті қосылған болса, смартфонда хотспотқа қосылған 1 құрылғыны көру керек.
  2. MQTT Dash орнатылған басқа смартфонда қолданбалар тақтасын ашыңыз. Сіз NET белгішесі жасыл және Grid белгішесі жасыл түспен 1 мәнінде екенін көресіз. Қозғалтқыш белгішесі 0 мәнімен қозғалтқыш ретінде көрсетілуі керек.
  3. Қозғалтқышты қосу түймесін басқан кезде старт релесі екі секундтық интервалда екі рет шерту дыбысын шығаруы керек. Дәл осылай қозғалтқышты өшіру түймесі.
  4. Қауіпсіздік үшін DOL стартерінің негізгі қорек көзін ажыратыңыз және жоғарыда көрсетілгендей 2-реледегідей рольдерді DOL стартеріне қосыңыз. Қозғалтқыштың өшірілгеніне көз жеткізіңіз. NodeMCU қалпына келтіру түймесін басыңыз. Монитордың сериялық шығысынан WC1700 сенсорынан, үшбұрыштан және катушкадағы есептелген токтан мәндерді басып шығаратын отладтау мәлімдемелерін көруге болады. Қозғалтқыш өшірілген күйде және «#define WCS1700_CONST 15» кезінде maxCur дәйекті түрде 2 -ден төмен болуы керек. Егер ол 2 -ден үлкен болса, WCS1700_CONST жоғары мәндерін қолданып көріңіз. Әр жолы кодты қайта жинап, микробағдарламаны жүктеу керек болады.
  5. Енді қозғалтқышты қосыңыз және ағымдағы көрсеткіштерді қайтадан іздеңіз. Қозғалтқышты шамамен 10-15 минут қосулы қалдырыңыз және тұрақты ток көрсеткішін жазып алыңыз. Ток 10-20 ампер шамасында өзгеруі мүмкін және дәл болуы қажет емес.
  6. Кодқа оралыңыз және «#define MIN_CURRENT X. Мұндағы X - санның мәніне жуықталған максималды токтың 40 пайызы. Менің жағдайда MIN_CURRENT 5 мәнін қойдым. Микробағдарламаны NodeMCU -ге қайта жүктеңіз және қайта жүктеңіз.
  7. USB кабелін NodeMCU -ден алыңыз. TP4056 қосылған USB зарядтау құрылғысы бар құрылғыны сөндіріңіз және қосыңыз. Мобильді қосымшаның Motor ON түймесін басу моторды іске қосуы керек. Қозғалтқыш күйге қосылғаннан кейін бағдарлама тақтасында ON күйінде көрсетілуі керек. Тоқтату түймесін басу қозғалтқышты тоқтатуы керек.

Ләззат алыңыз !!!!

Ұсынылған: