I have recently built a Lowrider CNC. The machine works very well from the lcd joystick.
When i begin to use it through repetier host, strange things begin to happen. When i manually input commands, either by Gcode or the repetier host joystick, the motors begin to skip [i say skip, it just doesn’t move but you can hear/see the motor vibrate or shake]. If i add commands before the previous one completes, this often occurs. Increasing the speed of the movement actually improves the problem, reducing speed makes it worse. If the motors are not working, and i revert to using the lcd joystick, the machine works perfectly again.
I am running repetier host through my MacBook, and using a arduino and ramps board. I have a video of what the stepper motors are doing if anyone wants to see
Please use the link to see some footage of the cnc [not]working.
I am using the Marlin version on GitHub for arduino and ramps. the only edit I have made to this is to enable me to control a servo.
I said on my last post the machine works from my lcd joystick. This isn’t completely true. I have found that when I input movements before the previous one has finished that it eventually begins to jerk, particularly on the Z and X axis. This is also true for the joystick on repetier host. If i input too many commands it can begin to jerk.
I have tried running codes from a SD card and the jerking still occurs.
I have tightened the belts.
I was running lots of test codes today from Repetier host. I found the jerking improved (maybe completely went away) on travel moves over 1800mm/m. On low speed moves (like 600mm/m) it didn’t stop jerking.
I have set the vMax for the drivers to 0.9. Is this correct?
When the cnc is working, the movements are very accurate. I know this as i have attached both pens and an airbrush to my machine. It plots out accurately. I even managed to run a 50minute 2000mm x 1200mm drawing today and didn’t jerk once.
Do you think it looks like a wiring issue from the video?
What I have found is that if the machine jerks, that is it not working until i reset the machine or stop the motors. It will try and continue to perform the code but works very slowly and juttery.
On repetier host I have increased the cash to 127.
I hope someone can help me. This is infuriating. I thought the hard bit was building it…
Thanks in advance
That should be fine. That might be a little high. I think we recommended drv8825s to be at 0.7V for serial wiring or for a single motor. I’m assuming you have all the jumpers installed and you are stepping at 32nd microstepping?
It’s really hard to tell. The only real clue for a wiring issue is that you’ve eliminated everything else, unfortunately. That could definitely be explained by a wiring issue though. Steppers are funny because they can move a little bit on just one coil, but it is very inconsistent. It is also possible that the vibration of starting and stopping is causing an intermittent wiring issue and once it is moving, the wires aren’t being strained and they make good contact. Wiring is my least favorite issue to solve, honestly.
Very strange. The software is very consistent. So resetting it doesn’t usually help. Resetting the drivers may be doing something, or resetting the power supply.
From the video at about the 1min mark, it definitely looks like it is skipping steps. That sound like it is crunching gears is usually the tell tale sign of skipping steps. When the power is off, does the machine move pretty smoothly? Is it only on the X axis?
Is your power supply in good shape? If that was drooping, you would see some similar symptoms. You should be able to measure the voltage at the input to the ramps while it is moving. It should stay at least above 9VDC, but ideally, it would stay above 12V.
I have to say, “check the grub screws” on the pulleys/gears that keep them on the motor shaft. Those don’t usually make so much noise when they slip though.
Based on the “once it gets to speed it seems okay” I think you may have your acceleration value too high. Since every machine build is different it is common to need to tune jerk, velocity, and acceleration settings.
Marlin moves go through several phases when they start and stop:
“Starting” Jerk (starting from 0 velocity immediately to jerk velocity) -> acceleration to max velocity -> steady at max velocity -> decelleration to jerk speed -> “ending” jerk (from jerk velocity to 0 velocity)
Depending on move length, acceleration, and velocity settings you may never reach max velocity on shorter moves.
If the acceleration rate is too high you will miss steps during acceleration and deceleration but be okay once you reach the steady speed.
I’ve had good luck setting max velocity to a (slower than optimal) known reliable speed, then adjusting acceleration until you’re right on the edge of losing or not losing steps. I’ll then reduce the acceleration settings by 10% or so as a safety margin. Once acceleration is set, you can then increase velocity to the same point of losing steps and back it off 10%.
If you use tools or toolheads of widely varying weight (and therefore inertia/momentum) you may want to use the heaviest while tuning so that you get “worse case” values that will be okay for all your other tools. Another option is to develop separate motion settings for each tool and include the appropriate gcode commands to adjust them for the current tool within the job file.
Hi again, thank you both for the suggestions.
After a day troubleshooting yesterday and armed with the extra knowledge you gave me my machine is working much better
I tested the voltage with the machine idle and it was sitting around 12.4V. However, as soon as the cnc ran some code the voltage would drop to as low as 7V. After some tests I realised the problems was the 12V DC extension cable. I was running a 5m extension from my terminal to the board. When I ran the machine with the transformer without the extension cable, the voltage never dipped below 12V. So I have mounted the transformer onto my machine and run a mains cable to it, As well as moving better, the machine sounds so different too, everything just sounds stronger.
Thanks for this advice Tom. Although the main problem was the voltage, I definitely had the accelerations set too high on some of the axis. I began going through the tests you suggested and will finish them on Monday morning.