G29 does not deploy BL Touch (Duet Wifi 1.02)
-
So I have an ancient Duet Wifi v1.02 that I am using with a DBot CoreXY 3D printer.
I have the BL touch wired up to heater 3 and have homing working perfectly fine. I updated homez.g to deploy the probe as below:
G1 X150 Y100 ; center M280 P3 S90 I1 ; reset probe M280 P3 S10 I1 ; deploy probe G30 G90 ; absolute positioning G1 Z20 F4000 M280 P3 S90 I1 ; reset probe
Unfortunately I do not know how to program the probe to deploy when doing G29. I have updated deployprobe.g and retractprobe.g so that the M401 and M402 commands work. But I do not know where to go from there. Since this hardware is so old it is difficult to find documentation about it, and I'm not sure if it can be updated to more up to date firmware (I really don't care too much about updating, I'd be happy to just get it working).
But anyway here is my entire config.g if there is something important in here. Any help is really appreciated.
; Configuration file for testing Duet Ethernet and Wifi ; Communication and general M111 S0 ; Debug off M550 PDuet ; Machine name and Netbios name (can be anything you like) M551 Preprap ; Machine password (used for FTP) ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address ;*** Networking - Enable for both WiFi and Ethernet boards. M552 S1 ; Turn network on ;*** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network M552 P192.168.1.14 ; (0 = DHCP) M554 P192.168.1.255 ; Gateway M553 P255.255.255.0 ; Netmask M555 P2 ; Set output to look like Marlin G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M667 S1 ; switch to CoreXY mode M569 P0 S0 ; Drive 0 goes backwards (change to S1 to reverse it) M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards extruder M569 P4 S1 ; Drive 4 goes forwards M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation M574 X1 Y2 Z1 S1 ; set homing switch configuration ; M906 X800 Y800 Z800 E800 ; Set motor currents (mA) M906 X1000 Y1000 Z1000 E1000 ; Set motor currents (mA) ; M201 X800 Y800 Z15 E1000 ; Accelerations (mm/s^2) M201 X800 Y800 Z60 E1000 ; Accelerations (mm/s^2) ; M203 X15000 Y15000 Z200 E3600 ; Maximum speeds (mm/min) M203 X15000 Y15000 Z1000 E3600 ; Maximum speeds (mm/min) M566 X600 Y600 Z30 E20 ; Maximum jerk speeds mm/minute M208 X300 Y200 Z300 ; set axis maxima and high homing switch positions (adjust to suit your machine) M208 X0 Y0 Z0 S1 ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed) M92 X100 Y100 Z400 ; set axis steps/mm M584 X1 Y0 G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Thermistors M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction M305 P1 T100000 B4725 R4700 H30 L0 C7.06e-8 ; Put your own H and/or L values here to set first nozzle thermistor ADC correction ;M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set 2nd nozzle thermistor ADC correction M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds ; Adjustments for J-heads used as dummy heaters on test rig M307 H0 A113.0 C797.6 D3.5 S1.00 B0 M307 H1 A250.0 C140.0 D5.5 S1.00 B0 M307 H2 A250.0 C140.0 D5.5 S1.00 B0 ; Fans M106 P1 T45 H1 ; enable thermostatic mode for fan 1 at temp 45 degrees. Fan turns on when P1(extruder 1) is above 45 degrees. ; Tool definitions M563 P0 D0 H1 ; Define tool 0 G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ;*** If you have a single-nozzle build, comment the next 2 lines ;M563 P1 D1 H2 ; Define tool 1 ;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures M92 E404.5 ; Set extruder steps per mm ; Z probe and compensation definition ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command ; M558 P5 I1 R0.9 F420 X0 Y0 Z0 ; Z probe is an IR probe and is not used for homing any axes M558 P5 H5 F700 T4000 X0 Y0 Z1 M307 H3 A-1 C-1 D-1 M280 P3 S10 I1 G31 P25 X-8 Y-15.0 Z2.9 ; G31 X0 Y0 Z-0 P100 ; Set the zprobe height and threshold (put your own values here) ;*** If you are using axis compensation, put the figures in the following command M556 S78 X0 Y0 Z0 ; Axis compensation here M208 S1 Z0 ; set minimum Z T0 ; select first hot end
-
@Coded-Games you can update the firmware from RRF2 to RRF3 quite happily on that board so I would suggest you do that.
I would have a read through here https://docs.duet3d.com/en/User_manual/RepRapFirmware/Migration_RRF2_to_RRF3
The easiest route is to probably generate a new config from scratch using the config tool and then adapt it to match your previous one -
@Coded-Games I don’t see an M557 command to define the probe grid in your config.g, which you need. See https://docs.duet3d.com/User_manual/Reference/Gcodes#m557-set-z-probe-point-or-define-probing-grid
What firmware version are you running? Send M115 and post the response. it’s possible your firmware is so old mesh bed compensation is not supported, which was introduced with v1.17.
As @jay_s_uk says, all Duet 2 WiFi/Ethernet boards are still supported in the latest firmware release. I have a white PCB pre-production Duet WiFi (about 7 years old) that runs v3.4.5 happily!
Ian
-
@droftarts Firmware version is currently 1.18.1
I don't have M557 defined in config.g, but instead it's in my slicer start gcode:
; Mesh bed level S = spacing before was 50 set to 80 for less M561 M557 X20:280 Y20:180 S80 G29
Previously I had used a Precision Piezo sensor for mesh bed level, which worked OK. But now when I try to use a BL touch I can't figure out where I'm supposed to define how the probe deploys and retracts
-
@Coded-Games l can't quite remember for firmware that old if you need to deploy the probe before G29, and retract after. I would guess that you do. You can probably update to v2.05.1 (from https://github.com/Duet3D/RepRapFirmware/releases/tag/2.05.1) without having to change your config.g, and then the deploy and retract are automatic, so you can remove the M280 commands from homing Z.
Ian
-
@Coded-Games Checking the release notes, firmware v1.21 added proper support for BLTouch:
A separate Z probe type (P9 in M558) is now used for BLTouch and compatible Z probes. When this is selected, the deployprobe.g macro is run just before each probing move, and retractprobe.g is run every time the probe triggers, or at the end of the probing move if it doesn't trigger
https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-1.x-&-2.x#version-121
There was also a couple of bug fixes/improvements in v2.01:
When using a bltouch, between probe points the pin retracted, deployed and retracted again
When the Z probe type is set to 9 for BLTouch, the probe output is no longer filtered, for faster responseI'd advise updating to 2.05.1 if you don't want the hassle of updating to the latest.
Ian
-
@droftarts Well deploying the probe before doing mesh bed leveling was the solution, and a fairly obvious one that I should have thought of lol.
Unfortunately I broke my cardinal rule of never updating anything and decided to try updating to v2. I downloaded the zip, put it in the web interface, left for a minute and came back to see that the web interface was disconnected. And I have not been able to connect ever after restarting the printer. Luckily I was able to take the SD card out and backup my config files, but I am still unable to connect to the printer.
So I started trying the fallback techniques, downloaded Pronterface and discovered it does not open at all on MacOS 13, it only supports MacOS 11 and 12. YAT also does not exist for MacOS. Now I'm really stuck, I'm not sure what there is I can do
-
@Coded-Games use SerialTools or CoolTerm (better than SerialTools but not on the App Store) for serial console. See https://docs.duet3d.com/en/How_to_guides/Getting_connected/Getting_connected_to_your_Duet#h-3-connect-to-duet
Sorry, I forgot that there was bit a change after v18.1:
If you are updating a Duet 2 WiFi from RRF 1.18.2 or earlier, you will also need to manually update the WiFi firmware via USB or PanelDue. See 'Updating WiFi firmware' instructions below. And you will need to unzip the Duet Web Control zip file into a folder called 'www' on the SD card. See SD card for the current SD card structure.
See the ‘updating from 1.x or 2.x’ tab here: https://docs.duet3d.com/User_manual/RepRapFirmware/Updating_firmware#updating-without-firmware-erase
Ian
-
@droftarts So good news and bad news. I ended up installing Windows in Bootcamp since it appears that every piece of software intended for MacOS is current broken. But once I used Windows I got YAT working and was able to update the firmware to 2.05 and get the web interface working (yay).
But I have some new issues. First being that I can no longer access the web interface using duetwifi.local, it appears I can only access it with the IP.
Alongside that, my config is not right for v2 as it is not letting me home any axis, whenever I try homing one it saying that it is unable to home, because there is insufficient axis homed. So I'll need to figure out how to fix that one
-
@Coded-Games want to post your current config?
i still think you're best off going to RRF3 and starting from a clean config from the config tool. We'll all be much quicker to help you with RRF3 than RRF2 as RRF3 came out 2 1/2 years ago so we've all forgotten the old syntax -
@Coded-Games said in G29 does not deploy BL Touch (Duet Wifi 1.02):
@droftarts So good news and bad news. I ended up installing Windows in Bootcamp since it appears that every piece of software intended for MacOS is current broken.
I use SerialTools and Coolterm on a M2 MacBook Pro on Ventura. SerialTools is a bit fussy about how you type your input (see https://forum.duet3d.com/post/295706). Coolterm works well, though I usually have it set to Options > Terminal > 'Line mode' and turn on local echo, which sends your command line when you press return, rather than character by character.
But once I used Windows I got YAT working and was able to update the firmware to 2.05 and get the web interface working (yay).
Result. But your poor Mac...
But I have some new issues. First being that I can no longer access the web interface using duetwifi.local, it appears I can only access it with the IP.
mdns is supported on all versions of RRF, for Duet 2 WiFi. See https://docs.duet3d.com/en/User_manual/Machine_configuration/Networking#a-note-about-mdns-local-network-discovery
I can't remember if there is a default name with early versions of RRF, if you're not setting it with M550. Send M550 on it's own to see what the name is set to, or add it to your config.g with the name of your choice.Alongside that, my config is not right for v2 as it is not letting me home any axis, whenever I try homing one it saying that it is unable to home, because there is insufficient axis homed. So I'll need to figure out how to fix that one
Share your config.g and homeall.g files, we'll get it fixed.
Ian
-
@droftarts Sorry for taking nearly a month to respond. Here is my config.g and homeall.g. As a reminder I was having an issue where when I click home all it says that insufficient axis are homed after upgrading to RRP firmware 2
config.g
; Configuration file for testing Duet Ethernet and Wifi ; Communication and general M111 S0 ; Debug off M550 PDuetWifi ; Machine name and Netbios name (can be anything you like) M551 Preprap ; Machine password (used for FTP) ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address ;*** Networking - Enable for both WiFi and Ethernet boards. M552 S1 ; Turn network on ;*** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network M552 P192.168.1.14 ; (0 = DHCP) M554 P192.168.1.255 ; Gateway M553 P255.255.255.0 ; Netmask M555 P2 ; Set output to look like Marlin G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M667 S1 ; switch to CoreXY mode M569 P0 S0 ; Drive 0 goes backwards (change to S1 to reverse it) M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards extruder M569 P4 S1 ; Drive 4 goes forwards M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation M574 X1 Y2 Z1 S1 ; set homing switch configuration ; M906 X800 Y800 Z800 E800 ; Set motor currents (mA) M906 X1000 Y1000 Z1000 E1000 ; Set motor currents (mA) ; M201 X800 Y800 Z15 E1000 ; Accelerations (mm/s^2) M201 X800 Y800 Z60 E1000 ; Accelerations (mm/s^2) ; M203 X15000 Y15000 Z200 E3600 ; Maximum speeds (mm/min) M203 X15000 Y15000 Z1000 E3600 ; Maximum speeds (mm/min) M566 X600 Y600 Z30 E20 ; Maximum jerk speeds mm/minute M208 X300 Y200 Z300 ; set axis maxima and high homing switch positions (adjust to suit your machine) M208 X0 Y0 Z0 S1 ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed) M92 X100 Y100 Z400 ; set axis steps/mm M584 X1 Y0 G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Thermistors M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction M305 P1 T100000 B4725 R4700 H30 L0 C7.06e-8 ; Put your own H and/or L values here to set first nozzle thermistor ADC correction ;M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set 2nd nozzle thermistor ADC correction M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds ; Adjustments for J-heads used as dummy heaters on test rig M307 H0 A113.0 C797.6 D3.5 S1.00 B0 M307 H1 A250.0 C140.0 D5.5 S1.00 B0 M307 H2 A250.0 C140.0 D5.5 S1.00 B0 ; Fans M106 P1 T45 H1 ; enable thermostatic mode for fan 1 at temp 45 degrees. Fan turns on when P1(extruder 1) is above 45 degrees. ; Tool definitions M563 P0 D0 H1 ; Define tool 0 G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ;*** If you have a single-nozzle build, comment the next 2 lines ;M563 P1 D1 H2 ; Define tool 1 ;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures M92 E404.5 ; Set extruder steps per mm ; Z probe and compensation definition ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command ; M558 P5 I1 R0.9 F420 X0 Y0 Z0 ; Z probe is an IR probe and is not used for homing any axes M558 P5 H5 F700 T4000 X0 Y0 Z1 M307 H3 A-1 C-1 D-1 M280 P3 S10 I1 G31 P25 X-8 Y-15.0 Z2.9 ; G31 X0 Y0 Z-0 P100 ; Set the zprobe height and threshold (put your own values here) ;*** If you are using axis compensation, put the figures in the following command M556 S78 X0 Y0 Z0 ; Axis compensation here M208 S1 Z0 ; set minimum Z T0 ; select first hot end
homeall.g
G91 ; relative mode G1 Z10 F200 ; raise head to avoid dragging nozzle over the bed G1 X-350 F3000 S1 ; move up to 240mm in the -X direction, stopping if the homing switch is triggered G1 X4 F600 ; move slowly 4mm in the +X direction G1 X-10 S1 ; move slowly 10mm in the -X direction, stopping at the homing switch G1 Y300 F3000 S1 ; move up to 240mm in the Y direction, stopping if the homing switch is triggered G1 Y-4 F600 ; move slowly 4mm in the -Y direction G1 Y10 S1 ; move slowly 10mm in the Y direction, stopping at the homing switch ;G1 Z-300 F3000 S1 ; move up to 240mm in the -Z direction, stopping if the homing switch is triggered ;G1 Z4 F600 ; move slowly 4mm in the +Z direction ;G1 Z-10 S1 ; move slowly 10mm in the -Z direction, stopping at the homing switch G90 ; back to absolute mode G1 X20 Y180 F3600 ; Move to position on glass. G4 P1000 ; Wait one second to let probe clear. ; G30 ; Home Z with probe ; G1 Z10 F3600 G1 X150 Y100 ; center M280 P3 S90 I1 ; reset probe M280 P3 S10 I1 ; deploy probe G30 G90 ; absolute positioning G1 Z20 F4000 M280 P3 S90 I1 ; reset probe
-
@Coded-Games said in G29 does not deploy BL Touch (Duet Wifi 1.02):
G91 ; relative mode
G1 Z10 F200 ; raise head to avoid dragging nozzle over the bedthis move should be a G1 H2 move as the Z axis isn't homed yet
actually, looking at your home all none of them are homing moves. they should include H1 for homing moves and H2 for unhomed moves so this file in its current state just won't work
-
Try this
G91 ; relative mode G1 H2 Z10 F200 ; raise head to avoid dragging nozzle over the bed G1 H1 X-350 F3000 ; move up to 240mm in the -X direction, stopping if the homing switch is triggered G1 X4 F600 ; move slowly 4mm in the +X direction G1 H1 X-10 ; move slowly 10mm in the -X direction, stopping at the homing switch G1 H1 Y300 F3000 ; move up to 240mm in the Y direction, stopping if the homing switch is triggered G1 Y-4 F600 ; move slowly 4mm in the -Y direction G1 H1 Y10 ; move slowly 10mm in the Y direction, stopping at the homing switch ;G1 Z-300 F3000 S1 ; move up to 240mm in the -Z direction, stopping if the homing switch is triggered ;G1 Z4 F600 ; move slowly 4mm in the +Z direction ;G1 Z-10 S1 ; move slowly 10mm in the -Z direction, stopping at the homing switch G90 ; back to absolute mode G1 X20 Y180 F3600 ; Move to position on glass. G4 P1000 ; Wait one second to let probe clear. ; G30 ; Home Z with probe ; G1 Z10 F3600 G1 X150 Y100 ; center M280 P3 S90 I1 ; reset probe G30 G90 ; absolute positioning G1 Z20 F4000 M280 P3 S90 I1 ; reset probe
@Coded-Games said in G29 does not deploy BL Touch (Duet Wifi 1.02):
M584 X1 Y0
YOu'll need to finish defining all of the drivers in M584, and the M584 command needs to be moved higher up in the file. Like right above the M350 command.
@Coded-Games said in G29 does not deploy BL Touch (Duet Wifi 1.02):
M574 X1 Y2 Z1 S1 ; set homing switch configuration
This command is no longer valid in RRF3.
See here: https://docs.duet3d.com/User_manual/Reference/Gcodes#m574-set-endstop-configuration
You may want to generate a new config file set using the online config tool to see what a modern config set looks like for comparison.