distorted prints Z direction (micro stepping and steps per mm)
-
I’m using an acceleration test print to calibrate my printer but I am lost as to what I messed up. Now when I have a new print start the height is shorter than before and looks as though the steps on the z access aren’t moving up in a normal fashion as before.
Nothing shows when I send the m98 p”config.g” command.
Also I’ve tried to look over my stl file for any odd moves but I don’t see anything. Could it be the cura software or is it something I have wrong in my config file. In advance thanks for the help.
General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Duet 3" ; set printer name ; Drives M569 P0.4 S1 ; X axis physical drive 0.4 goes forwards M569 P0.5 S1 ; X axis physical drive 0.5 goes forwards M569 P2.0 S1 ; Y axis physical drive 2.0 goes forwards M569 P2.1 S1 ; Y axis physical drive 2.1 goes forwards M569 P1.1 S0 ; Y axis physical drive 1.1 goes forwards M569 P1.0 S0 ; Y axis physical drive 1.3 goes backwards M569 P0.0 S1 ; Z axis physical drive 0.0 goes forwards M569 P0.1 S1 ; Z axis physical drive 0.1 goes forwards M569 P0.2 S1 ; Z axis physical drive 0.2 goes forwards M569 P0.3 S1 ; Z axis physical drive 0.3 goes forwards M569 P121.0 S0 ; Tool 0 physical drive 20.0 goes forwards M584 X0.4:0.5 Y2.0:2.1:1.1:1.0 Z0.0:0.1:0.2:0.3 E121.0 ; Four Z motors connected to driver outputs Z axis M671 X-30:-30:380:380 Y-30:380:380:-30 S7 ; leadscrews at rear left, front left, front right, rear right (connected to Z) M208 X0:370 Y0:370 ; X carriage moves from 0 to 370, Y bed goes from 0 to 380 M350 X16 Y16 Z256 E256 I1 ; configure microstepping with interpolation M92 X160.00 Y160.00 Z25600.00 E13392.00 ; set steps per mm M566 X400 Y400 Z130.00 E7000.00 ; set maximum instantaneous speed changes (mm/min) M203 X7250.00 Y7250.00 Z180.00 E10000.00 ; set maximum speeds (mm/min) M201 X300.00 Y300.00 Z130.00 E8000.00 ; set accelerations (mm/s^2) M906 X2400 Y2400 Z3200 E980 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 X380 Y380 Z380 S0 ; set axis maxima ; Endstops M574 X1 S1 P"2.io2.in" ; configure active-low endstop for low end on X via pin 2.io2.in M574 Y1 S1 P"1.io2.in" ; configure active-low endstop for low end on Y via pin 1,io2.in M574 0Z S1 ; N/a endstops ; Z-Probe M558 P8 C"121.io0.in" H2 F180 T5200 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y0 Z0.34 ; set Z probe trigger value, offset and trigger height M557 X0:380 Y0:380 S45 ; define mesh grid X/Y and probe spacing ; Heaters M308 S0 P"121.temp0" Y"pt1000" ; configure sensor 0 as thermistor on pin 20.temp0 M950 H0 C"121.out0" T0 ; create nozzle heater output on 20.out0 and map it to sensor 0 M307 H0 R1.555 C397.7 D6.96 S1.00 V24.1 B0 ; PID auto tune results for Tool 0 Titan Aqua 1.75 M308 S1 P"temp0" Y"thermistor" T100000 B3950 ; configure sensor 1 as thermistor on pin temp0 M950 H1 C"out0" T1 ; create bed heater output on out0 and map it to sensor 1 M307 H1 R0.224 C219.6 D7.78 S1.00 V24.1 ; PID auto tune results for Tool 1 bed heater M140 H1 ; map heated bed to heater 1 M143 H1 S120 ; set temperature limit for heater 1 to 120C ; Fans M950 F0 C"out8" Q200 ; create fan 0 on pin out8 and set its frequency M106 P0 S255 H0 T45 C"Radiator Fan" ; 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 S200 H0 T45 C"water pump" ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 S"Titan Aqua 1.75" D0 H0 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
-
Ok, the problem was the incorrect steps per millimeter, i changed them from 1600 to 3200 for x16 microstepping. Thats embarrassing but hopefully this helps any one else with a "distorted" print. Thanks for the help.
-
Can you provide the results of M122 as well?
Using x256 microstepping isn't recommended and provides no real benefit. I would suggest switching your Z microstepping back to x16 and adjust your steps per mm accordingly and try again.
Can you send M584 in the console by itself and see if it matches your expected mapping?
-
@phaedrux said in Odd z axis issue with prints:
Using x256 microstepping isn't recommended and provides no real benefit. I would suggest switching your Z >microstepping back to x16 and adjust your steps per mm accordingly and try again.
Well i guess ill change it back to x16 micro stepping, I was hoping it would be fine and actually improve the resolution. i'll report back if it was the differences in micro stepping. I did notice that at lower microstepping with combination of lower current improved the noise and ghosting of my prints but also noticed a decrease in noise with a higher microstepping at low speeds and high current. Is there an article or other resources that you can point me to to learn more about microstepping and current, to get the best quality with the right combination. Really appreciate the help.
Also, even with a 0.9 degree motor the advantage of using higher micro stepping isn't worth it? i know that when you increase the micro stepping you decrease torque and the 0.9 motor already has less torque than a 1.8. So you would need a higher current to increase torque and that would solve the issue of lost torque?
Can you provide the results of M122 as well?
here's the M122:
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.2.2 running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6J9F8-3S86S-9B3QD Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 149788 Dynamic ram: 62396 of which 76 recycled Never used RAM 146572, free system stack 200 words Tasks: Linux(ready,77) HEAT(blocked,297) CanReceiv(blocked,832) CanSender(blocked,371) CanClock(blocked,352) TMC(blocked,51) MAIN(running,1203) IDLE(ready,19) Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:08:20 ago, cause: software Last software reset at 2021-04-15 11:27, reason: User, none spinning, available RAM 146336, slot 1 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task Linu Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Aux1 errors 0,0,0 MCU temperature: min 46.8, current 46.9, max 48.9 Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.0, current 12.0, max 12.2, under voltage events: 0 Driver 0: position 0, standstill, reads 11130, writes 14 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 11130, writes 14 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 11131, writes 14 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 11131, writes 14 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 11131, writes 14 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 11131, writes 14 timeouts 0, SG min/max 0/0 Date/time: 2021-04-15 11:35:53 Slowest loop: 0.53ms; fastest: 0.04ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === CAN === Messages queued 1989, send timeouts 0, received 3952, lost 0, longest wait 2ms for reply type 6049, free buffers 48 === SBC interface === State: 4, failed transfers: 0 Last transfer: 1ms ago RX/TX seq numbers: 17434/17434 SPI underruns 0, overruns 0 Number of disconnects: 0, IAP RAM available 0x2c8a8 Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.2.2 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 35.18 Maximum length of RX/TX data transfers: 2555/736
Can you send M584 in the console by itself and see if it matches your expected mapping?
here's my M584:
m584 Driver assignments: X0.4:0.5 Y2.0:2.1:1.1:1.0 Z0.0:0.1:0.2:0.3 E121.0, 3 axes visible```
-
Ok, the problem was the incorrect steps per millimeter, i changed them from 1600 to 3200 for x16 microstepping. Thats embarrassing but hopefully this helps any one else with a "distorted" print. Thanks for the help.
-
0.0000390625mm per step at 25600 steps per mm. That kind of resolution is eaten up by slop in the mechanics and even the motor +- accuracy. It's really not helping anything.
the only time you might want to increase microstepping is on an axis that has very low steps per mm naturally. Like maybe an ungeared direct extruder.
for the Z axis as long as you're able to hit your layer heights as a even multiple of the full step size you can't get much better.
You can learn more about stepper motors here:
https://duet3d.dozuki.com/Wiki/Choosing_and_connecting_stepper_motors@aprz said in Odd z axis issue with prints:
Also, even with a 0.9 degree motor the advantage of using higher micro stepping isn't worth it? i know that when you increase the micro stepping you decrease torque and the 0.9 motor already has less torque than a 1.8. So you would need a higher current to increase torque and that would solve the issue of lost torque?
This isn't quite right. The torque generated in stepper motors comes from the angle difference between where the motor is commanded and where the shaft lags behind. The larger the difference the larger the torque. A 0.9 motor has less torque per step, but there are twice as many steps. The amount of torque at the same position is the same as a 1.8 motor. 1 step of a 1.8 motor is the same as 2 steps of a 0.9 motor.