Odd X Axis behavior
-
So, I am building an CoreXY printer with a build volume of 300x300x300 and I have the duet Wifi board running firmware version 1.20beta1, DuetwifiServer 1.20alpha1. I also have a Duet Thermocoupler daughter board , can't remember what version but it has the two default leds on it. The firmware has been install for over two weeks and I have not had any issues, except for configuring issues with thermocoupler and setting z probe. yesterday I got home and just turn on the printer and noticed that the printer x axis was moving fast. if i selected to move the x axis 1mm it zips across about 100mm (just a guess, never measured) moving very fast. I thought maybe the steps/mm setting was messed up but it wasn't. Its what is has been set at for a couple of weeks, 100. so I try adjusting the x axis down to 50 steps/mm to see what happens. it slows down but since i only adjusted the steps/mm for x axis only the x axis move, slower, and also it moves the y axis. I'm assuming this is happening because with the steps/mm set like this: M92 X50 Y100 it causing both axis to move due to different speeds. so I adjust both axis (x,y) to the same steps/mm (50), but now the x axis moves right but the y axis moves way lower than it should. where before if i wanted the y axis to move 1 mm it moved 1mm. but with adjusting steps to 50 it only moves about 0.5mm. so, that didn't work. so after some tinkering and changes in code this is what I have noticed:
- the board led lights have changed;
a) before the x axis strange behavior the Diag led was not on, now it is. From what i read the diag led isn't even used for anything. so I'm not sure whats going on here.
b) the led light was on for each motor attached was on, where as now non of them are NOT on.
c) these are the only led lights on on the board: Diag, 5v, 3.3v, VIN - with the following theromcoupler setting the x axis is not working correctly: M305 P1 T100000 B4138 C0 R4700 X150 IF I change the same M305 code to X100 (thermocoupler not working) the x axis moves correctly. NO other change made except for this.
To me this should have nothing to do with stepper motor movement. So i did a little more investigation, I removed the thermocoupler board and left the M305 code to X150 , not commented out, all axis worked correctly. I then re-installed the thermocoupler board and left the same M305 X150 code and the x axis was not working correctly. it was zipping across the axis. If i change the code to M305 X100, with thermocoupler board installed the x axis worked correctly.
I'm stumped. not sure why all of a sudden the x axis started working crazy. I have not tried adjusting the M350 X16 Y16 microstepping with interpolation. Not sure what that will do it each axis (x,y) having different settings will do. So, this is where I'm at, any suggestions or possible additional troubleshooting would be appreciated. here is all the config settings i have.
Config:
; Configuration file for Duet WiFi (firmware version 1.17) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool on Thu Oct 12 2017 20:52:35 GMT-0500 (Central Daylight Time) ; General preferences M111 S0 ; Debugging off G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Marlin M667 S1 ; Select CoreXY mode M208 X0 Y0 Z0 S1 ; Set axis minima M208 X300 Y300 Z300 S0 ; Set axis maxima ; Endstops M574 X1 Y2 S0 ; Define active low and unused microswitches M558 P1 I0 X0 Y0 Z1 H5 R0.4 F420 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds G31 P600 X0 Y0 Z-0.1 ; Set Z probe trigger value, offset and trigger height M557 X0:300 Y0:300 S20 ; Define mesh grid ; Drives M569 P0 S0 ; Drive 0 goes backwards M569 P1 S0 ; Drive 1 goes backwards M569 P2 S0 ; Drive 2 goes backwards M569 P3 S1 ; Drive 3 goes forwards M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X100 Y100 Z400 E96.18 ; Set steps per mm M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min) M203 X6000 Y6000 Z1600 E1200 ; Set maximum speeds (mm/min) M201 X500 Y20 Z500 E250 ; 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 ; Heaters M143 S260 ; Set maximum heater temperature to 260C M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M305 P1 T100000 B4138 C0 R4700 X150 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 150 ; Tools M563 P0 D0 H1 ; 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 ; Network M550 PCoreXY ; Set machine name M552 S1 ; Enable network M587 SThe_Universe P"9iMbFqh0QlOPY6UF5RGQwH" ; Configure access point. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Fans M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Custom settings are not configured
homez.g
; homez.g G91 ; relative mode G1 Z4 F200 ; raise head 4mm to ensure it is above the Z probe trigger height G90 ; back to absolute mode G1 X100 Y100 F2000 ; put head over the centre of the bed, or wherever you want to probe G30 ; Single Z-Probe at current position and set Z coordinate to the probe current trigger height ;G32 ; lower head, stop when probe triggered and set Z to trigger height. Commands in bed.g are executed. G28 command must be sent first
homey.g
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool on Mon Oct 23 2017 21:35:28 GMT-0500 (Central Daylight Time) ; Lift Z relative to current position G91 G1 Z5 F6000 G90 ; Move quickly to Y axis endstop and stop there (first pass) G1 Y305 F1800 S1 ; Go back a few mm G91 G1 Y-5 F6000 G90 ; Move slowly to X axis endstop once more (second pass) G1 Y305 F360 S1 ; Lower Z again G91 G1 Z-5 F6000 G90
homex.g
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool on Mon Oct 23 2017 21:35:28 GMT-0500 (Central Daylight Time) ; Lift Z relative to current position G91 G1 Z5 F6000 G90 ; Move quickly to X axis endstop and stop there (first pass) G1 X-305 F1800 S1 ; Go back a few mm G91 G1 X5 F6000 G90 ; Move slowly to X axis endstop once more (second pass) G1 X-305 F360 S1 ; Lower Z again G91 G1 Z-5 F6000 G90
homeall.g
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool on Mon Oct 23 2017 21:35:28 GMT-0500 (Central Daylight Time) ; Relative positioning G91 ; Lift Z G1 Z5 F6000 ; Course home X or Y G1 X-305 Y305 F1800 S1 ; Course home X G1 X-305 S1 ; Course home Y G1 Y305 S1 ; Move away from the endstops G1 X5 Y-5 F6000 ; Fine home X G1 X-305 F360 S1 ; Fine home Y G1 Y305 S1 ; Absolute positioning G90 ; Go to first bed probe point and home Z G1 X15 Y15 F6000 G30 ; Single Z-Probe at current position and set Z coordinate to the probe current trigger height G28 ; Home all axes (G28 XZ ; Home the X and Z axes) G32 ; Probe Z and Calculate Z Plane ; executes macro file bed.g ; G29 S2 ; clear bed height map /sys heightmap.csv ; G29 ; Probe the bed and enable compensation Grid is defined in M557 ; Uncomment the following line to lift the nozzle after probing G1 Z5 F100
bed.g
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool on Thu Oct 12 2017 20:52:35 GMT-0500 (Central Daylight Time) ; Clear any bed transform M561 ; Absolute positioning G90 ; Probe the bed at 15 points G30 P0 X0.00 Y120.00 Z-99999 H0 G30 P1 X75.20 Y89.63 Z-99999 H0 G30 P2 X109.80 Y19.36 Z-99999 H0 G30 P3 X95.08 Y-54.89 Z-99999 H0 G30 P4 X38.37 Y-105.43 Z-99999 H0 G30 P5 X-40.44 Y-111.11 Z-99999 H0 G30 P6 X-103.92 Y-60.00 Z-99999 H0 G30 P7 X-118.18 Y20.84 Z-99999 H0 G30 P8 X-77.13 Y91.93 Z-99999 H0 G30 P9 X0.00 Y60.00 Z-99999 H0 G30 P10 X46.66 Y26.94 Z-99999 H0 G30 P11 X43.81 Y-25.29 Z-99999 H0 G30 P12 X0.00 Y-54.74 Z-99999 H0 G30 P13 X-51.96 Y-30.00 Z-99999 H0 G30 P14 X-51.96 Y30.00 Z-99999 H0 G30 P15 X0 Y0 Z-99999 S6
- the board led lights have changed;
-
Thanks for doing a thorough investigation!
The LEDs near the motor outputs indicate the endstop switch state. Depending on what type of endstop switch you use, they may be on when the endstop is not triggered and off when it is triggered, or vice versa.
The Diag LED shares a pin with the MOD signal to the Z probe, so its state will depend on how you have configured your Z probe.
Please keep a copy of your config.g, bed.g and homing files exactly as you have them now. I may ask you to email them to me to help me reproduce the problem.
Does the problem still occur if you select channel 152 for the thermocouple instead of 100 or 150?
-
Ok, this is the setup: I have a E3D TYPE K THERMOCOUPLE (CARTRIDGE) connected to my thermocoupler daughter board on channel 150.
with the M305 X150 command with the thermocoupler wire connected, the x axis DOES NOT work as it should, BUT I do get a temp reading and it is correct. IF i keep everything the same and change the M305 to X151 the temp reading does not work (as it should, because not wire is not connected to channel 151) BUT the x axis works as expected.
So if i setback the M305 command to X150 and REMOVE the thermocoupler wire the x axis works as expected. so this tell me the thermocoupler wire is the culprit but only when that channel is selected. Does this mean the thermocoupler wire is bad??? But i get a verified temp reading.
I don't have a spare to test, but i just don't see how the wire would cause the x axis to work erratically.
suggestions???? I'm going to order another thermocoupler wire just in case. but it will be a week before i get it. so if you can think of any other things that might be causing the wire to make the x axis not function correctly i would appericate it.
I did try channel M305 X152 and 153 with the wire connected to channel 150 and the x axis did work correctly.
thx.
-
so i removed the temp probe and set the config.g M305 to channel 150, or 151 it works fine. but as soon as i connect the temp probe and activate it by setting the correct channel the x axis moves fast and a lot farther than it should. say if i put the temp probe in channel 150 but set M305 to channel 151, the x axis works as it should. but as soon as i set M305 to the correct channel 150 the x axis does not work as expected. the only thing i have not changed is the duet thermocoupler daughter board. but before i put down a chunk of money on a new daughter board how can i be sure it is the board?
-
I'm sorry, your report slipped off my radar last week. I will look at it this morning.
-
I just found the likely cause of the problem. It will be fixed in 1.20beta5. Thanks for your patience.
-
No problem, i was not able to mess with my printer last week at all. So can i roll back to the stable 1.19 and it will work?
-
Firmware 1.20 beta 6 is available now.
-
thx
-
works perfectly after updating to the new firmware, thx.