|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Pon Mar 10, 2008 11:45 am Naslov sporočila: 1-wire termometer z DS2480B na RS232 in USB |
|
|
naslov: Večtočkovni termometer / termostat z 1-wire DS1820, DS18B20, DS18S20 senzorji.
Kategorija projekta:
Zajem in shranjevanje podatkov
Termometer, termostat
težavnost: 3 = nezahteven projekt, ampak zahteva nekatere posebne komponente, ki nimajo ekvivalentov
tehnologija: 3 = tehnološko srednje zahteven projekt, komponente so SMD, večji rastri (najmanj 1,27mm)
potrebno predznanje: 2 = manj zahtevno, osnove elektrotehnike, osnovna zanja iz digitalne tehnike
predviden čas za izdelavo: 1h + izdelava TIV
predvidena orodja in oprema:
Vse za izdelavo tiskanega vezja in spajkanje SMD elementov
kosovnica:
- MAX232 ali ekvivalent + kondenzatorji
- DS2480B (1-wire to RS232 bridge) - klik
- poljubno število temperaturnih senzorjev
- PC računalnik z windowsi in COM portom (lahko usb adapter)
električna shema:
zaenkrat je ni...
kratek povzetek projekta:
V poplavi raznih (nezanesljivih) direktnih RS232 vmesnikov za 1-wire naprave sem se odločil izdelati najprej lastni most (bridge) s PIC mikrokontrolerjem (tukaj).
Ker sem imel probleme z dolgimi povezavami in timingi, sem naredil še drugo verzijo z "uradnim" čipom od maxim/dallas - DS2480B (datasheet) in novim softverom.
Samo vezje je zelo preprosto, vsebuje le level-translator (max232 ali ekvivalent) in DS2480B. Ter po želji napajalnik. Na vezju je predvidena tudi ESD in prenapetostna zaščita, če uporabljamo daljše vodnike do senzorjev.
Vse funkcije se izvajajo v softveru, ki pošilja ukaze vezju, to pa naprej senzorjem.
Vse nastavitve so v .INI datoteki in se jih lahko poljubno dodaja ali spreminja.
SW ima možnost grupiranja senzorjev, lokalnega shranjevanja ter tudi shranjevanja direktno na spletno stran v obliki, primerni za mobilni telefon - primer. Zaželjen je aktivni server ASP ali PHP, kjer se uporabi funkcija Include.
SW Termometer je tudi server, ki lahko ostalim aplikacijam v omrežju sporoča temperaturo. Protokol je TCP/IP. (opis protokola še sledi...)
V statusni vrstici (taskbar) izpisuje temperaturo notranjega in zunanjega zraka.
avtor vezja in programa:
Aljaž Ogrin
termometer je bil prvotno razvit za merjenje temperature v merilnici v podjetju.
priloge:
tiskano vezje (PCB za PCAD + PDF za print)
montažna shema
programska oprema verzija 11 za windows OS
Opis: |
|
Velikost datoteke: |
14.65 KB |
Pogledana: |
220 krat |
|
Opis: |
|
Velikost datoteke: |
25.12 KB |
Pogledana: |
143 krat |
|
Opis: |
centralno ogrevanje v hiši |
|
Velikost datoteke: |
32.7 KB |
Pogledana: |
14 krat |
|
Opis: |
OBSOLETE!!
Tiskanina je stara verzija. Spodaj se najde novejšo RS232 in USB. |
|
Download |
Ime datoteke: |
DS2408B 1-wire - rs232 interface - TIV.zip |
Velikost datoteke: |
187.04 KB |
Downloadano: |
252 krat |
Opis: |
Novejša verzija tiskanine za RS232 priklop (potrebuje zunanji napajalnik).
Kosovnica je načeloma enaka kot v prejšnji verziji, le vse komponente so SMD.
Priporočam izdelavo USB vmesnika (objavljeno spodaj). |
|
Download |
Ime datoteke: |
TIV_RS232_verzija2.zip |
Velikost datoteke: |
64.29 KB |
Downloadano: |
143 krat |
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding
Nazadnje urejal/a aly Pet Jul 08, 2011 11:12 am; skupaj popravljeno 10 krat |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Pon Mar 10, 2008 2:02 pm Naslov sporočila: |
|
|
Program NE DELUJE z raznimi vezji, kjer je 1-wire senzor priključen direktno na COM port. Deluje samo s čipom DS2480B.
Za povezavo s PCjem so uporabljene samo TXD, RXD in GND linije na default hitrosti 9600. Kar omogoča uporabo tudi z optocouplerji, da je PC popolnoma izoliran od merilne mreže.
Podpira sledeče senzorje (lahko so vsi tipi skupaj v verigi):
- DS1820
- DS18B20
- DS18S20
Razliko med senzorji avtomatsko določi iz ROM naslova in jih ustrezno obravnava.
Sicer ima možnost krmiljenja (hlajenja in gretja) s čipi DS2413 (1-Wire Dual Channel Addressable Switch) ali podobnimi, ampak še ni stestirano.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Sre Feb 11, 2009 12:02 am Naslov sporočila: |
|
|
Program je doživel nekaj zanimivih in uporabnih sprememb.
Med njimi:
- možnost povečevanja okna
- poljubno poimenovanje vseh treh kategorij
- na novo spisana rutina za povprečenje in nastavljiva dolžina povprečenja
- dodani trije grafi, ki rišejo povprečja kategorij
- prikaz tudi datuma na X osi
- okno ima možnost maximiranja
- možnost korekcije offseta posameznega senzorja
- možnost skrivanja spodnjega log okna
- dodani alarmni nivoji. Ob prekoračitvi nivoja se stanje zapiše v fajl, ki ga lahko nek drug SW prebere in ukrepa.
- dodana funkcija za izračun višje resolucije pri senzorjih 1820 in 18S20 - potrebno še stestirati
Pa še marsikaj je popeglano, kar ni vidno navzven.
Aja, če kdo ne ve (nisem še nikjer napisal) - graf je možno zumirati in premikati (pri vseh verzijah) - z miško.
P.S.
bi se pa zelo priporočal, če dobim kakšen feedback. Kdo uporablja program in kako je zadovoljen z njim. Downloadov je bilo kar nekaj.
INI fajl lahko ostane isti (od prejšnje verzije). Le parkrat bo zatežil in dodal nove spremenljivke:
Koda: |
[Nastavitve]
Spodnja meja alarma=10
Zgornja meja alarma=60
LOG alarma=c:\temperaturni_alarm.txt
Visja resolucija DS1820 DS18S20=0
Povprecenje_vzorcev=10
Ime kategorije 1=aaa
Ime kategorije 2=bbb
Ime kategorije 3=ccc
[Senzor1]
korekcija=-0,15
|
p.s.
priponka brisana, ker je bila hroščata. Nadomesti jo nova verzija.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding
Nazadnje urejal/a aly Tor Feb 17, 2009 9:17 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Čet Feb 19, 2009 5:09 pm Naslov sporočila: |
|
|
verzija 15.0.0.18
- popravljen bug pri povprečenju, če v kakšni kategoriji ni nobenega senzorja
- dodana tray ikonca in možnost minimiranja v tray
- popravljeno nekaj drobnarij
verzija 15.0.0.21 (19. 2. 2009)
še malo drobnarij...
- lepša tray ikonca
- možnost prikaza zadnjih 24 ur
- brisanje grafa brez restarta programa
- ...
verzija 15.0.0.26 (10. 3. 2009)
- statusna LEDica je ugasnjena, ko je port zaprt; utripa, ko bere termometre; gori, ko je na čakanju med meritvami
- nekaj drobnih popravkov
verzija 15.0.0.29 (3. 4. 2009)
- Dodana podpora za USB-RS232 pretvornike - sprememba načina odpiranja COM portov in razširjen dovoljen obseg od COM1 do COM50. (Prej je bilo možno samo COM1-4.)
Najden bug: pri uporabi senzorjev 1820 ali 18S20 in vključeni funkciji višje resolucije je napaka pri izračunu temperature T < 0°C in se pojavljajo skoki. Za pozitivne temperature deluje normalno. Napako še iščem.
Priponka brisana, ker je na voljo nova verzija.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding
Nazadnje urejal/a aly Pon Nov 16, 2009 7:16 pm; skupaj popravljeno 9 krat |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Pon Feb 23, 2009 11:15 am Naslov sporočila: |
|
|
Dobil sem sporočilo o zmedenih oznakah. Dejansko se včasih zapletem s temi številkami.
Pravilna oznaka čipa je DS2480B ( datasheet, farnell - Serial to 1-Wire Line Driver) in ne 2408B, ki je neko stikalo.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Tor Mar 03, 2009 7:30 pm Naslov sporočila: |
|
|
LEDuser je napisal/a: |
Sestavil sem Aly-jevo vezje in pri zagonu programa mi napiše "File Access Denied". Ko hočem prebrati ROM senzorja in pritisnem tipko "Preberi ROM 1 senzorja" mi napiše isto napako "File Access Denied". Enako se dogaja tudi ko hočem zapreti program. Ali kdo ve kje je napaka? |
Preveri, če obstaja direktorij in če je možno pisat v fajla, ki sta v INI fajlu vpisana v vrstici:
Koda: |
[Nastavitve]
LOG sporocila=c:\neka_mapa\log_dogodki.txt
LOG temperatura=c:\neka_mapa\log_temperatura.txt
|
Zelo verjetno je težava s prvo datoteko, ker notri zapisuje čisto vse, kar se je dogajalo s programom - vključno z zapiranjem programa.
Druga možnost pa je, da imaš INI fajl zaščiten pred pisanjem.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Čet Avg 06, 2009 10:16 am Naslov sporočila: |
|
|
PPG78 je napisal/a: |
Ob zagonu programa mi javi da nima ini datoteke, ter jo kreira. Ko pa se program hoče zagnati mi javi naslednjo napako v ini datoteki: "Napaka v INI fajlu - ROM izhoda za gretje. Popravi!"
Ali mi morda lahko svetuješ kaj bi bilo lahko narobe oziroma pošlješ kakšno ini datoteko za katero veš da dela. |
Program, če ne najde INI datoteke, jo kreira in potem bi moral delovat normalno. Mogoče pa je kak bug kje.
Tu je ena moja delujoča datoteka.
RLStermometer.ini
Koda: |
[Komunikacija]
TCPIP Port=2500
COM port=1
[IzhodGretje]
ROM=0000000000000000
port ON=0
port OFF=0
opis=Radiator
[IzhodHlajenje]
ROM=0000000000000000
port ON=0
port OFF=0
opis=Klima
[Nastavitve]
; interval ponavljanja meritev (sekunde)
interval_branja_s=10
; state-machine timer interval
interval_funkcij_ms=200
Termostat=0
Ciljna_temperatura=20
Histereza=2
LOG sporocila=c:\LOG_termometer.txt
LOG temperatura=c:\LOG_temperatura.txt
WEB shranjevanje=0
WEB naslov=\\server.com/fajl.txt
Samo tray ikonca ob zagonu=0
Spodnja meja alarma=-35
Zgornja meja alarma=85
LOG alarma=c:\temperaturni_alarm.txt
Visja resolucija DS1820 DS18S20=0
Povprecenje_vzorcev=10
Ime kategorije 1=merilno mesto
Ime kategorije 2=zrak v sobi
Ime kategorije 3=zunaj
; the low three bytes represent RGB color intensities for blue, green, and red, respectively.
; $FF0000 = pure blue,
; $00FF00 = pure green
; $0000FF = pure red
[Senzor1]
ROM=10BED83A000800AA
korekcija=0
opis=25 zunaj
kategorija=3
barva=$AAAAAA
[Senzor2]
ROM=2845C9D80000004C
korekcija=0
opis=13 zrak zgoraj
kategorija=9
barva=$00BB00
[Senzor3]
ROM=104807A901080099
korekcija=0
opis=23 merilno mesto
kategorija=1
barva=$0000CC
[Senzor4]
ROM=10565CA901080034
korekcija=0
opis=24 okolica MM
kategorija=2
barva=$EE0077
|
ROM kodo posameznega senzorja dobiš tako, da izklopiš kljukico "beri temperaturo" -> pojavi se gumb "Preberi ROM senzorja".
Priključiš en sam senzor, pritisneš na gumb in ti izpiše. Iz seznama sporočil lahko kopiraš cifro s Ctrl+C. Ali pa iz LOG falja, v katerega zapiše vse, kar se dogaja.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Čet Avg 06, 2009 10:26 am Naslov sporočila: |
|
|
PPG78 je napisal/a: |
Trenutno za test merim le eno temperaturo, na grafu pa se mi izpisujeta dve črti, na začetku ob zagonu programa čez cel graf, če program maximiram pa le v skrajno desnem delu grafa. |
Če vključiš opcijo "Prikaži legendo grafov" vidiš seznam vseh grafov.
Eno so grafi direktno s senzorjev, drugo so grafi povprečij po grupah. Program podpira 3 grupe. Dolžino povprečenja lahko nastaviš v INIju.
PPG78 je napisal/a: |
Sam sem vezje izdelal časom primerno, torej z FT232RL, kjer sem trenutno uporabil le Rx in Tx liniji. Zanima me s katero linijo krmiliš statusno LED diodo, da preizkusim še to.
Bom trenutni design malo uredil in ga poslal, tako da bo še kdo preizkusil HW. |
Ja, moj HW je res starejšega letnika.
Statusna LEDica je na DTR liniji. Po želji jo lahko prestavim na kak drug pin.
Nov HW na USB z veseljem objavim zraven.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
PPG78 Član
Pridružen-a: Ned 27 Jul 2003 14:09 Prispevkov: 2321 Aktiv.: 10.42 Kraj: Gorenjska
|
Objavljeno: Tor Sep 08, 2009 10:58 pm Naslov sporočila: |
|
|
Ker so serijski porti vedno bolj redki sem se odločil narediti USB/1-wire vmesnik ki bo kompatibilen z Aly-jevim programom.
V prilogi se nahajajo vse datoteke potrebne za izdelavo. Podloge za izdelavo vezja so dvojne (zrcaljene/nezrcaljene) važno je da se na izdelanem vezju normalno prebere tekst. V kosovnici sem za nekatere elemente tudi dopisal Farnell kode.
Zaščitni elementi na 1-wire liniji RV1, RV2 in IC3 na shemi niso vrisani. IC3 je na vezju SOT23/6, tja se lahko prispajka dvojna supresor dioda napisana v kosovnici.
Če kaj ni jasno pa vprašajte tukaj.
LP, Peter
Opis: |
|
Download |
Ime datoteke: |
USB-1wire.zip |
Velikost datoteke: |
122.99 KB |
Downloadano: |
207 krat |
|
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Pon Nov 16, 2009 7:10 pm Naslov sporočila: |
|
|
Nova verzija softvera 16.0.0.14.
- Y os grafa je prestavljena na desno stran, kjer se izpisujejo novi podatki.
- Program se obnaša kot HTTP server - možen ogled podatkov s spletnim brskalnikom. Vsebina spletne strani se samodejno osveži ob vsakem branju senzorjev. Spletni brskalnik pa samodejno na novo naloži stran vsakih 5 minut.
V INI datoteko je v odsek [Komunikacija] potrebno dodati sledeče vnose:
Koda: |
[Komunikacija]
HTTP Port=8080
HTTP File=C:\TemperaturaWebPage.html
HTTP Enabled=1
HTML Title=Izpis temperatur |
Trenutno pa iščem delujoči rutino za shranjevanje grafov v PNG format, da bo spletni strani dodana še slika.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding
Nazadnje urejal/a aly Tor Nov 17, 2009 4:32 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Tor Nov 17, 2009 4:32 pm Naslov sporočila: |
|
|
Pri spremembi prikaza na oseh sem nekaj zeznil, in se ne skalira pravilno. Popravljeno.
Priponka brisana, ker je na voljo nova verzija.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding
Nazadnje urejal/a aly Tor Jan 05, 2010 12:30 pm; skupaj popravljeno 2 krat |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Tor Jan 05, 2010 12:26 pm Naslov sporočila: |
|
|
Nova verzija softvera 17.2010.1.5
Spremembe:
- INI datoteko je potrebno preimenovati v "termometer.ini"
- popravljeno računanje negativnih temperatur višje ločljivosti pri DS1820 in DS18S20
- dodano iskanje vseh naprav na vodilu (da ni potrebno priklapljati senzorjev enega po enega)
- minimizacija programa v Tray
- en kup popravkov
Priponka brisana.
Priporočam se za feedback. Lahko na ZS.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding
Nazadnje urejal/a aly Čet Jan 07, 2010 5:33 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Tor Jan 05, 2010 4:09 pm Naslov sporočila: |
|
|
Ne vem, če sem že kje napisal, ampak graf je interaktivni, z miško se ga lahko premika in povečuje.
Leva tipka in premik desno dol poveča v označeno okno.
Leva tipka in premik levo gor je zoom out.
Desna tipka "prime" graf in se ga lahko prestavlja.
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Čet Jan 07, 2010 5:34 pm Naslov sporočila: |
|
|
Še malo novejša verzija 17.2010.01.08
Dodani izračuni tendence temperature (°C / minuto ali na uro).
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding
Nazadnje urejal/a aly Pet Feb 24, 2012 10:17 am; skupaj popravljeno 2 krat |
|
Nazaj na vrh |
|
|
aly Član
Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 42.23 Kraj: Kranj - struževo
|
Objavljeno: Pon Jan 11, 2010 2:25 am Naslov sporočila: |
|
|
glede tiskanine V2:
Pobesneli je napisal/a: |
koliko so velike smd komponentne? in kaj naj iščem pod tisto tuljavo-dušilko 600mA. Kupoval bom prek farnella, zato bi rad vedel kaj točno moram iskat.
p.s. a mogoče veš kako se imenuje varistor pa angleško? |
komponente so 0805, razen 2 kondijev, ki sta 1206 (opcijsko) in zaščitne diode.
Regulator je 5V DPAK: klik ali LDO (dražji) klik
Regulator se lahko tudi izpusti, če je na voljo stabilnih +5V (npr. potegnjeno iz računalnika).
Tuljavica, karkoli kar je 0805. Je samo zaščita pred motnjami iz 1-wire napajalne linije (=antena) klik
varistorji so za blokiranje konic na dolgih linijah zaradi indukcije. 5V6, 0805 - klik - glej za 0805. Lahko se uporabi tudi namenske diode - klik
spisek elementov:
priključna sponka 200 mils 2-pin
priključna sponka 200 mils 3-pin
D1 - dioda - po želji (1206 footprint)
C3 - 100-470nF 0805 (sicer je predviden 1206, pa nič zato)
REG1 - 78M05 DPAK - glej zgoraj
C1 - 1206 opcijsko poleg C2
C2, C4, C5 - 100-470nF 0805
RL1,2 - 400 ohm, za ledico
LED1,2 - LED (zelena) 0805 (1 = napajanje, 2 = aktivnost)
L1 - dušilka 0805 - glej zgoraj
VAR1,2 - varistor 5V6, 0805 glej zgoraj
IC1 - DS2480B (f. 9725326)
IC2 - katerikoli xx232xx čip v SO-16 (klik)
C6-10 - po datasheetu čipa, ponavadi 1uF, 0805 (klik)
CON1 - DB9, 90°, Ž (klik)
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 68 dni
Powered by phpBB © 2001, 2005 phpBB Group
|