Page 2 of 2 FirstFirst 12
Results 11 to 14 of 14

Thread: Hemera Direct Drive and Hot End

  1. #11
    Join Date
    May 2007
    Location
    New Jersey
    Posts
    1,416
    Post Thanks / Like

    Default Re: Hemera Direct Drive and Hot End

    Took a couple days, but I got the configuration files edited and the firmware compiled and installed. Now I’ve got a good base to work from so I can start the calibrations required. I see an error in the information window, but I found something on Reddit that makes me think it will be dealt with when I get some values from the calibrations, that need to be added to the firmware and flashed to the printer. The biggest problem I’ve found so far is there is no single post or YouTube that has these five things: Ender 5, SKR Mini E3 V2.0 motherboard, TFT 43 V3.0 touch screen, Hemera Extruder/Hotend, and a BLTouch probe. In fact, there are only a few with any two of them. Even less for the Marlin version of the firmware. So I’ve been stitching it together in steps. I started with the E5 base example, and added the BLTouch. It took 2 days to get it to the point it would Z_HOME in the center of the bed. I’ve got a little more work to make it probe the bed in the right places, but I’ve got notes for that. I’ve since added what I could find for the Extruder/Hotend, and I ran the temps up to low values just to ensure it was heating, and make the new E0 fan start up.

    Every step I’ve done since downloading the very first piece of software, I’ve documented in text with comments on what I understand. When I’m done I’ll put that all in this thread. At 60, my memory is starting to cloud easily. In fact, it took me thinking of the word “meter” to recall the word “calibrate” when I was writing this post. Even sadder, I had trouble recalling the word “meter” too. But I’ll tell you something. This Marlin software is some pretty cool stuff. If you’ve got one of these printers and want to get at the code there is a mountain of information about it. Wading through is a bit of a task if you go to extremes like I have here. But I’ve got a BLTouch hanging on the side of the stock Hotend of my Ender3, and it’s gonna be a breeze to hook it up and add it to the firmware now that I’ve got a leg up on the code. (Listen to me using techie buzzwords... “code,” I have no idea what code is doing, just how to remove // to enable something) Once that’s printing and compensating for the uneven print bed, I’ll print the steps and even post my configuration files.

    I figure another week and I’ll have the E5 done and working. Judging from the quality of the prints coming off the printer I tried to clone, I should have a very nice printer when I’m done. Every single Reddit post I’ve read about it on various printers was positive. (And it looks pretty awesome too!)

    Jeff
    Please consider becoming a Supporting Member of DIYC. Show your thanks to those who make this place possible.

  2. #12
    Join Date
    May 2007
    Location
    New Jersey
    Posts
    1,416
    Post Thanks / Like

    Default Re: Hemera Direct Drive and Hot End

    Everything is set up but the Start and End GCodes in Cura. I just really burned out this afternoon and took a break to watch TV. I tried to print something, thinking the Start GCode would be the same, but it seems the Ender5 bed is flipped in the factory board's firmware. It acted like an Ender 3 and tried to drive to the front left rather than the rear right. But the placement of the probe prevents it from reaching the Ender3 style start location. So when I can get back to it, I'll edit the Start and End scripts and try again. So close. I was really hoping to get some plastic on the bed tonight, but 4 straight days working on it has been a bit too much.

    Jeff
    Please consider becoming a Supporting Member of DIYC. Show your thanks to those who make this place possible.

  3. #13
    Join Date
    May 2007
    Location
    New Jersey
    Posts
    1,416
    Post Thanks / Like

    Default Re: Hemera Direct Drive and Hot End

    It was much worse than I imagined. The home point is flipped on a Ender 5. (It was what should've been changed first, so I had to do everything over again) But I'm going to start posting about each thing I had to do to get to the point where the printer knows where you want it to print... but still hasn't printed anything yet...

    These are notes from each step I took to get the Marlin Firmware to a point it can be edited, saved, compiled and flashed to the SKR Mini E3 V2.0.

    You need to Download Visual Studio Code and eventually Pronterface to do the following:
    To create PlatformIO Extension in VSCode:
    Download, Install and Launch VSCode.
    Click the extensions Icon (looks like 4 little boxes)
    In the search window type PlatformIO, then choose PlatformIO.IDE Install.
    Then click the Alien Icon in the right toolbar to go to the PIO Home.
    (At this point you should download the most recent Marlin files and configuration examples, look for “Marlin-bugfix-2.0.x” and “Configurations-bugfix-2.0.x” and Extract the zips to known folders, I used “Marlin-bugfix-2.0.VS” on the desktop so I would remember which folder I was working from rather than the default that could get confused) This is also a good time to choose your specific Config example and move them to the “Marlin” folder in “Marlin-bugfix-2.0.x” Mine was here: Configurations-bugfix-2.0.x/config/examples/Creality/Ender-5/BigTreeTech SKR Mini E3 2.0 The files needed were: _Bootscreen.h, _Statusscreen.h, Configuration.h, Configuration_adv.h. Overwrite the files of the same name in the “Marlin” folder.
    In the “PlatformIO Home’ tab under Quick Access choose “Import Arduino Project”
    In the folder window drill down to the folder you created, and select the Marlin-bugfix-2.0.x folder in it.
    Now you have to select a board to start. Choose “Arduino Mega or Mega 2560 AtMega 2560 (Mega 2560)” then click Import. Right now you're just picking a board, you'll select your specific board and environment later.
    Now PlatformIO will load and start up, with the folder that includes the platformio.ini, Configuration.h and Configuration.adv.h files you’ll need to edit in the window. To get to these folders just click the “folders” icon on the left bar at the top.
    CTRL + F to search, remove or add “//“ to enable or disable a feature.

    Next time, I'll add everything I changed to make the files I used work for the parts I have. After I'm done with this printer and it's working, I'll create Marin firmware for the Ender 3 and SKR Mini E3 V2.0 with the BLTouch that's been hitching a ride on the carriage and doing nothing but weighing it down...

    UPDATE: Printing now. It prints like a dream. I did a couple of the calibrations and found I need to edit some values in the firmware that limit the ability to do the tests. I’ll comment all that.
    Jeff
    Last edited by Jeff Millard; 04-07-2021 at 07:15 PM.
    Please consider becoming a Supporting Member of DIYC. Show your thanks to those who make this place possible.

  4. #14
    Join Date
    May 2007
    Location
    New Jersey
    Posts
    1,416
    Post Thanks / Like

    Default Re: Hemera Direct Drive and Hot End

    Here it is: All direction was taken from YouTube TeachingTech and Chris' Basement.

    The following describes the firmware changes I made for the Creality Ender 5, with a BTT SKR Mini E3 2.0, BLTouch and Hemera Extruder/Hotend.
    E = Enable D = Disable C = Change V = Verify

    Edit the platform.h to reflect the SKR Mini E3 2.0:
    C default_envs = STM32F103RC_btt

    Edit the configuration.h:
    C EXTRUDE_MAXLENGTH 40 (This is the distance from the gear to the nozzle)
    (EXTRUDE_MAXLENGTH affects the next two in configuration.adv.h)
    C FILAMENT_CHANGE_UNLOAD_LENGTH 40 (= to / less than EXTRUDE_MAXLENGTH)
    C FLIAMENT_CHANGE_FASTLOAD_LENGTH 40 (= to/less than EXTRUDE_MAXLENGTH)
    (When you edit the previous 3 values, you’ll limit your ability to do the Extruder test because it requires 120mm. I set it to 140 for all 3, then changed it back after the test was complete.)

    C DEFAULT_MAX_FEEDRATE {500, 500, 20, 120}
    E CLASSIC_JERK
    E&C TRAVEL_EXTRA_JERK 5.0
    C DEFAULT_EJERK 15.0

    The next changes will flip the default Marlin home direction settings to match the Ender 5. It’d be nice if someone would make some default changes to Marlin so you don’t have to spend 10 days experimenting until you find a way to make this work correctly:
    E USE_X_MIN_PLUG
    E USE_Y_MIN_PLUG
    D USE_X_MAX_PLUG
    D USE_Y_MAX_PLUG
    D INVERT_X_DIR
    D INVERT_Y_DIR
    C X_HOME_DIR -1 (sets Home at right)
    C Y_HOME_DIR -1 (sets Home at back)

    (Set the size of the bed. Bed is smaller due the the size of the Hemera, mounting and Probe)
    C X_BED_SIZE 224 (this is width of available nozzle to bed)
    C Y_BED_SIZE 212 (this is depth, available nozzle to bed) Once you’ve established the home location, measure the distance to the maximum available bed width and depth. This will be your X,Y_BED_SIZE and will determine Home and Bed Center for the BLTouch etc. Replace both top/back corner brackets with the blind type that go inside the T channel and print a bracket for the Y Stop Switch and you can recover some of the lost Y_BED_SIZE.

    V Z_MAX_POS 300 (Print height is 300mm for Ender 5 Pro)
    D //LEVEL_BED_CORNERS (this is disabled for BLTouch)
    N/C LEVEL_CORNER_HEIGHT 0.0 (unchanged as it’s inside the above “if” statement)
    V Z_SAFE_HOMING_X_POINT X_CENTER
    V Z_SAFE_HOMING_Y_POINT Y_CENTER

    BLTouch settings for configuration.h (I'm using the Probe in the Z Stop plug)
    E BLTOUCH
    E ENDSTOP_INTERRUPTS_FEATURE
    C NOZZLE_TO_PROBE_OFFSET {46, -4, -2.9} (these are my measured values)
    Some notes on this. The Marlin directions are backwards for the Ender 5. After the changes to invert the Home position to the right/back, everything (everyfrickinthing) inverts. Even the bed leveling procedure. On the Ender 3 it starts in the left/front and ends at the right/back, the Ender 5 is the opposite. After you make these changes in the firmware and flash them, they aren’t loaded into the EEPROM until you intentionally load them. There is more about this later.

    C PROBING_MARGIN 10 (this sets the hard edge of the probe area, well that’s the idea)
    (Look for PROBING_MARGIN_LEFT, RIGHT, FRONT, BACK to override this default of 10, I wanted 20 front and left so I set them later on in this list)
    E MULTIPLE_PROBING 2 (will probe twice at each grid location for improved results)
    E Z_MIN_PROBE_REPEATABILITY_TEST
    E AUTO_BED_LEVELING_BILINEAR (comment out all the others in this group)
    C GRID_MAX_POINTS_X 5 (Notice that the next line uses this setting to change the Y value to the same number.) This sets a 5 x 5 probe grid. Some use 4.
    E LCD_BED_LEVELING (threw error “Z Values not declared, this same issue has something to do with “ECHO: FADE HEIGHT 10.00” message in info window) After calibrations were completed I stopped getting the messages.
    E Z_SAFE_HOMING (this is required and probes the Z home in the center of the bed based on the above “CENTER”)

    Hemera settings for configuration.h
    C HEATER_0_MAXTEMP 300 (limited to 15 under, set to achieve the needed 285)
    C TEMP_SENSOR_0 5
    C DEFAULT_AXIS_STEPS_PER_UNIT {80. 80. 800, 400}

    configuration.adv.h
    E HOTEND_IDLE_TIMEOUT 5 (This has to be disabled during final tightening of the Hemera Hot End nozzle or it will stop heating during prep. Just increase time ‘5 to 15’ will do)
    E USE_CONTROLLER_FAN
    E&C CONTROLLER_FAN_PIN PC7
    C SLOWDOWN_DIVISOR 8
    E SHOW_REMAINING_TIME
    E USE_M73_REMAINING_TIME
    E ROTATE_PROGRESS_DISPLAY
    E PRINT_PROGRESS_SHOW_DECIMALS
    E STATUS_HEAT_PERCENT
    C E0_CURRENT 940 (for the Hemera Extruder, search for AXIS_IS_TMC(E0))
    E CANCEL_OBJECTS
    E&C PROBING_MARGIN_LEFT 20 (was PROBING_MARGIN)
    E&C PROBING_MARGIN_FRONT 20 (was PROBING_MARGIN) The four possible settings can be used if you want to probe a specific target on the bed.
    E BABYSTEPPING
    C BABYSTEP_MULTIPLICATOR_Z 0.5 (was 1)
    E DOUBLECLICK_FOR_Z_BABYSTEPPING
    E BABYSTEP_ZPROBE_OFFSET

    Final tightening of the Hemera Nozzle: Remove the Blue Silicon cover from Hot End.
    Set nozzle heat to 285. (I had to do this from the menu/knob based interface. The touch screen was only able to achieve 275) BE CAREFUL, EVERYTHING IS VERY HOT NOW!
    Let it sit for 10 minutes, but be aware the idle nozzle setting shuts the heat off around 2 minutes. This can be disabled, but I just kept an eye on it and as soon as the message came up I quickly turned the heater back to 285.
    Now use a wrench to hold the metal part of the Hot End and another to tighten the nozzle. Be careful not to rotate the Hot End, and don’t over tighten the nozzle, just snug.
    Turn off the heat, let it cool and it will seat the nozzle with the threaded sleeve so molton plastic can’t leak between the two. Now replace the Blue Silicon cover.

    Let’s talk about Firmware and the EEPROM. I’m the second person I know of, who made between 20 and 30 changes to the firmware over the course of 6 to 8 hours and flashed them to the printer over and over only to have nothing happen, because we didn’t know that you have to intentionally load and write them for the changes to be seen by the printer.
    The following is directly from the Marlin website:
    “By default, EEPROM is disabled. This is to avoid the “unintended consequence” of local developers making changes to the values in Source Code and then having the printer boot up using the EEPROM values instead. But note that if you have EEPROM enabled, you can load it with “factory defaults” (coming from the Source Code) using M502 followed by M500.
    M500 - store current settings in EEPROM for the next startup orM501. M501 - read all parameters from EEPROM, or undo changes. M502 - Reset current settings to defaults, as set in Configurations.h - follow with M500 to reset the EEPROM. M503 - Print the current settings – ‘‘Not the settings stored in EEPROM.’’”

    To sum up: Do your calibrations and get values for the Offsets. Place them in the Configuration.h, compile and flash it to the printer. Then hook up Pronterface and send an M502 to load the defaults, then send an M500 to write them to the EEPROM so they’ll stay. Remember that this clears everything and loads defaults you’ve set. Including PID, Bed Leveling data etc. Do a bed level before you print again, and PID data should be added to the GCODE for each specific filament type.

    TeachingTech has a list of calibrations on his website. search it and you can do all the required steps to get it dialed in.

    I was starting to wonder if it was worth the investment, but... now that it's working I have to say the quality of the prints is much better. Absolutely zero stringy threads dangling off things. No sagging. NO BED LEVELING! Perfect starts every time! So far I've done 10 prints with it and every one came out perfect. That's it. I'll stop boring you with the Hemera upgrade. But I have to add one more thing: I can print flexible materials now! :-)

    Jeff
    Please consider becoming a Supporting Member of DIYC. Show your thanks to those who make this place possible.

Page 2 of 2 FirstFirst 12

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •