Мазмуну:

Катачылыкка чыдамдуу Температура сенсорунун тармак контролери: 8 кадам
Катачылыкка чыдамдуу Температура сенсорунун тармак контролери: 8 кадам

Video: Катачылыкка чыдамдуу Температура сенсорунун тармак контролери: 8 кадам

Video: Катачылыкка чыдамдуу Температура сенсорунун тармак контролери: 8 кадам
Video: Чок/ Бейтс 🥇 Россиянын машыктыруучулары, эң тердеген конькичи❗️ Сайтама коньки тебүү боюнча дүйнө 2024, Июль
Anonim
Катачылыкка чыдамдуу Температура сенсорунун тармак контролери
Катачылыкка чыдамдуу Температура сенсорунун тармак контролери

Бул көрсөтмө сизге Arduino Uno тактасын туура эмес сенсорлорду автоматтык түрдө изоляциялоого жөндөмдүү DS18B20 температура сенсорлорунун топтому үчүн бир максаттуу контроллерге кантип айландырууну көрсөтөт.

Контроллер Arduino Uno менен 8 сенсорго чейин башкара алат. (Жана дагы көп нерселер Arduino Mega менен же программалык камсыздоону бир аз өзгөртүү менен.)

1 -кадам: Окуянын артында…

Бир нече жыл мурун мен атамдын күнөсканасында DS18B20 температура сенсорунун тармагын пи негизиндеги жылытуучу контроллерим үчүн орноттум. Тилекке каршы, контроллердин ишенимдүүлүгү начар болчу, негизинен сенсордун тез -тез өчүп калышы. Мен бир нече орнотууларды сынап көрдүм - паразиттик күч, түз кубат, тармакты пи менен туташтыруу, ошондой эле аны Атмегага негизделген бажы тактасына туташтыруу (негизги максаты клапан моторлорун айдоо).

Эң жаманы, сенсордук тармактын ишенимдүүлүгү негизинен кыштын түнүндө төмөндөдү, ал эми жайында эч кандай көйгөй болгон жок! Кыргызстан эмне кылды бул жерде эмне болуп жатат?

Кайсы сенсор көйгөйгө алып келерин иликтөө үчүн, аларды бирден-бир күйгүзүү/өчүрүү же алардын кандайдыр бир айкалышын иштетүү зарылдыгы келип чыккан.

2 -кадам: Бул кантип иштейт

DS18B20 (температура сенсору) менчик 1 зымдуу протоколду колдонот, ал бир нече сенсорлорго жалпы маалымат шилтемесин (ошол бир зым) бөлүшүүгө мүмкүндүк берет. Бул жалпы маалымат шилтемеси Arduino GPIO төөнөгүчтөрүнүн бирине туташтырылган жана 5 В тартылуу каршылыгы аркылуу туташат-сейрек эмес, көптөгөн көрсөтмөлөр бул орнотууну камтыйт.

Ар бир сенсордун электр өткөргүчтөрү GPIO казандарына туташып турат, ошондуктан алар өзүнчө күйгүзүлүп жана өчүрүлүшү мүмкүн. Мисалы, эгер сенсордо VC коргошун #3 пинге жана GNDге #2 пинге туташкан болсо, пиндин #3үн ЖОКко коюу сенсордун кубаттуулугун камсыз кылат (сюрприз жок), ал эми пиндин №2ди ТӨМӨНгө коюу жерди камсыздайт (кичинекей сюрприз) мага). Эки пинди киргизүү режимине коюу (дээрлик) сенсорду жана анын зымдарын толугу менен изоляциялайт - анын ичинде кандай катачылык болбосун (мисалы, жарлык), ал башкаларга тоскоол болбойт.

(Маалымат зымын кандайдыр бир жол менен Arduino менен байланышкан нерсеге туташтыруу кийлигишүүгө алып келет деп айтуу туура болот, бирок менин орнотуумда бул дээрлик мүмкүн эмес).

Байкаңыз, DS18B20 1, 5 мАга чейин керектейт, ал эми бир Arduino пин 40 мА чейин булак алат / чөгөт, ошондуктан сенсорлорду GPIO казыктары аркылуу түздөн -түз коопсуз кылуу үчүн коопсуз.

3 -кадам: материалдар жана шаймандар

Материал

  • 1 Arduino UNO башкармалыгы
  • 3 ургаачы пин баштары: 1 × 4, 1 × 6 жана 1 × 6 (же узунураак - мен аларды 1 × 40 баштан кесип алдым)
  • клей
  • жылаңач коопер зымынын бир бөлүгү (кеминде 10 см)
  • изоляциялоочу тасма
  • керектөө материалдары (зым, агым…)

Куралдар

  • ширетүүчү жабдуулар (темир, кармагычтар, …)
  • кичинекей кычкачтар

4 -кадам: Бардыгын бирге оңдоңуз

Бирге нерселерди оңдоо
Бирге нерселерди оңдоо

Аялдын пин башын Arduino тактасынын башына чаптаңыз:

  1. "Аналогдук" төөнөгүчтүн жанында 1 × 4 аталышы, A0 – A4 төөнөгүчтөрү бар
  2. Биринчи санарип төөнөгүчтүн жанында 1 × 6 аталышы, 2–7-казыктары менен капталга
  3. 1 × 6 экинчи санарип төөнөгүчтүн жанында, 8-13 казыктары менен капталга

Менин баштарым бир аз узунураак экенине көңүл бургула … анын эч кандай жаман жактары жана артыкчылыктары жок деп ойлойм.

5 -кадам: нерселерди чогуу тартыңыз

Wire Things Together
Wire Things Together
Wire Things Together
Wire Things Together

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 (аналогдук киргизүү катары колдонулат) диагностикалык максаттар үчүн автобустун чыңалуусун өлчөйт. Бул автобуска түздөн -түз туташканынын себеби.
  • Мен A6 ордуна A6 колдондум, анткени менде A6 & A7 бар такта бар; Башында мен A7ди 1 зымдуу автобус мастери катары колдонгум келген, бирок бул эки казыкты санарип GPIO катары конфигурациялоо мүмкүн эмес.
  • Сенсор коннекторлорунун туура эмес туташуусуна жол бербөө үчүн, ар бир эркек туташтыргычтан колдонулбаган контактты (эч кандай зымга туташпаган) чыгарып / кесип, аны чапталган пин башындагы тиешелүү тешикке салыңыз.

6 -кадам: сенсорлорду туташтыруу

Сенсорлорду туташтыруу
Сенсорлорду туташтыруу

Сиз жөн эле сегиз 2 × 2 розеткадан турган массив түздүңүз. Сенсордук кабелдерге 2 × 2 Dupont коннекторлорун туташтырып, чогултуп, аларды бул розеткаларга туташтырсаңыз болот. Программалык камсыздоо казыктарды конфигурациялайт, ал тургай казыктар GND казыктары жана так казыктар Vcc казыктары. Ар бир сенсор үчүн Vcc пин - бул жөн эле GND пин + 1. 2 × 2 розеткасынын башка эки казыгынын бири (чапталган жана ширетилген баштагы экөөнүн бири) сенсордун маалымат зымы үчүн. Кайсынысын колдонгонуңуз маанилүү эмес.

7 -кадам: Controller программалык камсыздоо

Controller Software
Controller Software

SerialThermometer эскизи контролерду иштетет. Сиз аны githubдан таба аласыз. Ачуу жана Arduino IDE аркылуу жүктөө.

Кадам менен:

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

Диагностикалык чыгаруу жөнүндө кененирээк маалымат алуу үчүн аннотацияланган сүрөттү караңыз.

8 -кадам: Жыйынтык

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

Менин орнотуумда бул 3төн ашык сенсор бири -бирине туташканда болот. Андан кийин, контролер температура сенсорун өлчөөчү диагностикалык циклде айланат (бул эмне сонун …)

Ошондой эле 5 -сенсор (28: ff: f2: 41: 51: 17: 04: 31) абдан начар көрүнөт (балким, туура эмес ширетүү), ошондуктан мен андан ары иликтей алам!

Сунушталууда: