Y Homing and negative coordinates

Home Forums TinyG TinyG Support Y Homing and negative coordinates

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #8856
    mwarchut
    Member

    Happy Sunday
    (I also posted this on openbuilds)

    So I decided I wanted to put some homing switches on my OX CNC. I put one on the front of the frame for the Y axis. The switch works but Im not sure the front even though the tinyg documentation says it should be is the right place. When I tell it to home Y it always heads to the back of the machine. I tried swapping the motor polarities in the firmware wondering if that controlled what direction it would home in but no dice. It still wants to go to the back. Also when I place it at 0 and them jog it torwards the back it starts to give me negative coordinates instead of positive ones. What am I missing here?

    TIA

    #8857
    cmcgrath5035
    Moderator

    Please keep in mind that for readers, like me, who don’t work with the Ox, front and back are sort of meaningless. Also be aware that most tinyG documentation was developed in the context of ShapeOko machines, which have a different model for where (0,0) is.

    When you say you reverse polarity in Firmware, I assume you mean you flipped the polarity setting for the Y1 and Y2 motors in the setup parameters.

    Are you saying that from an arbitrary location (0,0), issuing a “Y +10 units” jog moves the same direction, irrespective of Y motor polarity setting?
    That is just not right.

    What FW build are you running?

    Perhaps post your entire parameter set ($$ dump) for a look?

    Is this a new machine that has never worked ‘correctly’, or is this behavior a recent phenomenon?

    #8858
    mwarchut
    Member

    Hi

    When the machine is facing me with the spindle closer to me than the gantry I consider that the front. Yes with the polarity settings for the motors swapped it still homes the same direction, towards the back. It is a dual gantry setup. I believe its on the latest FW. I can check all of this when I get home shortl .

    #8859
    mwarchut
    Member

    Here is my current configuration. This is a new OX that I am working on. Other than the odd homing issue it seems to be working well. Although I’ve only manually moved the axis from the gui. Soon Ill test a cut.

    [fb] firmware build 440.18
    [fv] firmware version 0.97
    [hp] hardware platform 1.00
    [hv] hardware version 8.00
    [id] TinyG ID 3X3566-FCG
    [ja] junction acceleration 100000 mm
    [ct] chordal tolerance 0.0100 mm
    [sl] soft limit enable 0
    [st] switch type 1 [0=NO,1=NC]
    [mt] motor idle timeout 2.00 Sec
    [ej] enable json mode 1 [0=text,1=JSON]
    [jv] json verbosity 4 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
    [js] json serialize style 1 [0=relaxed,1=strict]
    [tv] text verbosity 0 [0=silent,1=verbose]
    [qv] queue report verbosity 1 [0=off,1=single,2=triple]
    [sv] status report verbosity 1 [0=off,1=filtered,2=verbose]
    [si] status interval 250 ms
    [ec] expand LF to CRLF on TX 0 [0=off,1=on]
    [ee] enable echo 0 [0=off,1=on]
    [ex] enable flow control 1 [0=off,1=XON/XOFF, 2=RTS/CTS]
    [baud] USB baud rate 5 [1=9600,2=19200,3=38400,4=57600,5=115200,6=230400]
    [net] network mode 0 [0=master]
    [gpl] default gcode plane 0 [0=G17,1=G18,2=G19]
    [gun] default gcode units mode 1 [0=G20,1=G21]
    [gco] default gcode coord system 1 [1-6 (G54-G59)]
    [gpa] default gcode path control 2 [0=G61,1=G61.1,2=G64]
    [gdi] default gcode distance mode 0 [0=G90,1=G91]
    [1ma] m1 map to axis 0 [0=X,1=Y,2=Z…]
    [1sa] m1 step angle 1.800 deg
    [1tr] m1 travel per revolution 60.0000 mm
    [1mi] m1 microsteps 8 [1,2,4,8]
    [1po] m1 polarity 0 [0=normal,1=reverse]
    [1pm] m1 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving]
    [2ma] m2 map to axis 1 [0=X,1=Y,2=Z…]
    [2sa] m2 step angle 1.800 deg
    [2tr] m2 travel per revolution 60.0000 mm
    [2mi] m2 microsteps 8 [1,2,4,8]
    [2po] m2 polarity 1 [0=normal,1=reverse]
    [2pm] m2 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving]
    [3ma] m3 map to axis 1 [0=X,1=Y,2=Z…]
    [3sa] m3 step angle 1.800 deg
    [3tr] m3 travel per revolution 60.0000 mm
    [3mi] m3 microsteps 8 [1,2,4,8]
    [3po] m3 polarity 0 [0=normal,1=reverse]
    [3pm] m3 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving]
    [4ma] m4 map to axis 2 [0=X,1=Y,2=Z…]
    [4sa] m4 step angle 1.800 deg
    [4tr] m4 travel per revolution 8.0000 mm
    [4mi] m4 microsteps 8 [1,2,4,8]
    [4po] m4 polarity 0 [0=normal,1=reverse]
    [4pm] m4 power management 2 [0=disabled,1=always on,2=in cycle,3=when moving]
    [xam] x axis mode 1 [standard]
    [xvm] x velocity maximum 16000 mm/min
    [xfr] x feedrate maximum 16000 mm/min
    [xtn] x travel minimum 0.000 mm
    [xtm] x travel maximum 220.000 mm
    [xjm] x jerk maximum 5000 mm/min^3 * 1 million
    [xjh] x jerk homing 500 mm/min^3 * 1 million
    [xjd] x junction deviation 0.5000 mm (larger is faster)
    [xsn] x switch min 1 [0=off,1=homing,2=limit,3=limit+homing]
    [xsx] x switch max 0 [0=off,1=homing,2=limit,3=limit+homing]
    [xsv] x search velocity 500 mm/min
    [xlv] x latch velocity 500 mm/min
    [xlb] x latch backoff 5.000 mm
    [xzb] x zero backoff 1.000 mm
    [yam] y axis mode 1 [standard]
    [yvm] y velocity maximum 16000 mm/min
    [yfr] y feedrate maximum 16000 mm/min
    [ytn] y travel minimum 0.000 mm
    [ytm] y travel maximum 220.000 mm
    [yjm] y jerk maximum 5000 mm/min^3 * 1 million
    [yjh] y jerk homing 10000 mm/min^3 * 1 million
    [yjd] y junction deviation 0.0500 mm (larger is faster)
    [ysn] y switch min 1 [0=off,1=homing,2=limit,3=limit+homing]
    [ysx] y switch max 0 [0=off,1=homing,2=limit,3=limit+homing]
    [ysv] y search velocity 500 mm/min
    [ylv] y latch velocity 100 mm/min
    [ylb] y latch backoff 5.000 mm
    [yzb] y zero backoff 1.000 mm
    [zam] z axis mode 1 [standard]
    [zvm] z velocity maximum 800 mm/min
    [zfr] z feedrate maximum 800 mm/min
    [ztn] z travel minimum 0.000 mm
    [ztm] z travel maximum 75.000 mm
    [zjm] z jerk maximum 20 mm/min^3 * 1 million
    [zjh] z jerk homing 40 mm/min^3 * 1 million
    [zjd] z junction deviation 0.0500 mm (larger is faster)
    [zsn] z switch min 1 [0=off,1=homing,2=limit,3=limit+homing]
    [zsx] z switch max 0 [0=off,1=homing,2=limit,3=limit+homing]
    [zsv] z search velocity 400 mm/min
    [zlv] z latch velocity 100 mm/min
    [zlb] z latch backoff 5.000 mm
    [zzb] z zero backoff 1.000 mm
    [aam] a axis mode 3 [radius]
    [avm] a velocity maximum 230400 deg/min
    [afr] a feedrate maximum 230400 deg/min
    [atn] a travel minimum -1.000 deg
    [atm] a travel maximum -1.000 deg
    [ajm] a jerk maximum 5760 deg/min^3 * 1 million
    [ajh] a jerk homing 11520 deg/min^3 * 1 million
    [ajd] a junction deviation 0.0500 deg (larger is faster)
    [ara] a radius value 0.1990 deg
    [asn] a switch min 0 [0=off,1=homing,2=limit,3=limit+homing]
    [asx] a switch max 0 [0=off,1=homing,2=limit,3=limit+homing]
    [asv] a search velocity 600 deg/min
    [alv] a latch velocity 100 deg/min
    [alb] a latch backoff 5.000 deg
    [azb] a zero backoff 2.000 deg
    [bam] b axis mode 0 [disabled]
    [bvm] b velocity maximum 3600 deg/min
    [bfr] b feedrate maximum 3600 deg/min
    [btn] b travel minimum -1.000 deg
    [btm] b travel maximum -1.000 deg
    [bjm] b jerk maximum 20 deg/min^3 * 1 million
    [bjd] b junction deviation 0.0000 deg (larger is faster)
    [bra] b radius value 1.0000 deg
    [cam] c axis mode 0 [disabled]
    [cvm] c velocity maximum 3600 deg/min
    [cfr] c feedrate maximum 3600 deg/min
    [ctn] c travel minimum -1.000 deg
    [ctm] c travel maximum -1.000 deg
    [cjm] c jerk maximum 20 deg/min^3 * 1 million
    [cjd] c junction deviation 0.0000 deg (larger is faster)
    [cra] c radius value 1.0000 deg
    [p1frq] pwm frequency 5000 Hz
    [p1csl] pwm cw speed lo 0 RPM
    [p1csh] pwm cw speed hi 10000 RPM
    [p1cpl] pwm cw phase lo 0.000 [0..1]
    [p1cph] pwm cw phase hi 1.000 [0..1]
    [p1wsl] pwm ccw speed lo 1000 RPM
    [p1wsh] pwm ccw speed hi 2000 RPM
    [p1wpl] pwm ccw phase lo 0.125 [0..1]
    [p1wph] pwm ccw phase hi 0.200 [0..1]
    [p1pof] pwm phase off 0.000 [0..1]
    [g54x] g54 x offset 0.000 mm
    [g54y] g54 y offset 0.000 mm
    [g54z] g54 z offset 0.000 mm
    [g54a] g54 a offset 0.000 deg
    [g54b] g54 b offset 0.000 deg
    [g54c] g54 c offset 0.000 deg
    [g55x] g55 x offset 75.000 mm
    [g55y] g55 y offset 75.000 mm
    [g55z] g55 z offset 0.000 mm
    [g55a] g55 a offset 0.000 deg
    [g55b] g55 b offset 0.000 deg
    [g55c] g55 c offset 0.000 deg
    [g56x] g56 x offset 0.000 mm
    [g56y] g56 y offset 0.000 mm
    [g56z] g56 z offset 0.000 mm
    [g56a] g56 a offset 0.000 deg
    [g56b] g56 b offset 0.000 deg
    [g56c] g56 c offset 0.000 deg
    [g57x] g57 x offset 0.000 mm
    [g57y] g57 y offset 0.000 mm
    [g57z] g57 z offset 0.000 mm
    [g57a] g57 a offset 0.000 deg
    [g57b] g57 b offset 0.000 deg
    [g57c] g57 c offset 0.000 deg
    [g58x] g58 x offset 0.000 mm
    [g58y] g58 y offset 0.000 mm
    [g58z] g58 z offset 0.000 mm
    [g58a] g58 a offset 0.000 deg
    [g58b] g58 b offset 0.000 deg
    [g58c] g58 c offset 0.000 deg
    [g59x] g59 x offset 0.000 mm
    [g59y] g59 y offset 0.000 mm
    [g59z] g59 z offset 0.000 mm
    [g59a] g59 a offset 0.000 deg
    [g59b] g59 b offset 0.000 deg
    [g59c] g59 c offset 0.000 deg
    [g92x] g92 x offset 0.000 mm
    [g92y] g92 y offset 0.000 mm
    [g92z] g92 z offset 0.000 mm
    [g92a] g92 a offset 0.000 deg
    [g92b] g92 b offset 0.000 deg
    [g92c] g92 c offset 0.000 deg
    [g28x] g28 x position 0.000 mm
    [g28y] g28 y position 0.000 mm
    [g28z] g28 z position 0.000 mm
    [g28a] g28 a position 0.000 deg
    [g28b] g28 b position 0.000 deg
    [g28c] g28 c position 0.000 deg
    [g30x] g30 x position 0.000 mm
    [g30y] g30 y position 0.000 mm
    [g30z] g30 z position 0.000 mm
    [g30a] g30 a position 0.000 deg
    [g30b] g30 b position 0.000 deg
    [g30c] g30 c position 0.000 deg

    #8860
    cmcgrath5035
    Moderator

    At first read, your parameters look OK with the exception of the Z axis. Those setting should not affect X and Y homing.

    I do suggest your read this wiki item a couple of times (lots of meat in there)

    For your Z axis, your settings do not follow the tinyG guideleines for homing.

    The Zmax switch should be set as the Homing switch, with the Zmin switch disabled.
    Typically Z travel Max ($ztm) is set to 0 if you plan to home Z axis.
    $ ztn would in your case then be -75mm, but that is in reality only important if you turn on soft limits. Because a real $ztn is a function of your tool and how you mount it in the chuck, $ztn is difficult to use.

    I would suggest these parameter changes

    $tv=1
    $xjh=10000
    $yjh=10000

    These are more in line with ShapeOko/Synthetos recommendations.
    Are you following some recommended setup settings from somehwere?
    I have seen these numbers before and don’t fully agree with them.

    Nothing on what I have recommended so far gets to the root of your issue.

    If changing the Y axis polarities results in a homing cycle that goes in the same direction irrespective if polarity setting, something is fundamentally wrong.

    What are you using to send homing commands?
    CoolTerm, Chilipeppr, something else?

    What homing command are you sending?

    Are you confident that X, Y and Z movement is generally working?
    Either by jogging or by issuing CLI commands?

    What are you using to make parameter changes?
    Cool Term, CP Serial COnsole, ??

    The CP configuretinyG widget has been producing some strange results of late, please respond if that is what you have been using.

    #8861
    mwarchut
    Member

    Oh thats interesting.. I had 10,000 in those but I had entered them via the CP Configuration tool. It seems to be making a lot of mistakes lately. I forked it off and started looking at fixing them and added some tabs for other settings. If I get it done I’d be happy to share.

    I am using the Home connand in CP under the Axes widget under the Y Axis.

    I was using CP’s config but I switched over to the serial console in CP. Sometimes coolterm if I have few changes. When I use the arrows under the Axis widget to move X Y and Z they move fine, well except for Y. Y always wants to go the same directions for Y+/Y- even though I change the polarity in firmware expecting them to go the other way, A very strange issue.

    Thanks for the tips on Z. I have even’t paid any attention to that until I get the Y issue sorted out. Should I try an older FW or newer one? I see there are some newer ones..

    #8862
    cmcgrath5035
    Moderator

    OK, I think we may need to try this:

    I’ll suggest you upgrade your FW to the current Edge Build, $fb=440.20.
    The changes 440.18 to 440.20 are focused on handling some difficult arcs, so that is not directly affecting you at the moment, but I believe what you really need is likely a complete reset of the EEPROM stored parameters. We could do that with a $defa=1 command and then restore all your motor and axis parameters, but moving to the most current FW makes good sense and is only incremental effort.

    The good news is you already have the current value settings for your Ox in a file to use as reference..

    I recommend you stay away from the configuretinyG widget. It worked well back in May when released, but significant churn in tinyG fw and in CP seems to have caused the widget to corrupt EEPROM parameters.
    Your best options are the CP Serial Sport console, one parameter at a time, or CoolTerm (or equivalent).

    It should go without saying that caution is advised with your forked version of configuretinyG. Writing parameters reliably in batch to tinyG is a non-trivial task. Perhaps more important, future tinyG FW will migrate to a significantly enhanced, but changed, parameter set. To get an idea where it is headed, review

    FV 0.98 represents the merger of the tinyG and tinyG2 code and feature bases. It will likely impact any GUI interface you are designing by reverse engineering the current parameter set.

    Also, set up and use a cloud drive to share your parameters – this forum interface is difficult to manage with long text dumps. See:

    #8863
    mwarchut
    Member

    Thank you for all of the tips. Ill do as such and let you know the outcome. Hopefully this will resolve those issues.

    #8864
    mwarchut
    Member

    So I spent my lunch time out in the shop and I did the upgrade first. followed by a complete wipe. I entered all of the parameters via Secure-CRT. After that I did some jog tests. CHECK. Then I did a Home Y. Crap.. Wrong direction. So I swapped the polarity again on the motors. Home Y… Oooh.. right direction this time. But it stopped halfway over. I figure that must be the max travel. No biggie. I jogged it closer and did a Home Y. SUCCESS. So something amongst all of that fixed the issue. Either the wipe, the upgrade or the fact I am no longer using the CP config.

    I have 25 years of programming experience and integrated electronics experience so if there are any ideas for widgets or whatnot I would be willing to take a shot at it. Along with my full time gig doing Unix/Linux Security.. Fun times.. Thanks for the help.

    #8865
    cmcgrath5035
    Moderator

    Good news!
    Do you have Soft Limits enabled?
    That might explain the stop half way

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.