1
0
mirror of https://github.com/sjlongland/cluster-powerctl.git synced 2025-10-22 14:04:38 +10:00
Commit Graph

30 Commits

Author SHA1 Message Date
87d76972df
setpoints: Define an increment step to provide hysteresis.
By incrementing the battery voltage on compare, we ensure we are seeing
a steadily increasing voltage.  If we're not seeing that, then we flag
the warning.
2017-03-19 12:54:25 +10:00
112a127c52
Makefile: fix typo 2017-03-19 12:53:53 +10:00
a2e2d1162b
Makefile: If setpoint.h{,.diff} matches, just update timestamp 2017-03-19 12:37:22 +10:00
8a27a8df8f
powerctl: Don't change warning state in check.
Doing so causes flapping that is unable to be resolved by timers.
2017-03-19 12:36:45 +10:00
c2e6915996
powerctl: Wait until t_cwarn expiry before clearing timer. 2017-03-19 12:24:13 +10:00
403bd5d58f
Makefile: Show differences in setpoints when updated. 2017-03-19 12:23:44 +10:00
3969248610
powerctl: In CHARGE_WAIT state, reset if battery improving. 2017-03-19 11:23:57 +10:00
dec958e9ca
setpoints: Swap timeouts around.
Got high and low frequency swapped, whoopsie!
2017-03-19 11:14:36 +10:00
97d4732c6c
powerctl: Implement warning timer. 2017-03-19 10:59:33 +10:00
0e58231224
setpoints: Add warning timeout.
If the charge isn't rising, we should wait before acting on it in case
it is temporary in nature.

It was hoped that the charger delay should be enough, but it seems it
still can flap.  We reset the warning if we see an improvement, or let
the timer expire if we don't.
2017-03-19 10:57:39 +10:00
10cf0c710a
powerctl: Re-locate WARNING LED update. 2017-03-19 10:15:51 +10:00
5fe8ce3d74
powerctl: Revert t_adc to being a tick timer.
Rather than counting seconds, count ticks, so we can set sub-second ADC
samples.
2017-03-19 09:41:41 +10:00
cdb3bb6349
setpoints: Re-name constants to reflect new units, tweak values. 2017-03-19 09:41:23 +10:00
a5031f0403
powerctl: Tweak warning LED usage.
Show a warning when charging and the battery voltage is *not*
increasing.
2017-03-19 09:28:55 +10:00
511309aa74
powerctl: Create one-second timer
This creates a one-second timing event from the high-frequency timer for
less frequent events so we don't have to keep ticking down larger
numbers.
2017-03-18 15:44:48 +10:00
c29736ca86
powerctl: Fix some debug typos 2017-03-18 15:22:35 +10:00
3341fcefdf
Makefile: Pass -DDEBUG if DEBUG=y 2017-03-18 15:22:18 +10:00
3db2e03807
powerctl: Re-locate high-voltage threshold check.
If the charger is doing a bulk charge, it'll likely be dumping high
current into the battery, resulting in a high voltage appearing at the
terminals.

We don't want to disturb this… we want to wait until the charger thinks
it's done, which it signifies by turning off.  We should see the voltage
drop back and continue falling.  If we're above our "high" threshold at
this point, *then* we might consider leaving it off.
2017-03-18 14:04:12 +10:00
312d21c01c
powerctl: Re-write battery charge control logic.
See doc/flowdiag.png and
https://hackaday.io/project/10529-solar-powered-cloud-computing/log/54762-charge-control-flow-control-diagram
for details on how this new logic is supposed to work.
2017-03-12 15:47:39 +10:00
a427edff38
setpoints: Rename constants for consistency 2017-03-12 15:47:22 +10:00
5c57cd27ae
setpoints: Cosmetics 2017-03-12 14:40:20 +10:00
29912e0c7c
board: Define timer configuration. 2017-03-12 14:38:18 +10:00
82eaf94aef
setpoints: Re-adjust setpoint definitions.
- Define timeouts in milliseconds for portability
- Define voltages using symbols in design documentation
2017-03-12 14:33:15 +10:00
39ef58f145
doc: Add re-design documentation.
After some thought, the original code isn't going to do what is needed.
The following image is a re-design of the firmware having re-assessed
the requirements.
2017-03-11 23:29:57 +10:00
301c9a9d43
Lengthen some timeouts.
We seem to be a bit too impatient waiting for the mains charger to kick
in, and too hasty for the fan.
2016-11-05 17:04:45 +10:00
d29d15308b
Add shutdown delay on "high" threshold.
We should delay our shutdown in case the charger decides to ramp down
itself.  Otherwise we can get the situation where a smart charger starts
high, tripping the high threshold immediately, leading to the controller
and charger oscillating between on and off.
2016-11-05 17:04:05 +10:00
d91ec8d786
Move setpoint definitions to separate header.
This will get copied over to setpoints.h, where the developer can
customise them.  If they do so, and I have to change things, the
Makefile will warn them of this.
2016-09-04 06:57:36 +10:00
772d5b9d30
FAN control: Fine-tune minimum PWM
It appears the minimum PWM is more strongly dependent on battery voltage
than I had planned, it needs to be just a little higher to ensure the
fan keeps turning at low RPM.
2016-09-04 06:47:28 +10:00
e62cbf497a
fan PWM tweaks.
- Adjust the calculations so that we base our initial PWM at 0 then
  clamp to minimum PWM
- Implement a fan kick-start mode
- Start with fan off so kick-start mode works
2016-09-04 06:30:52 +10:00
882541392f
Initial check-in 2016-09-03 17:31:15 +10:00