Using the RepRapFirmware Configuration Tool



  • Hi

    Hope I'm posting this in the right section. I'm converting an old K8400 to run Duet Wifi (and later to use e3d chimera / nimble zesty combo). The board is plugged in and connected, but I'm not sure about the next stage.

    I'm wondering if someone would mind walking me through the RepRapFirmware Configuration Tool.

    There are lots of settings in there, and despite the lengthy explanations in the Duet wiki I still not much wiser on what is the right value for my printer!

    Obviously there are some values in the example K8400 Configuration.h file in the Marlin github. But should I be using those or not? Is there an existing configuration I can use somewhere?


  • administrators

    You can start from the values in the Marlin sample config, just bear in mind that all speeds in RRF are in mm/min whereas some in Marlin are mm/sec.



  • OK, so I literally get stuck on the second page!

    So in the Configuration.h for the K8400 I have:

    [[language]]
    #define INVERT_X_DIR false
    #define INVERT_Y_DIR true
    #define INVERT_Z_DIR true
    
    ```On the configurator second page, it states 'Axis Direction' as forwards / backwards. I'm guessing here that I leave X as it is, but Y and Z as backwards?


  • The next part I have difficulty with is the motor driver (last column, 2nd page). Where do I find this out? Is it in the Configuration.h file?


  • administrators

    @biscuitlad:

    OK, so I literally get stuck on the second page!

    So in the Configuration.h for the K8400 I have:

    [[language]]
    #define INVERT_X_DIR false
    #define INVERT_Y_DIR true
    #define INVERT_Z_DIR true
    
    ```On the configurator second page, it states 'Axis Direction' as forwards / backwards. I'm guessing here that I leave X as it is, but Y and Z as backwards?
    

    Try that, you can always change it if some of the motors run backwards.


  • administrators

    @biscuitlad:

    The next part I have difficulty with is the motor driver (last column, 2nd page). Where do I find this out? Is it in the Configuration.h file?

    Leave it as the default: X0, Y1, Z1, E0-2, E1-4.



  • OK, thanks! Now for the endstops. I really can't find any information about them, either in the Configuration.h file or from Velleman. How can I find out the right values?

    The Marlin file has:

    [[language]]
    #define X_MIN_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define Y_MIN_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define Z_MIN_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define X_MAX_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define Y_MAX_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define Z_MAX_ENDSTOP_INVERTING true  // set to true to invert the logic of the endstop.
    #define Z_MIN_PROBE_ENDSTOP_INVERTING true 
    
    #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    
    // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
    // :{ 0:'Low', 1:'High' }
    #define X_ENABLE_ON 0
    #define Y_ENABLE_ON 0
    #define Z_ENABLE_ON 0
    #define E_ENABLE_ON 0 // For all extruders
    
    // Direction of endstops when homing; 1=MAX, -1=MIN
    // :[-1,1]
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1
    
    

    My problem is that I really don't know how all that translates to the configurator options: Endstop type & Endstop location


  • administrators

    It's hard to be sure without a higher resolution photo, but those look like optical endstops to me - can you confirm? In which case they are probably active high. In Marlin you have them configured as MIN endstops, which means they are at the low end.

    If those endstops were designed for 5V operation then they may need modification to make them work reliably on 3.3V. Also be aware that the pin order of the endstop connectors is quite likely to be different from your old controller board. You can test the endstops as described at https://duet3d.dozuki.com/Wiki/Connecting_endstop_switches#Section_Test_endstop_switches.



  • Yes, they are optical endstops. I can't find out what their rating is, but it looks like 5V on the old board wiring schematic.

    I've been assuming the values in the Marlin K8400 example config are correct. Is the reason to change them because the Duet treats them differently?


  • administrators

    There is no need to change the values in the config from the equivalent Marlin values. The X_ENABLE and so on in your Marlin config refer to the stepper drivers, not the endstop inputs.



  • OK, I've set them all to active low. I've had a look at your instructions to 'fix' 5v to 3.3v for optical endstops and it looks hairy to me - plus I've not got any resistors! So I'm praying they work as is…

    I'm sorry for so many questions - what about endstop location? How do I know if it's high/low end?

    I'm also puzzled by the homing speeds. In the file I have:

    [[language]]
    #if ENABLED(Z_SAFE_HOMING)
      #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
      #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
    #endif
    
    // Homing speeds (mm/m)
    #define HOMING_FEEDRATE_XY (50*60)
    #define HOMING_FEEDRATE_Z  (8*60)
    
    #define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
    #define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
    #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
    
    // X and Y axis travel speed (mm/m) between probes
    #define XY_PROBE_SPEED 8000
    
    // Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
    #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
    
    // Speed for the "accurate" probe of each point
    #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2)
    
    ```But in the configurator, you're asked homing speeds first pass, second pass, etc. ? And what is z dive height?

  • administrators

    This bit of your Marlin config:

    // Direction of endstops when homing; 1=MAX, -1=MIN
    // :[-1,1]
    #define X_HOME_DIR -1
    #define Y_HOME_DIR -1
    #define Z_HOME_DIR -1
    
    

    says they are low end.



  • Great, thanks! I would not be able to do this without your help…

    Could you make head or tail of all the homing speed stuff?

    In the meantime I have tried to test the optical endstops and they don't seem to register anything in the machine properties->endstop hit column. Guess that's not looking good for 3.3v? Dreading trying to scavenge caps / resistors off the old board. :-0


  • administrators

    SMD resistors are readily available. Do you have a soldering iron? Can you post high-res photos of both sides of one of the endstops, so that I can better advise you?



  • I'll try! I do have a soldering iron, but that's a like saying my dog has an egg whisk…

    If those are no good I can re-do them.



  • With the print head set mid X and bed low (not homed), I get:

    M119
    Endstops - X: at min stop, Y: at min stop, Z: at min stop, Z probe: not stopped

    So I'm assuming these optical end stops are no good or miswired?



  • In terms of the old board's wiring of the endstops:



  • Ah ha, all wired in reverse. 🙂

    Tested Y endstop and it seems to work. The LED is lit and goes on and off when triggered. Likewise for the z endstop. These show up on the Duet machine properties.

    But the x endstop LED is lit more faintly. This endstop does trigger (i.e. the LED goes out), but it doesn't register with the Duet. When I swap with the y endstop, the LED lights up fine (and vice versa, the Y endstop led goes faint if I put the x endstop on it).

    I re-did all the x endstop connections and it seems fine but I'm a bit puzzled as to why there is a fainter glow on the LED than the others.

    If a sensor was to fail / not work with 3.3V, is this what it does?

    I read "some types of endstop (e.g. opto endstops designed for 5V operation) may pull the endstop input low enough to light the LED, but not low enough for the Duet to recognise that the input is in the LOW state". Is it likely this is just a bad sensor, and would it be worth buying another?



  • Schematic for the printehead PCB: http://i.imgur.com/loWDu1e.jpg
    Schematic for the mainboard: http://images.velleman.eu/manuals/vertex/troubleshooting/03/001.jpg
    Schematic for the endstops: http://images.velleman.eu/manuals/vertex/troubleshooting/03/003.jpg

    Note that the +15V seems to be directly connected to the LED anode but there is a series resistor on the mainboard to limit the LED current.



  • Er, not sure what means! I know really nothing about electronics. With a bit of luck, I can follow instructions though? 😉

    There's also a full pdf of everything, including all the resistor values:

    https://www.velleman.eu/images/tmp/K8400%203D%20Printer%20Technical%20Doc.pdf

    I was wondering if I could cannibalise the old board to get the resistors needed to fix the bad sensor? I have no idea how to do that, of course! Sadly a quick search of the pdf didn't reveal a 100 ohms resistor anywhere on that board.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.