I have been hard working on the new stepper based machine. My last post mentioned that I did succeed in making a prototype of a stepper based machine that can be easily and cheaply built with stock components. A few custom parts will improve the performance but are not necessary.
I have now succeeded in writing control code that simulates a conventional machine such as the Shockspot. A simple three knob control (consisting of three inexpensive rotary potentiometers and a few passive components) allows for the control of stroke, speed and penetration offset. The controller accelerates the stroking smoothly but can run amazingly fast for a stepper motor. Acceleration control or speed ramping produces a smoother motion which is gentler on the machine as well as the user. I can increase the acceleration to make a “damn the torpedoes, full speed ahead” mode. Might add a switch to do this.
The machine can be built to use either the encoder “joystick” controller (my favorite )but for passive, just want to get fucked mode, you can plug in the three knob controller and the machine will recognize it and turn off the encoder. You can also build a machine that uses just the three knob control if you don’t want the joystick or if you want to minimize cost and possibly add it later.
There is just one bug I am aware of right now. I can’t seem to figure out how to get the stroke limit correct if the penetration offset is extreme. Just need to stop thinking about it and either figure it out or fake it some way. Since this machine is completely open loop with no limit switches nor limit to stroke I need to figure out the best way to work without these. It might be a good idea to add another control to set the maximum stroke so you could change it without updating the firmware. I can think of several ways to do that but need to decide which is best.