control microstepping with cnc shield

Hi people,

The equipment that i use:
HiLetgo cnc shield
A4988 driver
nema 17 stepper motor

I am trying to achieve the control over microstepping. What i found till now, is the you can put jumper on the pins M0, M1, M2 and this will give you microstepping. But What i am trying to do is to use at one part of my program regular steps and other part microsteps. Which pins can i connect that will allow me to control the microsteps? here is the cnc shield

Instead of the jumpers that connect M1/M2/M3 to GND you connet M1/M2/M3 to the arduino.

zwieblum:
Instead of the jumpers that connect M1/M2/M3 to GND you connet M1/M2/M3 to the arduino.

I don't think the shield is designed to allow that on an Uno.

If the shield will work on a Mega then it may be possible to connect fine wires to the M pins and bring them out to some the free pins on the Mega. It may be necessary to solder the wires to the M pins so as to ensure the connections don't prevent the drivers from being fitted. And the soldering may prevent the future use of the jumpers.

...R

Oh, it is. It's even for independent 4th axis :slight_smile:
These shields are all ripoffs from the protoneer, which is basicly 4x the schematic of the stepperdriver datasheet implementation. That is, M1/M2/M3 per jumper to GND - or leave open for HIGH. VCC of the stepperdrivers are connected to arduino +5V, so M1/M2/M3 are with pullup to +5V ... checking with a multimeter is never wrong, as there happen copy&paste errors :slight_smile:

zwieblum:
Oh, it is. It's even for independent 4th axis :slight_smile:

Do you mean that the 12 Micro-stepping pins for 4 drivers are connected to I/O pins on an Uno? I doubt it and what you said in Reply #1 seems to confirm that. I think all the Uno pins are already assigned for other purposes.

I don't have a CNC shield but my RAMPS shield (for a Mega) does not connect its micro-stepping pins to I/O pins on the Mega.

...R

i checked with the multimeter the pins that we put jumpers on. I found that the pin which is responsible for M1/M2/M3 is the inner pin and the outer pins all connected between each other to 5v/gnd, which means i am not really sure what should i wire to it, and most importantly how

I ALWAYS populate these jumpers regardless of the drivers microstepping options.
I then set GRBL accordingly.

Those boards are NOT designed to work properly on a MEGA without a custom version of GRBL due to the pin outs being different.

Ramps boards on the other hand are most often laid out differently to accommodate those pin differences and take advantage of the extra ones.

There are a few versions of GRBL to suit the RAMPS boards but they are not maintained too well and even less so as people move to STM based boards

"microstepping" is a function that should be set and left alone unless you have an absolute odd-ball reason to do otherwise ?
Speeds and feeds can be changed on the fly to account for most all aspects of movement.

Robin2:
Do you mean that the 12 Micro-stepping pins for 4 drivers are connected to I/O pins on an Uno? I doubt it and what you said in Reply #1 seems to confirm that. I think all the Uno pins are already assigned for other purposes.

Don't know what the TO thinks :slight_smile:
You can simply wire the microstepper pins to unused pins on the shield (probe, coolant ...) without soldering. Just look at the schematics

zwieblum:
You can simply wire the microstepper pins to unused pins on the shield (probe, coolant ...) without soldering.

Thanks for the explaining what you have in mind. That makes things clear.

But won't that confuse GRBL ?

...R

You can wire them as suggested by zwieblum BUT !

As Robin rightly pointed out it will also make GRBL operate differently.
This may be an issues unless everything else is matched such as lead screws / pulleys etc.

If you have a different X and Y drive arrangement then you will probably get elongated items on the machine
Then you still have to go into GRBL to change things to account for that too !

Really need to know the full intentions of the OP and why this is needed to be able to give better advice.
Right now I would say "dont try this at home" LOL

The TO did not say he wanted to use GRBL - in that case the microstepper switching thingie would make no sense at all. It does not make any sense without GRBL, too, but you never know ...

zwieblum:
It does not make any sense without GRBL,

You might use micro-stepping for low speeds and switch to full-steps for high speeds

...R

switching microstepping will only work reliably when the machine is not moving. Otherwise you'll get into severe timing problems - not to mention the fact that you can only switch stepping when the steppermodes match. Put it the other way round: if it was a good ide, somebody would have implemented it already.