$*SA parameter lenght

Home Forums TinyG TinyG Support $*SA parameter lenght

Tagged: 

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #11913
    Tensi666
    Participant

    Hello together,
    I have a question about the $*SA command. I have a BLDC servo with 22.5° step angle and an encoder with 1024 steps resolution. This results in an unusual value of 0.3515625° per pulse. Can I set this value by SA or is it too long?
    The axis does not move exactly, so I had the assumption.
    Thanks for the feedback and sorry for the bad English.
    Many greetings, Daniel

    #11914
    cmcgrath5035
    Moderator

    Welcome to the Forum.
    First I have seen this question.
    How do you interface tinyG to this motor?
    A specific reference to data on the motor might help.

    The $SA parameter is simply used in a calculation (by tinyG) to determine how far each step pulse (or microstep) will move

    I am sort of assuming that you are using a logical interface to an external BDLC controller, but don’t want to speculate too much.

    • This reply was modified 4 years, 1 month ago by cmcgrath5035. Reason: turn on Notify
    #11916
    Tensi666
    Participant

    Hello and many thanks!
    I use the Nanotec PD2-CB42M024040-E-01 with clock/direction interface. I have used the buffered signals from the pin header of the board.
    With e.g. 100mm travel distance the deviation is approx. 1mm. I can exclude a tracking error. That’s why I had the idea of rounding errors.
    Thanks in advance!

    #11917
    cmcgrath5035
    Moderator

    OK, for my use here is the klink to the motor
    https://us.nanotec.com/products/2130-pd2-cb42m024040-e-01

    Lots of I/O and data to look at, need some time.

    Sooner or later I’ll ask for your parameter set, the results of a $$ command to tinyG. Please paste that to a Cloud drive (Gdrive or whatever) and provide me a URL. If you have some sort of connection diagram, copy that to the cloud as well
    What are you using to communicate with tinyG? A terminal interface (e.g. CoolTerm), a Gui (e.g. Chilipeppr, cnc.js) or ?

    #11918
    Tensi666
    Participant

    Hello,
    thank you very much, but please don’t invest too much time with this topic. I used OpenPNP and this is the configuration section:

    <command type=”CONNECT_COMMAND”>
    <text><![CDATA[$SV=2]]></text>
    <text><![CDATA[$ME ]]></text>
    <text><![CDATA[$1pm=1]]></text>
    <text><![CDATA[$2pm=1]]></text>
    <text><![CDATA[$3pm=1]]></text>
    <text><![CDATA[$4pm=1]]></text>
    <text><![CDATA[$xjm=250]]></text>
    <text><![CDATA[$yjm=250]]></text>
    <text><![CDATA[$zjm=500]]></text>
    <text><![CDATA[$ajm=500]]></text>
    <text><![CDATA[$xvm=7000]]></text>
    <text><![CDATA[$yvm=7000]]></text>
    <text><![CDATA[$zvm=3000]]></text>
    <text><![CDATA[$avm=20000]]></text>
    <text><![CDATA[$1tr=40.00000]]></text>
    <text><![CDATA[$2tr=40.00000]]></text>
    <text><![CDATA[$3tr=8.0000]]></text>
    <text><![CDATA[$4tr=160.0000]]></text>
    <text><![CDATA[$xsn=3]]></text>
    <text><![CDATA[$ysn=3]]></text>
    <text><![CDATA[$mt=1000000000]]></text>
    <text><![CDATA[G21 G90 G92 X0 Y0 Z0 A0 M8 M5]]></text>
    <text><![CDATA[$xjh=1000]]></text>
    <text><![CDATA[$1mi=8]]></text>
    <text><![CDATA[$1sa=0.900]]></text>
    <text><![CDATA[$yjh=2000]]></text>
    <text><![CDATA[$xsv=1000]]></text>
    <text><![CDATA[$ysv=1000]]></text>
    <text><![CDATA[$zsv=1000]]></text>
    <text><![CDATA[$xsx=2]]></text>
    <text><![CDATA[$ysx=2]]></text>
    <text><![CDATA[$zsx=3]]></text>
    <text><![CDATA[$2mi=1]]></text>
    <text><![CDATA[$2sa=0.3515625]]></text>
    <text><![CDATA[$zjh=1000]]></text>
    <text><![CDATA[$xfr=6000]]></text>
    <text><![CDATA[$yfr=2000]]></text>
    <text><![CDATA[$zfr=2500]]></text>
    <text><![CDATA[$afr=20000]]></text>
    <text><![CDATA[$3mi=8]]></text>
    <text><![CDATA[$3sa=1.800]]></text>
    <text><![CDATA[$4mi=8]]></text>
    <text><![CDATA[$4sa=0.900]]></text>
    <text><![CDATA[$mt=300.00]]></text>
    <text><![CDATA[$zzb=2]]></text>
    <text><![CDATA[$3po=1]]></text>
    <text><![CDATA[$zsn=0]]></text>
    <text><![CDATA[$2po=1]]></text>
    </command>

    The Servo ist the Y-axis.
    Thank you!
    Greetings, Daniel

    #11919
    cmcgrath5035
    Moderator

    Hmmm, that format will make it difficult for me to spot obvious issues.
    The data is there, but organized differently than $$ report

    Here is a hint for you to contemplate:
    tinyG computes the degrees revolution per step pulse by dividing the $sa parameter by the $mi parameter. So, for a simple 200 step per revolution bipolar stepper driven by the tinyG onboard driver, with $mi=8, tinyG sends step pulses as if the effective step angle is 1.8/8=0.125 degrees.
    so your step angle is not all that out of whack.

    I have no simple way to ask all the pertinent questions on your level translators, polarity of connections (remember Enable is active low on tinyG) and all the other details.

    • This reply was modified 4 years, 1 month ago by cmcgrath5035.
Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.