Thursday, 24 September 2020

Marlin 1.1.9 - Bed Levelling on a Heated Bed

 

Heated Bed - Bed Levelling 

A few days back, I was wondering if it mattered much if I did a bed leveling without heating the bed to 110C. Well, I thought it was OK when I printed the "X" sample (45 x 3 x 1.5 mm), as shown below. It looked great then.



I should have known that it was meant to be a "first-cut" to prove that the auto calibration and initial bed levelling worked. But, it should not be taken as a fuller test since the print subject was rather small.

Here is a short video of what happened when I did a larger print (100 x 100 x 2mm) after doing a new bed levelling WITHOUT first heating the bed.


You can see that a few portions, including the 100 x 100mm perimeter (this facing side) were not printed. At the other end, except for the triangle shaped hole, all seemed somewhat fine. So, I terminated the print, cleaned the bed and did a Bed Levelling again, after heating the bed to 110C.

The bed's thermistor read 110C and displayed the same figure on the printer's LCD. A fish-tank temperature probe that I inserted somewhat nearer to the center of the bed (below the heated aluminum plate) showed about 100C.

I don't know who to trust anymore.


Here is a photo of the same plate that was printed after Bed Levelling was done with a heated bed. Unfortunately, I did not record a video.


Ignoring the trailing filament that I did not clear up before printing, the general outcome is very good. I stopped the printing altogether as I realized that I had forgotten to coat the glass bed with my sugar/flour paste! It will take me a very long hard time to remove this print from the glass!!

So, in conclusion - at least for my Kossel, Bed Levelling must be done with a heated bed (if you are using a bed that needs to be heated). Oh yes, please remember to save your settings after performing the Bed Levelling.

For Marlin 1.1.9, Bed Levelling:

1.    Pre-heat your bed to required temperature

2.    Prepare >Bed Levelling >Level Bed  (it will take a short while)

3.    Prepare >Bed Levelling > Store Settings (so that after re-boot the settings are still there).

4.    Print all that you want!

Permanent Link: https://macro-passion.blogspot.com/2020/09/marlin-119-bed-levelling-on-heated-bed.html


Sunday, 20 September 2020

Delta Auto Calibration - Marlin 1.1.9 Upgrade

Catching Up With My Kossel Pulley

I realized that I have not been doing any update on my macro photography stuff for quite a while! In the first place, I should not have used "Macro-Passion".  Maybe, "Anything Can" is a better blog name so that I can write whatever topic I want. 

In fact, this time round I would like to touch on some of my experiences on the 3D Anycubic Kossel Pulley printer that I bought in 2017.

Here is a picture of the lanky printer. That green ABS filament spool you see on the left was bought at the same time as the printer. For a long while, I did not "humid-protect" it and hope that it will last well.


This affordable printer is a gem, considering that it is totally upgradable - which I did not do much on, until last week or so. I did change some wheels though and created a bearing-supported filament holder for the poor reel. I never regretted buying this printer.

Past two days, I was trying to move away from the 2018 .hex firmware that Anycubic support provides as a download. This firmware allows users to perform auto-levelling with a sensor probe. I have been using this version for about two years, on and off. But, I needed to make some changes at the source level. Too bad.

Auto Calibration - Marlin 1.1.9

So, I decided to search the trusty YouTube (again) and found Chris Ridley's video. It was easy to follow and I managed to download the firmware, change some parameters and perform the firmware upgrade. You can check out Chris', Delta Auto Calibration - Marlin 1.1.9 - Chris's Basement video here.

Yes. In short, it worked and I successfully got the Kossel Pulley's firmware upgraded. More on this exciting process below.

Some Confusing Actions

As for the downloading of the Marlin 1.1.9, I tried three versions, including the 1.1.x "bugfix" snapshot, because someone pointed out that this BUGFIX fixes all the errors and adjusts some parameters.

For all three versions, I encountered the same "endstop" error - where the home position is about 46mm below the actual home position.

Finally, I contacted Chris at his YouTube comment and surprisingly, got an answer within the hour. Well, you could say, minutes! I just needed to disable DELTA_HOME_TO_SAFE_ZONE. Yes. Just that and it worked.

Selecting The Right Version of Marlin

Eventually, I decided to use the BUGFIX version as I read that it resolves a few important issues. You may check this page that shows the differences between the version 1.1.x and bugfix-1.1.x (or try other comparisons) ==> https://github.com/MarlinFirmware/Marlin/compare/bugfix-1.1.x...1.1.x

Some slight differences are listed below:

1.    Someone says this, "The main difference I found is that 1.1.9 apparently has the hom speed settings too high. The config from 1.1-bugfix has corrected values. Also the bed size is corrected". This comment can be found here, https://www.reddit.com/r/ender3/comments/agolqg/which_version_of_marlin_to_flash_119_or_bugfix_11x/

2.    This portion of codes is different from Chris' screen shot and I suspect that it is okay to let it be as it seems to have what Chris has suggested.

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING (ANYCUBIC_PROBE_VERSION + 0 == 1) // V1 is NO, V2 is NC
#define X_MAX_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false  // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING Z_MIN_ENDSTOP_INVERTING

3,    As I needed a 110C heated bed for my ABS printing, I added (+20C) to the existing Bed_Maxtemp field so that I can input or select 110C later on at the printer's LCD. If this is not set, the most you can get is 105C ==> #define BED_MAXTEMP 130 

4.    I made this change for Pre-Heat menu: #define PREHEAT_2_TEMP_BED        110

Did It Work this Time?

I made all the changes as per Chris' video, and uploaded the BUGFIX 1.1.x into the Kossel. Also, Chris' mentioning of doing M502 and then a M500 from the Prontoface is good cautiousness which I appreciated.

The >Delta Calibration >Auto Calibration works fine. I did it on a clean non-heated glass bed. This glass bed sits on top of the aluminum plate. The total number of iterations was [11]! A staggering 11! So, it really took a while of coffee-drinking to wait it out.

Pre-Check of Parameter Values via LCD: 
Height level: >Prepare >Delta Calibration >Delta Settings, and the height is +313.00
Z-Offset: >Control >Motion > Probe Z Offset and the height is -17.15

Making Adjustment to the calibrated figures:
I checked, and found the nozzle at bed level is at +0.50.
- This was done via Prepare >Move Axis >Move Z >Move 10mm & 1mm & 0.1mm
My Cura layer height setting for almost all print was +0.20, so I decided to go for a +0.10 adjustment.
Therefore, -17.15 less (0.50 and 0.10) = -16.55
Switched back to Marlin, Configuration.h and adjusted the Z-Probe_Offset_From_Extruder from -17.15 to -16.55
Uploaded the changes back into the Kossel.
Did a M502 and M500 with Prontoface.
Heated up the bed to 110C and did a simple first print.
The result?




Thank you, Chris Riley!


AFTERNOTES
1. FINALLY: As always, any time you load in new firmware, always do the following: 
2. Control
3. Initialize EEPROM
4. Restore Failsafe (or Load Factory Setting)
5. Store Settings
6. Reboot the printer (Power off / Power on)

Permanent Link: https://macro-passion.blogspot.com/2020/09/catching-up-with-my-3d-printer-i.html