GeorgeDewar / pid-thermostat

PID control for a room heater
11 stars 10 forks source link

Information #1

Open bkiss opened 8 years ago

bkiss commented 8 years ago

Hi there,

i was waiting for a long time for this code, want to create a smarter thermostat with minimal overshooting, to control central heating (on/off) with relay. Now i am in testing phase, it's seems to be ok for now. My programming skills are weak :( unfortunatelly.

The question is is there any possibility to set a Timer for the relay output, to get 5 minutes (for example) ON to avoid the starting to many times the heater (natural gas, methane). What do you think?

Anyway, i copied your code and now i'm using it with some modification, without rcswitch, ir, but with DHT22. Now i will adapt my LCD display with buttons, and want to connect somehow to pimatic.

Thank YOU!!!

GeorgeDewar commented 7 years ago

Hi @bkiss. I'm so sorry that I missed this issue. I didn't have email notifications set up properly at the time. How did you get on with this in the end?

bkiss commented 7 years ago

I am not using it right now, but i still looking for a smart DIY thermostat code for on/off, but for home heating.

I tried with many thermostats, including Nest, but the king was the Siemens Landis Staefa ver11: http://corporate.siemens.com.au/content/dam/internet/siemens-com-au/root/building-technology/rev11-data-sheet.pdf

I just want to replace Siemens with an Open source thermostat, but with pid control to get rid of overshooting :)

GeorgeDewar commented 7 years ago

Cool - that Siemens unit looks pretty good. So, from your original question you mentioned a 5 minute on time to prevent excessive starts.

The code as it stands runs on a 20 minute cycle, so you could never have more than one start per 20 minutes. But, I am guessing you may mean you don't want to run the furnace for less than 5 minutes?

That would be quite an easy modification - you could try adding in a condition that the relay will never turn on until the duty cycle has reached the level that would result in a 5-minute run (with a 20-minute cycle, that would be 25%).

Or are you now looking for something more polished and sophisticated, like the Siemens?

bkiss commented 7 years ago

Well, it's not quite true, i mean the 5 minutes minimum run time. At my Siemens device i can set to 7 or 14 minutes run times, or automatic. I don't want to copy the siemens at all, but i want to obtain similar output. 37951d3c-b39a-11e4-8096-2164ea8fcc61

In the picture u will see the difference between my work and siemens. :), but this is not your thermostat.

It would be nice to have a setting for a minimum time of running, but just in some cases, for example if the temperature is far away from the setting point. I hope u understand what i mean.

And yes, i want to prevent excessive starts.

Anyway i will adjust this for digital readings of temperature, DHT22, i will not use the IR, but i will need to modify the setting point somehow, from outside - i use PIMATIC - http://pimatic.org/

No i'm not want more sophisticated and polished, i have just eliminated my N_e_s_t themostat, i was not to happy with him. - i can show you graphs :)

I am happy to get in touch with you, maybe this winter i will finally finish the thermostat...i know, at you the summer is coming, but i am "on the other side" :)