Hangprinter help on duet 3



  • Hi,
    I am trying to build a hangprinter v3 with a duet 3, raspi 3b and hemera with a Volcano. It's using Nema 23s on all axis except for the one on the hemera. So far I have the ABCE motors moving the correct direction and the extruder heater working. The D is acting weird. When I send g1 s2 u10 the D motor starts moving forward and doesn't stop till I hit e-stop. If I send g1 s2 u-10 the D motor moves forward and doesn't stop till I hit e-stop. None of the steps or movements are actually calibrated yet. I'll look at that once everything is at least moving the correct direction.

    Any suggestions are appreciated.
    Thanks

    Here is the config file:
    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 02 2020 14:18:25 GMT-0600 (Central Standard Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Duet 3" ; set printer name

    ; Drives
    M569 P0.0 S0 ; physical drive 0.0 goes forwards
    M569 P0.1 S1 ; physical drive 0.1 goes forwards
    M569 P0.2 S0 ; physical drive 0.2 goes forwards
    M569 P0.3 S1 ; physical drive 0.3 goes forwards
    M569 P0.4 S1 ; physical drive 0.4 goes forwards
    M584 X0.0 Y0.1 Z0.2 E0.3 U0.4 ; set drive mapping
    M669 K6 A0.0:-2000.0:0.0 B1732.0:1000.0:0.0 C-1732.0:1000.0:0.0 D2000.0 P1000.0
    M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z80.00 E420.00 U80.00 ; set steps per mm
    M566 X900.00 Y900.00 Z900.00 E120.00 U900.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z6000.00 E1200.00 U6000.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z500.00 E250.00 U500.00 ; set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E800 U1000 I60 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 Z-5 S1 ; set axis minima
    M208 Z1000 S0 ; set axis maxima

    ; Endstops
    ; WARNING: No endstops configured

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X50:950 Y50:950 S200 ; define mesh grid

    ; Heaters
    M308 S0 P"temp1" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp1
    M950 H0 C"out1" T0 ; create nozzle heater output on out1 and map it to sensor 0
    M143 H0 S270 ; set temperature limit for heater 0 to 270C
    M307 H0 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M140 H-1

    ; Fans
    M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
    M106 P0 S0 H0 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
    M106 P1 S0 H0 ; set fan 1 value. Thermostatic control is turned off

    ; Tools
    M563 P0 S"Extruder" D0.3 H0 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    ; Custom settings are not defined

    ; Miscellaneous
    M501 ; load saved parameters from non-volatile memory
    T0 ; select first tool


  • Moderator

    Just as an alternate avenue for inquiry, have you been to the hang printer hangout at the reprap forums?

    https://reprap.org/forum/list.php?423



  • Thanks. I'll take a look on there too.

    It seemed like this was the better place to start since the original design used marlin on a mega and I'm trying to use RepRap on the duet 3.


  • Moderator

    I think you'll find many people on there using Duet as well. You may be the first using Duet3 though?


  • administrators

    @Shinomori said in Hangprinter help on duet 3:

    Thanks. I'll take a look on there too.

    It seemed like this was the better place to start since the original design used marlin on a mega and I'm trying to use RepRap on the duet 3.

    Although the standard firmware includes HangPrinter kinematics support, I know that the creator of HangPrinter has a fork of RRF with more advanced support. I don't know whether he has ported this to RRF3 yet. I suggest you get in touch with him, https://www.hangprinter.org/contact.



  • @dc42 said in Hangprinter help on duet 3:

    @Shinomori said in Hangprinter help on duet 3:

    Thanks. I'll take a look on there too.

    It seemed like this was the better place to start since the original design used marlin on a mega and I'm trying to use RepRap on the duet 3.

    Although the standard firmware includes HangPrinter kinematics support, I know that the creator of HangPrinter has a fork of RRF with more advanced support. I don't know whether he has ported this to RRF3 yet. I suggest you get in touch with him, https://www.hangprinter.org/contact.

    I didn't know he was working on a RRF fork. I'll take a look. Any thoughts on what is wrong with my config were the U axis doesn't move like the XYZ do?

    Thanks


  • administrators

    @Shinomori said in Hangprinter help on duet 3:

    When I send g1 s2 u10 the D motor starts moving forward and doesn't stop till I hit e-stop.

    Did you send G91 to put the machine in relative coordinate mode before you sent G1 H2 U10 or G1 H2 U-10 ? If you didn't then the machine will try to move to absolute coordinates, which is almost certainly not what you wanted.



  • @dc42 said in Hangprinter help on duet 3:

    @Shinomori said in Hangprinter help on duet 3:

    When I send g1 s2 u10 the D motor starts moving forward and doesn't stop till I hit e-stop.

    Did you send G91 to put the machine in relative coordinate mode before you sent G1 H2 U10 or G1 H2 U-10 ? If you didn't then the machine will try to move to absolute coordinates, which is almost certainly not what you wanted.

    That was it. Must have missed it with all the rebooting. Thanks! Got all the axis moving correctly now. Just need to fine tune the movement amounts. (And get a more reliable router. Spent all yesterday not able to connect to printer. )


  • Moderator

    Please post some photos of the first duet 3 hang printer.



  • Hi. I am working on to build a recent HangPrinter with Duet 2 Ethernet v1.04 and MisfitTech Smart Stepper (Mechaduino Fork). I am checking a lot of software stuff due to major and minor compability and accuracy problems. I think with Duet 3 Firmware there seem to exist different difficulties

    What i found so far:

    if you want to use Smart Stepper there is also official firmware and some custom fork of Torbjörn. He implemented torque control mode.

    when i proceed i will try to share my config json. Because at the moment the basics are missing or are stored in hard-to-find places 😞


  • Moderator

    @vmario89 said in Hangprinter help on duet 3:

    the official docs say that Duet 3 Firmware does not fully support HangPrinter yet. So use Version 2.x (see https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareHangprinter - there is written "Hangprinters are supported in RepRapFirmware 1.20 beta 11 and later. RRF3 currently lacks support.")

    I actually updated that based on DC42s comment above, but I think I mistook him to mean RRF3 doesn't support the hang printer, when in fact he was indicating that Torbjörn's fork hadn't been ported to RRF3 yet. Now that may amount to the same thing in the end depending on how critical Torbjörn's modifications are.


  • administrators

    I ported many of Torbjörn's changes for Hangprinter to RRF. I stopped when he added the Mechaduino features, because they take over additional ports and thereby affect the normal features of RRF. If Torbjörn can provide me with a PR for RRF3 that doesn't affect other users (preferably with changes only to the HangprinterKinematics module) then I will gladly merge them into the next RRF3 beta.



  • Thanks for the input guys.
    Here's what it looks like now. Still on the bench till I get the firmware settings at least somewhat sorted.
    IMG_20200202_141717.jpg

    We're wanting to print something about 250mm x 250mm x 250mm for the first test. Then will be scaling that print up to 1m(which will need moving anchors and more serious extrusion).

    @dc42 said in Hangprinter help on duet 3:

    I ported many of Torbjörn's changes for Hangprinter to RRF. I stopped when he added the Mechaduino features, because they take over additional ports and thereby affect the normal features of RRF. If Torbjörn can provide me with a PR for RRF3 that doesn't affect other users (preferably with changes only to the HangprinterKinematics module) then I will gladly merge them into the next RRF3 beta.

    Just to clarify. How much of implementation is there in RRF3 for the hangprinter? Same as in the dozuki? Or does it have any of the extra parts that Torbjörn added in his fork?

    Thanks


  • administrators

    @Shinomori said in Hangprinter help on duet 3:

    Just to clarify. How much of implementation is there in RRF3 for the hangprinter? Same as in the dozuki? Or does it have any of the extra parts that Torbjörn added in his fork?

    It doesn't have the Mechaduino torque mode support, and I think it may not have spool build-up compensation either.



  • @dc42 said in Hangprinter help on duet 3:

    @Shinomori said in Hangprinter help on duet 3:

    Just to clarify. How much of implementation is there in RRF3 for the hangprinter? Same as in the dozuki? Or does it have any of the extra parts that Torbjörn added in his fork?

    It doesn't have the Mechaduino torque mode support, and I think it may not have spool build-up compensation either.

    Ok. That means there's plenty already in for our "proof of concept" phase. Thanks!



  • We got it set up briefly to demonstrate the concept.
    IMG_20200215_125316 -2.jpg
    And had to tear down again to move locations. It was never intended to print at this spot.

    But we got all axis moving and the correct amount of feed on each roll and the extruder. Something was a bit off with the calibration because as it moved some lines would end up with more tension and eventually skip steps or cause other lines to get slack.

    On the config are the anchor points measured from the nozzle 0,0 to the center between the pulleys or from the corners on the A/X side to the closer pulley on the anchors?

    We are hoping to get printing next time we get it setup.

    Thanks


  • administrators

    AFAIR, in the configuration X0 Y0 is the position below the D anchor.

    Have you read https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareHangprinter ?



  • @dc42 said in Hangprinter help on duet 3:

    AFAIR, in the configuration X0 Y0 is the position below the D anchor.

    Have you read https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareHangprinter ?

    Yep I've gone through it many times and other hangprinter build guides. I haven't yet gone through the whole thread on the reprap forum, but I'm working on it. I'll draw a picture to better ask my question.

    My under standing is that in Marlin the config is like this:
    Measure Marlin.png
    Where the anchors are measured from the string connection points on the corners of the frame.

    Does the reprap config work the same or is it more like this:
    Center point measure.png

    Where 0,0 is the tip of the nozzle and the red lines are reference for the anchors.

    Thanks


  • administrators

    @Shinomori said in Hangprinter help on duet 3:

    Does the reprap config work the same or is it more like this:

    Where 0,0 is the tip of the nozzle and the red lines are reference for the anchors.

    It's like your second diagram, where (0,0) is the position right below the D anchor. Calling 0,0 the position of the nozzle doesn't make sense, because the nozzle moves.



  • Hey, i am working hard to get my Hangprinter working too and doing it with Duet 2 firmware. Neithertheless i figured out that the offical documentations lacks information about the M669 command and it's configuration parameters to use

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M669_Set_kinematics_type_and_kinematics_parameters

    There is a huge line in config.g (can also be forced to generate by M500 command which write config_override.g). This looks like M669 K6 A0.000:-2000.000:-100.000 B2000.000:1000.000:-100.000 C-2000.000:1000.000:-100.000 D3000.000 P2000.0 Q0.007000 R55.000:55.000:55.000:55.000

    ABCD are the anchor point locations

    But what are P, Q and R values?

    cheers, Mario


  • administrators

    P is the print radius. I don't know what Q and R are because they are not supported by the standard firmware. I guess the creator of Hangprinter added them in his fork. Possibly something to do with spool build-up compensation. Best ask him.



  • Hi,

    finally our printing is working and documentation for a lot of stuff can be found here > https://wiki.fablabchemnitz.de/display/TH

    We did not use Duet 3 firmware but there you can find different topics about things like motor wiring, math, coordinate system, PID tuning, etc.


  • administrators

    I'm glad you got it working!

    I presume you used the RRF firmware fork from the creator of Hangprinter. We'd love to incorporate many of the improvements he has made to Hangprinter support in that fork into our standard build. Unfortunately, in that fork he repurposes the UARTs (to drive Mechaduinos in torque mode AFAIR), which makes it incompatible with normal use of RRF.

    Duet/RRF do support I2C, so I don't know why I2C wasn't used. However, i2C is generally a bad choice for connecting different devices because it has no noise immunity. It was designed for interconnecting ICs on the same board only.


Log in to reply