Advanced Manufacturing, variable baby step tied to temperature.

We use ALCA 5  for our build plate.

All machines are leveled manually at full operating temperature, with no heat bed.

The only variable in the leveling process is the expansion of the 1/4” ALCA 5 bed.

Depending on ambient air temperature, the bed changes throughout the day.

The expansion/contraction of the ALCA 5 can be figured from the known ambient air temperature.

Is there a way to automatically change first layer bed to head distant, by using a known ambient air sensor thermistor to adjust in baby steps the first layer? 

So instead of having an auto level sequence, the head height is initially set by calculating the ambient air temp from a thermistor and adding or subtracting Baby steps prior to first layer printing.


  • Guess that should be done in firmware and not in host. But I'm not aware of such a function. Guess most use z probe and z min homing instead. This does no autoleveling but the reference start height is now determined by the current bed height by probe so this is included automatically.
  • Can you draw up a line of code to include this in Repetier?

    There would be a table of thickness that would correspond to the ambient air temperature. Let’s say .001, .002, .003 etc with each one representing a set temperature. This would be a constant and not change.

    ALCA 5 and MIC 6 would each have to be selectable because they have different thermal expansion properties, and this would be for 1/4” only, since this is the thinnest they make and 3/8” would be too heavy. Each different plate would have to use a different table reference.

    The type of thermistor would have to be selectable and of the highest quality.

    G28 and then the calculation for the heat expansion/contraction.

    There would need to be a G code for this because it would be needed after a multi-print process where the print head goes back to the bed to start a new print And would have to re calculate the temperature. This would truly be awesome since this is where and  when the expansion occurs the most. Sometimes by as much as +.04 mm which is a lot for a first layer. 

    This would be the answer to a multi head printer, instead of any type of bed leveling on a three point free floating bed.
  • Actually I don't really think the 5mm bed makes that big change. It is the complete printer construction that sums up to it. And the amount depends on the homing direction as well. Min homing makes less error since the length affected is shorter, but z length is in both cases also equally wrong.

    You are using Repetier-Firmware V1 for the printer? As I said this is something that should be solved in firmware. Start height would be needed to be corrected in homing sequence. Guess z/xy length correction should also be done at homing. It would change steps per mm set and that must be constant from time before homing until end of print. So a solution would measure ambient temperature before homing and on homing start recalculate the steps per mm and an z offset for start height.

    V1 firmware lacks the flexibility for this, also it would be possible to make a hack work. So I'm more thinking of adding this in V2 which is flexible enough to make an elegant solution for this. Currently both firmwares use therefore values that also get stored in eeprom which would be bad. I think best would be to make 2 sets of parameter - the basic ones and the effective ones that don't get stored to eeprom. Then I can make an extra class for ambient correction that can make the logic working best for the printer. Main parameter it depend on should be chamber temperature, bed temperature, extruder temperature and then linear corrections from a base temperature. 
  • This is interesting, and doable.
    I would need to furnish the data for the CTE of ALCA5 at 1/4” in real um’s. 

    Our machines are calibrated and monitored to very exact tolerances, and we have determined with a reasonable conclusion, that the ALCA5 is the biggest variable and here’s why. 
    Our printer only prints PLA so it’s very specific for our manufacturing. It’s not a do-all machine.
    We have no heated bed and our sides and top are all completely open. We have specialized hotends that incorporate 3 print heads that have a specific insulation factor and are precisely controlled with an optimized PID specifically for this head design.  What this does, is maintain a constant that is rock solid once operating temperature is reached. Each head is torqued and set with a deviance between each head of +/- .001 mm at operating temperature. The frame and body add no discernible changes to the Z axis over a 10deg f swing +/- the mediant temperature of 72deg f.  The PLA spooling actually changes more over this temp range than the machine does.
    So in the final results, the ALCA5 has the biggest change through expansion and contraction.
    We discovered that this expansion is also localized on the ALCA5 plate itself. We use two blowers ducted and compressed to 3 vents that cool the printed parts.  This action actually warms the bed up in this general area and adjacent printing areas, but not the sides of the bed.
    We have found that morning prints have a very prominent concentric first layer pattern then afternoon prints, which have almost no pattern at all in the first layer. The temperature swing is the variable that is causing the change. This all boils down to consistency in our quality control. The first layer is what the consumer will see everyday. 

  • Ok checked aluminium extension coefficient to be 24 x 10-6 so a 1/4" aluminium with 60° change will expend:
    24 * 10-6 * 6.35 * 60 = 0,009144 more then I thought also less then the +/-0.04mm you mentioned. Could it be that not evenly heating the bed makes it bend a tiny bit? That could increase the regular extension and also would match 
    > We have found that morning prints have a very prominent concentric first layer pattern then afternoon prints
    If it all goes just up the complete print would be squashed more or less the same. If you see such pattern it sounds more like center bends differently then the edges. And in the afternoon the complete bed has taken a more or less constant temperature so the bending effect from temperature gradient over xy has vanished going back to the regular pattern where all parts are equally squashed.

    In that case you need a z correction function depending on center and edge temperature. In V2 firmware that would be possible with small changes. We do this for distortion correction already so having an alternative module that computes distortion from temperatures and some equations would create a real time correction.
Sign In or Register to comment.