Newbie (stepper related) questions…

  • I expect to be installing a duet/Ethernet board (and PanelDue) into a flashforge creator pro machine over the weekend. I hope to re-use all the components in the existing machine (such as heaters, thermocouplers, steppers, etc.) I've read the wiki pages (several times over) and I'm left with several questions in regards to steppers.

    I suppose I should start by explaining everything I currently know about my steppers. They are black and silver boxes with a rod sticking out. They each have 4 pins. X/Y/Z/A/B are rated for 850ma, but the Z is 400ma. They are currently configured (using the mightyboard and sailfish firmware) for approx 94 steps/mm on the X, Y, and Z axis, and approx 400 steps/mm on the two extruder (A/B) steppers. I've read that they are 1.8 angle. Flashforge uses cheap cables to connect them to the main board (so I keep a couple spares handy.) That's it!

    The wiki has a section on choosing steppers (which I read, but doesn't apply as I'll be using what's already in the machine for now.) That section talks about setting up currents, etc, but doesn't actually talk about HOW to configure currents, etc. I can't seem to find anything in the wiki that explains "how to tell duet what type of steppers are installed, how much power to shoot into them, etc." Can someone please explain this or point me somewhere that fills in that gap?

    The wiki documents connecting the steppers with "Each stepper motor connector has four pins. You must connect the two wires for one phase of the stepper motor between the two pins at one end of the connector, and the wires for the other phase to the two pins at the other end." It references the wiring diagram located here: Using the labels on the diagram, does the text instruction translate to "one phase plugs into 2A/2B and the other plugs into 1A/1B?

    There are lots of references to "microstepping." I have no clue whatsoever what that is. I think the flashforge creator pro used 1/16th microstepping, and the duet board defaults to the same - so I guess I don't have to even think about it? Or do I? (Just out of curiosity, if I were to change the microstepping to 1/32 instead of 1/16, would I have to double the steps/mm configuration done with M92?

    Going back to that "microstepping" thing - what does that really get me? Just more precision in stepping? If a single step is 1/94th of a mm (~0.01mm), and considering that I'm using a consumer level FDM based printer that works by squirting melted plastic out of 0.4mm hole, is there can anything be gained by having even smaller steps?


  • Lots of questions but it's really very simple. I'd guess your steppers plug into your existing board so plug them into duet the same way. You might or might not need to change the connector. The steps per mm are a bot confusing because all 3D printer boards actually mean micro steps per mm and assume 16x micro stepping. So if you use 94 steps per mm now, use the same on the duet. The default micro stepping is 16x with interpolation which will be fine. All it gives you is quieter motion.

    Set the motor currents to about 85% of the rated current so for those rated at 850mA use (8500.85=722) 700mA and for the 400mA one use (4000.85=340) 300 mA. Yo set motor currents with the M906 command

    I suggest you use the configuration tool to give you your starting configuration files

  • Okay, so I can really just not worry about the microstepping stuff for now! I found (here on the duet forum) a reference to the FFCP steppers and the current they are configured for by the sailfish firmware. (😞

    The MCP4018T-502E/LT digipots value is set to 118 for X, Y, A and B which gives Vref 1.75V (810mA max.), and 40 for Z which gives 0.60V (278mA max.).

    I've verified that these are indeed the digipot values I'm currently using, so it seems I can use:

    M906 X810 Y810 Z278 E810:810 // if I want to match the above numbers.  The "E" is for the two extruders

    (Or I can just plug the numbers into that neat configuration website and let it do the work for me.)

    That leads to my next question: What do I do if I don't have a Z probe? That configuration website doesn't seem to have any option to say "I don't have a Z-probe" and it appears that the generated config files assume one is present (even though I told it I have an Z end stop "at low end") For example, here's what it generated for my homez.g:

    ; homez.g
    ; called to home the Z axis
    ; generated by RepRapFirmware Configuration Tool on Fri Dec 29 2017 11:22:19 GMT-0500 (Eastern Standard Time)
    G91              ; relative positioning
    G1 Z5 F6000      ; lift Z relative to current position
    G90              ; absolute positioning
    G1 X15 Y15 F6000 ; go to first probe point
    G30              ; home Z by probing the bed
    ; Uncomment the following lines to lift Z after probing
    ;G91             ; relative positioning
    ;G1 Z5 F100      ; lift Z relative to current position
    ;G90             ; absolute positioning

    I'd think this should look more like the homex/homey files that move wildly to the the endstop (G1 S1 Z-100000 F1800), back off (G1 Z5 F800) and then go back to the endstop more slowly (G1 S1 Z-100000 F120.)

    So, is there a way to turn off anything related to the probe? No mesh compensation, etc? I can manually fix the homez and homeall files (assuming my guesses here are correct), but I don't want to later find I messed up something else by letting the firmware think I have a probe of some kind.

    Thank you. Again

  • Ref motor currents, your M906 looks OK but in real life, they will get rounded to the nearest 100mA I believe.

    It's an awfully long time since I used the configuration tool but IIRC for Z probe, there are a number if options, one of which is "Switch" so select that.

  • @deckingman:

    It's an awfully long time since I used the configuration tool but IIRC for Z probe, there are a number if options, one of which is "Switch" so select that.

    Thank you. Some more info for anyone finding this in a search:

    On the "endstops" page (where I select that the X, Y, and Z axis all use "active high" (NC) switches (and not Z-probe) there's also a section for z-probe, for setting probe X/Y offsets, and some tabs for the probe type. Setting this probe type to "switch", and changing the trigger heights to 0mm… results in a better homez and homeall script.

    They need changes, but at least all the gcodes that rely on a probe are gone.

    I wonder if I should keep running documentation on my experiences switching this FFCP to duet. Perhaps it would help the next person that comes along.

  • @garyd9:

    I wonder if I should keep running documentation on my experiences switching this FFCP to duet. Perhaps it would help the next person that comes along.

    I think it's always nice to help others. If you have the time, do a little mini guide perhaps and post it in the "My Duet controlled machine section" or the "Example setups and prints section"?

  • So… another question. (Eventually, I'll run out of questions and just start trying things. Sadly, my duet isn't going to get delivered today, so I have to wait until tomorrow before I start breaking things.)

    In the "reprap" world, it seems that an X/Y axis of 0,0 is in one of the corners of the build plate. I'm not sure which corner, but on an i3 clone, I think it was the front left corner. All absolute coordinates are positive numbers.

    In the makerbot/sailfish world, X/Y of 0,0 is dead center of the build plate, with coordinates moving negative toward the left/front of the plate and positive towards the right/rear of the plate.

    I actually prefer the sailfish system of 0,0 being the center. 0,0 is the origin. The center. All things flow from the center in different directions. It "clicks" in my head better.

    The web configuration tool appears to allow me to define the coordinate system like that by specifying negative numbers for min x and min y. My question is: Will I be causing myself any problems if I configure the duet like this? (Assuming my slicer cooperates. It should, as it slices for sailfish just fine.)

  • TBH, I've always had RepRap style printers where home is X=0, Y=0, Z0 so personally it would fry my brain having it any other way.

    But, homing is just determining a position in space and "telling" the control system where that is in relation to the bed\axes limits so I don't see any reason why you couldn't do it that way. It's just that normally (and of necessity) switches are physically positioned at one extremity or other of the axes so it's kind of logical to consider home to be at (or close to), the position where the switches trigger. i.e. either axis minimum (low end) or maximum (high end) but I can't think of any reason why it can't be mid way.

    Hopefully someone with more knowledge than I will step in and clarify it for you. If you don't get any other responses in a day or two, try starting a new thread with a different title as we've moved on from "stepper related" questions.


  • administrators

    Hi garyD, thank you for choosing the Duet.

    1. Please continue posting your experiences.

    2. I will have configtool changed so that "No Z probe" is an option. Meanwhile I suggest you select one of the existing options, then in the generated config.g file look for the M558 line and change the P parameter to P0.

    3. Yes you can make (0,0) the centre of the bed, by entering the appropriate minimum and maximum axis values in the General tab of configtool.

Log in to reply