One Wire Parasite Power - No Temp Reading

Drewscm
Posts: 9
Joined: Fri Jan 01, 2016 7:46 am

One Wire Parasite Power - No Temp Reading

Postby Drewscm » Mon Feb 15, 2016 12:03 am

I have a few 1-wire sensors that I wired up in a 2 wire setup, parasite power that I am unable to access and change the wiring.

I have been experimenting with some extra DS18B20 I have and am able to get mervis to detect them but the temperature stays at 85. Any idea how to fix this issue?

The three sensors I have wired in this application are crucial, so please any help to resolve will be greatly appreciated.
tomas_hora
Site Admin
Posts: 298
Joined: Wed Oct 29, 2014 9:56 am

Re: One Wire Parasite Power - No Temp Reading

Postby tomas_hora » Mon Feb 15, 2016 3:16 pm

The 85°C is a power on reset value. This means that your sensors do not have enough power for the conversion. That is why we use the separate power supply...
Drewscm
Posts: 9
Joined: Fri Jan 01, 2016 7:46 am

Re: One Wire Parasite Power - No Temp Reading

Postby Drewscm » Wed Feb 17, 2016 4:45 am

Its hard to believe it is incapable of powering a single 1-wire sensor at 3 feet, is it possible something in the settings is not allowing the reading to be returned or converted?
tomas_hora
Site Admin
Posts: 298
Joined: Wed Oct 29, 2014 9:56 am

Re: One Wire Parasite Power - No Temp Reading

Postby tomas_hora » Wed Feb 17, 2016 9:12 am

Does it always show 85.0 or is it capable of at least some reading?

EDIT: By the way, if you are using parasite power, then VDD of 1wire slaves should be connected to GND.

I have created a simple function block in ST that you might use to filter out the 85 values:

Code: Select all

FUNCTION_BLOCK check_1w_temp
(*
EXTENDS //base type
IMPLEMENTS //interface type list
*)
   VAR NON_RETAIN
      (* add local variables here *)
      first_run:      bool:= TRUE;
      prev_temp:      real:= 999.99;
      filter:       LIB.CORE.V1_0.B86_FILTER;
   END_VAR
   VAR_INPUT
      (* add in variables here *)
      actual_temp:         real:= 0;
      err_diff:            real:= 5;
      por_diff:            real:= 1;
      filter_const:         real:= 60;
      min_temp_allowed:      real:= -55;
      max_temp_allowed:      real:= 125;      
   END_VAR
   VAR_OUTPUT
      outtemp:         real;
      err_measure:      bool:=FALSE;
      (* add out variables here *)
   END_VAR

(*function block body*)

//first run
IF first_run THEN
   outtemp:=actual_temp;
   prev_temp:=actual_temp;
   err_measure:=FALSE;
   first_run:=FALSE;
   RETURN;
END_IF;

//filter out impossible values
IF actual_temp > max_temp_allowed OR actual_temp < min_temp_allowed THEN
   outtemp:=prev_temp;
   err_measure:=TRUE;
   RETURN;
END_IF;


//filter out POR 85.0C errorrs
IF abs(prev_temp-actual_temp)>=por_diff AND actual_temp = 85.0 THEN
   err_measure:= TRUE;
   outtemp:=prev_temp;
//and filter measurre errors
ELSIF abs(prev_temp-actual_temp)>=err_diff THEN
   err_measure:=TRUE;
   outtemp:=prev_temp;
   //prev_temp:=actual_temp;
ELSE
   outtemp:=actual_temp;
   prev_temp:=actual_temp;
   err_measure:=FALSE;
END_IF;

//apply analog filer -> smooth the signal

IF err_measure = FALSE AND filter_const > 0 THEN
   filter(IN:= actual_temp, INDT:= filter_const, OUT=>outtemp);
   
END_IF;

END_FUNCTION_BLOCK
Drewscm
Posts: 9
Joined: Fri Jan 01, 2016 7:46 am

Re: One Wire Parasite Power - No Temp Reading

Postby Drewscm » Thu Feb 18, 2016 4:11 pm

I always get 85, no other reading.

Thank you for taking a look into it, I will give that function block a try tonight.

Correction: I think I may have made a mistake when talking about Parasitic power in another post, I wrote Vdd & Data connected, but I was typing faster than I was thinking. I have Vdd tied to GND, Data is separate.
Drewscm
Posts: 9
Joined: Fri Jan 01, 2016 7:46 am

Re: One Wire Parasite Power - No Temp Reading

Postby Drewscm » Wed Feb 24, 2016 2:05 am

Ok, I tested a few scenarios now. I figured out, external powered and parasite powered 1-wire sensors will not work together. When using only parasite powered sensors I am able to run up to three together, when a forth is added temperature readings begin to get unstable.

Is unipi/mervis simultaneously converting temps when there is external powered sensors? That would cause the parasite ones to not work together. Is it possible when running only parasite sensors there isn't enough time between calls to get the temp from more than 3 sensors and convert?

Do you think I would be able to use one of the 8 channel expanders and run my three parasite powered sensors on one channel and all external powered sensors on another channel?
tomas_hora
Site Admin
Posts: 298
Joined: Wed Oct 29, 2014 9:56 am

Re: One Wire Parasite Power - No Temp Reading

Postby tomas_hora » Mon Feb 29, 2016 6:06 pm

There is definitely no simultaneous reading. All the software just goes through the list of available sensors and reads send the convert command and reads its scratchpad. However I cannot say how it is with the interval between readings because we do not use parasite power at all....

I will try to test the parasite sensors and external powered sensors during this week and let you know. If I dont, please send me a PM :)
Drewscm
Posts: 9
Joined: Fri Jan 01, 2016 7:46 am

Re: One Wire Parasite Power - No Temp Reading

Postby Drewscm » Wed Apr 20, 2016 5:10 am

Were you able to take a look into the parasite powered 1-wire sensors?

Thanks
tomas_hora
Site Admin
Posts: 298
Joined: Wed Oct 29, 2014 9:56 am

Re: One Wire Parasite Power - No Temp Reading

Postby tomas_hora » Wed Apr 20, 2016 7:31 am

Hello, we had a meeting about this but since mervis is a commercial solution, we wont be supporting unofficial hw. So it is on our todo-list but not at a first place.

Return to “Mervis”

Who is online

Users browsing this forum: No registered users and 1 guest