https://github.com/ngfelixl/heatcontrol
Heat stabilizer for mixture motor with Keypad LCD and DS18B20 sensor
https://github.com/ngfelixl/heatcontrol
heat heater heating home-assistant home-automation mixer motor motor-controller
Last synced: about 2 months ago
JSON representation
Heat stabilizer for mixture motor with Keypad LCD and DS18B20 sensor
- Host: GitHub
- URL: https://github.com/ngfelixl/heatcontrol
- Owner: ngfelixl
- Created: 2017-09-14T22:00:57.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-09-15T21:53:08.000Z (over 7 years ago)
- Last Synced: 2025-02-24T11:04:28.432Z (2 months ago)
- Topics: heat, heater, heating, home-assistant, home-automation, mixer, motor, motor-controller
- Language: Arduino
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Arduino based heat stabilizer
Reads temperature from DS18B20 Sensor via DallasTemperature and OneWire library.
Uses up and down button from shield to adjust the target temperature
in range [20,38]. Shield displays current temperature, target temperature,
temperature derivative, output open isActive and output close isActive.## Getting Startet
Clone repo, open either with VSCode or Arduino IDE. Should work with every
Arduino capable editor. Adjust pin constants at
```C
#define OUTPUT0 11
#define OUTPUT1 12
#define TEMPPIN 12
```
where `OUTPUT0` is the motor open gate (true means active) and `OUTPUT1` is the close gate.
Now you can adjust the time settings. The controller works with timer variables and `millis()`
function instead of delays. With the following constants you can adjust the duration of
some actions.
```C
#define CONTROL_ACTIVE_TIME 1000 // [ms]
#define CONTROL_LOOP_TIME 30000 // [ms]
#define BUTTON_DEAD_TIME 500 // [ms]
```
Here `CONTROL_ACTIVE_TIME` sets the activated time for the output gates. If it's 1000 the
gate will open exactly for one second. `CONTROL_LOOP_TIME` sets the time for checking the
temperature difference before and now, and opens the appropriate gate. `BUTTON_DEAD_TIME`
disables the buttons for the adjusted value after press.## Output
Has two digital outputs defined for controlling the heater. As mentioned above they are
labelled `OUTPUT0` and `OUTPUT1`. Never open both outputs at the same time. If DS18B20 is not
connected, the library will retrieve a value of -127 degree. The controller closes all
gates if temperature < 0.## Dependencies
#### Arduino Libraries
- LiquidCrystal
- OneWire
- DallasTemperature
#### External
- https://github.com/dzindra/LCDKeypad