Fiiiinally got all the parts in.
There’s a new development that brings up a problem. Of course.
My initial plan was to mount the hybrid servo motor within the lathe bed, similar to Gus' idea (as posted in a Github issue), and drive the gearbox input with the servo via a M5 belt. This would let me put an idler on the change gear banjo and I'd have an easy way to adjust the belt tension by moving the idler up or down. But two things interfere. Most importantly, the QCGB is so badly damaged that I only have a couple of working ratios out of over a hundred possibilities. The simplest one is 32:15, gearbox input:leadscrew. I was worried that adding those factors to the numerator and denominator calcs might be too much. (James had advised Gus against using his 120 and 127-tooth change gears between servo and leadscrew, because the math might be too much heavy lifting for the microcontroller). Then I found that my initial measurements were wrong, and placing the motor inside the lathe bed would be extremely challenging, so it's all moot anyway.
So I decided to add an extension to the tailstock end of the leadscrew and drive it from there. I gutted the gearbox, leaving only the gears which connect the leadscrew and feed shaft. They run 1:1.
Here's the problem - the feed shaft is geared within the carriage apron to a ratio of (approximately) 19 turns per inch of carriage travel. So the leadscrew and feed shaft produce different rates of carriage movement when turned at any given stepper value. I don't want to abandon the feed shaft and do feeds with the 4TPI Acme screw, so I'm trying to figure out the best way to use both. I have a few ideas.
Solution 1: Alter the Feed formula by 19/4ths. Actually, I'd just round it off to a factor of 5 in the numerator, that's only a 5% error in feed rate.
Solution 2: Define a new variable (say, "feedshaftrate") to replace the leadscrew TPI variable in the Feed formula. Set the new variable to 19 TPI and I'm done. However, I have Zero coding experience, so I'm not sure I'm up to it.
Solution 3: Change the Feed tables, so the the value displayed on the LED panel is low by a factor of 5. So for example, selecting .010"/rev (as displayed) would actually be telling the controller to feed at .050"/rev, but the slower feed shaft rate would actually result in a feed of .0105. Close enough. I'd have to add some rows to the table at the top end to get the faster speeds, and delete the slowest speeds. Again, Absolute Zero coding experience.
Okay, what would you do? Am I missing an easier answer? Any input will be appreciated, so thanks in advance.