Is it possible to use both KStep with SnapAmp

Moderators: TomKerekes, dynomotion

axeman
Posts: 25
Joined: Thu Jan 25, 2018 2:40 am

Is it possible to use both KStep with SnapAmp

Post by axeman » Sat Apr 13, 2024 6:08 am

I am using KFlop with KStep board, driving a 4 axis cnc machine with stepper motors.
The steppers are wired to be within the boards rated current.
However, I would like to increase current to the Zaxis above the rated current of the KStep board, and therefore I am thinking of using the SnapAmp. Is it possible to add a SnapAmp to the KFlop board, together with the KStep board, or do I need to replace the KStep with two SnapAmps?

User avatar
TomKerekes
Posts: 2676
Joined: Mon Dec 04, 2017 1:49 am

Re: Is it possible to use both KStep with SnapAmp

Post by TomKerekes » Sat Apr 13, 2024 2:53 pm

Yes it is possible.
Regards,

Tom Kerekes
Dynomotion, Inc.

axeman
Posts: 25
Joined: Thu Jan 25, 2018 2:40 am

Re: Is it possible to use both KStep with SnapAmp

Post by axeman » Tue Jul 16, 2024 9:12 pm

Hi Tom,
I have swapped out my KStep, and installed two SnapAmps instead, to handle the current drawn by the steppers better. Steppers are rated 4.5 Amps.
This was my prime concern, however, I had not considered how this change in hardware would affect the machine resolution. Now that I have everything working, it appears that the SnapAmps are only 1/4 the resolution of the KStep setup. That is, I am only getting 50 steps/rev from my steppers instead of the 200steps/rev with the KStep board.Have I missed something? Is there a way to get back my original resolution with the SnapAmps?

axeman
Posts: 25
Joined: Thu Jan 25, 2018 2:40 am

Re: Is it possible to use both KStep with SnapAmp

Post by axeman » Wed Jul 17, 2024 12:21 am

...update.

I have tested actual movement, using the incremental jog function within KmotionCNC, with dial indicator, and I am able to move in 0.01mm increments. So the resolution is there.
However, when attempting to set the machine home to a specific accurate position I am not able to get more accuracy than approximately 0.2mm. This is in the SimpleHome program using the Kmotion move() function. I have attached the programs below.
If I use the float 103 for the absolute co-ordinates for move() value I have smooth movement, but not the positional accuracy I need. Using a value like 103.5 results in a clunk at the end of the move, with no actual change in position, suggesting some rounding occurring.

Also changed invDistPerCycle variable to 0.1, along with corresponding vel,accel values etc. to avoid using a decimal point. i.e. 1035 instead of 103.5
This produced no change.

I hope that gives you a better idea of what I am trying to solve.
SimpleHomeIndexFunction_modified.c
(2.69 KiB) Downloaded 208 times
InitSnapAmp4Axis_M1.c
(13.98 KiB) Downloaded 216 times

User avatar
TomKerekes
Posts: 2676
Joined: Mon Dec 04, 2017 1:49 am

Re: Is it possible to use both KStep with SnapAmp

Post by TomKerekes » Wed Jul 17, 2024 4:51 pm

That is, I am only getting 50 steps/rev from my steppers instead of the 200steps/rev with the KStep board.Have I missed something? Is there a way to get back my original resolution with the SnapAmps?
SnapAmp has very high resolution. Instead of a 16X uStepping resolution of KSTEP (200 x 16 = 3200 integer uSteps/rev) SnapAmp outputs a a current sine wave with floating point resolution (fractional parts of a cycle). The actual resolution is somewhat difficult to quantify but it is based on the 11-bit current resolution used to create the sine wave but will be far higher than the 16X uStepping of KStep.

However, when attempting to set the machine home to a specific accurate position I am not able to get more accuracy than approximately 0.2mm.
You are correct this is a potential issue of SnapAmp Microstep mode. The sine wave current is based on the commanded Destination. The Zero command sets the Destination to zero and therefore sets the Sine wave to the start (zero current for coil A). So Destination 0 will always be at the beginning of a motor pole (1/50th of a resolution). I can't think of a way to make machine coordinate 0 at any arbitrary position.

Would using a GCode offset work for you? The Home routine could basically push the Zero button in KMotionCNC setting the GCode Coordinates (DRO) to 0 without affecting the machine coordinates. The Zero button has an option to use either the Global G92 offset or the current fixture offset.

Code: Select all

			DoPCFloat(PC_COMM_SET_X,0.0);
Regards,

Tom Kerekes
Dynomotion, Inc.

axeman
Posts: 25
Joined: Thu Jan 25, 2018 2:40 am

Re: Is it possible to use both KStep with SnapAmp

Post by axeman » Thu Jul 18, 2024 8:19 am

Thank you Tom, that is good information to know. I will give this some more thought and decide what will work best for my setup. I'll let you know.

On a different note, I rewired my stepper motors back to Bipolar-parallel, to make more use of the higher current from the SnapAmps, and one of the channels on the SnapAmp started faulting. After trying a few options, I swapped the JP5 jumper from one board to the other and everything started working fine again. I have some more work to do before I finish up, so I will keep an eye on it and let you know if I need any more help.

Regards,
William

User avatar
TomKerekes
Posts: 2676
Joined: Mon Dec 04, 2017 1:49 am

Re: Is it possible to use both KStep with SnapAmp

Post by TomKerekes » Thu Jul 18, 2024 4:52 pm

Thank you Tom, that is good information to know. I will give this some more thought and decide what will work best for my setup. I'll let you know.
btw another approach might be to use the closest motor pole as a type of, and instead of, the index mark. That would probably be as accurate as anything. ie after homing to the home sensor, move to the closest whole cycle and then zero.

I rewired my stepper motors back to Bipolar-parallel, to make more use of the higher current from the SnapAmps, and one of the channels on the SnapAmp started faulting. After trying a few options, I swapped the JP5 jumper from one board to the other and everything started working fine again. I have some more work to do before I finish up, so I will keep an eye on it and let you know if I need any more help.
What motor current amplitude are you now using? What are the peak current settings on the SnapAmps? You might need to increase the allowed peak motor currents.
Regards,

Tom Kerekes
Dynomotion, Inc.

axeman
Posts: 25
Joined: Thu Jan 25, 2018 2:40 am

Re: Is it possible to use both KStep with SnapAmp

Post by axeman » Fri Jul 19, 2024 5:06 am

Tom,
For now I have decided to move the physical home position to accurately sync with the homing function.

As I am going through setting up the SnapAmps, I am now tuning the axes. There is a problem with the Z-axis responding to the Step/Response values at the moment.
The Z axis stepper stalls at really low values. However, I can jog at much higher speeds and have the higher values in the init file. Any idea why the Step/Response screen doesn't work for the Z axis?

User avatar
TomKerekes
Posts: 2676
Joined: Mon Dec 04, 2017 1:49 am

Re: Is it possible to use both KStep with SnapAmp

Post by TomKerekes » Fri Jul 19, 2024 8:45 pm

Hi William,

Are you pushing the Move button on the Step Response Screen?

Are the peak current settings in SnapAmp set?

Are the settings in the KMotion screens all the same as the Init Program? To be sure you might import them. What are the settings?
Regards,

Tom Kerekes
Dynomotion, Inc.

axeman
Posts: 25
Joined: Thu Jan 25, 2018 2:40 am

Re: Is it possible to use both KStep with SnapAmp

Post by axeman » Tue Jul 23, 2024 2:58 am

Hi Tom,

Thank you again for your help.
I had not imported the program. The problem was resolved once I had done that, and the steppers are all working again as expected.

The upgrade to the SnapAmps is now almost complete.
However, I have a couple more issues that have surfaced; one with the touch plate not zeroing, and another with the behaviour of the halt/resume when running Gcode operations.
In an effort to simplify, I will focus on one at time, starting with the Halt/resume issue.

After the “Halt” button has paused a Gcode program, in the middle of running the program, the spindle does not turn on again when resuming operations by clicking continue in the dialogue box that pops ups.
I can push the “on cw” button to turn on the spindle manually, before resuming through the dialogue box. However, it would be best to have the spindle automatically restart through the resume dialogue box, and not to have to remember to turn spindle on.

I am running the spindle via the pwm program you provided which seems fine, but no idea where to drill down into the program that controls how to resume operations.
The spindle run loop is in my updated InitSnapAmp4Axis_M1.c (see attached).
Spindle is enabled through C program setting a global persist state to high when a Gcode “S” Command is received and low for spindle stop. The spindle speed is set in a global persist variable. CW/CCW I/Os are set/cleared in tool setup for M3 and M4 respectively.

Not sure what information would be helpful for you here, but hopefully what I have included in this post will be a good start.
As always, your help is very much appreciated.

Regards,
William
Attachments
InitSnapAmp4Axis_M1.c
(13.74 KiB) Downloaded 203 times

Post Reply