Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(Feature-) Request about heating control - stay above minimum temperature (anti-freezing) #4

Open
Fux2 opened this issue Aug 6, 2021 · 1 comment

Comments

@Fux2
Copy link

Fux2 commented Aug 6, 2021

Hi João,
thanks for this great project.
For the rain sensors of my weather station I am looking for a heating control. The arduheater hardware fits perfect, as I need 4 channels.
One dew heating channel for the rain sensing sensor and three heating channels for keeping the temperature above freezing.
Is there already something build in, to keep the temperature stable above a given adjustable minimum temperature, for example 3°C? If no, do you think this would be a big effort? At which source part would you implement this?
Many thanks
Markus

@Fux2 Fux2 changed the title (Feature-) Request about heating control (Feature-) Request about heating control - stay above minimum temperatur (anti-freezing) Aug 6, 2021
@Fux2 Fux2 changed the title (Feature-) Request about heating control - stay above minimum temperatur (anti-freezing) (Feature-) Request about heating control - stay above minimum temperature (anti-freezing) Aug 6, 2021
@Fux2
Copy link
Author

Fux2 commented Aug 8, 2021

I had some look into the source and think the easiest solution for anti-freezing is, to set the "dew-point" fix to 0°C.
This means, that with the offset dew temperature the target temperature above 0°C can be adjusted.

// ORIGINAL part of callback.h
...
  for(size_t i = 0; i < asizeof(output); i++) {
    if(ambient.is_connected()) {
      // Update the output setpoint as long as it is connected.
      output[i].set_setpoint(ambient.dew_point());
      //if(i == 1 || i == 3) output[i].set_setpoint_offset(10);
      //output[i].set_setpoint(40);
...
// MODIFIED ch1 to ch3 as anti-freezing heater
...
  for(size_t i = 0; i < asizeof(output); i++) {
    if(ambient.is_connected()) {
      // Update the output setpoint as long as it is connected.
	if(i == 0) { // default dew mode
		output[i].set_setpoint(ambient.dew_point());
	}
	else { // anti-freezing mode --> "dew_point" always set to 0°C
		output[i].set_setpoint(0.0f);
	}
      //if(i == 1 || i == 3) output[i].set_setpoint_offset(10);
      //output[i].set_setpoint(40);
...

Not tested yet. Any comments are welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant