duel z axis problems



  • Hypercube evolution printer, 2 0.9 motors for z axis. Having a issue with duel z axis. I have it set up and using my bltouch for skew correction. and that works fine but as the bed gets lower it seems to skew a bit. if i let it down 200mm then go back up it will be roughly 1.6mm off and i have to do the skew correction again. I understand that backlash comes into play but I dont think it should be that much should it? Should I have to run that skew calibration before every print?



  • 0.9 degree motors for z are not really required. try lowering the speed and acceleration of z to see if that helps.



  • @chainbreaker2012 most likely one (or both) of your motors are losing steps. If you're running a recent firmware version and not using external drivers, M122 should show you the stallguard numbers for the drivers.

    As Veti said, reducing the speed, accel and jerk will reduce the load on your motors so might help. Also, check your motor currents - if you can push them a bit higher without the motors/drivers getting too hot you will get a bit more torque.

    I would check for mechanical friction too to minimise the load on the motors. Maybe the lead screws are slightly misaligned? A drop of oil on the threads might help lubricate them.


  • Moderator

    👆 Good advice above.

    Post your config.g as well as the results of M122 to give us a bit more insight into your setup.

    I'd bet on some binding happening if it's that out of whack after only moving up and down 200mm. Normally there should be no skew at all from moving. It's only when the motors are de-energized that they snap back or forth to a full step and get out of sync.



  • Hey,
    Thanks for all of the advice, sorry it has taken me a bit to respond as we have been dealing with a sick child and everything had to go on back burner for a few days. I will post config.g in the morning as soon as I get off work. I have the current turned up to stepper rated current and ptfe lube on the screws and linear rods. It all moves fairly effortlessly. I dropped speed way down for Z and did a side to side level at screws. Takes 6x before bed is even both sides and im ok with that. I then home it and do it again and it shows z axis off by .8mm again. Hopefully this is making sence lol. Also I am using the 0.9°, 180°C high temp stepper motors since this printer will be doing alot of PC and Nylon in a enclosure. Also wondering if the bltouch may be going bad, I have one of the ir sensors the dc designed that i got from filistruder so i may give that a shot also if its more acurate.



  • homey.g homex.g homeall.g config.g bolded text

    this is my skew correction macro

    G30 P0 X20 Y200 Z-99999 ;
    G30 P1 X380 Y200 Z-99999 S2 ;
    G30 P0 X20 Y200 Z-99999 ;
    G30 P1 X380 Y200 Z-99999 S2 ;
    G30 P0 X20 Y200 Z-99999 ;
    G30 P1 X380 Y200 Z-99999 S2 ;
    G30 P0 X20 Y200 Z-99999 ;
    G30 P1 X380 Y200 Z-99999 S2 ;
    G30 P0 X20 Y200 Z-99999 ;
    G30 P1 X380 Y200 Z-99999 S2 ;
    G30 P0 X20 Y200 Z-99999 ;
    G30 P1 X380 Y200 Z-99999 S2 ;
    G30 P0 X20 Y200 Z-99999 ;
    G30 P1 X380 Y200 Z-99999 S2 ;
    G30 P0 X20 Y200 Z-99999 ;
    G30 P1 X380 Y200 Z-99999 S2 ;
    G28



  • cant find anything hanging up on z axis either bed drops from z0 down to bottom when unplugged on its own. just to be sure i put a small amount of lithium grease on the rods and the screws but still same issue

    Results of 2 back to back skew corrections;

    9/22/2020, 4:57:22 PM Leadscrew adjustments made: 0.033 -0.011, points used 2, deviation before 0.024 after 0.000
    9/22/2020, 4:57:12 PM Leadscrew adjustments made: -0.016 0.013, points used 2, deviation before 0.014 after 0.000
    9/22/2020, 4:57:02 PM Leadscrew adjustments made: 0.013 -0.009, points used 2, deviation before 0.011 after 0.000
    9/22/2020, 4:56:52 PM Leadscrew adjustments made: 0.005 -0.009, points used 2, deviation before 0.007 after 0.000
    9/22/2020, 4:56:41 PM Leadscrew adjustments made: 0.005 0.008, points used 2, deviation before 0.006 after 0.000
    9/22/2020, 4:56:31 PM Leadscrew adjustments made: -0.001 0.000, points used 2, deviation before 0.001 after 0.000
    9/22/2020, 4:56:21 PM Leadscrew adjustments made: -0.016 0.016, points used 2, deviation before 0.016 after 0.000
    9/22/2020, 4:56:11 PM M98 P"0:/macros/BED COMPRNSATION"
    Leadscrew adjustments made: -0.446 -0.475, points used 2, deviation before 0.461 after 0.000
    9/22/2020, 4:55:19 PM Leadscrew adjustments made: 0.005 -0.004, points used 2, deviation before 0.004 after 0.000
    9/22/2020, 4:55:09 PM Leadscrew adjustments made: -0.004 0.014, points used 2, deviation before 0.010 after 0.000
    9/22/2020, 4:54:59 PM Leadscrew adjustments made: 0.009 -0.017, points used 2, deviation before 0.014 after 0.000
    9/22/2020, 4:54:49 PM Leadscrew adjustments made: -0.010 0.030, points used 2, deviation before 0.022 after 0.000
    9/22/2020, 4:54:38 PM Leadscrew adjustments made: -0.015 -0.029, points used 2, deviation before 0.023 after 0.000
    9/22/2020, 4:54:28 PM Leadscrew adjustments made: 0.029 0.010, points used 2, deviation before 0.022 after 0.000
    9/22/2020, 4:54:18 PM Leadscrew adjustments made: -0.020 0.035, points used 2, deviation before 0.029 after 0.000
    9/22/2020, 4:54:08 PM M98 P"0:/macros/BED COMPRNSATION"
    Leadscrew adjustments made: -0.391 -0.421, points used 2, deviation before 0.407 after 0.000



  • this was after skew macro above and running a mesh compensation probe then checking skew againsame result even when i turn accell and jerk way down.

    9/22/2020, 5:06:38 PM M98 P"0:/macros/1comp"
    Leadscrew adjustments made: -0.584 -0.620, points used 2, deviation before 0.602 after 0.000
    9/22/2020, 5:06:17 PM G29
    441 points probed, min error -1.314, max error 0.273, mean -0.467, deviation 0.413
    Height map saved to file heightmap.csv



  • as requested M112

    Status
    Idle
    Mode: FFF
    Tool Position
    X
    360.0
    Y
    215.0
    Z
    13.85
    Extruder Drives
    Drive 0
    0.0
    Speeds
    Requested Speed
    0 mm/s
    Top Speed
    0 mm/s
    Sensors
    Vin
    24.1 V
    MCU Temperature
    41.6 C
    Z-Probe
    0
    Tools
    Extra
    Control All
    Tool Heater Current Active Standby
    Tool 0
    T0 - Load Filament Heater 1
    active 254.9 C
    255
    255
    Bed Heater 0
    active 100.6 C
    100
    0
    Chamber Heater 2
    off 24.2 C
    0
    0
    Temperature Chart
    Send code...
    9/22/2020, 5:10:46 PM M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.0 running on Duet WiFi 1.02 or later
    Board ID: 08DJM-9178L-L2MS8-6J9D6-3SJ6N-19FUR
    Used output buffers: 1 of 24 (17 max)
    === RTOS ===
    Static ram: 30516
    Dynamic ram: 92368 of which 32 recycled
    Exception stack ram used: 568
    Never used ram: 7588
    Tasks: NETWORK(ready,640) HEAT(blocked,1240) MAIN(running,1320) IDLE(ready,156)
    Owned mutexes:
    === Platform ===
    Last reset 26:11:57 ago, cause: software
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 8260 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 56.9ms, max retries 0
    MCU temperature: min 35.5, current 42.0, max 43.2
    Supply voltage: min 23.8, current 24.1, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 0/1023
    Driver 1: standstill, SG min/max 0/1023
    Driver 2: standstill, SG min/max 0/1023
    Driver 3: standstill, SG min/max 0/1023
    Driver 4: standstill, SG min/max 0/1023
    Date/time: 2020-09-22 17:10:43
    Cache data hit count 4294967295
    Slowest loop: 116.14ms; fastest: 0.09ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0(0), FreeDm: 169, MinFreeDm: 109, MaxWait: 73489183ms
    Bed compensation in use: mesh, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 1548, completed moves: 1548, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = 2 -1 -1 -1
    Heater 0 is on, I-accum = 0.0
    Heater 1 is on, I-accum = 0.7
    === GCodes ===
    Segments left: 0
    Stack records: 4 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 104.03ms; fastest: 0.00ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
    HTTP sessions: 1 of 8

    • WiFi -
      Network state is running
      WiFi module is connected to access point
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.23
      WiFi MAC address a4:cf:12:c0:1d:8c
      WiFi Vcc 3.39, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 25944
      WiFi IP address 10.159.204.148
      WiFi signal strength -41dBm, reconnections 0, sleep mode modem
      Socket states: 0 0 0 0 0 0 0

  • Moderator

    @chainbreaker2012 said in duel z axis problems:

    RepRapFirmware for Duet 2 WiFi/Ethernet version 3.0 running on Duet WiFi 1.02 or later
    Board ID: 08DJM-9178L-L2MS8-6J9D6-3SJ6N-19FUR

    Well you are running a older firmware. I suggest you update to 3.1.1 by downloading this zip file and uploading it as is (don't extract it) to the sys folder in DWC.

    https://github.com/Duet3D/RepRapFirmware/releases/download/3.1.1/Duet2and3Firmware-3.1.1.zip


  • Moderator

    M671 X20:380 Y200:200 S10

    X20:380 doesn't sound right for the location of your lead screws. -20 and 420 perhaps based on your M208.

    M208 X400 Y400 Z500 S0 ; set axis maxima

    Unrelated, but not sure why you would want to turn off interpolation on the extruder motor unless you like more noise?

    M350 E16 I0

    Your homeall calls the other homing macros, but you haven't included homez, so I can't see how you're actually homing the Z axis.

    M98 P"homex.g"
    M98 P"homey.g"
    M98 P"homez.g"


  • Moderator

    @chainbreaker2012 said in duel z axis problems:

    M98 P"0:/macros/BED COMPRNSATION"

    Do you use bed.g/G32 or are you just calling this macro?



  • just calling that macro,
    I cant reach to the full 400 on bed due to the mounts for the linear rails hence why i am using X20380
    I thought it was the newest firmware on there but ill go ahead and upload 3.1.1 This may be because I had the original sd card get corrupted and had to redo disk image on it.
    M350 could that be because I turned off microstepping on that? I was told it didnt need it since it was the extruder. Its actually still really quiet lol
    sorry for not including the home z I must have accidently double clicked it.
    homez.g



  • funny thing I have 3.1.1.zip on the sd card lol I corgot to upload it when i reflashed the image.


  • Moderator

    @chainbreaker2012 said in duel z axis problems:

    I cant reach to the full 400 on bed due to the mounts for the linear rails hence why i am using X20380

    M671 is defining the location of the lead screws themselves not where you can reach them. The probe points are defined in your macro.

    @chainbreaker2012 said in duel z axis problems:

    M350 could that be because I turned off microstepping on that? I was told it didnt need it since it was the extruder. Its actually still really quiet lol
    sorry for not including the home z I must have accidently double clicked it.

    Well microstepping is the x16 part, so you're still using microstepping and you definitely do want that. Interpolation allows the drivers to take those x16 microsteps and convert them internally to x256 pulses for the motors for smooth quiet motion. So you definitely want x16 with interpolation on.

    In your homez you should change the position where it probes to be the center of the bed. Right now it looks like you have it set to a corner.

    G1 X35 Y17 F6000 ; go to first probe point
    G30 ; home Z by probing the bed

    By correcting the M671 to use the actual position of the lead screw and then probing the center of the bed you should be able to improve the performance of the leveling routine.

    Might be a good idea to review this

    https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors



  • thank you I will adjust as instructed, Thank you for helping me with this. I did have it set to a corner but in my start gcode what I did was have it heat the bed and nozzle then do a G30 at the center just before it starts printing I will change that. Thanks again for your time. It is very much appreciated.


Log in to reply