Home › Forums › TinyG › TinyG Support › rotary axis scaling not making sense
Tagged: revolution, rotary, rotation
- This topic has 8 replies, 2 voices, and was last updated 7 years, 1 month ago by matthewdc.
-
AuthorPosts
-
October 11, 2017 at 11:03 pm #10617matthewdcMember
I have a rotary stage with a manual knob that I was able to determine the gear ratio ie one stepper revolution is 2 degrees of stage rotation. I’ve verified the stepper is 1.8 per step.
But the moves are WAY off. When I send the command G1 F100 A1 it moves more than 360 degrees instead of one degree. I’ve determined that G1 A.007 gives me about one stepper revolution.
What am I doing wrong?
samples of my setup below.
thanks
Matt;STEP ANGLE (physical step size built into a stepper motor)
$1sa=1.8 ;degrees
$2sa=1.8
$3sa=1.8;TRAVEL PER REVOLUTION (accounts for gearing or drive shaft pitch)
$1tr=4 ; stage moves 4mm per revolution of stepper motor
$2tr=4
$3tr=2 ; degrees per revolution Newport rotary stage model #URM80APP;MICROSTEPS (resolution of in-between steps, controlled by the electronics)
$1mi=8 ; option is between 1, 2, 4, 8, or 16
$2mi=8
$3mi=8October 12, 2017 at 6:54 am #10618cmcgrath5035ModeratorNot that it should really matter for this discussion, are we discussing a tinyG or G2core machine here? I ask because tinyG does not support $_mi=16, but you are not using $_mi=16 either.
Also, I will assume you are using the onboard tinyG drivers, or a Gshield/DUE hardware setup. If Gshield, the microstepping pins are all open, thus $_mi=8Also assuming from what you show that $3ma=3, mapping motor 3 to A axis
Can you verify assumptions so far, or describe what is different?
Can you provide all the motor 3 and all the A axis parameters?
That would be results of $3 command and $a command
Or, Dump all parameters $$ , copy them to a Cloud drive and provide a URL for viewing.October 12, 2017 at 1:44 pm #10620matthewdcMemberYour assumptions are correct.
Here is the dump file.
Thanks for your help!
capture fileOctober 15, 2017 at 7:15 am #10622cmcgrath5035ModeratorOOps, the link you posted points to this thread, not your Parameters dump
October 17, 2017 at 5:07 pm #10624October 17, 2017 at 7:03 pm #10626cmcgrath5035ModeratorTo be honest, first person I have seen using rotary axis limits.
This Link https://github.com/synthetos/TinyG/wiki/TinyG-Configuration-for-Firmware-Version-0.97#xtn-xtm—travel-minimum-travel-maximum says setting min and max to same value means “no limits, which may explain behavior in your other postYou have both motor 3 and motor 4 mapped to A axis and enabled.
Is this really true?. I’m not sure it would make a difference if M4 were not connected to anything.You have Motor 3 mapped to A axis and A axis in radius mode, Radius = 0.1989 deg, which is interpreted as move 1/.1989 degrees when G1 A1 is sent. Re-read how $3tr =2 is interpreted for a rotary axis.
https://github.com/synthetos/TinyG/wiki/TinyG-Configuration-for-Firmware-Version-0.97#1tr—travel-per-revolution
I am not 100% clear if your movement described is rotary stepper or rotary output after gear reductionWhen I read
When I send the command G1 F100 A1 it moves more than 360 degrees instead of one degree.
I sort of think you should be in $aam=1, so that G1 A1 means 1 degree of movement requested.
- This reply was modified 7 years, 1 month ago by cmcgrath5035.
October 17, 2017 at 8:17 pm #10629matthewdcMemberthanks cmcgrath5035, you have pointed out some critical points.
I thought I had the axis modes configured but I can’t find them in my config file!
The rotary stage should be in mode 2 and act simply like the linear stages.
Also, the report may show everything but it doesn’t show what I have failed to address. I will have to be more explicit about that fourth motor I’m not using, for example.
thanks again!October 18, 2017 at 6:42 am #10630cmcgrath5035ModeratorA axis parameters are displayed, in cli mode, with $a command.
I don’t understand your comment
“The rotary stage should be in mode 2 and act simply like the linear stages.”
Axis modes are defined here: https://github.com/synthetos/TinyG/wiki/TinyG-Configuration-for-Firmware-Version-0.97#xam—axis-mode
Gcode movements for rotational axes are in degrees, G1 A3 is a 3 degree movement in standard mode. $aam=1. Use $3tr (in your case, if A axis stepper is connected to motor 3) to implement gearing ratio from stepper to output shaft.
The Gcode specifies movement of the output shaft.If you prefer to create a custom Gcode stream that specifies linear movement, e.g. G1 A5 to move the A axis 5mm , then you can set $aam=3 (radius mode) and parameter $ara is set based on this definition https://github.com/synthetos/TinyG/wiki/TinyG-Configuration-for-Firmware-Version-0.97#ara—radius-value
I don’t know of any ‘standard’ tool chain that would generate that Gcode for you
October 18, 2017 at 2:46 pm #10632matthewdcMembercrapola, where is my brain?
I meant mode 1. It’s all working now! Sorry about the confusion.
thanks -
AuthorPosts
- You must be logged in to reply to this topic.