Here's the article that I had previously posted that started this conversation regarding PWM:
What’s the Best Way to Drive a Solenoid?
Basically, the PWM pulses are much faster than the solenoid's reaction time, so the power is effectively averaged, proportional to the pulse duration of the cycle. Presumably, the frequency would depend upon the specific solenoid's inductance and the applied voltage would need to be sufficient to overcome the impedance. Pulsing the power allows a higher current, without frying the coil (ideally). It's a technique more commonly used for dimming LEDs and controlling RC servo motors.
Arduino based MCUs, like the Teensy 4.x, can already provide fully programmable TTL level PWM signals via their GPIO pins. My T4 Laser Synth has 20 that are unused and available for controlling solenoids, motors, & etc, 14 are direct GPIO connections (if installed inside a projector) + 6 connections via DB25 (for projector's ILDA connection), if configured like an external DAC. I only need a suitable MOSFET driver board and PSU, located near the thing-a-ma-jigs.
I will pursue this methodology to customize the initial power curve while activating my solenoids for optimal performance, as well as minimizing the power required for holding solenoids, programable via software whatever the load may be.
BR
Roj