Hi. I hope everyone is safe & well. Apologies for the slight thread resurrection buy I've been tinkering with a Heljan Class 45 roof fan (and Googling for suggestions - how I arrived here) and I thought I could share some ideas I have tried.
Firstly - a disclaimer - these relate to my use of
Zimo sound decoders; I expect that most might be applicable to/have equivalents for decoders from other manufacturers.
- If you're not intending to fully implement smoke generators, you have a couple of options: function outputs for either the heater element or the smoke fan can be used to drive the roof fan. The main advantage of re-assigning these function outputs is PWM can be individually configured (separate CV settings) according to whether the loco. is at a stand, steady speed or accelerating. You can even set a time-out to stop the fan (presumably intended to stop overheating of the smoke generator components).
- If you're not intending to use the uncoupler function, this too can be reassigned to roof fan use with tailored PWM value set via CV, although it would be a constant speed while the function is activated.
Finally, a note on Paul Chetter's sound projects as mentioned in the last comment above. By the by, the results he achieves are predominantly why I generally choose Zimo but that is not the point I wanted to make ...
Hidden (at least partially) in the Zimo documentation are references to "trigger sounds" or (rather more meaningfully albeit verbosely) "connection between sounds and function output".
Typically, function keys are used to initiate (and terminate) both sounds and function outputs. However, the aforementioned "trigger sounds" allow that relationship to be reversed somewhat so that when a sound is initiated - by whatever means (function key, switch input, random generator) - an associated function key (or, interestingly in this context, the smoke generator fan) will be virtually activated, as if you had pressed the associated function key directly. That is a "pretty cool" feature in my opinion but it's utility increases further when you realise that it has another unexpected (not mentioned?) but potentially beneficial behaviour, best illustrated by an example I hope:
Say you have configured function key, F15, to activate the fan sound and also the function output for the actual fan. When you press F15, you hear the sound and the fan turns - great! When you release F15, the fan stops but the sound may continue for some time (depending upon the sound recorded and how the sound project is configured). I think this is to be expected but it's not completely satisfactory.
If instead you have configured key, F15, to activate the fan sound ONLY but also configured the trigger sound for the roof fan function output to be F15, it behaves as before but - neat bit! - the function output continues for as long as the sound is played/heard. So if you release F15 and the sound continues for some time after so also will the fan continue to turn. This feature comes into it's own if you assign the sound to one of the random sound generators (Z) - no need to press F15 at all if you don't want to ...
If you put all these ideas together, you can do what I ended-up with: assign the roof fan to the smoke fan output to have varying speeds at different locomotive speeds; time-out the fan so that it stops occasionally but then restarts according to the random sound generator.
P.S. After all that I disconnected the Heljan fan because I decided I simply couldn't abide the racket it (the fan assembly) makes - just a distraction, even with the real fan sound playing over the top.