Hi.
I need help with a cnc milling project.
Namely, I have a problem with stepper motors when running in certain directions. During the command on Y-X-Z- the motors do not react at all. I performed the tests with a 10mm movement. I noticed that if I change the value on one axis (e.g. 15mm [Y-15X-10Z-10]) the motors move but hum and lose steps. With the command Y-X+Z- and Y-X-Z+ the motors hum and lose steps. All other directions work fine.
When cutting 2D designs into wood, the motors work fine. However, if I want to cut something in 3D (when 3 axes work simultaneously) the motors start to lose steps in the directions mentioned above.
Anyone know the cause of this phenomenon?
Components:
Arduino Uno R3 + CNC Shield Module V3
Motors 4 pcs (2 per Y axis): Nema23 3Nm 4.2A + DM542T 1-4.2A driver
Switching power supply 36V 600W (for motor controllers)
Switching power supply 12V 300W (mainly for CNC shield)
Firmware: grbl_v1.1h.20190825 + universal gcode sender
I tried:
Other Arduino + CNC shield
Other Nema23 motors with new drivers DM542T
Another version of grbl
Other CNC control software
The connection is rather correct. Each motor works properly working alone.
I've converted a PROXXOON manual micro mill to CNC. I also do manual milling using bigger equipment.
I suggest testing the Grbl code in the air. If that works, use foam! There's a chance that the cut is taking a too big bite in the wood.
What do You think?
Be careful with the current settings for drivers.
Set them just under the specified load.
What happens if you repeatedly move a single axis and does it move the specified amount.
I use a digital Vernier to check these.
Then do the same with the next axis etc.
I use UGS of LaserGRBL almost exclusively here.
Only using NEMA 17's but principle is the same.
Good quality pics might help too.
Also make sure you are not using the 24 volt CNC shield as there are a couple of versions of V3 offered and one is 24 volt MAX !
Your GRBL settings may also provide a clue and the are easy enough to copy and paste using the code tags.
I swapped the motors from one axle to the other. I also replaced each engine with a new one (I have a few spares). It seems to me that the problem is related to the axis.
I did the same with the drivers.
I tested the drivers on most settings, from the lowest amps to the highest.
Nothing changes.
When I move a single motor, the travel values ββare repeatable when tested with a tape measure.
With these specific directions(3 axes at once), each motor loses a different amount of travel. With a shift of 10mm, it was a value in the range of 1mm-3mm
I don't have more precise equipment.
12V is connected to the CNC shield. I can still connect to 36V if it can have any effect.
I am attaching some photos from another forum.
In the third photo, I did tests in each direction and after turning the direction of a given axis in the universal g code sender
50/50 means the motors are losing steps.
DEAD - the motors do not work completely
Tested with 10mm travel for each axis.
Check you have a common ground between the supplies and the shield.
The 12 volt supply may not be suitable for those drivers and motors.
If the shield is capable then the 36 volt supply should also be connected to it too !
Additionally run a ground between each part of the machine.
eg. Gantry to frame and frame to Arduino and power supplies
That will also help when it comes down to limit switches.
DO NOT SHARE GROUND WITH THE INCOMMING 110V/240 VOLT !
Connecting 36V to the CNC Shield initially solved the problem of losing steps in these directions.
I'll test each direction calmly, but it seems to work.
Thank you gentlemen for your help. I regret not posting on this forum a month ago...
What do you think, the problem was with too low value of V or grounding?
You were underpowering NEMA 24's
It could also have been grounding but without an original and current schematic it is hard to tell.
Thanks for letting us know it fixed things.
Limit switches will pose additional issues so I would suggest a little research.
Try and always use shielded cables for those as a starter and route them as far away as possible from and power runs.
Also spur off from the 12 volt supply and fit a 5 volt dropper module.
It may save your arduino when powering limits switches, sensors, probes, etc.