Adjusting motor current/voltage

Hi,
I’m still having a few issues with losing position on the X & Y axis occasionally (1000x1000 X-Carve). I’m tending to suspect that it’s an electrical issue (I’m not a sparky, so after checking all the mechanical stuff, I guess I always ‘blame’ the electronics).

My question is this:
Is there an easy way for me to measure and then set, the current (and or voltage) that I’m sending to the stepper motors? I understand the basic difference between current and voltage and have a good quality meter (although I don’t have a tong tester for it). In a perfect world, I’d like to be able to use my meter to adjust the pots on the card to get the correct outputs for the motors I’m using.

Is this possible, or practical? Given I don’t even know whether the stepper motors are AC or DC, any answer will probably need to use plenty of small words…

I’ve read abut how to adjust the pots and how to get them somewhere between too low and too high, but surely the is a more “scientific” way of doing this?

Any help would be appreciated.

1 Like

@DavidWestley you might need to adjust the Y potentiometer by turning it clockwise by a small amount until the Y-axis moves smoothly at rapid speeds (Do it when moving a long distance while Z is retracted on a large job)

@sketch42 did this and had some good advice:
Do not over-torque these pots - they are tiny and gentle and will break. The pots have 270 degrees of rotation.

See here for more detail:

according to what ive read, you would be adjusting the current, and the only way to measure current directly is though a circuit, not across like you would to measure voltage. this means that you would need to disconnect the part of the circuit you want to measure, and reconnect it with the meter. this is difficult to do on a board as you cant disconnect anything practically. maybe through one of the stepper wires and do test runs? i think you would just be best off eyeballing it, doesnt matter what the current is if it works fine right?

Thanks Guys,
I’ve adjusted the pots a couple of times & removed most of the problems I was having.

Because it was a pain to disassemble everything to get at the pots (I’ve mounted it into a cooled enclosure, mounted on the side of the machine) and because the “current too low” and “current too high overheating” symptoms seemed somewhat similar, I guess I was trying to find a better way then just trial and error. I’ve gotten the machine so it runs perfectly at high speed, under no load, but the times I’m losing steps appear to be mostly when the machine is running under (relatively) heavier loads.

I probably didn’t word my question above in the best way, but I guess I was trying to determine how I could tell if the current is sufficient for ‘no-load’ movements, but is too high or too low when under load?

I’m mostly using VCarve and Universal GCode Sender to drive it and so I’m still playing around with feeds & speeds, but it’s frustrating to have it spend 30 carving a beautiful design, only to have it mess up the last few minutes of it and then the final pass which cuts it out is off centre. All part of the world of DIY CNC I guess.

2 Likes

@DavidWestley when it skips a step is it always in the same axis?

Zach,
No, today I completed a 27 minute carving and and it finished about ½" out on both the X and Y axis. But the error isn’t always on both axis, nor is it always the same…

1 Like

A characteristic of all motors is that as you increase the load the motor will draw more current up to a limit. That current limit is called the stall current and is the maximum current a motor can draw (I= V/R). Where I is the current, V is the voltage across the motor coil, and R is the DC resistance of the motor. It a motor is allowed to draw this much current (the load is too much for the motor to turn), the usual result is a destroyed motor.

Stepper motors used in many CNC machines are operated a little differently than a typical motor setup. If you apply a voltage that is higher than the recommended voltage for a motor then you get a more snappy response from the motor, but to keep from destroying the motor you must limit the current. This is what most CNC motor drivers do.

So, trying to get to your answer. If you set up your motor drivers to limit the current to the smallest value that will give you good performance at no load, then apply a load, you are going to have less current than your motor needs to efficiently move that load.

In an ideal world what you would like to do is:

  1. determine the maximum continuous current flow that the motor can handle without damage (taken from a data sheet)
  2. disconnect the motor from the drive circuit
  3. move the current limit pot to the minimum current setting
  4. apply a resistive load that will draw more current than the current specified in 1(watch your resistor power limit)
    5)adjust the current up just below the value listed in 1
    6)disconnect your test setup and reconnect the motor

At this point you will have a current limit that will protect the motor. It would allow use of higher motor voltages to get better response and you will get the best performance from your motor.

If adjusted this way the motor will only draw the current it needs to do the best job without over current damage to the motor. So at no load it would draw less current, but when loaded it would draw up to the current limit.

Larry

1 Like

I haven’t gotten my X-Carve yet but I have been tuning the stepper drivers on my 3D printer.
FYI: 3d printers do not put as much load on the motors so the workable range is a lot bigger.

Too little current and the motor will slip. It usually makes a distinctive “clunk” when this happens.
(To see what this is like you can dial back the current while the motor is holding until you can force it to turn by hand. You can feel the “slip” and hear the 'thunk".)

Too much current and the driver chip will over heat and go into thermal shutdown.
(From what I understand this often causes a noticeable “stutter / pause” in the motor sounds. I have not heard it but considering how the steppers “sing” I suspect any kind of pulse pause would be audible.)

To do it “right” you need to hook up your meter in series with the motor (wire into one meter wire, other meter wire out to the motor) to measure the current. Kind of a pain and even then not “perfect” as things will change under load. :neutral_face:

A lot of people literally adjust it by ear. Running the motors and listing the point where is starts to sound “bad” (this has something to do with vibration and harmonics?) and backing off.

I did it by temperature.
I was trying to rule out thermal shutdown I didn’t have a good way to measure the temperature of the chip so first I measured the running temp of the stepper motor. More current means hotter motor. (The motor I have has a max operating temp of around 90c before it fries so I wanted to stay well below that.) I taped a digital cooking probe thermometer to it with some foil tape and monitored its temp. (I called up a 3D printer company and asked them what temperature their steppers were running at. A really weird question but easy to check, they measured them and found they were running around 45c. I ran mine from 40c to 60c finding that 45c was a good minimum for my application as well.)

I was still having issues so I bought a thermocouple probe thermometer and used some kapton tape to tape it to the actual driver chip. This was a pain. I put down a layer of tape so the probe leads would not short anything, then more tape to hold it in place. The chip has a max operating temp of 85c then thermal shutdown kicks in. I found that my chip was running at 55c at peak load. Damm “hot” to the touch but well within it operation range.

So what does this all mean for the x-carve? I am not sure. But maybe we can get the running temperature of the steppers of a well tuned machine to compare against?

What do you think Inventables? Want to tape a probe thermometer to a stepper running a 6 hour print and see what its running temp is?
I know it is not a very direct way to gauge stepper current. But it is a fairly easy thing to do (Compared to directly measuring the current) And might be a way to get a feel for if your current is “Too High” or “Too Low”.

Edit: Of course stepper current is not the only source of missed steps (it was not with my 3d printer either) You need to make sure you belts are not slipping. :smile:

1 Like

Love this set up, what size is the enclosure holding your motion controller?

So how are you wired up here? I’m assuming steppers are wired in at the bottom and then power and spindle at the side?

@DavidWestley

Do you have something like this to test what your machine is doing?

You can use it to fine tune your system and detect any problems

I bet a lot of us have meters. Are all of the the motor specs published?

Are all of the the motor specs published?

That would be a question for Inventables. They know which motor they used. If they don’t have the specs readily available they should be able to give you the motor manufacturer and model number so you can get them from that company.

As someone else mentioned, there are other factors involved such as temperature, but I’m assuming that the question here was asked about the product delivered by Inventables. They should have done the engineering work to assure that the motors don’t take the drivers into thermal overload.

If you are using a driver board not supplied by Inventables, then you have to make sure the components that you use are compatible.

1 Like

Oh, Inventables? :smiley:

I think this would be a great way to get the pots set correctly.

Inventables has data sheets for the stepper motors they sell. Check the page below, click into the motor you want and then click the appropriate data sheet pdf.
https://www.inventables.com/categories/machine-components/stepper-motors

1 Like

For what I have, the x-carve config page says 60, but, there are no 60’s listed. :frowning:

@TonyNo If you should decide to adjust your motor currents the way I would do it, you need to take into account that the X-Carve has two stepper motors wired in parallel. In an ideal world the current would divide equally between the two motors. That’s assuming that the two motors are identical.

However, in the real world no two motors are the same. Differences in manufacturing, etc. will cause the windings to be slightly different from motor to motor. Sometimes more than slightly. So you could have a situation where one motor draws a significantly higher current than the other. This is one of the difficulties in paralleling motors.

If you adjust the current for the driver to be at the maximum specified current on the motor data sheet you could end up with one of the motors below the spec’d current and one of the motors above the spec’d current.

Just a heads up warning if you decide to use this method for setting the current limits on your system.

Larry

So, speaking voltage share, is that means upgrading stepper motors to longer and stronger ones is no solution. Inventables have another stepper option which 262 in/oz. longer one Requires 3.2v 2.8 w.

Many thanks for the replies and thoughts. Like most things, it’s always a little deeper and more complex than it initially appears.

It looks like Larry has the solution, but given my current understanding of electronics, I’ll admit to not being confident enough to build something sufficient to apply a load so I can make the necessary adjustments (I’ll certainly look into this further however).

In the interim, looks like I’ll keep tweaking the pots until I find a happy medium and the problem is resolved (and that’s assuming of course that my original problem isn’t something mechanical).
The image below shows and example of what’s occurring - most of the carving is where it should be, however you can see where some of the carving is ‘outside’ the final carved circle (excuse my poor artwork - I’m still very much the novice).
.

1 Like

170mmx120mm - Available from most electronics shops (got this at Jaycar).
Hole cut in the lid using the machine itself.