Hi,I have just built a new MPCNC Primo machine with fluidnc on a Pibot 6 axis board. So far everything is working correctly - the axes move the correct amounts, the spindle is controlled as is a laser connection and a rotary axis (motor only so far as I have to re-jig my previous design). Also the probe is working although I had to put it on GPIO.36 as it didn’t work on GPIO.2. However I have a problem with the probing script which I don’t understand (maybe understandable as at nearly 80 I’m not quite as quick as I used to be…!). The script I am using is as follows:
G21 ; use millimeters
G91 ; move in relative motion mode
G38.2 Z-30 F80 P19.3; probe a maximum of 30mm down at a rate of 80
G90 ; use absolute motion mode
G0 Z30 ; retract to 30 above work
The tool goes down fine, touches the puck which is 19.3mm thick and moves up but not to 30mm above the work surface. It actually goes to about 68mm above the work surface and I can’t understand why. Can anyone help please?
Thanks, I’ll try that. I had assumed that, when the tool touched the puck at 19.3mm, because I had included the ‘P’ parameter, it would register the work surface as zero and therefore the G90 move from there to 30 would be absolute. I just couldn’t understand why it was picking a random place to move up to which bears no relationship to the other figures involved. I had tried completely resetting the machine with the Z withing striking distance of the puck and also moving the Z down and doing a G92 Z0 before probing to eliminate any possibility of previous machine position affecting the result.
Ok, I sorted the probe to puck problem by altering the script as follows: G21 ; use millimeters
G91 ; move in relative motion mode
G38.2 Z-30 F80; probe a maximum of 30mm down at a rate of 80
G90 ; use absolute motion mode
G92 z19.3
G0 Z30 ; retract to 30 above work,
however, I now have a further confusion in that I decided to try to set up a similar thing for probing on the X axis in each direction to find the centre of work on the rotary axis. The scripts I set up are very similar but, for some reason they will probe in the negative direction but not in the positive direction. I am assuming it is probably something to do with my config.yaml but I can’t spot it. My config file is: perhaps parts of it will be useful to others…. board: 6 Pack
name: 6 Pack External XXYYZ Relay
meta: 2023-01-12 B. Dring
stepping:
engine: I2S_STREAM
idle_ms: 250
pulse_us: 4
dir_delay_us: 1
disable_delay_us: 0
axes:
shared_stepper_disable_pin: NO_PIN
x:
steps_per_mm: 100
max_rate_mm_per_min: 6000
acceleration_mm_per_sec2: 500
max_travel_mm: 500
soft_limits: false
homing:
cycle: 2
positive_direction: false
mpos_mm: 0
feed_mm_per_min: 300
seek_mm_per_min: 400
settle_ms: 500
seek_scaler: 1.1
feed_scaler: 1.1
motor0:
limit_neg_pin: GPIO.33:low:pu
limit_pos_pin: NO_PIN
limit_all_pin: NO_PIN
hard_limits: false
pulloff_mm: 5
standard_stepper:
step_pin: i2so.2
direction_pin: i2so.1
disable_pin: i2so.0
motor1:
limit_neg_pin: GPIO.32:low:pu
limit_pos_pin: NO_PIN
limit_all_pin: NO_PIN
hard_limits: false
pulloff_mm: 5
standard_stepper:
step_pin: i2so.5
direction_pin: i2so.4
disable_pin: i2so.7
y:
steps_per_mm: 100
max_rate_mm_per_min: 6000
acceleration_mm_per_sec2: 500
max_travel_mm: 500
soft_limits: false
homing:
cycle: 2
positive_direction: true
mpos_mm: 345
feed_mm_per_min: 300
seek_mm_per_min: 400
settle_ms: 500
seek_scaler: 1.1
feed_scaler: 1.1
motor0:
limit_neg_pin: NO_PIN
limit_pos_pin: GPIO.35:low
limit_all_pin: NO_PIN
hard_limits: false
pulloff_mm: 5
standard_stepper:
step_pin: i2so.10
direction_pin: i2so.9
disable_pin: i2so.8
motor1:
limit_neg_pin: NO_PIN
limit_pos_pin: GPIO.34:low
limit_all_pin: NO_PIN
hard_limits: false
pulloff_mm: 5
standard_stepper:
step_pin: i2so.13
direction_pin: i2so.12
disable_pin: i2so.15
z:
steps_per_mm: 400
max_rate_mm_per_min: 700
acceleration_mm_per_sec2: 300
max_travel_mm: 250
soft_limits: false
homing:
cycle: 1
positive_direction: true
mpos_mm: 0
feed_mm_per_min: 100
seek_mm_per_min: 800
settle_ms: 500
seek_scaler: 1.1
feed_scaler: 1.1
motor0:
limit_neg_pin: NO_PIN
limit_pos_pin: GPIO.39:low
limit_all_pin: NO_PIN
hard_limits: true
pulloff_mm: 5
standard_stepper:
step_pin: i2so.18
direction_pin: i2so.17
disable_pin: i2so.16
a:
steps_per_mm: 444.44444444
max_rate_mm_per_min: 8000
acceleration_mm_per_sec2: 500
max_travel_mm: 50000
soft_limits: false
homing:
cycle: 0
positive_direction: true
mpos_mm: 300
feed_mm_per_min: 100
seek_mm_per_min: 200
settle_ms: 500
seek_scaler: 1.1
feed_scaler: 1.1
motor0:
limit_neg_pin: NO_PIN
limit_pos_pin: NO_PIN
limit_all_pin: NO_PIN
hard_limits: false
pulloff_mm: 1
standard_stepper:
step_pin: i2so.21
direction_pin: i2so.20
disable_pin: i2so.23
probe:
pin: gpio.36:low
check_mode_start: true
toolsetter_pin: NO_PIN
i2so:
bck_pin: gpio.22
data_pin: gpio.21
ws_pin: gpio.17