Electronic Leadscrew v2 - for mini lathes
Vložit
- čas přidán 10. 09. 2024
- Demonstration of all features of my updated electronic leadscrew project, suitable for essentially any lathe that could do with modernising.
Supports Metric and imperial threading, various surfacing rates, pattern creation, psuedo-knurling. digital stop and resume.
Hi, very nice work and more information for when I try and create my own ELS sometime in the future. One thing to note is that your compound is at the wrong angle for threading, it should be 30 degrees off from perpendicular to the spindle axis whereas you have it 30 degrees off from parallel to the lathe axis. And I suspect you know for internal threads you should swing the compound to the opposite 30 degrees to ensure you are cutting on the correct flank of the threads.
What was the motivation for doing your version of an Electronic Lead Screw - what was missing from the other projects out there?
Hello! Not a bot! Very interesting indeed, been toying with the idea of doing this to my lathe. Would be very interested in the electronics side of things for this.
I'm working on making the software side a bit more robust and configurable etc. if only the day job didn't take up so much time :-)
Yes watching and very interested in one of these.
This is some excellent work - I like the extra functionality of your ELS over most of them - being able to thread (or surface) for a known length, the limit switches, the patterns, etc etc. Those are very smart additions, and ones that I've wondered why other ELS projects don't have. You should put another servo on the cross slide, and you'd have a full CNC now :) Industrial servos have 2 tracks on their encoders, the regular X pulses / rev, as well as an "index" pulse that's once per revolution. That way you can get absolute orientation of the spindle as well, and you wouldn't have to calibrate your pulses/rev even if your 3d printed pulleys aren't 100% accurate. But given the repeatability of when you cut the patterns at the end, clearly your calibration is excellent even the way it is now!
Also, not a bot
Also, your "unidirectional patterns" are actually multi-start threads!
Thanks, they are all features that felt like things I would use. I have to say I've considered the cross slide also, but handling backlash in the leadscrews gets quite complicated, I suspect if I was going that far i'd want to replace them with ballscrews etc. Something I've played with recently that I might look at is magnetic orientation sensors that give absolute orientation in about 4000 increments. One thing though that I think I have to admit is that I reached the limit on the nano. it is certainly capable of doing the job, but the memory is not big enough to have the configuration/customisations I want without running into very inconsistent operation. When I next get time I'm going to switch out for an esp32, which is much more memory/cpu headroom. then rebuild around that. They're basically the same price, but I'm hoping much more reliable.
@@MakerGeek There's a really cool (and open source) one I saw recently on Rotary SMP's channel - video title 'Roll you own DRO / ELS'. He's using a little custom board with an STM32 for the real time stuff, and a raspberry pi and the 7" touchscreen with a GUI written in Kivi (running on the bare metal - no linux underneath, or at least not a full x/wayland display manager underneath) for the UI. He can take in 3 axes of sensors (scales or rotary encoders), and he took it even a step further, where you can drive one axis based on the position of another (all configurable / changeable in real time), so that you can cut helical gears without needing physical gears between an axis and a rotary table on the mill. I'm really torn as to build that one, and implement some of the features you have in yours, and add in 2 axis control (one based on the spindle for ELS, and the other configurable as it is now for all kinds of other crazy stuff like an electronic taper attachment) or just go full out and go to LinuxCNC. I've wanted to do a LinuxCNC project for a long time... decisions decisions...
Hey Dan, hope you’re doing well! Enjoy your videos a lot. I like the tinkering and projects the most but I’m also thinking about whether to get into metal (normally just wood for me) and lathing in particular so great to see this stuff in action! Not sure I get what the compound slide was doing here as I was thinking by moving that you’re effectively changing the “phase” on the threading so I need to get my head round that better. Love the ELS though, not seen one in action before. Cheers!
I'll be honest, my understanding of the compound usage is limited. Essentially you're moving in at the same angle as the thread cutting tip so after the first pass your cutting on the leading edge and not both. If that makes sense. Not sure it makes much difference but it is much easier to track the ins and outs of the total depth cut. I started out with a wood lathe, it's a slippery slope :-)
@@MakerGeek Ok nice - I'll look into the thing about the compound. Without having tried this myself, it's all a bit theoretical at this stage! Yeah, I'm not sure I "need" a lathe (and I need more hobbies like a hole in my head!) - I can justify woodwork tools as I use them round the house regularly, but I need to find more excuses for metal working before I convince myself - either that or just say "it's a hobby" and ignore it's usefulness :)). All the best, Pete
some time ago I accepted that my workshop is essentially a closed eco-system in which i use tools to make/improve other tools ;-) on rare occasion something comes up that also benefits from having the tools. but mostly it just keeps me happy and occupied.
@@MakerGeek - lol, love it!
Why change direction at an endstop rather than, er, stopping? Surely reversing is more likely to scrap the part / tooling?
Mostly a question of options. Most of the time I'm not actually doing a finishing pass, it's just one of many passes that need to be done to dimension down. At which point I'm less concerned about messing up the previous cut. But it's fair to say it would probably be worth being able to toggle between reversing and stopping
Not a bot!
On the back of the chuck...router pockets for magnets (say every 30 degrees)...mount a hall effect sensor on the case behind the chuck..wire into the arduino...this way it can count the rotations...and be even more accurate, (even better..INSIDE the mounting bolt heads) This way the magnets are out of the way, solidly mounted to the chuck, and the hall effect sensor is out of the way.
Will take some work...but will be permanent and not be in the way, might need a wiper or something to remove chips from the magnets though
His leadscrew uses a rotary encoder with a resolution of 600 pulses per revolution, I don't believe a hall effect sensor with a resolution of 12 pulses per rotation would offer any benefit.
I did consider hall effect sensor. I actually started with that as my prototype for the rotary encoder in general. I'm not sure how consistently it would trigger at the same moment. But you're right it would be more convenient as a permanent fix setup.
indeed. for calibration to be useful I just need 1 pulse that is garunteed to be an exact rotation. I have less exeprience with hall effect. I know the optical sensors on the end stops of my cnc are very repeatably accurate.
Stepper motors expect a smooth acceleration profile. I have a supply of Oriental Motors steppers with 1000 steps per revolation and a mini lathe with a lowest speed of 240 RPM. The issue is that sending a burst of stepper pulses for every encoder pulse asks the stepper to accelerate faster than it is capable of doing. I have been trying to code an algorirhm that encludes acceleration/deceleration at an evenly spaced pulse output. I am using an ESP-32 which should be totally capable of making the nessary calculations per interrupt, but, including an acceleration and deceleration profile I have yet to be successful.
I have not found this to be an issue. my stepper seems to handle quite happily going from a standing start to getting pulses for most thread pitches. obviously in some conditions you get an acceleration profile for free because the spindle also has to accelerate up to speed. It almost certainly helps that I'm using a servo type stepper which works to catch up with the positions you''ve requested so even if it's an aggressive start it catches up anyway.
That's why a "motion controller" is more complicated than you think. You might need to send motor pulses at non-integer ratios of encoder pulses, and you certainly can't send a "burst" of motor pulses at each encoder pulse. You need to use timers to space out your pulses equally over time in the right ratio to encoder pulses over time coming in. And you can't really work in an acceleration on the motor - it has to line up with the encoder, or else you'll get improper threads if you're using the ELS for threading.
Very nice. I am not a robot and I'm looking forward to your finished product. I hope you offer it for sale.
Cheers. Slight delay on the els front as I hit some unreliability in testing and I don't want to offer something I'm not 100% on. But I've a few ideas to work though it
What actual steps do you get rather than 800, I just wonder
It's about 820 for me. Which seems like a higher deviation than I'd expect from the theory. But this is why we calibrate
Wow, that is a lot of noise. Worth putting a ‘scope on the signal line? Try to track down the source of you extra ‘pulses’ rather than just compensating for aggregate error?
Hi Dan. I've been catching up on some of your recent stuff, and this one is particularly interesting to me. Having just had a purpose built workship/hobbyspace completed I can now at long last acquire a lathe and get started on some "tinkering" in earnest. I'm actually looking at getting a small lathe (either the Warco Super Mini, or the WM-180, which can both be bought now with DRO fitted). I'm also learning electronics myself as I like the idea of "messing around" with CNC stuff too. I've been watching a couple of other implementations of electronic lead screws (Clough42 and routercnc), and I like your approach using the Arduino. Very helpful, and very inspiring! I wonder how complex it would be to modify cross slide movement and the compound movement to an electronic solution, integrated with the lead screw. I guess that would make it a full blown CNC machine! Probably VERY complex! Thanks. Terry
there is certainly a fine line between augmenting a manual lathe and just building a CNC machine! I'm handling the backlash in the carriage/leadscrew digitally but if you were going much further I suspect most people would replace the leadscrews with ballscrews or something. certainly in theory you could mount steppers on the cross slide. a bit more fiddly since they'd need to move/carry cables with them etc. the more you augment the more options you need to be able to manage via the control box etc. not sure it adds enough additional utility on a small lathe.
@@MakerGeek Thanks Dan. Understand your rationale. You've clearly done a great job integrating an electronic leadscrew solution with that WM-180. I'm pretty convinced that's the machine I should purchase. Thanks again for your inspiring videos!
@@terryhowlett1434 it's a great little machine. Can highly recommend.
Did you use quadrature encoder signal or an interrupt service routine?
It's using an ISR. This does mean i can't tell which way the spindle is rotating. But that's mostly not a problem.
@@MakerGeek Cool, May I ask how you changed pulse width, I've been trying to get my prototype working without accelstepper (it seems too slow but it's probably my code).
@@aaronveale6402 that's just a question of how long you wait between setting the port high and setting it low again. You just need to make sure you're in the tolerance of your stepper driver's ability to detect it. I have been using 5microseconds.
@@MakerGeek so you're using delayMicroseconds? That's what I've been attempting.
@@aaronveale6402 yes. Is it not working for you? What behaviour are you getting?
Maybe control chuck acceleration to avoid missing counts on chuck position.
you mean hook into the pot that controls rpm speed and control that electronically for smoother accel? certainly something I've thought about. though most of the time I can somewhat achieve that manually. it doesn't really matter if I miss pulses before I begin an operation though. and once I start I tend to leave the chuck running at a constant rate throughout.
I have the same lathe and would be interested in your ELS box as it is something that I have been considering as I already have the stepper motor powering the leadscrew.
so at the moment are you just manually controlling speed/direction but without reference to the spindle rpm?
@@MakerGeek Yes that's right, I do have a rotary encoder but not fitted it yet as I haven't had anything to make as I have been busy doing other stuff on my Rose Engine lathe. However, I want to update my RE so will need to get back to some machining shortly.
I added an ELS to my warco WM180 czcams.com/video/PH6cTw_ml4M/video.html it was a pain to get the encoder set up but I ended up using a set of gears to transfer to the encoder.
I use this baby every day now, rarely do I ever use the manual function.
yeah I saw the nano els build at some point. though only after I was some way into building my own. I guess I was trying to see how cheaply I could make the setup plus of course half the fun is doing it yourself ;-) glutton for punishment I guess. I can see the temptation to put a bunch of buttons on it, but I'm playing with how little I can get away with and make a functional setup. I can certainly agree that once you've used an ELS, it's hard to go back
@@MakerGeek Im personally not a fan of all the buttons. The chap that makes the controller also makes software called Lathecode which is super nice. It lets you describe the shape using parameters and from this it generates gcode which you can send to the controller.
Ive made some really complex parts with it, and ive got a fork of the software where I have implemented support for tool changing by manually swapping a tool in the QCTP then selecting that tool on the controller and having it automatically apply the offsets.
Its funny because initially I only wanted an ELS because i couldnt be arsed with changing gears but actually it shows how capable you can make these little machines with some electronics and some coding.
for sure, once you start to put a computer brain on it all sorts of interesting options open up. hard to know where 'improving a cheap manual lathe' turns into just a full CNC conversion ;-) very tempted to move onto sticking a motor on the cross slide also, did you upgrade the screws? or just doing backlash compensation?
I am fairly certain that I'm not a robot, at least that's what my programming says.