Home › Forums › TinyG › TinyG Support › Z probe moves Z axis up instead of down
Tagged: Problems Probing
- This topic has 39 replies, 7 voices, and was last updated 5 years ago by mnesarco.
-
AuthorPosts
-
February 10, 2018 at 12:30 pm #10811RCG3Member
Can someone please help me? I’m sort of new at this but can get around a little. I have looked everywhere I know how to for an answer but can’t find it. I’m sorry if this has been answered before but I just can’t seem to find it anywhere.
I have a TinyG V8, fw .97 440.20
Windows 10All my axis will jog in the correct direction every time. The problem I am having in both Chilipeppr and CNCJS is the Z Probe or Touch plate widget send the Z axis up instead of down towards the table. I have the Z homing switch on Zmax and the touch plate on Zmin. Soft limits are disabled and switches are all NC. In Chilipeppr the touch plate widget will cause the board to lock up and requires a power cycle to do anything. In CNCJS it does not lock up but always sends the Z axis up.
This is what the Z probe in CNCJS sends:
; Z-Probe
G91
G38.2 Z-10 F20
G90
; Set the active WCS Z0
G10 L20 P1 Z10
; Retract from the touch plate
G91
G0 Z4
G90Thank you so much for any help. I’m ready to give up.
ReeveFebruary 10, 2018 at 4:35 pm #10812cmcgrath5035ModeratorCan you post your parameter set to a cloud drive and provide a link?
Does homing work OK for you?
Have you tried manually entering the
G38.2 Z-10 F20
from the command line, with same results?February 10, 2018 at 6:44 pm #10814RCG3MemberThanks for your reply! I’m not sure how to do the cloud drive and link. Sorry for that. I can cut and paste though. I hope that’s okay.
[fb] firmware build 440.20
[fv] firmware version 0.97
[hp] hardware platform 1.00
[hv] hardware version 8.00
[id] TinyG ID 5X0850-VPK
[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 0 [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 1 [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 100 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 2 [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 8.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 8.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 2 [0=X,1=Y,2=Z…]
[3sa] m3 step angle 1.800 deg
[3tr] m3 travel per revolution 8.0000 mm
[3mi] m3 microsteps 8 [1,2,4,8]
[3po] m3 polarity 1 [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 3 [0=X,1=Y,2=Z…]
[4sa] m4 step angle 1.800 deg
[4tr] m4 travel per revolution 360.0000 mm
[4mi] m4 microsteps 8 [1,2,4,8]
[4po] m4 polarity 0 [0=normal,1=reverse]
[4pm] m4 power management 0 [0=disabled,1=always on,2=in cycle,3=when moving]
[xam] x axis mode 1 [standard]
[xvm] x velocity maximum 800 mm/min
[xfr] x feedrate maximum 800 mm/min
[xtn] x travel minimum 0.000 mm
[xtm] x travel maximum 330.000 mm
[xjm] x jerk maximum 20 mm/min^3 * 1 million
[xjh] x jerk homing 40 mm/min^3 * 1 million
[xjd] x junction deviation 0.0500 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 50 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 800 mm/min
[yfr] y feedrate maximum 800 mm/min
[ytn] y travel minimum 0.000 mm
[ytm] y travel maximum 270.000 mm
[yjm] y jerk maximum 20 mm/min^3 * 1 million
[yjh] y jerk homing 40 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 50 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 -115.000 mm
[ztm] z travel maximum 0.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 0 [0=off,1=homing,2=limit,3=limit+homing]
[zsx] z switch max 1 [0=off,1=homing,2=limit,3=limit+homing]
[zsv] z search velocity 400 mm/min
[zlv] z latch velocity 50 mm/min
[zlb] z latch backoff 5.000 mm
[zzb] z zero backoff 1.000 mm
[aam] a axis mode 0 [disabled]
[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.1989 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.0500 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.0500 deg (larger is faster)
[cra] c radius value 1.0000 deg
[p1frq] pwm frequency 100 Hz
[p1csl] pwm cw speed lo 1000 RPM
[p1csh] pwm cw speed hi 2000 RPM
[p1cpl] pwm cw phase lo 0.125 [0..1]
[p1cph] pwm cw phase hi 0.200 [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.100 [0..1]
[g54x] g54 x offset 0.000 mm
[g54y] g54 y offset 0.000 mm
[g54z] g54 z offset 19.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
tinyg [mm] ok>February 10, 2018 at 6:46 pm #10815RCG3MemberSorry I didn’t answer all your questions. Yes, homing works fine as does jogging.
February 10, 2018 at 7:04 pm #10817cmcgrath5035ModeratorI am curious as to why you have $G54z=19mm.
If you set $G54z=0, do you still see the wrong direction movement?
February 10, 2018 at 7:05 pm #10818RCG3MemberI need to slow down! Yes, I get the same results when I enter the G38.2 Z-10 F20 from the command line in the console.
February 10, 2018 at 7:12 pm #10819RCG3MemberI don’t know enough yet to know why that is set at 19 for sure. My touch plate is 19mm thick and I plugged that in before trying it. When it goes up I use the alligator clip and the touch plate to trigger it to stop. Does that mean it thinks it went down to the touch plate and then set the WCS to 0,0,19?
February 10, 2018 at 7:20 pm #10820RCG3MemberI set g54z=0 and now it goes down! Thank you so much!! Can you explain why that was causing a problem? Looks like a learning opportunity to me.
February 10, 2018 at 8:03 pm #10821cmcgrath5035ModeratorFrankly, I’m not sure.
I have not used the function nor experimented with it.Perhaps someone with more experience will stop by.
February 12, 2018 at 1:24 am #10822ZootalawsMemberThe G54 instruction tells the controller which coordinate system to use
$g54x=0 : Set G54 to be the same as the machine coordinate system
In other words, the direction the z-axis moves is the same as you set for the system.
February 16, 2018 at 10:17 pm #10827SteveDMemberTry setting $ztm=0 and $ztm=115.
I was having the same problem and this seemed to be the thing that made G38.2 go the right way.
February 17, 2018 at 12:00 am #10828SteveDMemberCorrection – $ztn=0 and $ztm=115.
February 17, 2018 at 7:24 am #10829cmcgrath5035ModeratorRCG3: SteveD’s suggestion may work but is inconsistent with tinyG operation ‘conventions’.
See the note at the bottom of this reference: https://github.com/synthetos/TinyG/wiki/Homing-and-Limits-Description-and-Operation#homing-configuration-settings
If you use a Zmax switch for homing, tinyG G28.2 will home up to Z first and set Zmax = 0Again, I have no hands on experience with this, but have to wonder if you issue has its roots in the cncjs probe macro step
; Set the active WCS Z0
G10 L20 P1 Z10You were attempting to run a probe cycle after a previous probe cycle, i.e. with the WCS offset still in place.
I believe the proper workflow needs to be:1. Clear offsets
2. Home your machine
3. Run probe cycleIf you intended to use the Touchplate to find the top of your material,
you Gcode should be generated cutting into the material in the -Z direction, down from zero or down from an offset.
I’ll guess that the cncjs folks who implemented the Probe macro assume that the Gcode cuts down from 0 and use the offset to achieve move “offset zero” to the proper point.The values of $ztn and $ztm are really only called into play if you use soft limits.
If you intend to use offsets in your workflow, whether manually (user defined) or automatically (via homing and probing), you have to be mindful of that when generating and archiving Gcode files for future use.
February 18, 2018 at 4:46 am #10830SteveDMemberWhat I neglected to mention in my previous post was that I was running with the edge firmware, i.e. 449.01. My suggested workaround applies to it only.
Taking the previous comment from cmcgrath on board I decided to revert the firmware to the current master 440.20 and repeat the exercise.
Immediately after programming the chip I noticed something different. My TinyG controller is version 8. It came preloaded with a firmware that reported itself as 440.20 and 0.97. However, every time it went through a hardware reset cycle it would flash one of the red LEDs as it booted (I forget which one). Once reset, the LED would stop flashing and remain on.
The newly programmed device also reports itself as 440.20 and 0.97. When reset the PWM LED turns on and stays on. It does not flash.
Is it possible that there were two versions of the firmware with the same build number but different code?
- This reply was modified 6 years, 9 months ago by SteveD. Reason: clarity
February 18, 2018 at 6:16 am #10832cmcgrath5035ModeratorSet parameter $p1pof=0.0 That should turn off the PWM after boot.
The default value has PWM set to 10% duty cycle when off, not sure why.The LED should flash for 10 seconds after a reset.
That is the bootloader running and waiting for you to connect with AVRDUDE, to initiate a code download.
After 10 secs the bootloader will load and run the previously installed FW.I have never played with 449.01.
It was the most recent attempt to resolve the issues of arc-end disconnect errors(problems with G2 and G3 moves). -
AuthorPosts
- You must be logged in to reply to this topic.