Snimac teploty

Pochváľte sa ostatným čo zaujímave ste vyrobili alebo práve vyrábate!

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 484
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Snimac teploty

Príspevok od používateľa zen » 22 Nov 2014, 22:07

Etapa 1:
klasicke Arduino, 3x thermistor 10 kOhm, 3x odpor 10 kOhm, ev. LED a 120 Ohm odpor

Zapojenie je prakticky skopirovano s internetu:
TEMPERA.GIF
TEMPERA.GIF (20.73 KiB) 6778 zobrazení
Pouzil som 0, 1, a 2. Zdalo sa mi, ze by stacil len jeden cerveny a len jeden cierny... Asi dva mesiace som to mal na stole, nez som nasel odvahu to zapojit.

Program je uz viacej zmeneny:

Kód: Vybrať všetko

#include <math.h>

unsigned long millis_start=millis();

void setup() {
  pinMode(11, OUTPUT); // pin(11) - 120 Ohm - LED - GND
  Serial.begin(9600);
}

double Thermister(int RawADC) {  //Function to perform the fancy math of the Steinhart-Hart equation
  double Temp=log(((10240000/RawADC)-10000));
  Temp=1/(0.001129148+(0.000234125+(0.0000000876741*Temp*Temp))*Temp);
  return Temp-273.15;
}

void secs(int s) {
  millis_start+=s*1000;
  while(millis()<millis_start);
  return;
}

void loop() {
  for(unsigned int i1=0; i1<=2; i1++) {
    int val=analogRead(i1);
    double temp=Thermister(val);
    Serial.print(temp);
    Serial.print("   ");
# ked pridam SD kartu, nebudem vedet, ci sensory funguji
    if(!isnan(temp)) analogWrite(11,25);
    delay(3);
    digitalWrite(11,LOW);
    delay(180);
  }
  Serial.println();
  secs(5);
}
Zde sa daju teploty citat cez Serial Monitor, no, to mi vela nevyhovovalo, tak

Etapa 2:
- Python 3.4.2
- pyserial-2.7.win32_py3k.exe (ten sa nenainstaluje ked Python nie je installed in the default location).

Kód: Vybrať všetko

import msvcrt
import serial
import string
import time

ser=serial.Serial(port='COM3',baudrate=9600,timeout=0)
print("Connected to: "+ser.portstr)
f1=open(time.strftime("%Y%m%d")+".dat","w")
line=""
while 1:
  for c in ser.read().decode('utf-8'):
    line+=c
    if c=='\n':
      # will fail with NAN
      while not line[len(line)-1].isdigit(): line=line[0:len(line)-1]
      print(time.strftime("%Y/%m/%d %H:%M:%S   "),line)
      print(time.strftime("%Y/%m/%d %H:%M:%S   "),line,file=f1)
      line=""
  if msvcrt.kbhit():
    if ord(msvcrt.getch())==27:
      break
ser.close()
Toto mi dalo viac ako den roboty, kbhit() nefunguje ako v C.

Konecna sustava vyzera takto:
Img_0663.jpg
Ako prve som meral teplotu v mojej kanadskej studni:

- snima po 10 minut
- zelena: teplota v pivnici
- cervena: teplota, kde vychadza vzduch
- zelena: teplota 3 metry hluboko v potrubi

Etapa 3:
Napisat program, co to zobrazi. Ten asi nie je pre vas zaujimavy, urcite uz ccosi take mate.
20141106.png
Som z toho trocha zklamany, pocital som, ze vzduch sa v potrubi ohreje viac. Tie vykyvy teploty si neviem vysvetlit, zkusim to az bude velka zima a az prijdem na to, ako dostat sesnsor 40 m hluboko (tento som uvazal na vysuvny centimeter a napchal do rury. Zkusime dalkove ridene auticko, ak sa nepustim do robota).

Myslel som si, ze som techniku zvladol a pustil som sa do toho, na co to je urcene:

- smima po 30 vterin
- modra: voda z krbu
- cervena: boiler
- zelena: teplota v technickej mistnosti (ziarovka zhasnuta, pocitac inde, len Arduino)
20141114.png
Akoze sa cerpadlo spusti pri 71 C a mi ukazovalo menej ako 30, prehodil som sensor, coz vysvetluje skok modrej cary.

Chcel som mat na graphu 70 C, tak som rozne prehazoval sensor. Vypadavalo mi Arduino, musel som restartovat pocitac. Nakonec som zistil, ze sensor sa nesmi dotknut kovu - myslel som, ze je to akasi keramika. (Mohli to uz v tovarne odisolovat.)

V zufalstvi som si povedal, ze zacnem skolnou ulohou (nie je to ztratene, chcem jednou zmerat, jak dlho boiler udrzi teplu vodu, ked sa nepouziva):

- snima po 30 verinach
- zelena: sklenica s teplou vodou, trocha isolovana
- modra: sklenica s teplou vodou, neisolovana
- cervena: teplota v pivnici
20141120.png
Stupa teplota v pivnici... a zistil som, ze sa mi sensor dotyka sklenice.

Cudne, co robi ten modry sensor. Chapem, ze meranie nie je uplne presne, no, za nejaky cas sa upokoji.

Zda sa, ze elektronika nie je taka lahka, ako som si myslel ;)
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

PE1024
Nový člen
Nový člen
Príspevky: 78
Dátum registrácie: 11 Nov 2014, 08:54
Bydlisko: BA
Vek: 28

Re: Snimac teploty

Príspevok od používateľa PE1024 » 22 Nov 2014, 22:28

No zaujimave :D hlavne ten jazyk
0

Používateľov profilový obrázok
iqlogic
Pokročilý člen
Pokročilý člen
Príspevky: 904
Dátum registrácie: 07 Mar 2009, 00:00
Bydlisko: Ružomberok

Re: Snimac teploty

Príspevok od používateľa iqlogic » 23 Nov 2014, 02:13

Zle preložený plagiát? :rolleyes:
VYMAŽTE TO NIEKTO!
0

anonymousCoward
Stály člen
Stály člen
Príspevky: 150
Dátum registrácie: 12 Máj 2013, 11:09
Bydlisko: KE

Re: Snimac teploty

Príspevok od používateľa anonymousCoward » 23 Nov 2014, 08:25

Plagiat to uplne IMHO nie je - autor sa inspiroval tymto tutorialom, ale merania, popis a Pythonovske nestastie je uz jeho.
A rec je taka ceskoslovenska, me sa to paci - citanie je plne prekvapeni :)
0
War is peace. Freedom is slavery. Ignorance is strength.
There is no such thing as a well-adjusted slave.

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 484
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Snimac teploty

Príspevok od používateľa zen » 23 Nov 2014, 20:17

iqlogic napísal:Zle preložený plagiát? :rolleyes:
VYMAŽTE TO NIEKTO!
Ja sa tim netajim, ze vetsina je z internetu, pisal som to:
zen napísal: Zapojenie je prakticky skopirovano s internetu:
....
Program je uz viacej zmeneny:
Keby som nechcel, aby bylo vedeno, ze je to kopirované, tak by som _minimalne_ vypustil:

double Thermister(int RawADC) { //Function to perform the fancy math of the Steinhart-Hart equation

Google najde ihned ;)

-- Spojený príspevok 23 Nov 2014, 21:20 --

Kde si nasel ODVAHU, toto napisat:
anonymousCoward napísal:Pythonovske nestastie
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 484
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Snimac teploty

Príspevok od používateľa zen » 10 Nov 2015, 10:07

Chapem, ze meram odpor thermistoru a z toho sa vypocita teplota. Ak pridam 10 m dratu, nemalo by to mat ziadny vpliv - odpor 10 m dratu je nula - a aj keby nie bol zanedbatelny, vysla by mi nizsia teplota.
Meram teplotu kazdych 5 sekund,

zelena: krb, 1.5 m dratu
cervena: boiler, 10m dratu, vykyvy 2-3 stupne za 5 sekund - nemozne
modra: privod vzduchu, 10 m dratu, vykyvy 2-3 stupne za 5 sekund - nemozne.
t.png
Zkusal som menit parametry programu, nic. Ak odstranim kabel a pichnem thermistor do breadboardu, vykyvy sa znizi pod desetinu stupna.

Je tu nejaky efekt, s ktorym nepoditam? A ako to napravit?
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
E001
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1215
Dátum registrácie: 18 Nov 2012, 19:05
Vek: 67

Re: Snimac teploty

Príspevok od používateľa E001 » 10 Nov 2015, 17:02

Použil si na snímače tienený kábel? Mohlo sa ti čosi naindukovať.
0

Používateľov profilový obrázok
zen
Stály člen
Stály člen
Príspevky: 484
Dátum registrácie: 22 Nov 2013, 14:33
Bydlisko: Cadca

Re: Snimac teploty

Príspevok od používateľa zen » 11 Nov 2015, 16:19

Zkusil som dva kable na televiznu antenu, u kazdeho ten vnutorny dratik. Prakticky to nepomohlo.
0
Samozřejmě, že dědeček nemá kapesní hodinky poháněné elektřinou. Takový nesmysl si může vymyslit jen Saturnin. (Zdenek Jirotka, 1942)

Používateľov profilový obrázok
zipaj
Ultimate člen
Ultimate člen
Príspevky: 2902
Dátum registrácie: 13 Feb 2011, 00:00
Bydlisko: Vranov nad Topľou
Vek: 49
Kontaktovať používateľa:

Re: Snimac teploty

Príspevok od používateľa zipaj » 11 Nov 2015, 17:10

Pokiaľ meráš odpor termistora, nedá sa paralelne k termistoru pripojiť nejaký fóliový blokovací kondenzátor 1uF? Samozrejme v blízkosti Arduina, nie k termistoru. (elektrolyt nie, mohol by ovplyvniť meranie) Ak hľadáš kvalitný tienený kábel, asi najlepší je gitarový (ale aj trochu drahší).
0
Základné parametre zosilňovača pre kapelu? - Nízka váha a veľký výkon, v tom hluku sa aj tak všetko stratí :-)

Používateľov profilový obrázok
Washu
Power user
Power user
Príspevky: 4521
Dátum registrácie: 15 Apr 2010, 00:00
Bydlisko: Multiverse
Vek: -1998
Kontaktovať používateľa:

Re: Snimac teploty

Príspevok od používateľa Washu » 11 Nov 2015, 19:15

Merat termistor cez 10m kabel je celkom pekna blbost.
(nie ze by sa to nedalo ale v tomto pripade to blbost je)
Pozri si onewire kniznicu a nejaky DS18B20 alebo nejaky iny teplomer a merias rovno v stupnoch C (odpada kalibracia) a takisto chyba merania vplyvom dlhych vodicov. A odpadnu problemy s kabelazou, to DS natiahnes lubovolnou krutenou dvojlinkou.
0
It doesn't matter how beautiful your theory is, it doesn't matter how smart you are. If it doesn't agree with experiment, it's wrong
(Richard Feynman)

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok