Electrical – CNC Shield V3 and step motor controls

arduinopower supplystepper motor

I'm trying to build a laser engraver/cnc router with Arduino Uno, CNC Shield v3, A4988 step motor drivers. I'm newbie about electronics and Arduino so sorry if I'm asking non-sense things.

I've installed GRBL 1.1 on Arduino Uno, connected A4988 drivers and two stepper motors (link to datasheet below). I used LM317 power supply for powering CNC shield. I haven't done any setting with A4988's trimpot.

When I try to send commands with Universal Gcode Sender, step motors turning well for single-axis movements. For example when I command to move it on X-axis, it seems it works well.

Here my questions are;

1- When one motor steps, the other motor also starts to work and vibrates without turning. Is this normal behaviour? Does CNC shield makes it "ready" as receives GRBL commands?

2- When I click on "return home" on GRBL controller software, step motor turns for several times and then stops and I guess skips (doesn't turn shaft) with a weird sound. What can be the reason for that? Does it means LM317 doesn't supply enough current? (I set it to 12V) Also A4988 doesn't heat at all, I suppose it should, can it be related?

3- Sometimes motor vibrates too much even for single-axis movement. Can it be also related to not enough current from power supply?

and also I'm thinking about connecting TTL/PWM laser diode with 12V/2.5A specifications, should I also consider this when calculating enough power supply? Or shouldn't I connect it to CNC shield, what is the best practice about this?

I'm thinking about buying 24V/5A power supply. For two step motors (0.4A * 2) and 2.5A laser I suppose I need 3.3A and as step motors are 12V and they will act better with higher voltage, I will buy 24V. Is this correct calculation or should I consider some other things?

  • My stepper motors' specifications:

https://www.omc-stepperonline.com/download/17HS13-0404S1.pdf

  • A4988 step motor driver specifications:

https://www.pololu.com/file/0J450/a4988_DMOS_microstepping_driver_with_translator.pdf

  • CNC Shield v3 technical data and instructions:

http://www.zyltech.com/arduino-cnc-shield-instructions/

  • The laser module I would like to connect:

https://www.banggood.com/EleksMaker-FB03-2500-2500mW-Blue-Laser-Module-2_54-3P-TTLPWM-Modulation-for-DIY-Laser-Engraver-p-1266171.html?rmmds=detail-left-hotproducts__2&cur_warehouse=CN

Best Answer

I agree with Wesley Lee, in that a linear regulator is not the proper power source for your application. Although there are newer and more efficient linear regulators that would work in your situation, you would be better off using a higher current switching regulator with a fairly large capacitor on the output.

Obviously, you should be measuring the current used in each branch of your circuit to see exactly what the average/peak current draw is in each segment of your circuit. This would give you an accurate account of the actual requirements, and give you an idea where to further investigate in order to improve your circuit design.

As stated previously, as long as your components can handle the increased current, you could just throw a much larger current supply at the circuit, and hope that it either works, or blows something out. Current limited bench power supplies are your friend, in this situation.

Of course, all of this can be worked out using math, but it would likely be faster to just micro analyze your circuit while in operation using the appropriate test equipment, since you have already determined that it is already somewhat working.

Related Topic