Adding smarts to the MPCNC

Love it! Never seen that before.

I finally have some sample coming…I might have found some for the same price as the 12v, hopefully they are as stable.

Hard limit 500V! 48v starts to make me pay attention. For now The Rambo is keeping us at 24v max.

Thanks, Anttix, for those excellent resources!
And for your useful analysis! Yes, higher voltage (40V) gave me a big practical improvement.
Take home for me:
Because I am using a non-standard 1-start (2mm/rev) leadscrew, I am pushing to 4x higher RPM and suffering the torque losses that come with that. But it takes less torque to move this finer pitch leadscrew, so it is complicated. I wonder if there is an easy way to convert motor current to torque for a Smarter stepper analysis and control.

I will be delighted when I can move a heavy spindle in Z as fast as I can carve hardwood in X and Y which is around 80mm/sec, limited by machine flex.

I have a new stepper motor to test and another on the way, so I will start a stepper motor thread soon with some results from practical tests of those vs. my V1 Engineering kit’s KL17H248-15-4A.

1 Like

It takes less torque to get the same push force. But friction loss is the same or more. It is complicated.

The 1 start needs 4x as many RPM, but lifts the router with 4x the force per torque.

The leadscrew friction is still proportional to the weight of the Z axis. And I would guess a 4 start has less friction, because the weight of the Z axis is more in the same direction as the angle of the leadscrew ramps. That is why the 1 start leadscrews don’t drop the low rider gantry when the motors are disabled.

So if you swapped for a 1-start and then added a 4x heavier router, you would need more torque, at higher RPMs. With a 2x router, you would have at least twice the friction (compared to stock) but the raw lifting force would be half. IDK what the crossover point would be.

Can’t wait!

Realtime plasma torch height control seems like a good example.

Admittedly I’ve only skimmed the thread, but at the risk of being “that linuxcnc guy”, I cant help but think that linuxcnc might be worth considering for your smart projects. You’d have the full power of a PC and ease of use of python and it’s libraries at your finger tips to control your machine…

(Edit) forgot that python modules for linuxcnc don’t run on the realtime thread, you’d have to compile c code for the timing critical stuff.

1 Like

Was tempted to post in the Neat! topic, but maybe more discussion/action will happen about https://creapunk.com/ here and/or on creapunk’s discord server

2 Likes

Liking and following in the hope that I’ll learn what all that actually means in the ensuing discussion!

Shoot I think TMC’s stallguard and coolstep are nearly everything we need to turn up the power under load and turn it down when there is not. That lets you probably get twice as much out of a stepper when it really matters without adding a ton of heat all the time. They just don’t seem to deliver what they promise. Closed loop seems like you have bigger problems if you get to that point.

1 Like

Clarification on your statement:

Could you be more specific? It doesn’t work? It isn’t open source? It is too complicated?

Coolstep in particular. It should dynamically change the stepper current depending on load. I can not figure out how to tune it at all. In FluidNC we have toff_coolstep = 3 I can’t find anything about tuning it in the wiki, firmware, library(…or even the spec sheet (pg 60). All the setting are different in each one. I think I might do a guess and check on this tomorrow. Try a 2 and a 15 to see what happens. Similar stuff in Marlin.

I love the fact that this design includes an IMU. They say it is to sense vibrations or resonance, but I think it could be used on a CNC machine for much more. Like, optimizing acceleration and jerk dynamically. This is a great example of what I was hoping to see when I created this thread.

2 Likes

Vibrations and jerk issues are going to show up far larger from the interaction of the bit and the material more than the machine right? You can tune it in free air but that will only help with rapids.

1 Like

I think this could be one of the problems, with a lower pitch leadscrew, to achieve the same feed, the stepper have to turn faster, and this can reduce the torque and increase the risk of skipped steps

Would using thrust bearing plates, and/or top mounted the z-axis steppers help reduce friction/energy-loss due to weight pressing down on Stepper’s internal relatively small assembly?

Asking after seeing some printers use steppers with shafts long enough to be captured and resist lateral force from tensioned belts.

That’s a different axis/situation, but got me wondering whether some cheap mechanical weight/force support external to the Stepper could help the Stepper achieve more rotational force with the same power.

The internal bearings are rated for a pretty large thrust load.

1 Like

Hay all, it’s been a while. Happened to see this post and thought I would put my 2 cents worth.

Like others have said, your leadscrew seems like the biggest issue. Go back to the 4 start, and add a break(I have diy ideas for that if you want them) to keep from dropping the tool head when power is off.

If you insist on keeping your leadscrew, then upsize the z motor, or get a real servo (not a closed loop stepper, there is a difference) witch will maintain its torque even at high rpm.

As for smarts, using a camera for real time AI monitoring would require some pretty fancy hardware and some serious software. That said usi g a camera vision system to verify other things before milling is well within the range of possibility.
Where I work we use vision systems to ensure proper fuel/media mixture, temp, and all sorts of other things.
For the mpcnc I could see a camera checking for perpendicularity of the bit, as well as detecting any wobble. It could detect a derty or dull bit, and a bit that is not seated in far enough.

Other smarts ideas would be adding feedback checks on tool speed. In your story, you said you could hear the difference after it skipped… If you could hear the difference, then feedback from your router would be able to tell the difference as well.

On the topic of closed vs open systems, a lot depends on what loop your closing. If your closing a positional loop then it’s possible but, again, requires some impressive hardware. In industrial machines, every move is confirmed before exicuting the next. And every movement is monitored, if either is out of tolerance or it has taken longer then expected it puts the unit into a hold state. That’s the most useful thing about a closed loop system, but it’s not as useful when you don’t have industrial servos with internal accuracy down to 0.000064". Making it possible for It to know internally that it is off long before it’s off far enough to affect your final product. But any encoder on your mpcnc would at least be able to tell you when you have lost steps and stop(though I wouldn’t expect a very high rate of recovery).
Finding a way to close your tourque loop would be far more helpful on a router. It would keep you where you want to be rather then trying to get you back to where you should be. In order to do that on steppers I belive you would need to be able to control the live current to the drive, adjusting it on a predictive algorithm so you could over juice your drivers and motors to 110% of their rated maximum for the .5s that your jerking to give you the torque you need in that moment without melting down your steppers like Chernobyl. I think that the features Ryan mentioned earlier (such as cool step). Fallow this line of thought but unfortunately no one has seem to gotten them to work well.

Also for expanded functionality, how about adding a wire fed welder to the mpcnc and seeing if you can do metal printing?

Also I have noticed that linear bearings are becoming more affordable, I wounder if replacing the 608 bearings with something like this would make a difference.

uxcell SCS16UU Linear Ball Bearing Slide Block Units, 16mm Bore Dia(Pack of 4) https://a.co/d/gwG9GT6

Well that’s it for me, hope you found my mad raveings entertaining.
~Atom

2 Likes

How fancy, Pi5 good enough, or something more powerful needed? Been thinking about integrating Pi smarts, but not got very far…

1 Like

Was gearing up the Z drive with pulleys suggested? It’s not adding smarts per the original post, but something that I’ve considered. The you could have the Z-lead screw with non-back-driveable (is that even a word?) pitch without losing speed.

Of course it’s a bit silly to have 2mm pitch and then gear up 4:1 to be back at 8mm/rev. But Z dropping under it’s own weight can also be a pain.

all depends on what your trying to achieve exactly. real time analyzation of flame composition takes a PLC to interpret the images fast enough. as well as a high speed camera to capture images at a high enough sample rate. but i doubt you would need that level of precision. i feel like a Pi 5 would have the power to do at least some basic real time analytics, such as watching for wood damage (burning, chipping, ext.) i’m sure it would be able to monitor things like bit/tool slippage in real time. and probably many other things i haven’t thought about. the real hurdle to implementation I think would be coding, all the machine learning and vision software i know of is very expensive. but if your interested in it you should dive in and see what’s possible. this forum has shown me that with enough effort you can do almost anything you put your mind to.

1 Like

Back again with some additional thoughts,

i have been installing Klipper on my 3d printer and its calibration methodologies have given me some new ideas for closed loop steppers.
if you could feed skipped step status from the closed loop stepper, it would be possible to use that info to do some advanced calibration to find things like max speed, acel & jerk setting. and with some fancy programing could even be used in machine learning to help you build profiles for specific material types. so you could use them to be able to get the most out of the setup and hardware you have.

1 Like