Tweaking configuration on MB6HC with SBC
-
I have my rebuilt D-bot set up with a MB6HC and SBC. I have wifi working and can see the Duet web interface and can send commands to the board. I ran the configurator and put int the initial values. However, the movements aren't right, and the endstops aren't registering. The two XY motors aren't working together properly. I'm pretty sure I need to invert some signals, but I'm wondering, what is the best way to go about doing that? Do I just keep running the configurator and uploading a new config file for each tweak? Can I make the tweaks with gcode commands and save them somehow?
What's the best way to proceed with configuring my setup?
-
-
You'll need to make sure your endstops are defined correctly at the right end of travel.
You'll need to make sure your homing files are moving in the right direction towards the endstop.
You'll need to make sure you're in coreXY mode.
You'll need to make sure the motors are rotating in the right directions.
Here's a corexy setup guide that you can follow along with.
https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_coreXY
You can post your config.g and homing files here and let us know where the endstops are physically located if you want a sanity check.
-
I only ever use the configurator to create an initial rough config.
I keep the files for each machine in their own machine directory on my PC, then if I need to tweak the config I edit the file with a text editor and re-upload to the machine via DWC (the Duet web interface).
That also means you have a full working config available if you ever need to rebuild the SD card - burn the latest image, start the machine with that in it & open DWC, then drop all the files back in and you are running again in a few minutes.
-
@rjenkinsgb @Phaedrux Thanks both of you for your help. I understand about getting the directions and positions correct. I've made a copy of all the files from the original configuration, and I have notepad++ to do the updates, but what do I update? The config.g file that has all the M codes in it? That would seem to make the most sense, but when looking at the files in the DWC, it specifically offers up the config JSON file for editing. So what do I edit and re-upload?
-
@techbutterfly said in Tweaking configuration on MB6HC with SBC:
it specifically offers up the config JSON file for editing. So what do I edit and re-upload?
The JSON file lets you take your config as it was generated by the configurator and open it there again. It won't have any of the customizations you may have made manually.
As I said, You can post your config.g and homing files here and let us know where the endstops are physically located if you want a sanity check.
-
@phaedrux Thanks. I think I've got my axes and endstops sorted, but a sanity check can't hurt, since I'm new to the Duet way of doing things. Here's my config.g:
; Configuration file for Duet 3 (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue May 10 2022 23:58:03 GMT-0500 (Central Daylight Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name M669 K1 ; select CoreXY mode ; Drives M569 P0.2 S0 ; physical drive 0.0 goes forwards M569 P0.1 S0 ; physical drive 0.1 goes forwards M569 P0.0 S0 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.2 Y0.1 Z0.0 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X320 Y275 Z300 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io1.in M574 Y2 S1 P"!io3.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io3.in M574 Z1 S1 P"!io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin io2.in ; Z-Probe M950 S0 C"io4.out" ; create servo pin 0 for BLTouch M558 P9 C"io4.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P500 X37 Y-37 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1 M950 H0 C"out1" T0 ; create bed heater output on out1 and map it to sensor 0 M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0 M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"out8" Q500 ; create fan 0 on pin out8 and set its frequency M106 P0 S1 H0 T50 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"out9" Q500 ; create fan 1 on pin out9 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 S"Mosquito Magnum" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined
I am a little curious about the M558 line under Z-probe - what is that for? Also, I'm still trying to get my z-probe working. It's a CR Touch (not a BL touch) and there is precious little information on it, either here, in the Duet3d docs, or anywhere else for that matter. I think I've got it hooked up right, but it's still not working. If you know anything about hooking up the CR Touch, I sure could use some help with it.
Although my z-probe isn't working yet, I do have a z endstop installed for now, and it's working fine. Everything homes in the right direction and stops as is should at the end stop.
-
You haven't posted your homing files so I have to guess. Your endstops are configured with the X endstop on the left at the minimum end, and Y endstop at the back at the high end, correct?
M558 H30 ;*** Remove this line after delta calibration
Delete that line. You don't have a delta.
@techbutterfly said in Tweaking configuration on MB6HC with SBC:
I think I've got it hooked up right, but it's still not working.
It's configured correctly, so I think it's not wired up correctly. Can you post a photo?
To use the probe for homing it needs to be given a G30 command in your homing file for Z.
https://docs.duet3d.com/en/User_manual/Connecting_hardware/Z_probe_testing
-
@techbutterfly said in Tweaking configuration on MB6HC with SBC:
I am a little curious about the M558 line under Z-probe - what is that for?
See the GCode (and MCode) documentation here:
https://docs.duet3d.com/en/User_manual/Reference/GcodesThe narrow white column is scrollable to find the specific code you are looking for.
How have you got the CR Touch wired?
If it's anything like their version of the BL Touch, there may be more than one cable type and you must work from the physical pin connections and not just rely on wire colours..
-
@rjenkinsgb @Phaedrux Once again, thanks for your help. Took a closer look at the wiring and realized that the diagram I was following (https://www.reddit.com/r/Creality/comments/pl4fyv/creality_cr_touch_wiring_diagrampinout/) shows the CR touch in a different orientation than how I was looking at it. I've re-wired it and now I can deploy it with M401 and retract it with M402. Yay!
I removed my z endstop so I can use the CR Touch for z homing. I'm at the step in the docs called dynamic testing. I've homed X and Y, but when I send a G30 the probe deploys but then retracts immediately. The bed doesn't move at all. Regardless of whether the probe is deployed or retracted, M119 says Z is at the min stop. Am I missing something?
Here is my config.g:
; Configuration file for Duet 3 (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue May 10 2022 23:58:03 GMT-0500 (Central Daylight Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name M669 K1 ; select CoreXY mode ; Drives M569 P0.2 S0 ; physical drive 0.0 goes forwards M569 P0.1 S0 ; physical drive 0.1 goes forwards M569 P0.0 S0 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.2 Y0.1 Z0.0 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X320 Y275 Z300 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io1.in M574 Y2 S1 P"!io3.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io3.in ; Z-Probe M950 S0 C"io4.out" ; create servo pin 0 for BLTouch M558 P9 C"!io4.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X37 Y-37 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid ; Heaters M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1 M950 H0 C"out1" T0 ; create bed heater output on out1 and map it to sensor 0 M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp0 M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S280 ; set temperature limit for heater 1 to 280C ; Fans M950 F0 C"out8" Q500 ; create fan 0 on pin out8 and set its frequency M106 P0 S1 H0 T50 ; set fan 0 value. Thermostatic control is turned on M950 F1 C"out9" Q500 ; create fan 1 on pin out9 and set its frequency M106 P1 S1 H-1 ; set fan 1 value. Thermostatic control is turned off ; Tools M563 P0 S"Mosquito Magnum" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined
UPDATE: It occurred to me that I hadn't tried inverting the input pin, so I did that. M119 now reports that Z probe is not stopped, and G30 starts the bed moving toward the probe, but manually activating the probe did not cause the bed to stop and I had to kill the power. I changed the config.g above to reflect the change I made.
-
You should not need to invert. If it already things it's triggered, then your cabling for the trigger signal may not be making a good connection.
-
@phaedrux Thanks, I switched it back to not inverted. I've checked all the cabling from the CR Touch to the MB6HC with a multimeter and it seems to be right. With everything plugged in, I've inspected the connectors to make sure there are no pins pushed back into the connector - all the connections look good. But in DWC the z probe says 1000 and doesn't change. I deploy the probe with M401, the light turns blue, I press slightly on the probe and the light turns red, but there's no change in the z probe reading - I realize it's a pulse, so might not actually register there, but I don't know how else to test it.
I did check for voltage between the signal pin and ground. It's steady at around 3v, regardless of whether it's deployed or not. When it is deployed, pushing on the pin to trigger it causes the voltage to rise briefly to 3.2 or so - as best as I can tell on a digital meter. I'm guessing that's the pulse. In any case, the duet is not recognizing the pulse.
What should I try next? Do those voltage readings give any clues?
-
Deploying and retracting are completely independant to the trigger state. It's simply the servo control to release or retract the pin.
The constant 1000 reading means it's always reading as triggered. Either the CR touch has failed, or there is still a wiring problem.
Can you show a photo of your wiring?
-
@phaedrux You were right, the CR Touch had failed. I ordered a new one this afternoon and just got it. NOW when the probe is deployed, it reads 0, except when triggered, then it reads 1000. I can see the status change in DWC.
After changing the homez.g file to reflect what the docs say it needs for BL Touch, everything is now working as it should - at least as far as motors, endstops, and z probe go. I need to get the steps per mm set and then start playing with the hot stuff.
Again, thanks so much for your help! I really appreciate it.
If I run into issues with the heaters I'll start a new thread.
-