Мазмұны:

IoT су дабылы: 5 қадам (суреттермен)
IoT су дабылы: 5 қадам (суреттермен)

Бейне: IoT су дабылы: 5 қадам (суреттермен)

Бейне: IoT су дабылы: 5 қадам (суреттермен)
Бейне: Загадка Титаника : Как они могли не заметить айсберг?! Самая подробная история! 2024, Шілде
Anonim
IoT су дабылы
IoT су дабылы

Мен жақында ас үйдегі су төгетін қондырғыны көрдім. Егер мен ол кезде үйде болмасам, бұл менің пәтерімде еден мен гипсокартонға зақым келтірер еді. Бақытымызға орай, мен проблеманы білдім және шелектегі суды шығаруға дайын болдым. Бұл мені су тасқыны туралы дабыл сатып алу туралы ойлады. Мен Amazon -да көптеген қол жетімді өнімдерді таптым, бірақ Интернетке қосылғандар теріс пікірлердің көп пайызын алды, бұл меншікті хабарландыру қызметтерінің мәселелеріне байланысты. Сондықтан мен таңдаған сенімді хабарландыру құралдарын қолданатын IoT су дабылы мен өзім жасауға шешім қабылдадым.

1 -қадам: жұмыс принципі

Жұмыс принципі
Жұмыс принципі

Дабылдың миында AVR ATtiny85 микроконтроллері бар. Ол аккумулятордан және су датчигінен кернеу көрсеткіштерін алады және оларды судың бар-жоғын немесе батареяның заряды төмен екенін анықтау үшін алдын ала анықталған мәнмен салыстырады.

Су сенсоры - бұл бір -бірінен шамамен 1 мм қашықтықта орналасқан екі сым. Сымдардың бірі 3,3 В кернеуіне, ал екіншісі микроконтроллердегі сенсорлық түйреуішке қосылады, ол да 0,5 МОм резистор арқылы жерге қосылады. Әдетте сенсор сымдарының арасындағы қарсылық өте жоғары (10 МОм -дан жоғары), сондықтан түйреуіш түйреуіш 0 В -қа дейін төмен тартылады, алайда сымдар арасында су болған кезде қарсылық 1 МОм -ден төмен түседі, және сенсорлық түйреуіш кернеуді көреді (менің жағдайда шамамен 1,5 В). ATtiny85 сенсорлық түйреуіште осы кернеуді анықтағанда, ол дыбыстық сигналды қосу үшін MOSFET-ті қосады және дабыл сигналын жіберуге жауапты ESP8266 модуліне ояту сигналын жібереді (электрондық пошта мен хабарландырулар). Бір минуттық дыбыстан кейін дабыл қарусызданады және оны тек велосипедпен қалпына келтіруге болады.

Бұл құрылғы екі сілтілі немесе NiMH жасушасынан тұрады. Микроконтроллер батареяларды үнемдеу үшін көп жағдайда ұйықтап жатады, мезгіл -мезгіл ояна отырып, су сенсоры мен батареялардың кернеуін тексереді. Егер аккумуляторлар аз болса, микроконтроллер ESP8266 модулін оятады, бұл батареяның заряды төмен екенін ескерту үшін. Ескертуден кейін батареяның шамадан тыс зарядталуын болдырмау үшін дабыл қарусыздандырылады.

ESP8266 модулі батареяның аздығы туралы ескертулерді, сондай -ақ су тасқыны туралы ескертуді жіберуге жауапты болғандықтан, ATiny85 басқару сигналын қажет етеді. Түйреуіштер саны шектеулі болғандықтан, бұл басқару сигналы аккумулятордың жарық диодты индикаторына жауап беретін сол түйреуіш арқылы жасалады. Қалыпты жұмыс кезінде (дабыл қарулы және батареялар зарядталған) жарық диоды мезгіл -мезгіл жыпылықтайды. Батарея заряды төмен болған жағдайда, жарық диоды қосылып, ESP модулінің RX істігіне жоғары сигнал береді. Егер су анықталса, батарея жарық диоды ESP8266 ояу күйінде өшеді.

2 -қадам: Дизайн және құрастыру

Дизайн және құрастыру
Дизайн және құрастыру
Дизайн және құрастыру
Дизайн және құрастыру
Дизайн және құрастыру
Дизайн және құрастыру

Мен схеманы негізінен 0805 SMD бөлшектерін қолдана отырып, екі жақты 4х6 см протоборға салу үшін жасадым. Ұсынылған схемалар осы конструкцияға негізделген, бірақ оны тесік компоненттері үшін оңай бейімдеуге болады (кеңес: кеңістікті азайту үшін, тесік арқылы резисторларды тігінен дәнекерлеу).

Келесі бөліктер қажет:

- резисторлар: 330 Ω x 1; 470 Ω x 1; 680 Ω x 1; 1 kΩ x 1; 10 kΩ x 3; 470 кОм х 3; - Бір 10 мкФ керамикалық конденсатор- Бір логикалық деңгейдегі N-каналды MOSFET (мысалы, RFP30N06LE немесе AO3400)- Бір қызыл және бір сары жарық диоды (немесе қаласаңыз, басқа түстер).- Екі сымды бұрандалы терминал қосқыштары x 3 (олар жоқ өте қажет, бірақ олар тестілеу кезінде периферияны қосуды және ажыратуды жеңілдетеді)- 3.3 V- ATtiny85 микроконтроллеріне (PDIP нұсқасы) жақсы келетін қатты пьезо-дыбыстық сигнал- микроконтроллерге арналған 8 істікшелі PDIP ұясы- ESP-01 модулі (оны басқа ESP8266 негізіндегі модульмен алмастыруға болады, бірақ бұл жағдайда орналасуда көп өзгерістер болады)-2,3 В кернеуде 200 мА (500 мА жарылыс) ток жеткізуге қабілетті 3,3 В тұрақты кернеулі тұрақты ток түрлендіргіші. енгізу. (Мен өте төмен тыныш токқа байланысты https://www.canton-electronics.com/power-converter… ұсынамын)-Бір 3 істікшелі аналық колонка-Екі 4 істікшелі әйел басы немесе бір 2x4 тақырып-22 AWG қатты сымдары су датчигі үшін- 22 AWG бұрандалы сым (немесе іздер жасау үшін жұқа ашық сымның басқа түрі)

Мен жоғарыда көрсетілген резистор мәндерін ұсынамын, бірақ олардың көпшілігін ұқсас мәндерге ауыстыруға болады. Қолданғыңыз келетін жарықдиодты шамалардың түріне байланысты керекті жарықтылықты алу үшін ток шектейтін резистор мәндерін реттеу қажет болуы мүмкін. MOSFET тесік немесе SMT (SOT23) болуы мүмкін. Тек 330 Ом резисторының бағдары MOSFET түріне әсер етеді. Егер сіз бұл тізбекті NiMH батареяларымен қолдануды жоспарласаңыз, PTC сақтандырғышы (мысалы, 1 А үшін есептелген) ұсынылады. Алайда, сілтілі батареялармен бұл қажет емес. Кеңес: бұл дабылға қажетті бөлшектерді ebay немесе aliexpress -тен арзан сатып алуға болады.

Сонымен қатар, сізге ESP-01 модулін бағдарламалау үшін нон тақтасы, бірнеше саңылауы бар 10к резисторы, бірнеше еркек-әйел және еркек-секіргіш («дюпонт») сымдары мен USB-UART адаптері қажет болады.

Су датчигін әр түрлі жолмен жасауға болады, бірақ ең қарапайымы - бір -бірінен шамамен 1 мм қашықтықта ашық ұштары (ұзындығы 1 см) бар 22 AWG сымы. Мақсат - су болған кезде сенсор контактілерінің арасында 5 МОм кедергісі аз.

Схема максималды батарея үнемдеуге арналған. Ол бақылау режимінде тек 40-60 мкА алады (ESP-01 модулінде қуат светодиодты алып тастағанда). Дабыл іске қосылғаннан кейін тізбек бір секундқа немесе одан аз уақытқа 300-500 мА (2,4 В кірісте) тартылады, содан кейін ток 180 мА төмен түседі. ESP модулі хабарландыруларды жіберуді аяқтағаннан кейін, дыбыстық сигнал өшірілгенше ағымдағы тұтыну 70 мА төмен түседі. Содан кейін дабыл өздігінен қарусызданады, ал ағымдағы тұтыну 30 мкА төмен болады. Осылайша, АА батареяларының жиынтығы тізбекті бірнеше ай бойы қуаттай алады (мүмкін бір жылдан астам). Егер сіз басқа күшейткіш түрлендіргішті қолдансаңыз, мысалы, 500 мкА тыныш токпен, батареяларды жиі өзгерту қажет болады.

Құрастыру бойынша кеңестер:

Дәнекерлеуді жеңілдету үшін протокол тақтасындағы барлық іздер мен компоненттерді белгілеу үшін тұрақты маркерді қолданыңыз. Мен келесі ретпен жалғастыруды ұсынамын:

- жоғарғы жағындағы SMT жарық диодтары мен оқшауланған сым көпірлері

-жоғарғы жағы MOSFET (ескерту: егер сізде SOT-23 MOSFET болса, оны фотосуреттегідей диагональ бойынша қойыңыз. Егер сіз тесік MOSFET қолдансаңыз, оны көлденеңінен қақпаның түйреуішін I3 күйінде орналастырыңыз.)

- тесік бөліктерінің үстіңгі жағы (ескерту: дыбыстық сигнал дәнекерленбейді және оны ПХД -ге орнатудың қажеті жоқ)

- SMT -тің артқы бөліктері мен іздері (мысалы, AWG22 сымының жеке жіптері)

3 -қадам: микробағдарлама

ATtiny85 үшін C коды

Main.c құрамында микроконтроллерге жинақталуы және жүктелуі қажет код бар. Егер сіз Arduino тақтасын бағдарламашы ретінде қолданғыңыз келсе, осы оқулықтан сымдардың схемасын таба аласыз. Сіз тек келесі бөлімдерді орындауыңыз керек (қалғандарын елемеңіз):

-Arduino Uno-ны провайдер ретінде теңшеу (жүйелік бағдарламалау)

- ATtiny85 -ті Arduino Uno -мен байланыстыру.

Микробағдарламаны құрастыру және жүктеу үшін сізге CrossPack (Mac OS үшін) немесе AVR құралдар тізбегі (Windows үшін) қажет болады. Кодты құрастыру үшін келесі пәрменді орындау қажет:

avr -gcc -Os -mmcu = attiny85 -c main.c; avr -gcc -mmcu = attiny85 -o main.elf main.o; avr -objcopy -j.мәтін -j.мәліметтер -O ihex main.elf main.hex

Микробағдарламаны жүктеу үшін келесі әрекеттерді орындаңыз:

avrdude -c arduino -p attiny85 -P /dev/cu.usbmodem1411 -b 19200 -e -U жарқыл: w: main.hex

«/Dev/cu.usbmodem1411» орнына сізге Arduino қосылған сериялық портты енгізу қажет болуы мүмкін (оны Arduino IDE: Tools Port бөлімінен табуға болады).

Код бірнеше функцияларды қамтиды. deep_sleep () микроконтроллерді өте төмен қуат күйіне шамамен 8 секунд ішінде енгізеді. read_volt () батарея мен сенсордың кернеуін өлшеу үшін қолданылады. Батарея кернеуі ішкі кернеу сілтемесімен (2,56 В плюс немесе минус бірнеше пайыз), ал сенсор кернеуі Vcc = 3,3 В -пен өлшенеді, көрсеткіштер сәйкесінше BATT_THRESHOLD және SENSOR_THRESHOLD 932 және 102 -ге сәйкес келеді, олар сәйкес келеді. ~ 2,3 және 0,3 В. Батареяның қызмет ету мерзімін жақсарту үшін сіз батареяның шекті мәнін төмендете аласыз, бірақ бұл ұсынылмайды (толық ақпарат алу үшін Батарея туралы ойларды қараңыз).

activate_alarm () суды анықтау туралы ESP модуліне хабарлайды және дыбыстық сигнал береді. low_batt_notification () ESP модуліне батареяның заряды төмен екендігі туралы хабарлайды, сонымен қатар дыбыстық сигнал береді. Егер сіз батареяны ауыстыру үшін түн ортасында оянғыңыз келмесе, low_batt_notification () ішіндегі «| 1 <» белгісін алып тастаңыз.

ESP-01 үшін Arduino эскизі

Мен ESP модулін Arduino HAL көмегімен бағдарламалауды таңдадым (орнату нұсқауларын алу үшін сілтемені қараңыз). Сонымен қатар, мен келесі екі кітапхананы қолдандым:

ESP8266 Górázz Péter электрондық поштасын жіберу

ESP8266 Ардуино Ганновер командасының итермелеуі

Бірінші кітапхана SMTP серверіне қосылады және сіздің электрондық пошта мекенжайыңызға ескерту жібереді. ESP үшін Gmail тіркелгісін жасаңыз және кодқа тіркелгі деректерін қосыңыз. Екінші кітапхана Pushover қызметі арқылы push хабарландыруларын жібереді (хабарландырулар тегін, бірақ қосымшаны телефонға/планшетке орнату үшін бір рет төлеу керек). Екі кітапхананы да жүктеңіз. Электрондық поштаны жіберу кітапханасының мазмұнын эскиз қалтасына салыңыз (arduino эскизін бірінші рет ашқанда жасайды). Pushover кітапханасын IDE арқылы орнатыңыз (Sketch -> Include Library -> Add. ZIP library).

ESP-01 модулін бағдарламалау үшін келесі оқулықты орындауға болады: https://www.allaboutcircuits.com/projects/breadbo… Нұсқаулықта көрсетілгендей, түйреуіштердің бір қатарын қайта сатумен айналысудың қажеті жоқ-тек әйел-еркек дюпонды қолданыңыз. модульдің түйреуіштерін тақтаға жалғауға арналған сымдар. Күшейту түрлендіргіші мен USB-UART адаптері жерге қосылуы керек екенін ұмытпаңыз (ескерту: сіз USB-UART адаптерінің күшейткіш түрлендіргішінің орнына 3.3 В шығуын қолдана аласыз, бірақ ол мүмкін емес. жеткілікті ток шығара алады).

4 -қадам: Батареяға қатысты мәселелер

Берілген микробағдарлама коды батареяның заряды аз екендігі туралы ескерту жіберу үшін алдын ала конфигурацияланған және ~ 2,3 В шамасында өшеді. Бұл шекті екі NiMH батареясы сериялы пайдаланылады деген болжамға негізделген. NiMH ұяшығын 1 В -тан төмен түсіру ұсынылмайды, егер екі ұяшықтың да сыйымдылығы мен разряд сипаттамалары бірдей болса, олардың екеуі де ~ 1.15 В - қауіпсіз ауқымда жақсы ажыратылады. Алайда, көптеген разряд циклдарында қолданылған NiMH жасушалары сыйымдылығымен ерекшеленеді. Сыйымдылықтың 30% -ға дейінгі айырмашылығына жол беруге болады, себебі бұл әлі де кернеудің ең төменгі нүктесі 1 В айналасында болады.

Микробағдарламада батареяның төмен шегін төмендету мүмкін болса да, бұл қауіпсіздік маржасын жояды және аккумулятордың шамадан тыс заряды мен зақымдалуына әкелуі мүмкін, ал батареяның қызмет ету мерзімін ұлғайтуды күту керек (NiMH ұяшығы> 85% разряд 1.15 В).

Еске алу қажет тағы бір фактор-күшейткіш түрлендіргіштің қуаты төмен батареяларда 300-500 мА максималды ток кезінде кемінде 3,0 В (анекдоттық дәлелдер бойынша 2,5 В) қамтамасыз ету мүмкіндігі. NiMH аккумуляторларының ішкі қарсылықтарының төмендігі максималды ток кезінде 0,1 В шамалы ғана төмендеуді тудырады, сондықтан 2,3 В (ашық тізбек) зарядталған NiMH ұяшықтарының жұбы күшейткіш түрлендіргішке кемінде 2,2 В қамтамасыз ете алады. Бұл сілтілі батареялармен күрделірек. 2,2-2,3 В (ашық схема) кернеуінде орналасқан жұп АА батареялары кезінде ең жоғары токтарда 0,2-0,4 В кернеудің төмендеуі күтіледі. Мен схема максималды токтарда 1,8 В шамасында ұсынылатын күшейткіш түрлендіргішпен жұмыс істейтінін тексергеніммен, бұл шығыс кернеуі Эспрессиф ұсынған мәннен біршама төмен түсуі мүмкін. Осылайша, 2,3 В шектік шектік сілтілі аккумуляторлармен қауіпсіздіктің шамалы шегін қалдырады (микроконтроллер жүргізетін кернеуді өлшеу тек плюс немесе минус бірнеше пайыз ішінде дәл болатынын есте сақтаңыз). Сілтілік батареялар аз болған кезде ESP модулінің істен шықпауын қамтамасыз ету үшін мен шектеу кернеуін 2,4 В дейін жоғарылатуды ұсынамын (#define BATT_THRESHOLD 973). 1,2 В (ашық схема) кезінде сілтілік жасуша шамамен 70% шығарылады, бұл әр ұяшыққа 1,15 В разряд дәрежесінен 5-10 пайызға ғана төмен.

NiMH де, сілтілік жасушалар да бұл қосымшаның артықшылықтары мен кемшіліктеріне ие. Сілтілі аккумуляторлар қауіпсіз (егер тұйықталса отқа оранбаңыз) және олардың өздігінен зарядталу жылдамдығы әлдеқайда төмен. Алайда, NiMH аккумуляторлары ESP8266 сенімді жұмысына кепілдік береді, себебі олардың ішкі кедергісі төмен. Бірақ, сайып келгенде, кез келген түрді кейбір сақтық шаралары бойынша қолдануға болады, сондықтан бұл тек жеке қалау мәселесі.

5 -қадам: Заңды жауапкершіліктен бас тарту

Бұл схеманы кәсіби емес әуесқой әуесқойлыққа арналған қосымшалар үшін ғана жасаған. Бұл дизайн адал ниетпен бөлісілген, бірақ ешқандай кепілдік жоқ. Оны қолданыңыз және өз тәуекеліңізбен басқалармен бөлісіңіз. Схеманы қайта құру арқылы сіз өнертапқыш осы схеманың дұрыс жұмыс істемеуінен немесе қалыпты қолданылуынан тікелей немесе жанама түрде туындауы мүмкін кез келген зақымға (оның ішінде активтердің құнсыздануы мен жеке жарақатқа қоса) жауап бермейтініне келісесіз. Егер сіздің елдің заңдары жауапкершіліктен бас тартуды жоққа шығарса немесе тыйым салса, сіз бұл дизайнды пайдалана алмайсыз. Егер сіз осы дизайнды немесе осы дизайнға негізделген модификацияланған схеманы бөліссеңіз, осы нұсқаулықтың URL мекенжайын көрсете отырып, бастапқы өнертапқышқа несие беруіңіз керек.

Ұсынылған: