E3D BigBox

Hi,

I have a E3D BigBox Dual and considering giving Repetier a go. The controller is a RUMBA board. My setup is a bit different than regular BigBox as I use two Z stepper drivers, Z and Z1 where Z1 is connected to RUMBA motor out E2.

The BigBox has two lead screws centered on the left and right side of the bed and a smooth rod in each corner to make it as level/tram as possible. Then I have the usual 4 corner screws to manual level the bed. I use manual Mesh Bed Levling today to compensate for sag in the rods holding the carriage. I can get 0.15mm difference in the middle of the bed. The Z-probe is only used for homing today.



If anyone could enlighten me I would be very happy.

  1. The BigBox has a dump bucket / docking area where the extruder can go Y_MAX + 40, It does not have much room in the X axis so whenever there is a tool change between extruders it must not move along X. Will this be a problem?
  2. Does Repetier support dual Z endstops to level the bed?
  3. Does Repetier support the Z-probe to level the bed with dual Z stepper drivers?
  4. Does it support a grid Z-probe leveling together with dual Z stepper drivers?
  5. It looks like what I'm really looking for is an automated grid leveling saving a "distortion map". This sounds like Marlins Mesh Bed Leveling (MBL)
Regards
Stian
«1

Comments

  • 1) No Idea.
    2) Yes. Use dev version in config tool. Selecting dual z stepper now shows "Multiple Z Endstops (MULTI_ZENDSTOP_HOMING)" whcih allows setting a second endstop for second z motor.
    3) Only for 3 separate controlled motors. Then you can do hardware leveling. So you can only use software correction. there is no hybrid doing hardware x and software y.
    4) yes, that does not depend on z homing.
    5) Don't know that. But distortion map is a correction for non planar beds you do after compensating the general rotation.
  • Regarding point 5 is to compensate for sag in the rods. If my bed is bumpy I would throw it away :) 

    When I do Mesh Bed Leveling on Marlin the nozzle get ~0.15mm closer to the bed in center. This is very repeatable and others with BigBox are seing this too. I don't think this is limited to the BigBox even it has a pretty large and heavy dual X carriage (kickstarter edition).

    Would the grid Z-probe leveling compensate for this sag? This compensation should stay the same throughout the print.
  • You have to distinguish.

    The leveling with G32 will compensate rotation only based on measured points.

    To correct for the sag in center you need the distortion correction (G33) in addition.

    Both are calibrated and defined independently, but in total they should compensate. Just make sure for distortion correction to not reduce correction over height as it does by default (for uneven beds).
  • Thanks, There was an option to keep the correction to a certain height and I set it to my total Z height.

    Now I am a bit confused about the "grid computing regression plane" Bed Measuring Method. I do not get the coordinates to be set for P1, P2 and P3. Looking at the sample values I dont get it. 

    My Z-probe is right behind E0 nozzle Y32

    My bed is 300 by 200 (X by Y). What I would find as sensible values:
    P1 10 / 0 (X / Y)
    P2 300 / 0 (X / Y)
    P3 10 / 160 (X / Y)

    image
  • The values are already in eeprom and I guess not your last one. So copy configuration.h to eeprom overriding all changes with
    M502
    M500

    or fix the coordinates directly using our eeprom editor in host/server.
  • I'm not wondering what's in eeprom but what's a valid set of grid coordinates for P1, P2 and P3.

    Should P1 be front (towards me) left corner,
    P2 front right corner and
    P3 back left corner?
  • Yes, that would be a valid set of coordinates.
  • edited September 2016
    Now I finally have Repetier on the BigBox and started doing testing. Having some initial difficulties to getting a perfect Z-offset.
    You have to distinguish.

    The leveling with G32 will compensate rotation only based on measured points.

    To correct for the sag in center you need the distortion correction (G33) in addition.

    Both are calibrated and defined independently, but in total they should compensate. Just make sure for distortion correction to not reduce correction over height as it does by default (for uneven beds).



    Probably just something I do not understand but why do you have the option of a grid autolevel (G32)? What is the point with a autolevel grid when the distortion map will take care of the bumps/sag? Wouldn't the BED_LEVELING_METHOD 0 or 2 suffice?
  • Measuring a grid is overkill but reduces error as you get a mean plane between measured points. Especially with beds having bumps this impoves precision and reduces the dumps measured in the G33 step.
  • Ok, just to test if I'm getting this.

    You mention mean plane with autolevel grid. If I get it right and I have a bed that is very straight for all the grid points except on the last sample along the edge it will get a slight diagonal. Difficult to write this. Something like in the picture. The bed is the black line and the calculated plane is the red line.
    image

    And the distortion map will work upon this plane?
  • Can't see image :-(

    G32 fixes overall tilt, G33 fixes errors left after this from bumps, bending or whatever.
  • Ok, I think I got it. 

    Now I have another issue I might have to report on github.

    When I Do the G32 S2 it does the 5 x 5 grid autolevel and I can adjust the Z-offset and start printing. I can see Z move while printing to compensate for a skewed bed.

    Then I do a G33 it does lots of sampling in a different order than G32 and so far so good. But when I auto home after this the nozzle is crashing in the bed. It looks like when the IR probe triggers is accelerates the bed up and it butts/crashes in the nozzles. As soon as I disable distortion map it's ok again.

  • z probe is ignored during printing, but if z min is also z probe you need to disable endstop checking during print or you get strange/wrong behaviour. So in that case set ALWAYS_CHECK_ENDSTOPS 0.

    Since it happens only with distortion enabled there might be wrong corrections stored.
    G33 L0
    should list your corrections. Based on these values nozzle is lifted more or less. So these values are normally within +/-0.1mm if everything went correct. If you made some adjustments after G32 S3 to compensate wrong z probe height the results will be wrong and much higher.

  • ALWAYS_CHECK_ENDSTOPS 0 seems to have done the trick
  • Think I'm going mad. After some back and forwards I am still not there.

    I just re flashed from current development and did M502 and M500. Did a G32 and Z offset is way off. 

    I have to babystep -7.76mm before IR probe triggers then I can babystep to -9.92 before nozzle hits bed. The difference is 2.16mm. 

    My Z_PROBE_HEIGHT is set to 2.2mm so why am I printing in air?





  • You have to enter the difference from trigger until hit, whcih is from your description 9.92 and not 2.16.
  • I think you misunderstand. 

    When the IR probe triggers the nozzle is 2.16mm from the bed. After homing it raises Z (havent measured how much) but when I start printing and want it to go to Z0 the nozzle is 9.92mm off bed. See my illustration below. 

    As I understand Z_PROBE_HEIGHT should be 2.16mm as described in the sentence "distance between nozzle and bed when probe triggers".

    image
  • edited October 2016
    Need to find a better site for posting photos like this



    image
  • Ok, your understanding is correct. But make sure bed coating is set to 0 as well as it changes z.

    About much air are we talking here? To understand it I would need a commented protocol of actions and returned values/real values.
  • edited October 2016
    I could make a issue in github as this forum is really not made for pasting code and stuff.

    Bed coating (Z_PROBE_Z_OFFSET) is 0. My Config.

    Much air? There is almost 10mm between nozzle and bed and I'm unable to get it closer after homing. Except to babystep but that is a bit too much :)

    What protocol of actions? You mean gcode and the responses?

    Made a simplified set inspired by http://reprap.org/wiki/Start_GCode_routines
    G21 ;metric values
    G90 ;absolute positioning
    M82 ;set extruder to absolute mode
    G28; Home Axis
    G1 Z0 ; move nozzle close to bed

    OctoPrint terminal:
    Send: G21
    Recv: ok 8
    [...]
    Send: G90
    Recv: ok 8
    [...]
    Send: M82
    Recv: ok 8
    [...]
    Send: G28
    Recv: ok 8
    Recv: busy:processing
    Recv: busy:processing
    Recv: busy:processing
    Recv: busy:processing
    Recv: busy:processing
    Recv: busy:processing
    Recv: X:0.00 Y:0.00 Z:0.000 E:0.0000
    [...]
    Send: G1 Z0
    Recv: ok 8
    [...]

    When this is done nozzle is about 10mm above bed. Probably 9.92mm.

  • With autoleveling I always say use dev since it has most fixes. There are hundreds of combinations so from time to time we detect a case that has problems.

    Then I assume you have z max homing, so you need to run G32 S2 to compute correct z length. 
    If you have then after G28 / G1 Z0 a distance you normally increase z probe height with the remaining height and rerun G32 S2 and the it should be close to bed and our thought on correct value might have been wrong. That is always hard to say remotely.
  • I am using latest dev.

    I do not have Z max homing yet.

    I actually have mounted hardware for dual Z max but not enabled any of it because I want a fully working printer and need to print one more bracket to get Z max to work reliable.

    Will Z max homing maybe fix my issues? I could hack together something to enable a single Z max endstop.
  • edited October 2016
    I just enabled Z max endstop. G32 S2 did not go to Z max. But G29 S2 did and it recorded Z height.

    Recv: Info:Reset Z height
    Recv: Printer height:273.37
    Recv: Info:Autoleveling enabled

    Doing:
    G21 ;metric values
    G90 ;absolute positioning
    G28; Home Axis
    G1 Z0 ; move nozzle close to bed

    Nozzle is still ~1cm from bed. In Video it looks like the G1 Z1 is ignored:


    Log:
    Send: N0 M110 N0*125
    Recv: ok
    Send: N1 G21*27
    Recv: ok 1
    Send: N2 G90*18
    Recv: ok 2
    Send: N3 G28*16
    Recv: ok 3
    Send: N4 G1 Z0*102
    Recv: busy:processing
    Recv: busy:processing
    Recv: busy:processing
    Recv: busy:processing
    Recv: busy:processing
    Recv: X:0.00 Y:0.00 Z:0.000 E:0.0000
    Recv: ok 4
  • How do you then home? Dual z min + z probe is nothing you can expect to work. For z min homing with z probe the z probe MUST be the z min endstop. Dual z endstops will always change x axis rotation to fixed rotation, but with z min homing you wait for z endstops which have nothing to do with z probing results, henze the requirement to use z probe for z min in that case.
  • Is my writing that confusing :)

    Yesterday I enabled Z max homing and before that I had only Z probe (as Z min).

    But I figured what config setting that keeps the nozzle 10mm from bed. I had ENDSTOP_Z_BACK_ON_HOME 10. I set it to 0 and now I'm printing fine.

    should I need to add the 10mm ENDSTOP_Z_BACK_ON_HOME to the Z_PROBE_HEIGHT to compensate? I would like to have a value in ENDSTOP_Z_BACK_ON_HOME to protect my bed if my kids turns one of the Z lead screw couplers.








  • I don't have time to reread treads every time so I sometimes mix it with other questions:-)

    ENDSTOP_Z_BACK_ON_HOME is only for top endstops usefull and required. When calculating the z length it is considered. For z min it would in deed go up 10mm after triggering z min so there it makes no sense.

    Your kids protection can only be dual z max endstops. No way to detect it otherwise and so it will be fixed on next homing.
  • Ok, 

    whats the best way to have at least 5 mm space between nozzle and head at all times? 

    Is it possible to add a G1 Z5 command to the end of G28 in some template? 
  • You can do that in slicer start code. Normal G28 will always go down complete way (or up with your max endstops).
  • strips said:
    Ok, 

    whats the best way to have at least 5 mm space between nozzle and head at all times? 

    Is it possible to add a G1 Z5 command to the end of G28 in some template? 
    I do similar in my slicer end code script, or you can add it to Z_PROBE_FINISHED_SCRIPT.

    I have ENDSTOP_Z_BACK_ON_HOME=0 but still have the nozzle hovering about 1.5mm above the bed, so I still need to tweak that.  Are you using an inductive sensor? what values do you have for 
  • shaiss said:
    I do similar in my slicer end code script, or you can add it to Z_PROBE_FINISHED_SCRIPT.

    I have ENDSTOP_Z_BACK_ON_HOME=0 but still have the nozzle hovering about 1.5mm above the bed, so I still need to tweak that.  Are you using an inductive sensor? what values do you have for 
    I got a pretty good Z offset value now and things are sane. 
    ENDSTOP_Z_BACK_ON_HOME=0
    Z_PROBE_HEIGHT=1.35 <-- the exact distance between bed and nozzle when IR triggers. You could determine this with babystepping and some math.


Sign In or Register to comment.