Chris,
Since you have a SmoothStepper, I'll give you the (perhaps limited) benefit of my experiences getting the spindle speed control working over the last week. It was anything but an intuitive process, but I finally got it working as I wanted. My machine has a two-speed motor, and four step pulleys. My goal was to have the "spidnle speed" command that Mach sees be the VFD frequency times 10. So, for example, doing an S750 in the G-code would set the VFD to 75Hz. I modified my SheetCAM post-processor so I could input RPM into SheetCAM, and the post-processor would then figure out which motor speed and step pulley to use, insert an M00 into the G-code prompting me to make those settings, then output the S commands as VFD frequency times 10.
When I first brought up the spindle speed control through my CNC4PC C10 board and SmoothStepper, after much futzing around, I ended up with settings that worked, but not very well. Speed was uneven, wandering around quite a bit, especially at lower frequencies. After a few days, it stopped working even that well - really went to hell. Seems the LM2907 on the C10 went Tango-Uniform. So, I replaced the LM2907, and this time set about trying to understand how the circuit really worked, and how to optimize the Mach and SmoothStepper settings. This turned out to be quite an exercise, and required putting an oscilloscope on the LM2907 to see what was being commanded (step pulses coming into), and what was being output (analog voltage to VFD).
Here's what I determined: First, the "step pulse width" settings in the Motor Tuning dialog do nothing with SmoothStepper. Instead, there is a corresponding setting in the SmoothStepper config dialog. The key to getting reliable operation is getting this step pulsewidth setting, and the stes/unit setting in the Motor Tuning dialog properly balanced. In addition, I had to fudge the max frequency setting in the VFD to get the desired range of motion. The VFD outputs a 10V supply to be used with the control voltage input. With 10V coming in, the C10 can only output about 8.5V. So, I increased the VFD max frequency to about 120Hz, so the 8.5V from the C10 would correspond to about 90HZ, which was my desired max frequency. Next, using the oscilloscope, I looked at the duty cycle of the step pulses coming into the LM2907, and determined that the 5uS default setting was far too narrow, and would require an extremely high pulse frequency to generate any usable output. So, I played with pulsewidth settings to get one that seemed to give close to the range I wanted. Finally, I played with steps/unit to scale the response as I wanted. I ended up with, I believe, 40uS pulsewidth for the step pulses, and 4600 steps/unit. This gives the response and scaling I wanted, and the speed is now stable, even at very low frequencies. Response is also reasonably linear, being off a perhaps 10% (high) at the very low end, but well within 1% at the high end.
I can't guarantee your settings will be the same, or even close, but this is what worked for me, and there was no way I could have ended up there just fumbling around in the dark, and chaning settings at random. As I said, the key is getting the pulsewidth and steps/unit properly balanced to each other. If you don't have that, it just won't work in a rational manner at all.
Regards,
Ray L.