Actions
PWM Output » History » Revision 1
Revision 1/2
| Next »
Adam Klama, 06/21/2026 03:26 PM
PWM Output¶
Overview¶
A PWM Output drives a hardware pin with a pulse-width-modulated signal. It is
the most common output type, used to control solenoids, proportional valves,
lamps/LEDs, fans, and other actuators where the average power is set by the duty
cycle.
It runs in one of two modes:
-
PWM mode — you command a duty cycle; the pin switches at the configured
frequency. -
Current mode — the output regulates to a commanded current (closed-loop),
which is what most proportional solenoids need for repeatable behaviour.
Prerequisites & hardware¶
- Wire the actuator between the output pin and its return per the controller pinout;
observe the channel's current rating. - Fit a flyback/freewheel path for inductive loads (solenoids, relays) if the
channel does not provide one. - For current-controlled solenoids, use Current mode and set the
current limit to the actuator's rating.
Add it in the app¶
- Add a new output and choose PWM Output as the type.
- Select the pin and give it an alias (e.g.
Line Pressure Solenoid). - Choose Mode, set the frequency, and configure peak & hold if the
actuator needs it. - Drive the output from a map/driver that supplies the duty or current command.
Settings reference¶
Schema:
config/PwmConfiguration.proto.
| Setting | Meaning | Unit | Range / values | Notes |
|---|---|---|---|---|
| Mode | Control strategy | — |
PWM, Current
|
PWM = command duty cycle; Current = closed-loop current regulation. |
| Frequency | PWM switching frequency | Hz | 100 – 4000 | Higher = quieter/smoother; match the actuator's recommended frequency. |
| Invert | Inverts the output polarity / duty | — | on / off | Use when the load is wired active-low or logic is reversed. |
| Current limit | Maximum output current | mA | uint32 | Protects the actuator and driver; used as the regulation target ceiling in Current mode. |
| Peak & hold | Enables a peak-then-hold drive profile | — | on / off | Pull a solenoid in at high current, then hold it with less — saves power/heat. |
| Peak value | Current/duty during the peak phase | mA or % | sint32 | Applied for the peak time at engage. |
| Peak time | Duration of the peak phase | ms | sint32 | How long the peak value is applied before dropping to hold. |
| Hold value | Current/duty during the hold phase | mA or % | sint32 | Steady-state level once engaged. |
| Proportional hold | Scales the hold level proportionally | — | on / off | Hold tracks the command rather than a fixed level. |
Common settings¶
PWM Output also uses the shared settings — alias and pin. See Common IO Settings.
Example — peak-and-hold shift solenoid¶
- Type PWM Output, alias
Shift Solenoid A, on the solenoid's pin. - Mode = Current, Current limit = solenoid rating.
-
Peak & hold on: Peak value = high pull-in current, Peak time ≈ 30–60 ms,
Hold value = lower steady current. - Frequency per the solenoid data sheet (commonly 1–2 kHz).
- Command it from the shift logic/map.
Troubleshooting¶
-
Actuator buzzes / audible whine: raise the frequency above the audible
range or to the actuator's recommended value. -
Solenoid won't pull in but holds weakly / vice-versa: revisit peak value
and peak time. - Output runs backwards / always on: check Invert.
-
Overheats or trips: check the current limit and that hold current isn't
set too high.
Related¶
- Analog Output — for an analog voltage instead of PWM.
- Tacho Output — generated tacho/frequency signal.
Updated by Adam Klama 1 day ago · 2 revisions