Kossel xl custom built. Ir sensor coding fixed



  • So after about 2 months of struggling to get the printer to calibrate I thought I'd rebuild it in hopes to get it to actually calibrate, so I can print something.

    So built custom braces to straighten and remove flex from the frame and upgraded to linear rails and magnetic ball joints with aluminium carriages and effector.

    I'm still having issues getting it calibrated and I'm starting to think I'll going to have to go back to a ramps 1.4 just so I can use the damn thing.



  • It looks really nice. I am sure its just something simple that you're missing.

    Was it working well with ramps?

    What problems have you specifically encountered? What sensor are you using, or are you manually calibrating?


  • administrators

    You have provided no information in your post about what is going wrong. So how can you expect us to help you?



  • @DjDemonD:

    It looks really nice. I am sure its just something simple that you're missing.

    Was it working well with ramps?

    What problems have you specifically encountered? What sensor are you using, or are you manually calibrating?

    Thanks DJDemonD. It was actually work quite well ramps running marlin. Intact I havnt been able to get a single print since going to duetwifi. I tried manually calibrating it with no result. So I got an ir probe from aus3d I believe you helped me with a few things before the rebuild. Now when I auto calibrate it probes the first three probe points then the nozzle goes flying into the "y" tower struts to the position in the image. Best part is it was probing all the way by the "z" tower. I'll organise the bed and configuration files when I get home from work.



  • DC42 will give you a much better answer than I ever could, what I can tell you is that when I had this problem, I had incorrect values for my probe points because I measured the diagonal length from the wrong spot and tried probing a much larger bed than I actually had (or thought my printable diameter was larger than it really was). My acceleration and travel speeds were also way too high initially. If I am not mistaken, David's sample config file from github is just that, his config file. It is a smile, to be used as an example not as ready to go….I made that mistake...more than once haha. I would be curious to see your config.g and your bed.g (bed.g right?) The file responsible for probing/tramming/calibration in relation to your printable diameter and what the machine coordinates say as you attempt to go to that position.

    Marlin to RepRapFirmware is a bit of a change, I do really like marlin, it is great in a lot of ways...I do still feel the Duet Wifi and David's fork of RepRapFirmware is far...far better in a lot of ways. The Duet Wifi also crushes the ramps. You shouldn't give up on this board and firmware.

    Also, printer looks great!



  • Well I used RRF Configuration Tool for the files and replaced the bed file with the Escher 3d file produced.

    Now my linear rails are only 300mm long so my print height has been reduced do be able to print bigger things rather then taller ones just until i receive my 750mm ones

    Config File:

    [[language]]
    ; Configuration file for Duet WiFi (firmware version 1.17)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Tue May 16 2017 21:36:43 GMT+0800 (W. Australia Standard 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 R200 L310 B130 H215.5 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0 ; Put your endstop adjustments here, or let auto calibration find them
    M208 Z-2 S1 ; Set minimum Z
    
    ; Endstops
    M574 X2 Y2 Z2 S1 ; Define active high microswitches
    M558 P1 X0 Y0 Z0 H10 F120 T2400 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P500 X11 Y34.5 Z1.933 ; Set Z probe trigger value, offset and trigger height
    M557 R130 S20 ; Define mesh grid
    
    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I0 ; Configure microstepping without interpolation
    M92 X80 Y80 Z80 E450 ; Set steps per mm
    M566 X1200 Y1200 Z1200 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E1200 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E1000 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E1200 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
    
    ; 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 PMiniKossel ; Set machine name
    M552 P192.168.1.14 S1 ; Enable network and set IP address
    M553 P255.255.255.0 ; Set netmask
    M554 P192.168.1.254 ; Set gateway
    
    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S0 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off
    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
    
    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory
    T0 ; Select first tool
    
    

    Bed Config File:

    [[language]]
    ; bed.g file for RepRapFirmware, generated by Escher3D calculator
    ; 10 points, 7 factors, probing radius: 130, probe offset (0, 34.5)
    G30 P0 X0.00 Y102.74 Z-99999 H0
    G30 P1 X97.41 Y56.24 Z-99999 H0
    G30 P2 X112.58 Y-65.00 Z-99999 H0
    G30 P3 X0.00 Y-130.00 Z-99999 H0
    G30 P4 X-112.58 Y-65.00 Z-99999 H0
    G30 P5 X-97.41 Y56.24 Z-99999 H0
    G30 P6 X0.00 Y42.46 Z-99999 H0
    G30 P7 X56.29 Y-32.50 Z-99999 H0
    G30 P8 X-56.29 Y-32.50 Z-99999 H0
    G30 P9 X0 Y0 Z-99999 S7
    
    


  • change your G31 line from
    G31 P500 X11 Y34.5 Z1.933
    to
    G31 P500 X0 Y0 Z1.933

    And try again

    Doug



  • @Dougal1957:

    change your G31 line from
    G31 P500 X11 Y34.5 Z1.933
    to
    G31 P500 X0 Y0 Z1.933

    And try again

    Doug

    Thank you so much Doug this with a reduced probing radius has solved it.

    Now I have never got this far
    what does this all mean I probed 3 times does this seem like a good result? sorry this is my first printer with an IR probe.

    Results:
    M666
    Endstop adjustments X-2.06 Y-5.23 Z7.29, tilt X0.00% Y0.00%
    M665
    Diagonal 378.596, delta radius 206.251, homed height 215.403, bed radius 130.0, X 0.526°, Y -0.009°, Z 0.000°
    G32
    Calibrated 7 factors using 10 points, deviation before 0.078 after 0.037
    M666
    Endstop adjustments X-2.16 Y-5.31 Z7.47, tilt X0.00% Y0.00%
    M665
    Diagonal 376.585, delta radius 205.905, homed height 215.447, bed radius 130.0, X 0.161°, Y -0.175°, Z 0.000°
    G32
    Calibrated 7 factors using 10 points, deviation before 0.103 after 0.041
    M666
    Endstop adjustments X-2.41 Y-5.32 Z7.73, tilt X0.00% Y0.00%
    M665
    Diagonal 387.617, delta radius 208.397, homed height 215.359, bed radius 130.0, X 0.401°, Y 0.100°, Z 0.000°
    G32
    Calibrated 7 factors using 10 points, deviation before 4.209 after 0.117



  • That is a pretty good deviation but on the final line in your Bed.g

    this G30 P9 X0 Y0 Z-99999 S7

    Change to G30 P9 X0 Y0 Z-99999 S8 (this will calibrate for any tilt but will leave your Diagonal rods untouched which you will be able to calibrate later with a test cube)

    And not sure if this is strictly required but add M500 after it to save the params especially if you know the precise length of your rods (This may need to be reset in your M665 line to the actual value (in Config.g) and M502 running manually first)

    Doug (David will probably be along to comment soon enough)



  • Thank you Doug this is the results I got when i changed the S7 to S8.

    M666
    Endstop adjustments X-0.54 Y-2.28 Z2.82, tilt X0.62% Y-2.94%
    M665
    Diagonal 375.057, delta radius 205.677, homed height 215.573, bed radius 130.0, X -0.835°, Y 0.026°, Z 0.000°
    G32
    Calibrated 8 factors using 10 points, deviation before 0.073 after 0.017



  • Now what makes it a good result? is it the deviation being as low as possible or is it to do with with the m665 results being close as possible to the M666?



  • Getting better time to try a test print eh



  • As excited I as I am to do a test print I have to get ready for job number 2



  • @Luxmotion:

    Now what makes it a good result? is it the deviation being as low as possible or is it to do with with the m665 results being close as possible to the M666?

    The deviation is a measure of the statistical variance over the probed points compared to what the algorithm predicts them to be. You have a deviation over the bed of just 0.017mm between all of your probed points. Mine's running at 0.02 which I was very pleased with (with Doug's lovely aluminium effector) I had it this low before when I used to have the k800 effector and magnets. The metal carriages and effector (and linear rails obviously) really do reduce play.

    No M665 is just some of your delta parameters and M666 are the endstops. Some firmware roll them all into one command (like Rich Cattels marlin), its arbitrary.

    Whats important now as Doug said leave it on 8 factors.

    Measure your rods as accurately as you can (from centre of rotation at each end) and enter that rod value in M665 L parameter (in config_override.g, not config.g). Do autocalibration. Then print a test cube. If its 10% too big in X and Y lower your rod length by 10%,autocalibrate, and print another (in reality its more likely to be 1%). If the cube is too small, increase rod length and print again. If the cube is wrong in Z (and its not due to squashed first layer, so print one at 20mm tall and one at 40mm tall see if the error remains constant - first layer squash, or doubles - steps/mm are wrong change x,y and z steps/mm). It transpires that unless your belts are really tight a gt2 belt's pitch is a fraction less than 2mm. Hence some people use 80.5 steps/mm (assuming 1/16 stepping and 20t pulleys).



  • But at least we have got the OP somewhere close now!!



  • Thank you guys so much for your help I was pretty much ready to just bin it and give up. Also the information you provided has helped full most of the black hole in my understanding of what to do next.

    I'm running gt2 belt and pulleys that are 16 teeth with 1/16th stepping.



  • So 100 steps /mm then, see how your test cube comes out. If it's perfect then enjoy printing some accurate stuff. And turn on interpolation in config.g (M350 X16 Y16 Z16 E16 I1) you'll be pleased that you did.



  • Thank you so much guys I really appreciate all the help. I'll keep this all in mind when I can finally get to do the test prints on Friday.



  • Ok sadly this thing has decided to act up once again. I managed to get some time to sit down and try the cube test. So I figured I'd double check my z height and do another calibration preprint.

    With the paper test the height still had 40mm to go before it hit zero. So I 're adjusted the height within the config file and double checked it.

    It was paper perfect, so I thought ok time to auto calibrate and it came back with a devation of before 5.002 after 1.236. Then I recalibrated untill I managed to get it down to 0.2xx I can't remember exactly. Then it climbed all the way up to 9.xxx.

    I restarted the printer to get back to the 0.2xx that was saved And tested the z height and once agian it wanted to go through the bed.

    I spent about an hour going back and fourth with this before I lost my temper in pure frustration I turned everything off and walked away. This is what it was doing before the rebuild but now I have no idea what to do because it feels like it just doesn't want to work.

    What do you guys think is the issue?


  • administrators

    Could it be that you have the acceleration set too high, so that the amount that each carriage moves is not consistent? Or motor current much too low?

    Another possibility is that you have at some stage saved incorrect M665 and M666 parameters into config-override.g using the M500 command, and the parameters are being reset to those parameters every time you restart. The config-override.g file behaves like EEPROM does in Marlin. You can open config-override.g in the System Files Editor to check what's in it. It is only used if you have a M501 command in config,g (or M98 Pconfig-override.g).

    I suggest you start by getting the printer to the point that you can home it, then run G1 Z50 and it will move to 50mm above the centre of the bed every time - even after a restart. Use the M665 H parameter to adjust the height.

    When you have done that, measure the trigger height of the IR sensor as described at https://duet3d.com/wiki/Calibrating_a_delta_printer#Measuring_the_trigger_height and put the trigger height in the Z parameter of the G32 command in config.g. Again, be aware that it can be overridden by an entry in the config.g file.

    After that, set the H parameter in your M558 command to 30 (so that probing starts 30mm above where the bed ought to be) and run auto calibration several times.

    If you are using a config-override,g file, you can then run M500 to save those values. If you are not, then run M665 and M666 to read off the values found by auto calibration, and manually edit the M665 and M666 commands in config,g to match.

    HTH David


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.