Jump to content
Ultimaker Community of 3D Printing Experts

Recommended Posts

  • 4 weeks later...
Posted · New SSS Driver (TMC2130)

@ataraxis:

Is it possible for you to share the Arduino-code from your videos?

I have tried the watterott-examples on github, but the driver won't turn the stepper on...

If I solder the SPI-jumper, it works. But I want to test the features, which are only possible over SPI ;)

  • Like 1
Link to post
Share on other sites
  • 8 months later...
Posted (edited) · New SSS Driver (TMC2130)
On 3/12/2016 at 5:31 PM, ataraxis said:

Indicator:

 

I will install it on the extruder within the next days. I think it is most useful there. As an Indicator I am going to use an RGB-Led instead of a striplight I think.

Hi,

Which registerssettings you have used for the TMC2130?

Edited by Taoufik
  • Link to post
    Share on other sites
    Posted (edited) · New SSS Driver (TMC2130)

    @ecologeek all the pins you need are there on the 1.5.7 board.

     

    You have to solder to them, but looking at the pins on the Mega2560, you can use pins 10-13 for the chip select, configure in pins_ULTIMAKER.h:

     

    //
    // TMC2130
    //
    #define X_CS_PIN 10
    #define Y_CS_PIN 11
    #define Z_CS_PIN 12
    #define E0_CS_PIN 13
     
    And the pins you need for the SPI are at 52, 54 and 55.
    Edited by davoque
    typo
  • Link to post
    Share on other sites
    Posted · New SSS Driver (TMC2130)

    @ataraxis would it be possible to show your Code for arduino please ?

     

    @towindbe I have edited your post to include the mention for Ataraxis. If you type the "@" character and then start typing the users's name, you'll see a dropdown right below your cursor. There you have to select the user name. You'll see if it works when the text turns blue.

  • Link to post
    Share on other sites
    Posted · New SSS Driver (TMC2130)

    sorry @towindbe, my sketch is a bit like groggy it was just a test and I lost intereset for a while, but maybe it helps you a bit - here it is: https://pastebin.com/7qf8zGQ9

  • Link to post
    Share on other sites
    Posted (edited) · New SSS Driver (TMC2130)
    On 15.2.2018 at 4:50 PM, davoque said:

    And the pins you need for the SPI are at 52, 54 and 55.

     

    Sorry but that's not correct, on the Arduino Mega2560 the SPI Pins are:

     

    Pin 50 - MISO (Master In Slave Out) - SDO (Serial Data Out)

    Pin 51 - MOSI (Master Out Slave In) - SDI (Serial Data In)

    Pin 52 - CLK (Clock) - SCK (Serial Clock)

     

    See https://www.arduino.cc/en/Reference/SPI for further Information on SPI on Arduino

     

    You can access them at the EXP2 header (which is connected to the UltiController - but you can simply branch the necessary wires since SPI is a bus).

    Edited by ataraxis
  • Link to post
    Share on other sites
    Posted (edited) · New SSS Driver (TMC2130)

    Looks like there is some interested in this topic at the moment, therefore I tried the built-in Marlin support today and it is in principle pretty easy to make them (the tmc 2130) work now.

    For a quick-start do the following:

     

    1. Download the latest Marlin source from https://github.com/MarlinFirmware/Marlin

    2. Change it like the following (that's just how I did it for my local tests, you will need other/more/less changes). 

      diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
      index 150db5f..e1d76d5 100644
      --- a/Marlin/Configuration.h
      +++ b/Marlin/Configuration.h
      @@ -119,7 +119,7 @@
       // The following define selects which electronics board you have.
       // Please choose the name from boards.h that matches your setup
       #ifndef MOTHERBOARD
      -  #define MOTHERBOARD BOARD_RAMPS_14_EFB
      +  #define MOTHERBOARD BOARD_ULTIMAKER
       #endif
       
       // Optional custom name for your RepStrap or other custom machine
      @@ -137,7 +137,7 @@
       #define EXTRUDERS 1
       
       // Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
      -#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
      +#define DEFAULT_NOMINAL_FILAMENT_DIA 2.85
       
       // For Cyclops or any "multi-extruder" that shares a single nozzle.
       //#define SINGLENOZZLE
      @@ -286,7 +286,7 @@
        *
        * :{ '0': "Not used", '1':"100k / 4.7k - EPCOS", '2':"200k / 4.7k - ATC Semitec 204GT-2", '3':"Mendel-parts / 4.7k", '4':"10k !! do not use for a hotend. Bad resolution at high temp. !!", '5':"100K / 4.7k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '6':"100k / 4.7k EPCOS - Not as accurate as Table 1", '7':"100k / 4.7k Honeywell 135-104LAG-J01", '8':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT", '9':"100k / 4.7k GE Sensing AL03006-58.2K-97-G1", '10':"100k / 4.7k RS 198-961", '11':"100k / 4.7k beta 3950 1%", '12':"100k / 4.7k 0603 SMD Vishay NTCS0603E3104FXT (calibrated for Makibox hot bed)", '13':"100k Hisens 3950  1% up to 300°C for hotend 'Simple ONE ' & hotend 'All In ONE'", '20':"PT100 (Ultimainboard V2.x)", '51':"100k / 1k - EPCOS", '52':"200k / 1k - ATC Semitec 204GT-2", '55':"100k / 1k - ATC Semitec 104GT-2 (Used in ParCan & J-Head)", '60':"100k Maker's Tool Works Kapton Bed Thermistor beta=3950", '66':"Dyze Design 4.7M High Temperature thermistor", '70':"the 100K thermistor found in the bq Hephestos 2", '71':"100k / 4.7k Honeywell 135-104LAF-J01", '147':"Pt100 / 4.7k", '1047':"Pt1000 / 4.7k", '110':"Pt100 / 1k (non-standard)", '1010':"Pt1000 / 1k (non standard)", '-3':"Thermocouple + MAX31855 (only for sensor 0)", '-2':"Thermocouple + MAX6675 (only for sensor 0)", '-1':"Thermocouple + AD595",'998':"Dummy 1", '999':"Dummy 2" }
        */
      -#define TEMP_SENSOR_0 1
      +#define TEMP_SENSOR_0 998
       #define TEMP_SENSOR_1 0
       #define TEMP_SENSOR_2 0
       #define TEMP_SENSOR_3 0
      @@ -294,7 +294,7 @@
       #define TEMP_SENSOR_BED 0
       
       // Dummy thermistor constant temperature readings, for use with 998 and 999
      -#define DUMMY_THERMISTOR_998_VALUE 25
      +#define DUMMY_THERMISTOR_998_VALUE 200
       #define DUMMY_THERMISTOR_999_VALUE 100
       
       // Use temp sensor 1 as a redundant sensor with sensor 0. If the readings
      @@ -1329,7 +1329,7 @@
        * you must uncomment the following option or it won't work.
        *
        */
      -//#define SDSUPPORT
      +#define SDSUPPORT
       
       /**
        * SD CARD: SPI SPEED
      @@ -1409,8 +1409,8 @@
       // Note: Test audio output with the G-Code:
       //  M300 S<frequency Hz> P<duration ms>
       //
      -//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
      -//#define LCD_FEEDBACK_FREQUENCY_HZ 1000
      +#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 0
      +#define LCD_FEEDBACK_FREQUENCY_HZ 0
       
       //
       // CONTROLLER TYPE: Standard
      @@ -1422,7 +1422,7 @@
       //
       // ULTIMAKER Controller.
       //
      -//#define ULTIMAKERCONTROLLER
      +#define ULTIMAKERCONTROLLER
       
       //
       // ULTIPANEL as seen on Thingiverse.
      diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
      index bcae08a..1661f7d 100644
      --- a/Marlin/Configuration_adv.h
      +++ b/Marlin/Configuration_adv.h
      @@ -984,7 +984,7 @@
        * the hardware SPI interface on your board and define the required CS pins
        * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
        */
      -//#define HAVE_TMC2130
      +#define HAVE_TMC2130
       
       /**
        * Enable this for SilentStepStick Trinamic TMC2208 UART-configurable stepper drivers.
      @@ -1005,7 +1005,7 @@
         //#define X2_IS_TMC2130
         //#define Y_IS_TMC2130
         //#define Y2_IS_TMC2130
      -  //#define Z_IS_TMC2130
      +  #define Z_IS_TMC2130
         //#define Z2_IS_TMC2130
         //#define E0_IS_TMC2130
         //#define E1_IS_TMC2130
      diff --git a/Marlin/pins_ULTIMAKER.h b/Marlin/pins_ULTIMAKER.h
      index 4549bf7..1e72173 100644
      --- a/Marlin/pins_ULTIMAKER.h
      +++ b/Marlin/pins_ULTIMAKER.h
      @@ -43,7 +43,7 @@
       //
       // Servos
       //
      -#define SERVO0_PIN         13 // untested
      +#define SERVO0_PIN         12//13 // untested
       
       //
       // Limit Switches
      @@ -160,3 +160,5 @@
       #define SPINDLE_LASER_PWM_PIN     9  // MUST BE HARDWARE PWM
       #define SPINDLE_LASER_ENABLE_PIN 10  // Pin should have a pullup!
       #define SPINDLE_DIR_PIN          11  // use the EXP3 PWM header
      +
      +#define Z_CS_PIN 13
    3. Wire it as you can see here:
      file.jpegfile1.jpegfile2.jpegfile3.jpeg
    4. Upload the Marlin-Sketch
    Edited by ataraxis
  • Link to post
    Share on other sites
    Posted (edited) · New SSS Driver (TMC2130)

    Sorry for the bad quality!

    Edited by ataraxis
  • Link to post
    Share on other sites
    Posted (edited) · New SSS Driver (TMC2130)

    @ataraxis yes, you are right, thanks for the correction, apologies for any confusion. 

     

    I have the drivers working on my Ultimaker Original as of a week ago with full SPI control and no external boards, super smooth. Managed to blow three of them along the way. Now have protector boards on them.

     

    Odd thing is that for the X, Y and E0, I had to half the number of steps per unit as compared to the original drivers, but for Z, it remained the same.

    Edited by davoque
  • Link to post
    Share on other sites
    Posted · New SSS Driver (TMC2130)

    Still interested in adding these to my Ultimaker Original. I've had the drivers for a year+. What do you mean by protector boards? Just physical protection or some kind of circuit.

  • Link to post
    Share on other sites
    Posted · New SSS Driver (TMC2130)

    It's a circuit

    https://www.watterott.com/en/SilentStepStick-Protector

     

  • Link to post
    Share on other sites
    Posted (edited) · New SSS Driver (TMC2130)

    anyone ever tried to display the current stall value (at the display or sth like that) using marlin?

    Edited by ataraxis
  • Link to post
    Share on other sites
    Posted (edited) · New SSS Driver (TMC2130)

    One can use the M122 command when TMC DEBUGGING is enabled at the sourcecode - it's quite simple.

    Unfortunately it looks like StallGuard2 is more like a "EndStop replacement", it does not work on low velocities like at the feeder  (https://www.trinamic.com/technology/adv-technologies/stallguard/).

    Edited by ataraxis
  • Link to post
    Share on other sites
    Posted · New SSS Driver (TMC2130)
    On 1/12/2018 at 12:43 PM, Taoufik said:

    Hi,

    Which registerssettings you have used for the TMC2130?

    On 1/12/2018 at 12:43 PM, Taoufik said:

    hi 

    iam trying to test the stallgaurd method by using my trinamic 2130 driver and stepper with arduino 

    iam trying it in spi mode 

    can any one help me to do that 

    i want code for it

     

     

     

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    ×
    ×
    • Create New...