Мазмұны:

Ақаулыққа төзімді температура сенсорының желілік контроллері: 8 қадам
Ақаулыққа төзімді температура сенсорының желілік контроллері: 8 қадам

Бейне: Ақаулыққа төзімді температура сенсорының желілік контроллері: 8 қадам

Бейне: Ақаулыққа төзімді температура сенсорының желілік контроллері: 8 қадам
Бейне: Один из последних атмосферных дизелей от VW: 1.7 SDI (AKU) 2024, Шілде
Anonim
Ақаулыққа төзімді температура сенсорының желі контроллері
Ақаулыққа төзімді температура сенсорының желі контроллері

Бұл нұсқаулық 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 тақтасының тақырыптарына жабыстырыңыз:

  1. A0-A4 түйреуіштері бар «аналогты» түйреуіштің жоғарғы жағында 1 × 4 тақырып
  2. 1 × 6 жоғарғы сандық түйреуіштің жоғарғы жағында, 2-7 түйреуіштермен қатар
  3. 8 × 13 түйреуіштері бар екінші сандық штрихтің жоғарғы жағында 1 × 6 тақырыбы

Менің тақырыптарым сәл ұзарғанына назар аударыңыз … оның кемшіліктері мен артықшылықтары жоқ деп ойлаймын.

5 -қадам: Заттарды біріктіріңіз

Заттарды бірге сыммен байланыстырыңыз
Заттарды бірге сыммен байланыстырыңыз
Заттарды бірге сыммен байланыстырыңыз
Заттарды бірге сыммен байланыстырыңыз

1 сымды автобус желісінің сымдары:

  1. Жалаңаш сымның бір бөлігін дәнекерлеу арқылы «сандық» жағынан (2–13 түйреуіштердің жанында) желімделген тақырыптардың барлық ұштарын жалғаңыз.
  2. Бұл сымның ұшын SCL түйреуішіне дәнекерлеңіз (A5 ішіне қосылған)
  3. Жалаңаш сымның бір бөлігін дәнекерлеу арқылы «аналогты» жағындағы (A0 -A3 түйреуіштері) желімделген тақырыптың барлық сымдарын қосыңыз.
  4. Бұл сымның ұшын A4 және A5 сымдарына дәнекерлеңіз (менде A5 және A6 қолдандым, себебі менде A6 & A7 тақтасы бар)
  5. Осы сымның екінші ұшы мен +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 көмегімен ашыңыз және жүктеңіз.

Бірте-бірте:

  1. Arduino IDE ашыңыз және DallasTemperature кітапханасын және оның барлық тәуелділіктерін Sketch | арқылы орнатыңыз Кітапхананы қосу | Кітапханаларды басқару.
  2. Гит репозиторийін клондау. Егер git -мен таныс болмасаңыз, бұл zip -ті компьютердің кез келген жерінен жүктеп алып, шығарыңыз.
  3. Arduino IDE -де SerialThermometer эскизін ашыңыз.
  4. Өзгертілген Arduino тақтасын компьютерге USB кабелі арқылы қосыңыз (стандартты әдіс)
  5. Эскизді Arduino IDE көмегімен жүктеңіз
  6. Сериялық мониторды құралдар арқылы ашу | Сериялық монитор
  7. Сіз бірнеше физикалық өлшеулерді қамтитын диагностикалық шығуды көруіңіз керек, содан кейін температура көрсеткіштері - әрбір сенсор розеткасы бір жолда. Егер сенсордың саны бөлек қосылғанда және бәрі бірге қосылғанда әр түрлі болса) диагностикалық циклдар шешілгенше. Бірақ уайымдамаңыз, сонымен қатар диагностика температураны өлшеуді қамтамасыз етеді!

Диагностикалық нәтиже туралы қосымша ақпарат алу үшін аннотацияланған суретті қараңыз.

8 -қадам: Қорытынды

Мен сенсорлық желінің істен шығуы менің ұзын сымдардың жоғары сыйымдылығынан туындағанын қатты сеземін - әр сенсор үшін шамамен 10 м LIYY 314 (3 × 0, 14 мм²) кабель. Менің эксперименттерім көрсеткендей, егер 1 сымды автобус пен жердің арасындағы сыйымдылық 0,01 мкФ-тан жоғары болса немесе байланыс үзілсе, менің ойымша, 4к7 тартқыш резистор автобусты + 5 В-қа дейін протоколдық шектеулерге сәйкес жеткілікті жылдам тарта алмайды..

Менің қондырғымда бұл 3 -тен астам сенсор бір -біріне қосылған кезде болады. Содан кейін контроллер диагностикалық циклде ілінеді, температураны сенсормен өлшейді (бұл не керемет …)

Сонымен қатар 5 -ші сенсор (28: ff: f2: 41: 51: 17: 04: 31) өте нашар көрінеді (мүмкін, дәнекерлеу дұрыс емес), сондықтан мен одан әрі зерттей аламын!

Ұсынылған: