Мазмұны:
- 1 -қадам: Артқы тарих …
- 2 -қадам: Бұл қалай жұмыс істейді
- 3 -қадам: материалдар мен құралдар
- 4 -қадам: Барлығын бірге түзетіңіз
- 5 -қадам: Заттарды біріктіріңіз
- 6 -қадам: сенсорларды қосу
- 7 -қадам: Контроллер бағдарламалық қамтамасыз ету
- 8 -қадам: Қорытынды
Бейне: Ақаулыққа төзімді температура сенсорының желілік контроллері: 8 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл нұсқаулық Arduino Uno тақтасын ақаулы сенсорларды автоматты түрде оқшаулауға қабілетті DS18B20 температура датчиктерінің жиынтығына арналған бір мақсатты контроллерге қалай өзгерту керектігін көрсетеді.
Контроллер Arduino Uno көмегімен 8 сенсорға дейін басқара алады. (Және тағы басқалары Arduino Mega көмегімен немесе бағдарламалық қамтамасыз етуді аздап өзгерту арқылы.)
1 -қадам: Артқы тарих …
Бірнеше жыл бұрын мен әкемнің жылыжайында DS18B20 температура сенсорлық желісін пи негізіндегі жылытқышқа орнаттым. Өкінішке орай, контроллердің сенімділігі сенсордың жиі үзілуіне байланысты нашар болды. Мен бірнеше қондырғыларды сынап көрдім - паразиттік қуат, тікелей қуат, желіні pi -ге қосу, сонымен қатар оны Atmega негізіндегі арнайы тақтаға қосу (оның негізгі мақсаты клапан қозғалтқыштарын басқару).
Ең сорақысы, сенсорлық желінің сенімділігі қыс мезгілінде төмендеді, ал жазда проблемалар болмады! Бұл жерде не болып жатыр?
Қандай сенсор ақаулық тудыратынын анықтау үшін оларды бір-бірлеп қосу/өшіру немесе олардың кез келген комбинациясын қосу қажеттілігі туындады.
2 -қадам: Бұл қалай жұмыс істейді
DS18B20 (температура сенсоры) меншікті 1 сымды протоколды қолданады, ол бірнеше сенсорларға ортақ деректер сілтемесін (бір сымды) бөлісуге мүмкіндік береді. Бұл ортақ деректер сілтемесі Arduino GPIO түйреуіштерінің біріне және + 5 В-қа тартқыш резистор арқылы қосылады-бұл сирек емес, көптеген нұсқаулар бұл орнатуды қамтиды.
Әр сенсордың қуат сымдары GPIO меншікті (арнайы) түйреуіштеріне қосылады, осылайша оларды бөлек қосуға және өшіруге болады. Мысалы, егер сенсорда №3 түйреуішке және GND № 2 түйінге қосылған Vcc сымы болса, №3 түйреуішті ЖОҒАРЫ күйге келтіру сенсордың қуатын қамтамасыз етеді (таңқаларлық емес), ал түйреуішті LOW деңгейіне қою жерге тұйықталуды қамтамасыз етеді. мен). Екі түйреуішті де кіріс режиміне қою сенсорды және оның сымдарын (дерлік) толығымен оқшаулайды - оның ішінде қандай ақаулық (мысалы, жарлық) болғанына қарамастан, ол басқаларға кедергі болмайды.
(Деректер сымын Arduino -ға қосылған басқа нәрсеге қосу шынымен де кедергілерді тудырады деп айтуға болады, бірақ бұл менің қондырғымда мүмкін емес).
Назар аударыңыз, DS18B20 1, 5 мА дейін тұтынады, ал бір Arduino түйрегіші 40 мА дейін жеткізе алады / сіңіре алады, сондықтан сенсорларды GPIO түйреуіштері арқылы тікелей қуаттандыру қауіпсіз.
3 -қадам: материалдар мен құралдар
Материал
- 1 Arduino UNO тақтасы
- 3 әйел түйреуіш тақырыптары: 1 × 4, 1 × 6 және 1 × 6 (немесе ұзағырақ - мен оларды 1 × 40 үстіңгі деректемеден қиып алдым)
- желім
- жалаңаш сымның бір бөлігі (кемінде 10 см)
- оқшаулағыш таспа
- дәнекерлеу материалдары (сым, ағын …)
Құралдар
- дәнекерлеу жабдығы (темір, ұстағыш, …)
- ұсақ кескіш қысқыштар
4 -қадам: Барлығын бірге түзетіңіз
Әйелдер түйреуіштерін Arduino тақтасының тақырыптарына жабыстырыңыз:
- A0-A4 түйреуіштері бар «аналогты» түйреуіштің жоғарғы жағында 1 × 4 тақырып
- 1 × 6 жоғарғы сандық түйреуіштің жоғарғы жағында, 2-7 түйреуіштермен қатар
- 8 × 13 түйреуіштері бар екінші сандық штрихтің жоғарғы жағында 1 × 6 тақырыбы
Менің тақырыптарым сәл ұзарғанына назар аударыңыз … оның кемшіліктері мен артықшылықтары жоқ деп ойлаймын.
5 -қадам: Заттарды біріктіріңіз
1 сымды автобус желісінің сымдары:
- Жалаңаш сымның бір бөлігін дәнекерлеу арқылы «сандық» жағынан (2–13 түйреуіштердің жанында) желімделген тақырыптардың барлық ұштарын жалғаңыз.
- Бұл сымның ұшын SCL түйреуішіне дәнекерлеңіз (A5 ішіне қосылған)
- Жалаңаш сымның бір бөлігін дәнекерлеу арқылы «аналогты» жағындағы (A0 -A3 түйреуіштері) желімделген тақырыптың барлық сымдарын қосыңыз.
- Бұл сымның ұшын A4 және A5 сымдарына дәнекерлеңіз (менде A5 және A6 қолдандым, себебі менде A6 & A7 тақтасы бар)
- Осы сымның екінші ұшы мен +5 В істікшесі арасындағы 4k7 резисторды дәнекерлеңіз
Ескертулер:
- A0 -A5 түйреуіштері «аналогты» деп белгіленгенімен, GPIO сандық түйреуіштері ретінде де қолданыла алады.
- «Сандық» жағындағы SCL түйрегіші «аналогты» жағында A5 -ке ішкі түрде қосылған; тақырыптарға қосылған, бұл 1 сымды автобус желісін құрайды
- А4 (аналогтық кіріс ретінде қолданылады) диагностикалық мақсатта шинаның кернеуін өлшейді. Автобусқа тікелей қосылуының себебі де осы.
- Мен A4 орнына A6 қолдандым, себебі менде A6 & A7 тақтасы бар; Бастапқыда мен A7-ді 1 сымды шина мастері ретінде қолданғым келді, бірақ бұл екі істікті сандық GPIO ретінде конфигурациялау мүмкін емес.
- Датчик қосқыштарының қате қосылуын болдырмау үшін, әр еркек қосқыштан пайдаланылмаған контактіні (сымға қосылмаған) алып тастауға / кесуге және желімделген түйреуіштің жоғарғы жағындағы тиісті тесікке енгізуге болады.
6 -қадам: сенсорларды қосу
Сіз жай ғана 8 × 2 розеткадан тұратын массив құрдыңыз. Сенсорлық кабельдерге 2 × 2 дюпон қосқыштарын дәнекерлеуге және жинауға және оларды осы розеткаларға қосуға болады. Бағдарламалық қамтамасыз ету түйреуіштерді GND түйреуіштері, ал тақ түйреуіштер Vcc түйреуіштері болатындай етіп бекітеді. Әр сенсор үшін Vcc түйрегіші GND + 1 түйрегіші болып табылады. 2 × 2 розетканың басқа екі түйреуішінің бірі (желімделген және дәнекерленген тақырыптағы екеуінің бірі) сенсордың деректер сымына арналған. Сіз қайсысын қолданғаныңыз маңызды емес.
7 -қадам: Контроллер бағдарламалық қамтамасыз ету
SerialThermometer эскизі контроллерді басқарады. Сіз оны github -тан таба аласыз. Arduino IDE көмегімен ашыңыз және жүктеңіз.
Бірте-бірте:
- Arduino IDE ашыңыз және DallasTemperature кітапханасын және оның барлық тәуелділіктерін Sketch | арқылы орнатыңыз Кітапхананы қосу | Кітапханаларды басқару.
- Гит репозиторийін клондау. Егер git -мен таныс болмасаңыз, бұл zip -ті компьютердің кез келген жерінен жүктеп алып, шығарыңыз.
- Arduino IDE -де SerialThermometer эскизін ашыңыз.
- Өзгертілген Arduino тақтасын компьютерге USB кабелі арқылы қосыңыз (стандартты әдіс)
- Эскизді Arduino IDE көмегімен жүктеңіз
- Сериялық мониторды құралдар арқылы ашу | Сериялық монитор
- Сіз бірнеше физикалық өлшеулерді қамтитын диагностикалық шығуды көруіңіз керек, содан кейін температура көрсеткіштері - әрбір сенсор розеткасы бір жолда. Егер сенсордың саны бөлек қосылғанда және бәрі бірге қосылғанда әр түрлі болса) диагностикалық циклдар шешілгенше. Бірақ уайымдамаңыз, сонымен қатар диагностика температураны өлшеуді қамтамасыз етеді!
Диагностикалық нәтиже туралы қосымша ақпарат алу үшін аннотацияланған суретті қараңыз.
8 -қадам: Қорытынды
Мен сенсорлық желінің істен шығуы менің ұзын сымдардың жоғары сыйымдылығынан туындағанын қатты сеземін - әр сенсор үшін шамамен 10 м LIYY 314 (3 × 0, 14 мм²) кабель. Менің эксперименттерім көрсеткендей, егер 1 сымды автобус пен жердің арасындағы сыйымдылық 0,01 мкФ-тан жоғары болса немесе байланыс үзілсе, менің ойымша, 4к7 тартқыш резистор автобусты + 5 В-қа дейін протоколдық шектеулерге сәйкес жеткілікті жылдам тарта алмайды..
Менің қондырғымда бұл 3 -тен астам сенсор бір -біріне қосылған кезде болады. Содан кейін контроллер диагностикалық циклде ілінеді, температураны сенсормен өлшейді (бұл не керемет …)
Сонымен қатар 5 -ші сенсор (28: ff: f2: 41: 51: 17: 04: 31) өте нашар көрінеді (мүмкін, дәнекерлеу дұрыс емес), сондықтан мен одан әрі зерттей аламын!
Ұсынылған:
Raspberry Pi көмегімен жарық пен температура сенсорының мәліметтерін оқу және сызу: 5 қадам
Raspberry Pi көмегімен жарық пен температура сенсорының деректерін оқу және сызу: Бұл нұсқаулықта сіз таңқурай pi мен ADS1115 аналогы бар жарық пен температура сенсорын цифрлық түрлендіргішке қалай оқуға болатынын және оны matplotlib көмегімен диаграммалауды үйренесіз. Қажетті материалдардан бастайық
MSP432 LaunchPad пен Python көмегімен температура сенсорының (TMP006) тірі деректерін сызу: 9 қадам
MSP432 LaunchPad және Python көмегімен температура сенсорының (TMP006) тірі деректерін сызу: TMP006 - бұл температура сенсоры, ол объектімен байланыс орнатпай -ақ, оның температурасын өлшейді. Бұл оқулықта біз Python көмегімен BoosterPack (TI BOOSTXL-EDUMKII) температурасының тірі деректерін құрамыз
DS18B20 температура сенсорының қорабы: 5 қадам
DS18B20 температура сенсоры қорабы: ашық бастапқы коды бар 3D басып шығарылатын қорабы мен ПТБ прототипі бар DS18B20 негізіндегі қарапайым температура датчигі. Қорап пен ПХД прототипі міндетті емес, тек бір ESP8266 негізіндегі MCU және бір DS18B20 температура датчигі қажет. Мен сізге WEMOS D1 минут ұсынамын
Сымсыз температура мен ылғалдылық сенсорының мәліметтерін Excel -ге жіберу: 34 қадам
Excel -ге сымсыз температура мен ылғалдылық сенсорының деректерін жіберу: Біз мұнда NCD температурасы мен ылғалдылығы сенсорын қолданамыз, бірақ кез келген ncd өніміне арналған қадамдар бірдей болады, сондықтан егер сізде басқа ncd сымсыз сенсорлары болса, оларды басқа құрылғылармен бірге бақылаңыз. Бұл мәтінді тоқтату арқылы сізге
IoT желілік контроллері. 9 -бөлім: IoT, үйді автоматтандыру: 10 қадам (суреттермен)
IoT желілік контроллері. 9 -бөлім: IoT, Үйдегі автоматтандыру: Жауапкершіліктен бас тарту ОСЫ БІРІНШІДЕН ОҚЫҢЫЗ Бұл нұсқаулықта электр қуатын пайдаланатын жоба егжей -тегжейлі сипатталған (мысалы, Ұлыбритания 240VAC RMS), қауіпсіз тәжірибе мен жақсы дизайн принциптерін қолдануға мұқият болған кезде, әрқашан өлім қаупі бар. сайлау