Most recent Marlin version adapted for the Deltaprintr

Discussion in 'Firmware Mods' started by torsti76, Apr 28, 2016.

  1. torsti76

    torsti76 Member

    Joined:
    Mar 11, 2014
    Messages:
    91
    Likes Received:
    29
    Jim,

    to me this sounds like a leftover setting in your board's EEPROM.

    On the printer's LCD menu go to Settings -> Restore failsafe. This should fix it.

    The fail safe values are set Marlin/Configuration.h (lines 736 ff.)

    Code:
    #define DEFAULT_AXIS_STEPS_PER_UNIT {XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 109.4} // default steps per unit for Deltaprintr
    #define DEFAULT_MAX_FEEDRATE {200, 200, 200, 25} // (mm/sec)
    
    The last value in both arrays is for the extruder motor.

    HTH,
    Torsten
     
  2. MrMr

    MrMr New Member

    Joined:
    Mar 2, 2015
    Messages:
    3
    Likes Received:
    0
    Hi Torsten,

    I pulled my Deltaprintr out of the closet today as I came across your updated firmware in the hopes of getting my printer to function. My LCD has never worked so in the past I used Octoprint on a Raspberry Pi for the print server for a short while till the power supply failed. I have a E3Dv6 hot end and in your README.md for the configuration file choice you say to "Double check MANUAL_Z_HOME_POS by slowly lowering the hotend. If the nozzle touches the bed before the LCD shows 0.00 (or less) for the Z axis, you have to substract the shown value from MANUAL_Z_HOME_POS and re-install the firmware."

    Do you know of a way to read this data any other way?
     
  3. torsti76

    torsti76 Member

    Joined:
    Mar 11, 2014
    Messages:
    91
    Likes Received:
    29
    Hi MrMr,

    yes, actually I do know a way to determine the value. :)

    The Arduino UI has a "Serial Monitor" in the "Tools" menu.
    • Connect your printer as you would do to upload the firmware.
    • Place a sheet of ordinary paper on your printer's bed.
    • Open the serial monitor.
    • Some status lines will appear.
    • In the upper (or lower, don't remember exactly) bar of the window, there's an input field.
    • Issue G commands as follows (ignore everything after and including the #)
    Code:
    G28                      # Home
    G1 Z30 F2000   # Lower Z fast to 30 mm above "known zero"
    
    Now, gradually lower the head by issuing G1 commands with ever decreasing values after Z and a slow feedrate given with F (I'd recommend no more than 150). Always keep in mind that the value you write after Z is an absolute position above the currently known zero level! So,

    Code:
    G1 Z5 F150
    
    does NOT lower your printer's head BY 5 mm, but rather TO 5 mm above zero.

    As soon as your nozzle touches the sheet of paper, note your last Z value and substract that from MANUAL_Z_HOME_POS. Note, that Z accepts floating point values, so you can issue sth. like:

    Code:
    G1 Z2.4 F150
    
    without problem.

    HTH,
    Torsten
     
  4. MrMr

    MrMr New Member

    Joined:
    Mar 2, 2015
    Messages:
    3
    Likes Received:
    0
    Hi Torsten,

    Thank you for the advice!

    Serial Monitor was not working to send G commands in Arduino but I found one in the Repetier Server that I used.
    The default values for MANUAL_Z_HOME_POS were low and increased the it from 325 to 335 before performing the offset test and change successfully as Z0 was a centimeter above the paper.

    Which settings take precedence in this case. The values defined in the firmware or the values entered into the printing software configuration?

    I have set everything up. Hot end calibrated via PID autotune and the configuration.h updated.

    Now when trying to print a test object but it suddenly stops when it reaches printing temperature. I hear a click from the board Seems like the board is restarting according to the serial output.
    This was the same issue last time which is what made me pack the printer away. I assumed i had made some bad changes in the firmware and lost interest since i had spend hours updating the settings.
    I switched to a bench power supply now capable up to 10A since i read that the stock power supply was not capable enough sometimes.

    Ill put the repetier server onto a raspberry pi since that was working for a while last time though i do suspect it may be a hardware issue.

    Thanks for your help
     
  5. torsti76

    torsti76 Member

    Joined:
    Mar 11, 2014
    Messages:
    91
    Likes Received:
    29
    Hi,

    the ones that were entered while configuring.

    That's not good and sounds like a hardware issue to me.

    Maybe Shai or another member of the Deltaprintr team can shed some light here?

    Sorry,
    Torsten
     
  6. MrMr

    MrMr New Member

    Joined:
    Mar 2, 2015
    Messages:
    3
    Likes Received:
    0
    Doesn't seem to be hardware anymore as it is now attempting to print.
    After the auto bed leveling completes the hot end judders significantly and moves as if it is following a diagonal plane and digs into the bed.
     
  7. mildmojo

    mildmojo Active Member

    Joined:
    Jan 31, 2015
    Messages:
    327
    Likes Received:
    114
    What are you trying to print, and where on the bed?
     
  8. denys

    denys Active Member

    Joined:
    Apr 20, 2014
    Messages:
    659
    Likes Received:
    176
    Have you checked that he drive reel screws are tight?
    If there is any slop on the reels you will get the hot end dragging on the bed. Also the tension of the drive lines is important. There should be no backlash in the drive anywhere. Printing the top tension adjusters is a must. Here is the version I used....
    http://www.thingiverse.com/thing:744652
    But this newer one may be better...
    http://www.thingiverse.com/thing:1301660
     
    Last edited: Sep 17, 2016
  9. Jim Sargent

    Jim Sargent New Member

    Joined:
    Sep 21, 2015
    Messages:
    16
    Likes Received:
    1
    Hello all,

    So I followed Torsten's suggestion and reset Fail safes, but I also searched through DP FW and discovered it had the following:

    #define DEFAULT_AXIS_STEPS_PER_UNIT {57.8053,57.8053,57.8053, 94.5}
    #define DEFAULT_MAX_FEEDRATE {200, 200, 200, 25} // (mm/sec)

    I left the XYZ Steps as Torsten defines but I changed the E Steps to the 94.5 (not the 109.4).

    I'm still getting flow rate problems though.

    Any other suggestions?

    Thanks
    Jim
     
  10. Matthias Peschek

    Matthias Peschek Active Member

    Joined:
    Nov 1, 2015
    Messages:
    281
    Likes Received:
    70
    Is there a configuration variant for the website Version?
    What do I have to edit in order to get the new right dimensions in the configuration.h?

    Tanks alot!

    Edit:
    I compared the original firmware of the website version with the new configuration.h file.
    Seems to work very well now.
    Plus, I realised you can change the language :)
    Also I took the configuration.h and advanced from the e3dv6 folder so I have not to struggle with PID tuning.

    So here's what I changed in the configuration.h


    I left the original values and commented them out so I could go back to them

    Code:
    
    line 375 to 391
    // Center-to-center distance of the holes in the diagonal push rods.
      #define DELTA_DIAGONAL_ROD 200.0 // 255.0mm
    
      // Horizontal offset from middle of printer to smooth rod center.
      #define DELTA_SMOOTH_ROD_OFFSET 149.9 // 184.9 mm
    
      // Horizontal offset of the universal joints on the end effector.
      #define DELTA_EFFECTOR_OFFSET 19.94 // mm
    
      // Horizontal offset of the universal joints on the carriages.
      #define DELTA_CARRIAGE_OFFSET 30.0 // mm
    
      // Horizontal distance bridged by diagonal push rods when effector is centered.
      #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET)
    
      // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
      #define DELTA_PRINTABLE_RADIUS 88.9 //127.0
    
    
     line 707 and 708
    #define MANUAL_Z_HOME_POS 255.0 // For delta: Distance between nozzle and print surface after homing. 
                                      // E3Dv6 all metal hotend setting
    
    
    line 738
    #define XYZ_STEPS                     57.8053 //56.45
    
    line 741
    #define DEFAULT_AXIS_STEPS_PER_UNIT   {XYZ_STEPS, XYZ_STEPS, XYZ_STEPS, 435}  //I use the e3DTitan Extruder thats why I set the e-Steps to 435
     
    Last edited: Oct 18, 2016
  11. Jim Sargent

    Jim Sargent New Member

    Joined:
    Sep 21, 2015
    Messages:
    16
    Likes Received:
    1
    Hello All,

    I restored "#define DEFAULT_AXIS_STEPS_PER_UNIT" to Torsten's 109.4, and Restored Failsafes (multiple times), and I am still having feed problems. I also set the steps in Cura to Torsten's 109.4, thinking the g code might set it down. I've yet to get it feeding right.

    I'm curious if anyone else has any suggestions?

    Thanks
    Jim
     
  12. jangrewe

    jangrewe Member

    Joined:
    Mar 11, 2014
    Messages:
    54
    Likes Received:
    10
    @torsti76, i'm having a strange issue now. My DP was asleep for some time now because i got myself an Original Prusa i3 MK2 (sweet baby jesus, that thing is awesome!), and i now wanted to get my DP back on the road so that i can print on both in parallel...

    Anyways, i cloned your repo, copied the config files from the e3dv6 folder, changed the Z offset from 325 to 335 (which actually brings the hotend down to the build plate at exactly 0 for me), compiled, flashed, reset to factory defaults, ran the PID tuning, save to the EEPROM, went down to 0 again (worked as expected, tested with a sheet of paper), loaded up a STL in OctoPrint, sliced it, hit the "Print" button, it ran the bed leveling dance and ...

    ... well, that was a bit awkward! After the bed leveling it went to the center and from there it moved to ~2 o'clock at the edge of the bed while climbing up a bit, then went all the way up to its homing position and just kept going, bunching the fishing line on the reels until i pulled the power plug.

    I have no idea what the hell went wrong, i can remember that your FW worked fine for me some time ago. I did some fiddling around with it, that's why i started from scratch straight from your repo.

    Any ideas what this could be?

    Thanks!
     
  13. holmes4

    holmes4 Active Member

    Joined:
    Jan 5, 2014
    Messages:
    274
    Likes Received:
    64
    Do you have G28 before the G29 in the start code?
     
  14. jangrewe

    jangrewe Member

    Joined:
    Mar 11, 2014
    Messages:
    54
    Likes Received:
    10
    yes, i'm actually using the original Cura profile with only a couple of minor tweaks, but unchanged start g-code:

    Code:
    start.gcode =
        ;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {fill_density}
        ;Print time: {print_time}
        ;Filament used: {filament_amount}m {filament_weight}g
        ;Filament cost: {filament_cost}
        ;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line
        ;M109 S{print_temperature} ;Uncomment to add your own temperature line
        G21        ;metric values
        G90        ;absolute positioning
        M107       ;start with the fan off
        G28   ;move to endstops
        G29
        G92 E0                  ;zero the extruded length
        G1 F{travel_speed}
        ;Put printing message on LCD screen
        M117 Printing...
    
     
  15. PJ White

    PJ White New Member

    Joined:
    Mar 27, 2016
    Messages:
    4
    Likes Received:
    0
    Hello and Happy New Year to all.

    Were you (or anyone else) ever able to test this successfully. I have successfully been using the RC6 build from Torsten.

    Thought I'd try your version. I replaced only marlin_main.cpp and edited my existing configuration.h as per your instructions (although I wasn't sure if your two added lines belonged at the very beginning of the BED AUTO LEVELING section or elsewhere).

    Compiled OK.

    I have the WB version. The head keeps pushing down even when FST reading goes from resting 50 to over 80 and the bed is being pushed down until I pull the plug. As noted above auto-level using the Torsten version from the beginning of this discussion works.

    Thanks.
     
  16. Outdooradventureman

    Outdooradventureman Member

    Joined:
    Mar 5, 2016
    Messages:
    43
    Likes Received:
    8
    Did you ever complete this?
     
  17. Ian Brennan

    Ian Brennan Member

    Joined:
    Mar 15, 2014
    Messages:
    81
    Likes Received:
    17
    I have the same question - has anyone completed an updated version of Marlin?
     
  18. torsti76

    torsti76 Member

    Joined:
    Mar 11, 2014
    Messages:
    91
    Likes Received:
    29
    Yes, it was completed and worked fine. However, it was expensive to make and the FSRs aren't so terribly heat sensitive, that they'd really need this kind of treatment. My new printer (Kossel 250VS BSE by Ultibots) just uses 1.1 mm silicone pads that are glued on top of the FSRs as heat shields. The heated bed then rests directly on top of those silicone pads.
     
  19. torsti76

    torsti76 Member

    Joined:
    Mar 11, 2014
    Messages:
    91
    Likes Received:
    29
    The version I created worked for me - it's still available in my github repository. However, my Deltaprintr is terribly broken mechanically for a while now and I don't have neither time nor intention to resurrect it.
    My new printer uses Smoothieware which is much, much easier to handle than Marlin.
     
  20. PJ White

    PJ White New Member

    Joined:
    Mar 27, 2016
    Messages:
    4
    Likes Received:
    0
    Thanks for the reply. There was bound to be an end to work on this, but thanks for all your efforts. Enjoy the new printer!
     
Loading...

Share This Page