Cuprins:

Senzor de temperatură / vreme: 9 pași (cu imagini)
Senzor de temperatură / vreme: 9 pași (cu imagini)

Video: Senzor de temperatură / vreme: 9 pași (cu imagini)

Video: Senzor de temperatură / vreme: 9 pași (cu imagini)
Video: Simptomele unui senzor de temperatură motor DEFECT! 2024, Noiembrie
Anonim
Senzor de temperatură / vreme
Senzor de temperatură / vreme
Senzor de temperatură / vreme
Senzor de temperatură / vreme

Creați o stație de temperatură sau un monitor de temperatură utilizând senzorul digital de temperatură foarte rece DS1820. Folosesc această configurație pentru a monitoriza o cameră de server și ca stație de temperatură. Acest proiect constă din:

  • O rețea de autobuz Dallas 1-Wire
  • Interfață între RS-232 și sistemul Dallas 1-Wire
  • Senzori digitali de temperatură conectați la magistrala Dallas 1-Wire (DS1820 / DS18s20)
  • Configurare software pentru colectarea și graficarea temperaturilor

Actualizat la 18.11.2007 pentru a include scripturi grafice automate și imagini cu implementările din acest sistem din viața reală.

Pasul 1: Ai nevoie

Ai nevoie
Ai nevoie
Ai nevoie
Ai nevoie

Iată de ce aveți nevoie pentru a crea o stație meteo sau un înregistrator de temperatură:

  • Câteva abilități Linux
  • Abilități electronice de bază, lipire etc.

Componente

  • 1 diodă Zener de 6,2 V (1N5234)
  • 1 diodă Zener de 3,9 V (1N5228)
  • 2 diode Schottky (1N5818)
  • 1 rezistor de 1,5 k
  • 1 terminal cu șurub cu 2 pini
  • 1 conector D-sub 9 mamă cu puncte de lipit
  • 1 bucată mică de perfboard.
  • Unul sau mai multe senzori digitale de temperatură Dallas Semiconductor DS1820 sau DS18s20
  • Cablare Cat5
  • Tub retractabil

Pasul 2: Construiți interfața RS232

Construiți interfața RS232
Construiți interfața RS232
Construiți interfața RS232
Construiți interfața RS232
Construiți interfața RS232
Construiți interfața RS232
Construiți interfața RS232
Construiți interfața RS232

Îmi place să construiesc busmasterul cu 1 fir atât de mic încât să poată sta în spatele computerului în portul RS232.

Pasul 1) Aflați cât de mic îl puteți face. Puneți toate componentele pe un perfbaord. Plasați-le cu circuitul în minte. Nu vrem să adăugăm fire în partea de jos a circuitului! Se imagine. Pasul 2) Decupați perfboardul cu dimensiunea potrivită. Trageți de câteva ori un cuțit ascuțit peste rândul de găuri pe care doriți să le tăiați. Faceți acest lucru de ambele părți, apoi rupeți-l în două. De obicei, se rupe la linia de eroare pe care ați creat-o. 3) Lipiți componentele la locul lor. și conectați punctele de lipit pentru a finaliza circuitul.

Pasul 3: Testarea interfeței RS232

Testarea interfeței RS232
Testarea interfeței RS232
Testarea interfeței RS232
Testarea interfeței RS232

1) Descărcați și instalați digitemp. Pe Debian și Ubuntu Linux, acest lucru se realizează executând `sudo apt-get install digitemp`. 2) Conectați un DS1820 la circuitul dvs. Piciorul de mijloc merge în portul DQ, celelalte două picioare în GND3) Conectați circuitul la un port RS232 al computerelor. Acoper acest lucru doar cu Linux, dar este posibil să faceți acest lucru și în Windows..4) Dacă comanda `digitemp` nu funcționează, este pentru că există mai multe versiuni de digitemp.type digitemp, apoi apăsați tab pentru a le vedea pe toate.. digitemp_DS9097 este cea potrivită pentru acest busmaster 1wire. Doar din motive de simplitate, dorim ca comanda să fie „digitemp”, nu „digitemp_DS9097”. tip „sudo ln -s / usr / bin / digitemp_DS9097 / usr / bin / digitemp`5) Ca root, sau folosind sudo: Rulați `digitemp -s / dev / ttyS0 -i`. Aceasta caută senzorii în rețeaua 1wire și creează un fișier de configurare pentru digitemp. Dacă utilizați COM2, utilizați -s /dev/ttyS1. Run `digitemp -a` pentru a citi temperatura senzorului de timp conectat. Vedeți captura de ecran Când aveți mai mulți senzori, este plăcut să știți care este.

Pasul 4: Faceți senzorii și rețeaua

Faceți senzorii și rețeaua
Faceți senzorii și rețeaua
Faceți senzorii și rețeaua
Faceți senzorii și rețeaua
Faceți senzorii și rețeaua
Faceți senzorii și rețeaua
Faceți senzorii și rețeaua
Faceți senzorii și rețeaua

Când vă conectați rețeaua 1wire, doriți să utilizați cabluri de rețea cat 5.

Am avut câteva experiențe proaste folosind alte cabluri și combinând diferite tipuri de cabluri. Când rulează peste cat5, magistrala 1wire poate avea cabluri destul de lungi. Într-o singură instalație de vreme, rulez un cat5 de 30 de metri dintr-o cameră tehnică cu un computer Linux și până pe acoperiș. Pe acoperiș, cablul este împărțit în 3 cabluri lungi de 5-15 metri, cu un senzor la capătul fiecăruia. Această configurare funcționează perfect. Rețeaua cu 1 fir este destul de robustă. Realizarea senzorului: doriți să faceți senzorul atât impermeabil, cât și rigid. 1) Tăiați un cablu Cat 5 la lungimea dorită. 2) Dezizolați capătul senzorului. Tăiați 3 din cele 4 perechi, lăsând-o pe cea verde / albă. 3) Glisați un mic tub contractor peste firul verde. 4) Lipiți firul verde la știftul din mijloc al DS1820 5) Trageți tubul de contractare în sus, astfel încât să acopere tot metalul piciorului mijlociu și metalul firului conectat la acesta. Apoi, încălziți-l cu o brichetă sau un pistol de încălzire pentru a-l micșora la locul său 6) Lipiți firul alb / verde pe ceilalți doi pini. 7) Puneți un senzor mai mare peste senzor și cablu. Vezi poza. Apoi încălziți-l ușor cu o brichetă pentru a se micșora la loc. Nu doriți să dați foc la lucru, țineți doar flacăra la 4-10 mm distanță de tubul termocontractabil. 8) Puneți senzorii oriunde doriți să le aveți, conectați-vă la interfața RS232 și conectați-vă la computer.

Pasul 5: Configurare software - Achiziție date

Configurare software - Achiziție date
Configurare software - Achiziție date

Acum că avem senzorii la locul lor, vrem să adunăm câteva date de la aceștia. Ca rădăcină pe mașina dvs. Linux: 1) Rulați `digitemp -s / dev / ttyS0 -i -c /etc/digitemp.conf` Aceasta creează config fișier digitemp.conf cu senzori yoru. Urmăriți ieșirea pentru a vedea ce număr obțin senzorii.2) Verificați temperatura cu `digitemp -aq -c /etc/digitemp.conf`3)Dump datele de ieșire într-un fișier. Ies la un fișier din apaches wwwroot, astfel pot accesa temperatura de oriunde. Comanda `digitemp -aq -c /etc/digitemp.conf> / var / www / digitemp.txt` plasează ieșirea digitemp în fișier digitemp.txt4) Automatizați acest proces: tastați `crontab -e`, acesta deschide rădăcinile crontab. Tip` `* * * * * digitemp -aq -c /etc/digitemp.conf> / tmp / digitemp; mv / tmp / digitemp / var / www / digitemp.txt` în acel fișier și salvați-l. Rulați `crontab -l` pentru a confirma că crontab-ul a fost instalat. Motivul pentru care canalizez ieșirea în / tmp și apoi mut la / var / www, este că digitemp folosește câteva secunde pentru a-și concura cursa. Dacă încercați să accesați ieșirea în timp ce digitemp rulează, veți obține un fișier incomplet. Acest lucru ar putea deranja alte scripturi care citesc date din acest fișier. (Aceasta nu este inclusă în captura de ecran, ați uitat să o faceți) Stația meteo este acum funcțională. Utilizați datele pentru a face orice doriți, graficați-le, folosiți-le pentru a trimite e-mailuri în caz de temperatură înaltă / joasă etc.

Pasul 6: Configurare software - Graficare

Configurare software - Graficare
Configurare software - Graficare
Configurare software - Graficare
Configurare software - Graficare

Aceasta este partea dificilă, multe scripturi necesare aici. 1) Faceți un loc pentru a pune scripturile, un loc pentru stocarea imaginilor și un loc pentru stocarea datelor. / temperature "" mkdir / var / log / digitemp_rrd "2) Instalați software: veți avea nevoie de PHP și RRDtool. executabil pentru consolă) 3) Descărcați și instalați scripturile responsabile pentru realizarea graficelor: Descărcați tempsensor-0.1.tar.gz pe mașina dvs. Linux. `tar xvzf tempsensor-0.1.tar.gz "cp -v tempsensor / * / etc / tempsensor`4) Configurați scripturile Deschideți /etc/tempsensor/config.php și urmați comentariile din acest fișier. Schimbați scriptul pentru a citi datele de intrare din „/var/www/digitemp.txt” dacă ați urmat exemplul din pasul anterior.5) Automate. Adăugați o intrare crontab în același mod ca în pasul anterior. Scriptul ar trebui să ruleze la fiecare minut 5. Liniile ar trebui să arate astfel: "* / 5 * * * * php /etc/tempsensor/logdata.php" */5 * * * * php /etc/tempsensor/graphdata.php `6) Rulați manual scripturile pentru a verifica dacă funcționează. fișierul de configurare.

Pasul 7: Implementare 1 - Monitorizare cameră server

Implementare 1 - Monitorizare cameră server
Implementare 1 - Monitorizare cameră server
Implementare 1 - Monitorizare cameră server
Implementare 1 - Monitorizare cameră server
Implementare 1 - Monitorizare cameră server
Implementare 1 - Monitorizare cameră server

Prima mea implementare a acestui sistem a fost în camera serverelor din căminele studențești unde lucrez. Iată câteva imagini pentru tine.

Pasul 8: Implementarea 2 - Stația meteo

Implementare 2 - Stație meteo
Implementare 2 - Stație meteo
Implementare 2 - Stație meteo
Implementare 2 - Stație meteo
Implementare 2 - Stație meteo
Implementare 2 - Stație meteo

Când am echipat camera serverului cu senzori de temperatură, pur și simplu nu m-am putut abține să pun ceva pe aswel!

Stația de vreme este puțin mai complicată decât camera serverului. Afară există o mulțime de interferențe. Soarele poate lovi un senzor, trimițându-l de la -1 la 30 c în 5 minute. Am rezolvat acest lucru folosind trei senzori amplasați în puncte care ar primi lumina soarelui în momente diferite în timpul zilei. Deoarece căldura este singurul „zgomot” din măsurătoare, folosesc senzorul cu cea mai mică citire în orice moment ca „temperatura exterioară” a mea. Această temperatură este din nou netezită prin medierea ultimelor câteva minute.

Pasul 9: Implementare 3 - Cameră pentru studenti

Implementare 3 - Cameră pentru studenți
Implementare 3 - Cameră pentru studenți
Implementare 3 - Cameră pentru studenți
Implementare 3 - Cameră pentru studenți

Un prieten de-al meu a urmat acest lucru instructiv și și-a dotat apartamentul cu senzori de temperatură. În frigider, baie, computer etc.:)

Recomandat: