Ofrezco esto como una propuesta de una idea: no he tenido tiempo de probar esto, por lo que puede o no funcionar, pero espero que provoque una línea de pensamiento.
Los principales problemas con los solenoides son que están diseñados para funcionar rápidamente; una vez que se aplica la corriente suficiente, se activan. Su acción no es proporcional: debajo de cierta corriente no hacen nada. Finalmente, lo que mejor hacen es PULL en el émbolo.
Así que aquí está la idea. Conecta dos solenoides en oposición entre sí en una batalla eléctrica.
y este es mi pensamiento ...
Con ambos (igualmente) alimentados al mismo tiempo (flanco ascendente del pulso) no debe haber movimiento neto (porque las fuerzas son iguales y opuestas)
Si el pulso del solenoide B es más ligero más largo que el pulso del solenoide A, entonces el émbolo debe moverse hacia el solenoide B. La cantidad de movimiento será pequeña porque el intervalo de tiempo es pequeño (Leyes de Newton). La fricción en el émbolo detendrá el movimiento durante el tiempo de apagado. Repetir el pulso mantendrá el émbolo en movimiento (en pequeños saltos) en la misma dirección.
La frecuencia del pulso determinará los saltos por segundo y el tiempo de demora en la cantidad de movimiento por pulso para que juntos controlen la velocidad del émbolo.
El circuito de control (ver arriba) que puede construirse usando un temporizador 555 y una puerta OR cuádruple 4071 de entrada doble, no es tanto PWM como PLM (modulación de longitud de pulso). Estos pulsos se utilizarían para controlar la corriente del solenoide a través de MOSFET (con diodos de amortiguación en las bobinas). Para invertir la dirección, simplemente cambie los pulsos de modo que A sea B y B sea A. La frecuencia y el retardo de CR se reducirán a un poco de experimentación, pero estaría pensando en términos de unos pocos 10s de Hertz en lugar de 100s.