Talaan ng mga Nilalaman:
- Hakbang 1: Kuwento sa Likod…
- Hakbang 2: Paano Ito Gumagana
- Hakbang 3: Mga Materyal at Tool
- Hakbang 4: Ayusin ang Mga Bagay na Magkasama
- Hakbang 5: Sama-sama ang Wire Things
- Hakbang 6: Pagkonekta sa Mga Sensor
- Hakbang 7: Controller Software
- Hakbang 8: Konklusyon
Video: Fault-Tolerant Temperature Sensor Network Controller: 8 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ipinapakita sa iyo ng Instructable na ito kung paano i-convert ang isang Arduino Uno board sa isang solong-layunin na controller para sa isang hanay ng mga sensor ng temperatura ng DS18B20 na may kakayahang awtomatikong pag-iisa ng mga may sira na sensor.
Ang pamamahala ay maaaring pamahalaan ang hanggang sa 8 sensor na may Arduino Uno. (At higit pa sa Arduino Mega o may isang bahagyang pagbabago ng software.)
Hakbang 1: Kuwento sa Likod…
Ilang taon na ang nakalilipas na nag-set up ako ng isang network ng sensor ng temperatura ng DS18B20 sa greenhouse ng aking ama para sa aking pi-based na heating controller. Sa kasamaang palad, ang pagiging maaasahan ng tagakontrol ay hindi maganda pangunahin dahil sa madalas na pagkawala ng sensor. Sinubukan ko ang maraming pag-setup - lakas ng parasito, direktang lakas, pagkonekta sa network sa pi pati na rin ang pagkonekta nito sa pasadyang board na nakabatay sa Atmega (na pangunahing layunin ay upang himukin ang mga motor na balbula).
Ano ang mas masahol pa, ang pagiging maaasahan ng sensor ng network ay bumaba higit sa lahat sa mga gabi ng taglamig habang halos walang mga problema sa tag-init! Ano ba ang nangyayari dito?
Upang siyasatin kung aling sensor ang sanhi ng problema, lumitaw ang isang pangangailangan upang i-on / i-off ang mga ito nang paisa-isa o paganahin ang anumang kumbinasyon ng mga ito.
Hakbang 2: Paano Ito Gumagana
Ang DS18B20 (ang sensor ng temperatura) ay gumagamit ng pagmamay-ari na 1-wire na protokol na nagpapahintulot sa maraming mga sensor na ibahagi ang karaniwang link ng data (na isang kawad). Ang karaniwang link ng data na ito ay konektado sa isa sa mga pin ng GPIO ng Arduino at sa + 5 V sa pamamagitan ng isang resistor na pull-up - walang bihira, maraming mga tagubilin ang sumasaklaw sa pag-set up na ito.
Ang lansihin ay ang kapangyarihan ng bawat lead ng sensor ay nakakonekta sa pagmamay-ari (nakatuon) na mga GPIO pin, upang maaari silang mai-on at i-off nang magkahiwalay. Halimbawa, kung ang isang sensor ay may Vcc lead na konektado sa pin # 3 at GND upang i-pin ang # 2, ang setting ng pin # 3 sa HIGH ay nagbibigay ng lakas para sa sensor (walang sorpresa) habang ang setting ng pin # 2 sa LOW ay nagbibigay ng ground (isang litte sorpresa para sa ako). Ang pagtatakda ng parehong mga pin sa mode ng pag-input ay (halos) ganap na ihiwalay ang sensor at ang mga kable nito - kahit na anong pagkabigo (e. Isang shortcut) ang nangyayari sa loob nito, hindi ito makagambala sa iba pa.
(Makatarungang sabihin na ang pagkonekta sa data wire sa ibang bagay na konektado sa paanuman sa Arduino ay talagang magiging sanhi ng pagkagambala, ngunit ito ay halos imposible sa aking pag-set up).
Pansinin na ang DS18B20 ay kumonsumo ng hanggang sa 1, 5 mA habang ang isang Arduino pin ay maaaring mapagkukunan / lumubog hanggang sa 40 mA, kaya perpektong ligtas ito sa mga sensor ng kuryente ng mga GPIO pin nang direkta.
Hakbang 3: Mga Materyal at Tool
Materyal
- 1 Arduino UNO board
- 3 babaeng mga header ng pin: 1 × 4, 1 × 6 at 1 × 6 (o mas mahaba - pinutol ko ang mga ito mula sa isang 1 × 40 header)
- isang pandikit
- isang piraso ng hubad na wire wire (hindi bababa sa 10 cm)
- isang tape ng pagkakabukod
- mga nahahabol na panghinang (wire, flux…)
Mga kasangkapan
- kagamitan sa paghihinang (bakal, may hawak,…)
- maliit na plato ng paggupit
Hakbang 4: Ayusin ang Mga Bagay na Magkasama
Kola ang mga babaeng pin header sa Arduino board header:
- 1 × 4 na header sa tabi ng "analog" na pin header, tabi-tabi sa mga pin na A0 – A4
- 1 × 6 na header sa tabi ng unang digital pin header, tabi-tabi na may mga pin 2-7
- 1 × 6 na header sa tabi ng pangalawang digital pin header, tabi-tabi na may mga pin na 8–13
Pansinin na ang aking mga header ay medyo mas mahaba … wala itong kahinaan at walang mga kalamang akala ko.
Hakbang 5: Sama-sama ang Wire Things
Pag-kable ng linya ng 1-wire bus:
- Ikonekta ang lahat ng mga lead ng nakadikit na mga header sa gilid na "digital" (katabi ng mga pin 2–13) sa pamamagitan ng paghihinang ng isang piraso ng hubad na kawad sa kanila
- Solder ang dulo ng kawad na ito sa SCL pin lead (panloob na konektado sa A5)
- Ikonekta ang lahat ng mga lead ng nakadikit na header sa gilid ng "analog" (mga pin na A0 – A3) sa pamamagitan ng paghihinang ng isang piraso ng hubad na kawad sa kanila
- Solder ang dulo ng kawad na ito sa A4 at A5 lead (Gumamit ako ng A5 at A6 dahil mayroon akong isang board na may A6 & A7)
- Maghinang ng isang 4k7 risistor sa pagitan ng iba pang mga dulo ng kawad na ito at +5 V pin lead
Mga Tala:
- Ang Pins A0 – A5, kahit na minarkahan ng "analog", ay maaaring magamit bilang GPIO digital pin din.
- Ang SCL pin sa "digital" na bahagi ay panloob na konektado sa A5 sa "analog" na bahagi; konektado sa mga header, bumubuo ito ng linya ng 1-wire bus
- Sinusukat ng A4 (ginamit bilang analog input) ang boltahe ng bus para sa mga layuning diagnostic. Iyon ang dahilan kung bakit direktang konektado ito sa bus.
- Gumamit ako ng A6 sa halip na A4 dahil mayroon akong isang board na may A6 & A7; orihinal na nais kong gamitin ang A7 bilang 1-wire bus master ngunit ang dalawang mga pin na ito ay hindi mai-configure upang maging digital GPIO.
- Upang maiwasan ang maling koneksyon ng mga konektor ng sensor maaari mong alisin / gupitin ang hindi nagamit na contact (hindi konektado sa anumang kawad) mula sa bawat lalaking konektor at ipasok ito sa kaukulang butas sa nakadikit na header ng pin.
Hakbang 6: Pagkonekta sa Mga Sensor
Lumikha ka lamang ng isang hanay ng walong mga 2 × 2 na socket. Maaari kang maghinang at magtipun-tipon ng 2 × 2 Dupont connectors sa mga sensor cable at ikonekta ang mga ito sa mga socket na ito. I-configure ng software ang mga pin upang kahit na ang mga pin ay mga pin ng GND at ang mga kakaibang pin ay mga Vcc pin. Para sa bawat sensor, ang Vcc pin ay GND pin + 1. Ang isa sa iba pang dalawang mga pin ng 2 × 2 socket (isa sa dalawang iyon sa nakadikit at soldered na header) ay para sa data wire ng sensor. Hindi mahalaga kung alin ang ginagamit mo.
Hakbang 7: Controller Software
Pinapatakbo ng sketch ng SerialThermometer ang controller. Mahahanap mo ito sa github. Buksan at i-upload gamit ang Arduino IDE.
Hakbang-hakbang:
- Buksan ang iyong Arduino IDE at i-install ang DallasTemperature library at lahat ng mga dependency nito sa pamamagitan ng Sketch | Isama ang Library | Pamahalaan ang Mga Aklatan.
- Repository ng clone git. Kung hindi pamilyar sa git, i-download at i-unpack ang zip na ito saanman sa iyong computer.
- Buksan ang SerialThermometer sketch sa iyong Arduino IDE.
- Ikonekta ang iyong binagong Arduino board sa iyong computer sa pamamagitan ng USB cable (karaniwang paraan)
- I-upload ang sketch gamit ang iyong Arduino IDE
- Buksan ang Serial Monitor sa pamamagitan ng Mga Tool | Serial Monitor
- Dapat mong makita ang output ng diagnostic na naglalaman ng maraming mga pisikal na sukat na sinusundan ng mga pagbabasa ng temperatura - bawat sensor socket sa solong linya. Kung ang bilang ng sensor ay naiiba kapag naka-on nang magkahiwalay at kapag ang lahat ay naka-on nang magkasama), mga diagnostic na loop hanggang sa malutas. Ngunit walang pag-aalala, nagbibigay din ng diagnostic ang mga sukat ng temperatura!
Tingnan ang anotadong larawan para sa higit pang detalye tungkol sa output ng diagnostic.
Hakbang 8: Konklusyon
Mayroon akong isang malakas na pakiramdam na ang aking pagkabigo ng sensor network ay sanhi ng mataas na capacitance ng aking mahabang mga kable - sa paligid ng 10 m ng LIYY 314 (3 × 0, 14 mm²) cable para sa bawat sensor. Ipinakita ng aking mga eksperimento na masisira ang komunikasyon kung mayroong capacitance sa paligid o mas mataas sa 0.01 μF sa pagitan ng 1-wire bus at ground, sa palagay ko dahil ang 4k7 pull-up risistor ay hindi mahila ang bus sa + 5 V na sapat na mabilis upang sumunod sa mga limitasyon ng protocol.
Sa aking pag-set up nangyayari ito kapag ang higit sa 3 mga sensor ay konektado magkasama. Pagkatapos, ang mga loop ng controller sa ikot ng diagnostic, pagsukat ng sensor ng sensor ayon sa sensor (kung ano ang cool din …)
Ngunit ang 5th sensor din (28: ff: f2: 41: 51: 17: 04: 31) ay mukhang may sakit (baka mali ang paghihinang), kaya't maaari pa akong mag-imbestiga!
Inirerekumendang:
Arduino Solar Powered Temperature at Humidity Sensor Bilang 433mhz Oregon Sensor: 6 na Hakbang
Arduino Solar Powered Temperature and Humidity Sensor Bilang 433mhz Oregon Sensor: Ito ang pagbuo ng isang solar powered temperatura at halumigmig sensor. Ginagaya ng Sensor ang isang 433mhz Oregon sensor, at makikita ito sa Telldus Net gateway. Ano ang kailangan mo: 1x " 10-LED Solar Power Motion Sensor " galing sa Ebay Tiyaking sinabi nito na 3.7v batter
Home Network Temperature Sensor: 7 Mga Hakbang
Home Network Temperature Sensor: Ano ang kailangan mong malaman upang magawa ang proyektong ito: Kailangan mong malaman tungkol sa: - Ilang kasanayan sa electronics (paghihinang) - Linux - Arduino IDE (kakailanganin mong i-update ang mga karagdagang board sa IDE: http: // arduino.esp8266.com/stable/package_esp8266 …) - updatin
Arduino Interfacing With Ultrasonic Sensor at contactless Temperature Sensor: 8 Hakbang
Ang Arduino Interfacing With Ultrasonic Sensor at contactless Temperature Sensor: Ngayong mga araw na ito, ang mga Gumagawa, Developers ay mas gusto ang Arduino para sa mabilis na pag-unlad ng prototyping ng mga proyekto. Ang Arduino ay isang open-source electronics platform batay sa madaling gamiting hardware at software. Ang Arduino ay may napakahusay na komunidad ng gumagamit. Sa proje na ito
Isang Arduino WiFi Network (Mga Sensor at Actuator) - ang Sensor ng Kulay: 4 na Hakbang
Isang Arduino WiFi Network (Sensors at Actuator) - ang Sensor ng Kulay: Ilang beses sa iyong mga application mayroon kang ilang sensor o ilang actuator na malayo sa iyo? Gaano karaming magiging komportable ang paggamit ng isang master device na malapit sa iyong computer upang pamahalaan ang iba't ibang mga aparato ng alipin na konektado sa pamamagitan ng isang wi-fi network? Sa projec na ito
YABC - Ngunit Isa pang Blynk Controller - IoT Cloud Temperature at Humidity Controller, ESP8266: 4 na Hakbang
YABC - Ngunit Isa pang Controller ng Blynk - IoT Cloud Temperature and Humidity Controller, ESP8266: Kumusta Mga Gumagawa, Kamakailan ko sinimulan ang lumalagong mga kabute sa bahay, Mga kabute ng Oysters, ngunit mayroon na akong 3x ng mga tagakontrol na ito sa bahay para sa kontrol ng Fermenter Temperature para sa aking serbesa sa bahay, asawa ginagawa rin ang bagay na Kombucha na ito ngayon, at bilang isang Termostat para sa Heat