Orodha ya maudhui:

Kidhibiti cha Mtandao cha Sensor ya Uvumilivu wa Kosa: Hatua 8
Kidhibiti cha Mtandao cha Sensor ya Uvumilivu wa Kosa: Hatua 8

Video: Kidhibiti cha Mtandao cha Sensor ya Uvumilivu wa Kosa: Hatua 8

Video: Kidhibiti cha Mtandao cha Sensor ya Uvumilivu wa Kosa: Hatua 8
Video: Ein Überblick über Dysautonomie auf Deutsch 2024, Novemba
Anonim
Kidhibiti cha Mtandao cha Sensor ya Uvumilivu wa Kosa
Kidhibiti cha Mtandao cha Sensor ya Uvumilivu wa Kosa

Agizo hili linaonyesha jinsi ya kubadilisha bodi ya Arduino Uno kuwa kidhibiti-kusudi moja kwa seti ya sensorer ya joto ya DS18B20 inayoweza kutenganisha kiotomatiki sensorer mbaya.

Mdhibiti anaweza kudhibiti hadi sensorer 8 na Arduino Uno. (Na mengi zaidi na Arduino Mega au na muundo kidogo wa programu.)

Hatua ya 1: Hadithi Nyuma…

Miaka michache iliyopita nilianzisha mtandao wa sensorer ya joto ya DS18B20 katika chafu ya baba yangu kwa mtawala wangu wa kupokanzwa wa pi. Kwa bahati mbaya, kuegemea kwa mtawala kulikuwa duni hasa kwa sababu ya kukatika kwa sensa mara kwa mara. Nilijaribu usanidi anuwai - nguvu ya vimelea, nguvu ya moja kwa moja, kuunganisha mtandao kwenda pi na pia kuiunganisha kwa bodi ya forodha ya Atmega (ambayo kusudi kuu lilikuwa kuendesha motors za valve).

Mbaya zaidi, uaminifu wa mtandao wa sensorer umeshuka haswa wakati wa majira ya baridi wakati kulikuwa hakuna shida wakati wa kiangazi! Je! Ni nini kinachoendelea hapa?

Kuchunguza ni sensor gani inayosababisha shida, ilionekana haja ya kuwasha / kuzima moja kwa moja au kuwezesha mchanganyiko wao wowote.

Hatua ya 2: Jinsi inavyofanya kazi

DS18B20 (sensorer ya joto) hutumia itifaki ya wamiliki ya waya 1 ambayo inaruhusu sensorer nyingi kushiriki kiunga cha data kawaida (waya mmoja). Kiunga hiki cha kawaida cha data kimeunganishwa na moja ya pini za GPIO ya Arduino na kwa + 5 V kupitia kontena la kuvuta - hakuna jambo la kawaida, mafundisho mengi hufunika usanidi huu.

Ujanja ni kwamba miongozo ya nguvu ya kila sensor imeunganishwa na pini (za kujitolea) za GPIO, ili ziweze kuwashwa na kuzimwa kando. Kwa mfano, ikiwa sensa ina risasi ya Vcc iliyounganishwa na pini # 3 na GND kubandika # 2, kuweka pini # 3 hadi HIGH hutoa nguvu kwa sensor (haishangazi) wakati kuweka pin # 2 hadi chini inatoa ardhi (mshangao mdogo kwa mimi). Kuweka pini zote mbili kwa hali ya kuingiza (karibu) kutenganisha kabisa sensorer na wiring yake - bila kujali ni kushindwa (kwa mfano njia ya mkato) hufanyika ndani yake, haitaingiliana na zingine.

(Sio sawa kusema kwamba kuunganisha waya wa data na kitu kingine kilichounganishwa kwa njia fulani na Arduino kutasababisha kuingiliwa, lakini ni ngumu sana katika usanidi wangu).

Kumbuka kuwa DS18B20 hutumia hadi 1, 5 mA wakati pini moja ya Arduino inaweza kupata / kuzama hadi 40 mA, kwa hivyo ni salama kabisa kwa sensorer za umeme na pini za GPIO moja kwa moja.

Hatua ya 3: Nyenzo na Zana

Nyenzo

  • 1 Arduino UNO bodi
  • Vichwa 3 vya pini vya kike: 1 × 4, 1 × 6 na 1 × 6 (au zaidi - nilizikata kutoka kwa kichwa 1 × 40)
  • gundi
  • kipande cha waya wazi wa ushirika (angalau 10 cm)
  • mkanda wa kuhami
  • bidhaa za kutengenezea (waya, mtiririko…)

Zana

  • vifaa vya kutengenezea (chuma, wamiliki,…)
  • koleo ndogo za kukata

Hatua ya 4: Rekebisha Mambo Pamoja

Rekebisheni Mambo Pamoja
Rekebisheni Mambo Pamoja

Gundi vichwa vya pini vya kike kwa vichwa vya bodi ya Arduino:

  1. Kichwa cha 1 × 4 karibu na kichwa cha pini cha "analog", kando na pini A0-A4
  2. Kichwa cha 1 × 6 karibu na kichwa cha kwanza cha pini cha dijiti, kando na pini 2-7
  3. Kichwa cha 1 × 6 karibu na kichwa cha pili cha pini cha dijiti, kando na pini 8-13

Ona kuwa vichwa vyangu vimepita kwa muda mrefu… haina hasara na hakuna faida nadhani.

Hatua ya 5: Funga Vitu Pamoja

Waya Mambo Pamoja
Waya Mambo Pamoja
Waya Mambo Pamoja
Waya Mambo Pamoja

Wiring laini ya basi 1-waya:

  1. Unganisha njia zote za vichwa vya gundi kwenye upande wa "dijiti" (karibu na pini 2-13) kwa kuuzia kipande cha waya wazi kwao
  2. Solder mwisho wa waya huu kwa risasi ya pini ya SCL (iliyounganishwa ndani na A5)
  3. Unganisha vielekezi vyote vya kichwa kilichofunikwa kwa upande wa "analog" (pini A0-A3) kwa kuuzia kipande cha waya wazi kwao
  4. Solder mwisho wa waya huu kwa A4 na A5 inaongoza (nilitumia A5 na A6 kwa sababu nina bodi ambayo ina A6 & A7)
  5. Solder 4k7 resistor kati ya ncha nyingine ya waya hii na risasi + 5 V pin

Vidokezo:

  • Pini A0-A5, ingawa imewekwa alama "analog", inaweza kutumika kama pini za dijiti za GPIO pia.
  • Pini ya SCL upande wa "dijiti" imeunganishwa kwa ndani na A5 upande wa "analog"; iliyounganishwa na vichwa, hii inaunda laini ya basi ya waya 1
  • A4 (kutumika kama pembejeo ya analog) hupima voltage ya basi kwa sababu za uchunguzi. Ndio sababu kwanini imeunganishwa moja kwa moja na basi.
  • Nilitumia A6 badala ya A4 kwa sababu nina ubao ambao una A6 & A7; awali nilitaka kutumia A7 kama bwana wa basi 1-waya lakini pini hizi mbili haziwezi kusanidiwa kuwa GPIO za dijiti.
  • Ili kuzuia unganisho lisilofaa la viunganisho vya sensa unaweza kuacha / kukata mawasiliano ambayo hayatumiwi (hayajaunganishwa na waya wowote) kutoka kwa kila kiunganishi cha kiume na kuiingiza kwenye shimo linalolingana kwenye kichwa cha pini kilichofungwa.

Hatua ya 6: Kuunganisha Sensorer

Kuunganisha Sensorer
Kuunganisha Sensorer

Umeunda tu safu ya soketi nane 2 × 2. Unaweza kuuza na kukusanyika viunganisho vya 2 × 2 Dupont kwenye nyaya za sensorer na kuziunganisha kwenye soketi hizi. Programu inasanidi pini ili hata pini ni pini za GND na pini zisizo za kawaida ni pini za Vcc. Kwa kila sensorer, pini ya Vcc ni pini tu ya GND + 1. Moja ya pini mbili zingine za tundu la 2 × 2 (moja ya hizo mbili kwenye kichwa cha glued & soldered) ni kwa waya wa data ya sensa. Haijalishi unayotumia.

Hatua ya 7: Programu ya Mdhibiti

Programu ya Mdhibiti
Programu ya Mdhibiti

Mchoro wa SerialThermometer unaendesha kidhibiti. Unaweza kuipata kwenye github. Fungua na upakie kwa kutumia Arduino IDE.

Hatua kwa hatua:

  1. Fungua Arduino IDE yako na usakinishe maktaba ya DallasTemperature na utegemezi wake wote kupitia Mchoro | Jumuisha Maktaba | Dhibiti Maktaba.
  2. Clone git repository. Ikiwa haifahamu git, pakua na ufunue zip hii mahali popote kwenye kompyuta yako.
  3. Fungua mchoro wa SerialThermometer katika IDE yako ya Arduino.
  4. Unganisha bodi yako ya Arduino iliyobadilishwa kwenye kompyuta yako kwa kebo ya USB (njia ya kawaida)
  5. Pakia mchoro ukitumia IDE yako ya Arduino
  6. Fungua Monitor Monitor kupitia Zana Ufuatiliaji wa serial
  7. Unapaswa kuona pato la uchunguzi iliyo na vipimo kadhaa vya mwili ikifuatiwa na usomaji wa joto - kila tundu la sensorer kwenye laini moja. Ikiwa hesabu ya sensa hutofautiana wakati imewashwa kando na wakati yote yamewashwa pamoja), vitanzi vya uchunguzi hadi vitatuliwe. Lakini hakuna wasiwasi, pia uchunguzi hutoa vipimo vya joto!

Angalia picha iliyofafanuliwa kwa undani zaidi juu ya pato la utambuzi.

Hatua ya 8: Hitimisho

Nina hisia kali kwamba kutofaulu kwa mtandao wangu wa sensa kulisababishwa na uwezo mkubwa wa wiring yangu ndefu - karibu mita 10 ya LIYY 314 (3 × 0, 14 mm²) kebo kwa kila sensa. Majaribio yangu yalionesha kuwa mawasiliano huvunjika ikiwa kuna uwezo karibu au zaidi ya 0.01 μF kati ya basi ya waya 1 na ardhi, nadhani kwa sababu kontena la kuvuta-4k7 haliwezi kuvuta basi hadi + 5 V haraka vya kutosha kufuata mipaka ya itifaki.

Katika usanidi wangu hufanyika wakati sensorer zaidi ya 3 zimeunganishwa pamoja. Halafu, kitanzi kinadunda katika mzunguko wa uchunguzi, kupima sensorer ya joto-na-sensorer (ni nini baridi pia…)

Lakini pia sensa ya 5 (28: ff: f2: 41: 51: 17: 04: 31) inaonekana kuwa mgonjwa kabisa (labda kuuuza vibaya), kwa hivyo naweza kuchunguza zaidi!

Ilipendekeza: