Bugfix: Incorrect RPM
The reported exhaust_fan RPM was bogus and reporting slower values when set above 35% because the poll interval was incorrect.
[fan_generic exhaust_fan]
pin: PB0
tachometer_pin: PB1
tachometer_ppr: 1
tachometer_poll_interval: 0.0019 #was 0.0046
cycle_time: 0.05 #was 0.01
max_power: 1.0
kick_start_time: 0.3
I checked the whole range for aliasing or other errors, and I got the expected smooth quadratic fan curve. This can now report up to ~15.8 krpm, so a bit of headroom over my 100% 14.2 krpm for hardware variation.
This means the stock/typical 80% fan speed is actually 12 krpm.
Lowest fan speed
Lengthening the cycle time ( reducing the PWM frequency) to from 0.01s to 0.05s (100Hz to 20Hz) achieves a slightly lower minimum fan speed. I’m now able to get 2 krpm (12%), whereas before the best I could achieve was 14%.
Even longer cycle times don’t help.
Kick
Surprisingly, adjusting kick_start_time doesn’t influence the minimum achieved speed. I can set it to 0, or remove the line altogether, and 12% still works. I suspect the firmware is adding a kick of its own though, since I see it report 3krpm for a moment before it settles in.
Of course, no kick isn’t robust, so here are various durations & achieved (& reported) speeds if you want to determine your own trade-offs. While there’s a clear audible difference between actual response time and reported peak RPM, that’s harder to quantify.
| kick [s] | peak revs [krpm] | throttle [%] | peak SPL [dB(A)] | notes |
|---|---|---|---|---|
| 0.0 | 3 | 13% | 38 | |
| 0.2 | 3 | 13% | 38 | imperceptible kick |
| 0.3 | 3.5 | 14% | 38 | hardly perceptible kick |
| 0.4 | 5 | 21% | 39 | |
| 1.1 | 8 | 40% | 44 | stock/waterfall min |
| 2.3 | 11 | 71% | 52 | |
| 3.0 | 12 | 80% | 54 | stock/waterfall max |
| 4.6 | 14 | 100% | 58 | actual max |
I’ll use 0.3s for now, but I wonder if deliberately leaving it long may help with the PID’s initial overshoot…
SPL decibel
I placed a cheap decibel meter about 3ft away in front, door and lid closed, to record the steady state intensity for a given RPM. The Zero, without exhaust, idles at 37dB(A), which is the same as my background environment when the printer is off.