electronic lead screw

I've been closely following this thread and Clough42's videos. I think I am going to buy the Robotroniocs unit, even if it is expensive. Plug and play looks good to me at this point.
 
Wow @luxige even though I have already ordered 4 or 5 parts for this mod....your remarks are the thing that puts the fear of God in me....and I didn't even understand half of what you said. In the end, would you do if you had the chance to go back? No harm no foul, 0 dollars spent?

If I can chase down this last gremlin and get it working, yeah I think it will be great. I have had some bad luck and I am very much a novice, so it's been a tougher road than it could have been.

I'm replacing the QCGB on an older 12x36 that I bought on a popular auction site. The gearbox is unbelievably trashed, so this project is a perfect fit. Will be?
 
In mechanics...I can fix or build anything. In electronics and particularly, code.... yeah. no.
 
@Dabbler I looked at that unit. Being German (which I am and speak some) I suspect it will be difficult to get it up and running. Not that this build it yourself unit won't be, but that system seemed more intrusive? I don't know, but I wasn't feeling it.
 
@GunsOfNavarone all of the Rocketronics documentation and manuals are now also in very well written English. I don't anticipate any problem with it at all. I don't mind the menues in German, even if they eventually offer English for those too...
 
@Dabbler
Das ist gut! I do wish James (clough42) had a plug and play, but I'm hoping with help here, I'll get through it.
 
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.


I also had this same problem you have i think, Clough use lead screw for thread and feed.
I have different ratio on lead screw and feed bar. Simple way i found to solve this is a simple code modification.
In Table.cpp, line 86 you should have this

#define THOU_IN_DENOMINATOR(thou) ((Uint32)ENCODER_RESOLUTION*1000)

I changed to this

#define THOU_IN_DENOMINATOR(thou) ((Uint32)ENCODER_RESOLUTION*180)

I change only the multiplicator by trial and error and with this simple mod i was able to correct the feed rate.

This only change the feed rate ratio and do not change anything for threading.
 
@luxige Looks like you're heading the right direction now! For the display, the length of the cable and exactly how it is wired matters. Start simple with 6" individual wires. That's almost guaranteed to work. A longer run with multi conductor cable can go sideways easier than you think. You start getting into stray capacitance and crosstalk. I can explain how to fix it, but I want to make sure you have good parts first. I'm 90% sure you do.

@dago Check my version of the code. I made it so you have a simple setting in the configuration file with everything else to set a different feed rate.

No harm doing the plug and play. But seriously, if you can troubleshoot an engine and make a part from a print, you can handle this. I came the other direction, it's easier than it looks. You just have to break the problem down till you figure out where the issue is.
 
I also had this same problem you have i think, Clough use lead screw for thread and feed.
I have different ratio on lead screw and feed bar. Simple way i found to solve this is a simple code modification.
In Table.cpp, line 86 you should have this

#define THOU_IN_DENOMINATOR(thou) ((Uint32)ENCODER_RESOLUTION*1000)

I changed to this

#define THOU_IN_DENOMINATOR(thou) ((Uint32)ENCODER_RESOLUTION*180)

I change only the multiplicator by trial and error and with this simple mod i was able to correct the feed rate.

This only change the feed rate ratio and do not change anything for threading.

Thanks, that's pretty close to what I have done. If you want to have metric feeds also, it's a little more complicated. Ttabbal posted some code changes on the Gthub page as a Pull Request. It adds a new formula for mm feeds, and a new display table.
 
@luxige Looks like you're heading the right direction now! For the display, the length of the cable and exactly how it is wired matters. Start simple with 6" individual wires. That's almost guaranteed to work. A longer run with multi conductor cable can go sideways easier than you think. You start getting into stray capacitance and crosstalk. I can explain how to fix it, but I want to make sure you have good parts first. I'm 90% sure you do.

@dago Check my version of the code. I made it so you have a simple setting in the configuration file with everything else to set a different feed rate.

No harm doing the plug and play. But seriously, if you can troubleshoot an engine and make a part from a print, you can handle this. I came the other direction, it's easier than it looks. You just have to break the problem down till you figure out where the issue is.

Thanks, Travis! You guys are helping to put my mind at ease. That said…

I made up a very short bit of ribbon cable, probably not even 3" and it's still no dice.
I also checked the gpio connectors on the booster, all 40 pins, for good solder joints and no shorts.
Still dead except for the LED, which I guess is a power indicator. (?)
The digits and the eight status LEDs have never so much as flickered.

The code is still driving the servo with encoder input. Correctly? Well, who knows.

What's next?
 
Last edited:
Back
Top