Slipping/Skipping problem during auto calibration

  • Hi all,

    This is my first post but not my first visit. I have been silently observing the posts and following the activities on this forum for the past 4 months. I am currently building a large delta printer.

    My delta printer is 1.2 m tall, it has triangular 40 mm vertical extrusions (just three faces) as corners so I can direcly bolt the horizontal 4040 extrusions on two of the faces. The linear rail rests on the third face which is facing inwards.

    It is Duet wifi controlled, the carriage is on ARC 15 linear rails, direct drive titan extruder, E3D 46 hot end with 40mm cooling fan, 360mm haydn huntley magnetic arms, 60mm arm spacing, 0.9 degree NEMA 17 stepper motors, 300mm heated bed with PEI painted black as suggested by dc42 for IR sensor probing.

    As suggested in wiki I did check the tower spacing, bed leveling etc. I made a custom IR sensor mount with 1.5 mm vertical spacing and attaches magnetically with a locating hole to avoid both rotation and loosening. The IR offset is 16 mm on the X and 20mm on Y direction.

    When I did the calibration for the first time, it is good and I get a deviation of just 0.02 mm. I also had a consistent trigger height of 1.45 to 1.49 mm on all my 10 probing points at 60mm radius (purposefully reduced to low value). In calibration, I get a trigger height of 1.49mm so I am sure the probe and calibration works very good. The results are used in M665 and M666 in the config.g file.

    After a couple of auto calibration iterations to check the repeatability, my delta skips/slips during calibration and loses its position causing huge error. Have a look at the video.

    I had this problem two weeks ago with flying extruder and haydn huntley effector. I assumed the problem might be due to extruder moving from side to side and moreover the teflon tube from extruder to hotend was making the groove mount wobble a bit. I decided to change to direct drive extruder to reduce this wobble and moved the IR mount position from fan to the effector. Even then, when it calibrates without slipping. It had good results of consistently between 0.025 to 0.015 mm. When it starts slipping/skipping (I don't know) it goes haywire.

    I tried various fixes: Belt tightening, changed motor current values (increased and decreased), reduced the acceleration and travel speed. Checked the motor connections, even changed the motors (previously it was OMC stepper and now think3dprint3d Wantai motors). Tightened the motor mount, pulley, Idler bearing and belt tension. The belts are parallel and no slipping when observed visually. I reduced the probe radius from 115mm (original printable area) to 60mm to see whether this happens due to the arm angles. The arm angles are 25 degrees near the edge of print radius of 115mm, so at 60 mm it should not be a problem.

    My calibration works very good when there is no slipping. After a couple of iterations, the slipping happens it is going haywire and I am not able to fix it. I have been reading up on forums and trying all the fixes. I even typed M122 to see if there are any skipped steps and I could not find any errors or slippage. I am a bit frustrated and stuck at dead end.

    I could not have gone this far, if it were not for the members and wiki chapters in this forum. I hope that the members will help me solve this problem. I will soon post my build log to show more details about my printer so I can get help. Thanks in advance!

    Here is config.g and bed.g files.

    ; Configuration file for Duet WiFi (firmware version 1.17)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Thu Jun 01 2017 14:36:55 GMT+0200 (W. Europe 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

    ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration.
    M665 R156.990 L360.31 B100 H510.566 X-0.111 Y0.018 Z0 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X1.95 Y-1.35 Z-0.60 ; Put your endstop adjustments here, or let auto calibration find them
    M208 Z0 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 Z2 S0 ; Define active high microswitches
    M558 P1 X0 Y0 Z0 H22 F360 T2400 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P700 X16 Y-20 Z1.49 ; Set Z probe trigger value, offset and trigger height
    M557 R115 S20 ; Define mesh grid

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I0 ; Configure microstepping without interpolation
    M92 X160 Y160 Z160 E837 ; Set steps per mm
    M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z6000 E800 ; Set maximum speeds (mm/min)
    M201 X600 Y600 Z600 E500 ; Set accelerations (mm/s^2)
    M906 X1300 Y1300 Z1300 E900 I60 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S285 ; Set maximum heater temperature to 285C
    M305 P0 T100000 B3950 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M305 P1 T100000 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M307 H1 A204.0 C112.3 D4.0 B0

    ; 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 PSM3D ; Set machine name
    M552 S1 ; Enable network
    M587 Ssamrudh P"samrudh2013" ; 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 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T20 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; Custom settings are not configured

    ; Miscellaneous
    T0 ; Select first tool

    M501 S1

    ; bed.g
    ; called to perform automatic delta calibration via G32
    ; generated by RepRapFirmware Configuration Tool on Thu Jun 01 2017 14:36:55 GMT+0200 (W. Europe Daylight Time)

    G28 ;Home all the axes

    ; Clear any bed transform

    ; Probe the bed at 6 peripheral and 3 halfway points, and perform 6-factor auto compensation

    ; Before running this, you should have set up your Z-probe trigger height to suit your build, in the G31 command in config.g.

    ; bed.g file for RepRapFirmware, generated by Escher3D calculator
    ; 10 points, 6 factors, probing radius: 60, probe offset (16, -20)
    G30 P0 X0.00 Y60.00 Z-99999 H0
    G30 P1 X45.39 Y26.20 Z-99999 H0
    G30 P2 X36.95 Y-21.33 Z-99999 H0
    G30 P3 X0.00 Y-44.13 Z-99999 H0
    G30 P4 X-50.62 Y-29.23 Z-99999 H0
    G30 P5 X-51.96 Y30.00 Z-99999 H0
    G30 P6 X0.00 Y30.00 Z-99999 H0
    G30 P7 X14.26 Y-8.23 Z-99999 H0
    G30 P8 X-21.42 Y-12.36 Z-99999 H0
    G30 P9 X0 Y0 Z-99999 S6

    ; Use S-1 for measurements only, without calculations. Use S4 for endstop heights and Z-height only. Use S6 for full 6 factors
    ; If your Z probe has significantly different trigger heights depending on XY position, adjust the H parameters in the G30 commands accordingly. The value of each H parameter should be (trigger height at that XY position) - (trigger height at centre of bed)

    Best Regards,

  • I don't know anything about Deltas so hopefully someone more knowledgable than I will come up with some suggestions. However, one thing that struck me in your config.g is this G31 P700 X16 Y-20 Z1.49 ; Set Z probe trigger value, offset and trigger height

    I'm fairly certain that with DCs IR probe, the P value should be set to 500. Maybe 700 is borderline on whether it triggers or not? That would lean to unpredictable behaviour. Just a guess - no doubt David or someone will verify or deny that this might be the cause.

  • administrators

    If it's my mini IR height sensor that you are using, you must always use a P value of 500 in the G31 command. Otherwise the probing move won't stop when the probe triggers and the LED light up.

  • Thanks deckingman and dc42 for your replies.

    Regarding the P value, I think it was a mistake when I copied the file into system, otherwise it was P500. Just to be sure, I just now checked the value and ran the calibration again. It still stutters and behaves erratically.

    I am a bit frustrated because I cannot pinpoint the error.

    Here is a screenshot of the calibration I did yesterday after swapping the stepper motors. You can see that it progressively went bad.

  • administrators

    Check that you don't have a G31 command in config-override.g that is overriding the one in config.g. Does the probe stop descending as soon as the LED on the IR sensor illuminates?

  • I am sorry, this is a stupid question. By the way, how do I attach an image from my laptop to show you the calibration results.


  • Yes the probe stops descending and I checked trigger height (1.45 to 1.52) which corresponds well with the actual height (1.5) I designed and measured.

    Here is the config-override.g file:

    ; This is a system-generated file - do not edit
    ; Delta parameters
    M665 L360.310 R163.319 H493.312 B115.0 X-0.186 Y-0.776 Z0.000
    M666 X1.244 Y-0.947 Z-0.297 A0.00 B0.00
    ; Heater model parameters
    M307 H0 A90.0 C700.0 D10.0 S1.00 B1
    M307 H1 A175.4 C94.0 D4.5 S1.00 B0
    M307 H2 A340.0 C140.0 D5.5 S1.00 B0
    M307 H3 A340.0 C140.0 D5.5 S1.00 B0
    M307 H4 A340.0 C140.0 D5.5 S1.00 B0
    M307 H5 A340.0 C140.0 D5.5 S1.00 B0
    M307 H6 A340.0 C140.0 D5.5 S1.00 B0
    M307 H7 A340.0 C140.0 D5.5 S1.00 B0
    ; Z probe parameters
    G31 T1 P500 X11.0 Y0.0 Z2.00
    G31 T3 P500 X0.0 Y0.0 Z0.70
    G31 T4 P500 X0.0 Y0.0 Z0.00

    It has 3 G31 in config-override.g file, it is strange.


  • Moreover, I have M501 S1 at the end of config.g file but when I issue M500 command to write the M665 and M666 values, it did not write and now I have 3 G31 commands here.

    I am new to duetwifi so excuse my stupid questions


  • Use to upload an image copy the link it gives you for direct image then put and hey presto.

    Just use M501 to load config.

    I get issues as my bed.g has m500 at the end to save. If I get a bad calibration run then it behaves strangely on the next so I delete config_override (at least m665 and m666) and soft reboot.

  • Thanks DJDemon for the help
    Here is the calibration result working for the first and progressively going bad due to slipping.

    OK, I will try it once my calibration runs fine. For the time being, I am stuck at this slipping problem. It is a bit frustrating. I am trying all the solutions. Since you have experience building a large delta printer do you have any suggestions for this problem?

    By the way DJDemon, I read your reprap forum post about large delta print. I used flying struder after seeing your post but the swinging of extruder made me switch to direct drive.

    If you remember, I am Vasan from Sweden who mailed you regarding the availability of piezo kit. Do you know when the next batch will be available?

    Best Regards,

  • Hi I've not seen a skipping issue if there's a video I'll have a watch of it and see if anything springs to mind, if there isn't upload one to YouTube and link us up.

    Subscribe to this thread,767998,773953#msg-773953 might have some more at the weekend.

  • Cool, dealing with a 3 year year old and 4 month old who aren't much enamoured of the 30 deg + heat were having right now but will watch it when they're both 18 and have left home 🙂

  • I had this skipping like in the video myself.
    I changed from roller carriage to cheap chinese linear rails which were very bad. But I wanted to try them out: and got this skipping.
    I went from 1A to 1,4A stepper current, but it got only slightly better. Somewere was some binding.
    Then I changed the steel balls to G10 rated ones, and 2 of the 3 carriaged are now running much more smooth, but the third is not nearly as good. But: the skipping went away (at 1A stepper current). But because of the third one the print quality is not what I had. Interesting is that the calibration is better than with the roller carriages, but print quality is worse.
    So my advise: take a look at the sliders from the linear rails.
    While the print head moves they will be twisted and that should not produce any binding.

  • Hi AndreS,
    Thanks for the comments! I read about cheap linear rails so I bought from Germany, what I thought is a decent one⟨=eng

    It is actually from this company:

    But as you say, I also suspect that it might be due to linear rail binding.

    In that case, I want to lubricate the slider balls and see how it works. Did you do any lubrication? I also heard it is a pain to take the steel balls and put them back. Is it so?

    Your suggestion is something I have not tried and I will do so. I hope it solves my problem.

    Best Regards,

  • I did lube them, and the motion was better.

    With the MGN12 I have its not that hard to take it apart, remove the balls and put it again together.

    But your seems to be high quality ones and I wont take them apart.
    From the datasheet there are lubrication pads built in. Go with the instructions on how to lubricate.

    After my misery with these chineese crap, I took a look at quality stuff and had a look at dold-mechatronik.
    If I go to by good ones, maybe from them (also because I'm from germany).

  • I have cheap Chinese rails on 3 printers they all work fine. I removed the bearings, cleaned them, checked they were all round and the same diameter replaced a couple and literally drowned them in lithium grease.

    Check they slide smoothly and aren't notchy.

    I watched your video something mechanical is binding preventing smooth movement put your finger on a motor and move it around see if it's a motor skipping if it is its probably on a different tower and the skipping motor if fighting against the one that's binding. Are all the motors the same? Are they all wired correctly, are all the pulleys firm on the motor shaft (which should have flats on them if not grind some).

  • Hi AndreS,
    Thanks again! I am right now reading instructions to lube them. I asked for a lubrication kit from dold but they did not respond so far (more than a month). Since it is a new block, I assumed that they will be pre-lubricated but going by its motion, it seems they are not. I will try oil lubricating the pads. I lubricated the linear rails with good amount of lithium grease for many times but no use so far.

    Anyways, I will try some lubrication oil and see how it goes.


  • Hi DJ,
    Thanks for your replies! Hope your kids turned 18 ; ) All the motors are same. I checked the wiring, tightened the pulleys, tensioned the belts and I have flats on the shaft. The only option for me is to infuse oil carefully into my carriages. I have to do it carefully. I will look into this lubrication issue and try to solve it.


  • Hi All,
    Thanks for your replies. I took the carriages and packed them with lithium grease for bearings. I used sewing machine oil for the linear rails. The problem has been reduced. At least, I don't hear the weird sound. Now I am doing my autocalibration.

    I will post the auto calibration results in a separate thread.

    In short, lubricate both the rails and carriages even if they come from high-quality vendors. It helped a lot.


Log in to reply