czujnik 18B20 przez RS232

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.

czujnik 18B20 przez RS232

Postprzez Zer0 » 26 sty 2010 00:34

Może te forum okaże się bardziej przyjazne dla uzytkowników stawiających pierwsze kroki w świecie labview, mam taką nadzieję ^^ otóż mam taki problem, a właściwie potrzebuję konsultacji odnosnie 18B20 mierzącego temperaturę w pełnym zakresie dokładności
2010-01-25 08-16-21.png

No niby wszystko ładnie, pieknie, prosto, ale macie może pomysł, jak skonfigurować cały tor pomiarowy od 'visa serial' aż do 'scan from string' w taki sposób, żeby 'scan from string' podawał odczytane dane szeregowe w postaci 12 równoległych linii (dla pełnej rozdzielczości pomiarowej termistora), na których pojawiać się będą bity odczytane z 18B20 tak, żeby powiedzmy co 1 sekundę, albo 2 sekundy mieć odczyt temperatury..?
Tymi równoległymi bitami zajmie się już przygotowana formuła licząca...
Bardzo proszę o jakiekolwiek wskazówki i porady... Ewentualnie może w jakiś inny sposób zrealizować tor pomiarowy, ale z tego co się orientuję visa serial jest najlepszym rozwiązaniem...
Ja osobiście myślałem, aby przestawić 'data bits' na 6 i spróbować w jakiś (jeszcze bliżej nieokreslony sposób) odczytać 2 paczki po 6 bitów, czy to przez rejestr, czy też pętlę iterowaną... nie szukam gotowego lekarstwa na ten problem (chociaż to by bardzo ułatwiło zycie), ale wszelkie info na temat 1wire bus i odczytu danych z RS będą na wagę złota :3
Avatar użytkownika
Zer0
 
Posty: 7
Dołączył(a): 26 sty 2010 00:23
Lokalizacja: Olsztyn
Wersja środowiska: LabVIEW 8.5

czujnik 18B20 przez RS232

Postprzez Zer0 » 26 sty 2010 00:58

czujnik 18B20 połaczyłem według schematu zaczerpniętego z tej strony:
http://kml.jogger.pl/2009/10/29/termome ... com-i-usb/
Avatar użytkownika
Zer0
 
Posty: 7
Dołączył(a): 26 sty 2010 00:23
Lokalizacja: Olsztyn
Wersja środowiska: LabVIEW 8.5

czujnik 18B20 przez RS232

Postprzez ky3orr » 28 sty 2010 21:43

Zer0 możesz podać skąd wziąłeś ten kod?
rozumiem, że transmisja ma bazować na analizowaniu stanu linii DTR.
nie rozumiem natomiast po co w port wysyłany jest string: MEANS:VOLT:DC?
wygląda to jak sterowanie jakiegoś urządzenia po GPIB lub coś w tym stylu :)

na mój gust trzebaby stworzyć vija, który przesyła dane szeregowo po linii DTR właśnie.
yegomość KY3ORR
Avatar użytkownika
ky3orr
 
Posty: 115
Dołączył(a): 10 gru 2006 01:00
Lokalizacja: Siechnice
Pochwały: 7
Wersja środowiska: LabVIEW 8.6

Re: czujnik 18B20 przez RS232

Postprzez Zer0 » 29 sty 2010 10:22

AAA xD Te "means:volt:dc?" to tak na pałe wpisałem, żeby labVIEW nie chciał nić ode mnie przy uruchamianiu symulacji :D bo ten tor pomiarowy to był tak naprawde z ksiązki brany, gdzie był pokazany przykład VISA serial...
Przemyślałem troche sprawe i pomyslałem, żeby w ilości bitów zamiast 8 wpisać 6 i w któąś VISE ,czy to write, czy read wstawić pętlę iterowaną czasem odczytu 6 bitów...
Ale kurcze dużo kąbinowania wychodzi w takim układzie... więc szukam jakiejś pomocy, wskazówki jak by to konkternie skonfigurować, żeby RS232 odczytywał 12 bitów (chociaż RS ma 8 bitowy bufor) i żeby te bity mozna było na raz na sekundę, równolegle odczytać... coś czuje, że czeka mnei niezły hardkor :S
Avatar użytkownika
Zer0
 
Posty: 7
Dołączył(a): 26 sty 2010 00:23
Lokalizacja: Olsztyn
Wersja środowiska: LabVIEW 8.5

czujnik 18B20 przez RS232

Postprzez Ender » 29 sty 2010 11:35

To że chcesz odczytać 12 bitową wartość temperatury nie znaczy, że nagle wzrośnie długość bajtu danych przesyłanego po RS. Szybki rzut okiem na kartę katalogową i zobaczysz, że wartość temperatury przesyłana jest w dwóch ośmiobitowych bajtach, gdzie najstarsze bity MSB zawierają znak, a pozostałe 9 do 12 bitów (w zależności od ustawień w rejestrze konfiguracyjnym) zawiera odczytaną wartość temperatury.
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Avatar użytkownika
Ender
 
Posty: 108
Dołączył(a): 02 cze 2005 00:00
Lokalizacja: Cieszyn
Pochwały: 6
Wersja środowiska: LabVIEW 2009

Re: czujnik 18B20 przez RS232

Postprzez ky3orr » 02 lut 2010 15:49

Zer0 może zainteresuje Cię przejściówka 1Wire<->RS232, dzięki której łatwo obsłużysz czujniik przez komponenty VISA (Serial).
http://idom.wizzard.one.pl/index.php?co=st_rs2321wire

i jeszcze cos takiego:
http://www.elportal.pl/index.php?module ... y&ceid=118

pozdrawiam
yegomość KY3ORR
Avatar użytkownika
ky3orr
 
Posty: 115
Dołączył(a): 10 gru 2006 01:00
Lokalizacja: Siechnice
Pochwały: 7
Wersja środowiska: LabVIEW 8.6

czujnik 18B20 przez RS232

Postprzez Zer0 » 04 lut 2010 14:57

ky3orr, coś czuję, że ratujesz mi skórę i jestem Ci winny ładną flaszkę :D jutro skoro świt lece do sklepu z elektroniką i kupuje potrzebne komponenty :) jak to odpale i skonfiguruje tor pomiarowy VISA, to normalnie cud będzie...
Avatar użytkownika
Zer0
 
Posty: 7
Dołączył(a): 26 sty 2010 00:23
Lokalizacja: Olsztyn
Wersja środowiska: LabVIEW 8.5

czujnik 18B20 przez RS232

Postprzez ky3orr » 04 lut 2010 23:25

Zer0 napisał(a):ky3orr, coś czuję, że ratujesz mi skórę i jestem Ci winny ładną flaszkę :D jutro skoro świt lece do sklepu z elektroniką i kupuje potrzebne komponenty :) jak to odpale i skonfiguruje tor pomiarowy VISA, to normalnie cud będzie...
o postępach swoich prac poinformuj tu nas kolego...
yegomość KY3ORR
Avatar użytkownika
ky3orr
 
Posty: 115
Dołączył(a): 10 gru 2006 01:00
Lokalizacja: Siechnice
Pochwały: 7
Wersja środowiska: LabVIEW 8.6

czujnik 18B20 przez RS232

Postprzez Zer0 » 05 lut 2010 21:11

Narazie brak postepów... chociaż.. wiem już czego brakuje, aby projekt zadziałał jak należy. Otóż muszę sformułować odpowiednie zapytanie dla VISA write, bo w zalezności od tego, co wpiszę w VISA write takie wartości mam na stringu. No i kolejny problem to konfiguracja scan from string. Przeglądając aplikację lbview32 z tej paczki http://decibel.ni.com/content/docs/DOC-1092 oraz plik Read DS18B20 wyszło na jaw, że wraz z precyzją odczytu wiąże się ustawienie odpowiedniego czasu dla Wait (ms).. jak mniemam jest to ustawienie czasu dla Visa read... I odziwo dla ustawienia na wejściu VISA serial 7 bitów labview nie krzyczy błedu..
Avatar użytkownika
Zer0
 
Posty: 7
Dołączył(a): 26 sty 2010 00:23
Lokalizacja: Olsztyn
Wersja środowiska: LabVIEW 8.5

Re: czujnik 18B20 przez RS232

Postprzez Zer0 » 05 lut 2010 22:37

Zmodyfikowana wersja wygląda tak
2010-02-05 21-16-46.png

I w sumie jak na obrazku, siedze i dobieram zapytanie oraz typ skanu, żeby na wyjściu scan from string otrzymać wartość bitową, albo hexa - jedno lub drugie rozwiązuje problem.
Co jeszcze mnie zastanawia, to ilośc bitów przy VISA serial, otóż gdy wpisana wartość =8, to lab krzyczy 'framing error BFFFF006B', natomiast przy 7 zachowuje się normalnie i program zaczyna działać bez błędu, pomijając kod 55 :D.
Avatar użytkownika
Zer0
 
Posty: 7
Dołączył(a): 26 sty 2010 00:23
Lokalizacja: Olsztyn
Wersja środowiska: LabVIEW 8.5

Re: czujnik 18B20 przez RS232

Postprzez Ender » 07 lut 2010 19:02

Pracując z jakimkolwiek urządzeniem naprawdę polecam zapoznać się z jego kartą katalogową, najczęściej wszystko co niezbędne jest tam wytłumaczone
http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf
W tym przypadku komunikacja opisana jest dokładniej na stronach 10-18, ale polecam przeczytać całą kartę. Sporo tego, komunikacja niestety nie sprowadza się do wysłania jednego pytania i uzyskania odpowiedzi, za każdym razem trzeba spełnić sekwencję transakcyjną, której przykłady są na stronie 18. Niestety z urządzeniami 1-wire nie miałem okazji się bawić, nie wiem również jak dobry jest konwerter na RS232 i na ile pozwala sterować linią komunikacyjną. Mam nadzieję, że lektura rzuci nieco światła na całe zagadnienie.
Pozdrawiam i życzę powodzenia
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Avatar użytkownika
Ender
 
Posty: 108
Dołączył(a): 02 cze 2005 00:00
Lokalizacja: Cieszyn
Pochwały: 6
Wersja środowiska: LabVIEW 2009

Re: czujnik 18B20 przez RS232

Postprzez Zer0 » 07 lut 2010 23:20

A ja sie zastanawiam, czy ten DS18B20 był słusznie wybrany? może powinienem był wziąć się za lm335? O ile mozna go bezpośrednio do RS podpiąć (bez zewnętrznego kontrolera), może okazałby się łatwiejszy do odczytania temperatury?
Avatar użytkownika
Zer0
 
Posty: 7
Dołączył(a): 26 sty 2010 00:23
Lokalizacja: Olsztyn
Wersja środowiska: LabVIEW 8.5


Powrót do Budowa struktury aplikacji

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

cron