Quantcast
Channel: Reprap Forum - Firmware - Marlin
Viewing all 12089 articles
Browse latest View live

Re: Case Fan MKS Gen L

$
0
0
To be software controlled the fan needs to be connected via a mosfet

there are only 4 mosfets on your board
fan, E0, E1 and BED, all used

So you will need to add a mosfet
This should be connected to a PWM I/O line

Re: Marlin 2.0 with 12864WZ-10 LCD?

$
0
0
Quick Update, Just realised that I had downgraded the U8GLIB while compiling another sketch. All running now on 1.19.1 version of the U8GLiG!

Let's see... time to play with the TMC2130 and see the features in action-- I'm sure I'll break something else!

Thanks for looking!

Re: Marlin Setup for Wanhao Dup. i3?:S

$
0
0
Thanks for this config file. New versions of Repetier won't fit on my Melzi board anymore and this worked great! I made a github repository in case others are interested in downloading it as is or even upgrading it in the future for future versions of Marlin. [github.com]

Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
Hi,

after fighting a 32-bit Chinese controller for a year it finally decided to even blow some mosfets, so I now upgrade my printer to a simple RAMPS 1.4 on 24V with TMC2130 V1.1 drivers. Should be nice. I set everything up, all sensors and the hotend are working. Now I need the axles (and the extruder) to move. But they refuse.

I went through the Configuration.h (besides the usual settings for endstops and CoreXY and such), starting at line 540:
 * Stepper Drivers
 *
 * These settings allow Marlin to tune stepper driver timing and enable advanced options for
 * stepper drivers that support them. You may also override timing options in Configuration_adv.h.
 *
 * A4988 is assumed for unspecified drivers.
 *
 * Options: A4988, DRV8825, LV8729, L6470, TB6560, TB6600, TMC2100,
 *          TMC2130, TMC2130_STANDALONE, TMC2208, TMC2208_STANDALONE,
 *          TMC26X,  TMC26X_STANDALONE,  TMC2660, TMC2660_STANDALONE,
 *          TMC5130, TMC5130_STANDALONE
 * :['A4988', 'DRV8825', 'LV8729', 'L6470', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE']
 */
#define X_DRIVER_TYPE  TMC2130
#define Y_DRIVER_TYPE  TMC2130
#define Z_DRIVER_TYPE  TMC2130
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE TMC2130
//#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988

In Configuration_adv.h, from line 1081:
/**
 * To use TMC2130 stepper drivers in SPI mode connect your SPI pins to
 * 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.).
 * You may also use software SPI if you wish to use general purpose IO pins.
 *
 * You'll also need the TMC2130Stepper Arduino library
 * (https://github.com/teemuatlut/TMC2130Stepper).
 *
 * To use TMC2208 stepper UART-configurable stepper drivers
 * connect #_SERIAL_TX_PIN to the driver side PDN_UART pin with a 1K resistor.
 * To use the reading capabilities, also connect #_SERIAL_RX_PIN
 * to PDN_UART without a resistor.
 * The drivers can also be used with hardware serial.
 *
 * You'll also need the TMC2208Stepper Arduino library
 * (https://github.com/teemuatlut/TMC2208Stepper).
 */
#if HAS_TRINAMIC

  #define R_SENSE           0.11  // R_sense resistor for SilentStepStick2130
  #define HOLD_MULTIPLIER   0.25  // Scales down the holding current from run current
  #define INTERPOLATE       true  // Interpolate X/Y/Z_MICROSTEPS to 256

  #define X_CURRENT          800  // rms current in mA. Multiply by 1.41 for peak current.
  #define X_MICROSTEPS         1  // 0..256

  #define Y_CURRENT          800
  #define Y_MICROSTEPS         1

  #define Z_CURRENT          800
  #define Z_MICROSTEPS         1

  #define X2_CURRENT         800
  #define X2_MICROSTEPS       16

  #define Y2_CURRENT         800
  #define Y2_MICROSTEPS       16

  #define Z2_CURRENT         800
  #define Z2_MICROSTEPS       16

  #define E0_CURRENT         800
  #define E0_MICROSTEPS        1

  #define E1_CURRENT         800
  #define E1_MICROSTEPS       16

  #define E2_CURRENT         800
  #define E2_MICROSTEPS       16

  #define E3_CURRENT         800
  #define E3_MICROSTEPS       16

  #define E4_CURRENT         800
  #define E4_MICROSTEPS       16

  /**
   * Use software SPI for TMC2130.
   * The default SW SPI pins are defined the respective pins files,
   * but you can override or define them here.
   */
  #define TMC_USE_SW_SPI
  //#define TMC_SW_MOSI       -1
  //#define TMC_SW_MISO       -1
  //#define TMC_SW_SCK        -1

  /**
   * Use Trinamic's ultra quiet stepping mode.
   * When disabled, Marlin will use spreadCycle stepping mode.
   */
  #define STEALTHCHOP

  /**
   * Monitor Trinamic TMC2130 and TMC2208 drivers for error conditions,
   * like overtemperature and short to ground. TMC2208 requires hardware serial.
   * In the case of overtemperature Marlin can decrease the driver current until error condition clears.
   * Other detected conditions can be used to stop the current print.
   * Relevant g-codes:
   * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given.
   * M911 - Report stepper driver overtemperature pre-warn condition.
   * M912 - Clear stepper driver overtemperature pre-warn condition flag.
   * M122 S0/1 - Report driver parameters (Requires TMC_DEBUG)
   */
  //#define MONITOR_DRIVER_STATUS

  #if ENABLED(MONITOR_DRIVER_STATUS)
    #define CURRENT_STEP_DOWN     50  // [mA]
    #define REPORT_CURRENT_CHANGE
    #define STOP_ON_ERROR
  #endif

  /**
   * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
   * This mode allows for faster movements at the expense of higher noise levels.
   * STEALTHCHOP needs to be enabled.
   * M913 X/Y/Z/E to live tune the setting
   */
  //#define HYBRID_THRESHOLD

  #define X_HYBRID_THRESHOLD     100  // [mm/s]
  #define X2_HYBRID_THRESHOLD    100
  #define Y_HYBRID_THRESHOLD     100
  #define Y2_HYBRID_THRESHOLD    100
  #define Z_HYBRID_THRESHOLD       3
  #define Z2_HYBRID_THRESHOLD      3
  #define E0_HYBRID_THRESHOLD     30
  #define E1_HYBRID_THRESHOLD     30
  #define E2_HYBRID_THRESHOLD     30
  #define E3_HYBRID_THRESHOLD     30
  #define E4_HYBRID_THRESHOLD     30

  /**
   * Use stallGuard2 to sense an obstacle and trigger an endstop.
   * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin.
   * X, Y, and Z homing will always be done in spreadCycle mode.
   *
   * X/Y/Z_HOMING_SENSITIVITY is used for tuning the trigger sensitivity.
   * Higher values make the system LESS sensitive.
   * Lower value make the system MORE sensitive.
   * Too low values can lead to false positives, while too high values will collide the axis without triggering.
   * It is advised to set X/Y/Z_HOME_BUMP_MM to 0.
   * M914 X/Y/Z to live tune the setting
   */
  //#define SENSORLESS_HOMING // TMC2130 only

  #if ENABLED(SENSORLESS_HOMING)
    #define X_HOMING_SENSITIVITY  8
    #define Y_HOMING_SENSITIVITY  8
    #define Z_HOMING_SENSITIVITY  8
    #define X_HOME_BUMP_MM        0
    #define Y_HOME_BUMP_MM        0
    #define Z_HOME_BUMP_MM        0
  #endif

  /**
   * Enable M122 debugging command for TMC stepper drivers.
   * M122 S0/1 will enable continous reporting.
   */
  #define TMC_DEBUG

  /**
   * M915 Z Axis Calibration
   *
   * - Adjust Z stepper current,
   * - Drive the Z axis to its physical maximum, and
   * - Home Z to account for the lost steps.
   *
   * Use M915 Snn to specify the current.
   * Use M925 Znn to add extra Z height to Z_MAX_POS.
   */
  //#define TMC_Z_CALIBRATION
  #if ENABLED(TMC_Z_CALIBRATION)
    #define CALIBRATION_CURRENT 250
    #define CALIBRATION_EXTRA_HEIGHT 10
  #endif

  /**
   * You can set your own advanced settings by filling in predefined functions.
   * A list of available functions can be found on the library github page
   * [github.com]
   * [github.com]
   *
   * Example:
   * #define TMC_ADV() { \
   *   stepperX.diag0_temp_prewarn(1); \
   *   stepperY.interpolate(0); \
   * }
   */
  #define TMC_ADV() {  }

#endif // TMC2130 || TMC2208

And beause I use the RepRap Discount Full Graphics controller and SD, I relocated the X and Y call pins to 44 and 64:
// Steppers
//
#define X_STEP_PIN         54
#define X_DIR_PIN          55
#define X_ENABLE_PIN       38
#ifndef X_CS_PIN
  #define X_CS_PIN         44
#endif

#define Y_STEP_PIN         60
#define Y_DIR_PIN          61
#define Y_ENABLE_PIN       56
#ifndef Y_CS_PIN
  #define Y_CS_PIN         64
#endif

#define Z_STEP_PIN         46
#define Z_DIR_PIN          48
#define Z_ENABLE_PIN       62
#ifndef Z_CS_PIN
  #define Z_CS_PIN         40
#endif

#define E0_STEP_PIN        26
#define E0_DIR_PIN         28
#define E0_ENABLE_PIN      24
#ifndef E0_CS_PIN
  #define E0_CS_PIN        42
#endif

#define E1_STEP_PIN        36
#define E1_DIR_PIN         34
#define E1_ENABLE_PIN      30
#ifndef E1_CS_PIN
  #define E1_CS_PIN        44
#endif

When I start the machine, everything seems OK. As said, sensors and hotend work. But no movement. When I ask M122, this is what I get in return:
SENDING:M122
		X	Y	Z	E0
Enabled		false	false	false	false
Set current	800	800	800	800
RMS current	795	795	795	795
MAX current	1121	1121	1121	1121
Run current	25/31	25/31	25/31	25/31
Hold current	6/31	6/31	6/31	6/31
CS actual		31/31	31/31	31/31	31/31
PWM scale		255	255	255	255
vsense		1=.18	1=.18	1=.18	1=.18
stealthChop	true	true	true	true
msteps		0	0	0	0
tstep		4294967295	4294967295	4294967295	4294967295
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	true	true	true	true
OT prewarn has
been triggered	false	false	false	false
off time		15	15	15	15
blank time	54	54	54	54
hysteresis
-end		12	12	12	12
-start		8	8	8	8
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard		X	X	X	X
sg_result		1023	1023	1023	1023
fsactive		X	X	X	X
stst		X	X	X	X
olb		X	X	X	X
ola		X	X	X	X
s2gb		X	X	X	X
s2ga		X	X	X	X
otpw		X	X	X	X
ot		X	X	X	X
Driver registers:	X = 0xFF:FF:FF:FF
	Y = 0xFF:FF:FF:FF
	Z = 0xFF:FF:FF:FF
	E0 = 0xFF:FF:FF:FF

It seems weird to me the enable is false, I don't think it should. But I don't know how to fix that.

I used no jumpers on the RAMPS board (hence the low number of steps per mm you can find above) and I removed the pin following Dir and Step (with the little gear) as I read somewhere that should help. I can easily solder them back, I just heated the pin and pushed it up.

Where to look next? All help is appreciated, I just want to have a reliable printer again after a year of many longer prints failing.

Cheers,

Hugo

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
Quote
HugoW
Driver registers: X = 0xFF:FF:FF:FF
Y = 0xFF:FF:FF:FF
Z = 0xFF:FF:FF:FF
E0 = 0xFF:FF:FF:FF

"Reported register values of either 0x00000000 or 0xFFFFFFFF are bad responses."

Its not talking SPI correctly

how exactly have you wired the SPI bus and to where?

config shows your using TMC_USE_SW_SPI

but that conflicts with pins 44 and 64 below

#if ENABLED(TMC_USE_SW_SPI)
  #ifndef TMC_SW_MOSI
    #define TMC_SW_MOSI    66
  #endif
  #ifndef TMC_SW_MISO
    #define TMC_SW_MISO    44
  #endif
  #ifndef TMC_SW_SCK
    #define TMC_SW_SCK     64
  #endif
#endif

perhaps your using physical SPI port, in which case you should disable TMC_USE_SW_SPI in Configuration_adv.h

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
Hi,

thanks for the quick response. I have soldered the SPI wires from the drivers to the pins on the connector for the LCD screen:
SDO on the drivers to port D50 MISO
CS goes to the before mentioned ports D40, D41, D44 and D64
SCK on the drivers to port D52 SCK
SDI on the drivers to D51 (MOSI)

I just changed this in the Configuration_adv.h following your comment:
   */
  //#define TMC_USE_SW_SPI
  #define TMC_SW_MOSI        D51
  #define TMC_SW_MISO        D50
  #define TMC_SW_SCK         D52
Taking out the standard pins and defining where they really are.

I uploaded, Marlin rebooted and I got this from M122:
SENDING:M122
		X	Y	Z	E0
Enabled		true	true	false	false
Set current	800	800	800	800
RMS current	795	795	795	795
MAX current	1121	1121	1121	1121
Run current	25/31	25/31	25/31	25/31
Hold current	6/31	6/31	6/31	6/31
CS actual		6/31	6/31	6/31	6/31
PWM scale		22	23	0	0
vsense		1=.18	1=.18	1=.18	1=.18
stealthChop	true	true	true	true
msteps		256	256	256	256
tstep		1048575	1048575	1048575	1048575
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	false	false	false	false
OT prewarn has
been triggered	false	false	false	false
off time		5	5	5	5
blank time	24	24	24	24
hysteresis
-end		2	2	2	2
-start		3	3	3	3
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard
sg_result		0	0	0	0
fsactive
stst		X	X	X	X
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:	X = 0x80:06:00:00
	Y = 0x80:06:00:00
	Z = 0x80:06:00:00
	E0 = 0x80:06:00:00

That looks better, but still no movement. I restarted the printer as a whole, disconnecting the USB and only reconnecting it after power-up. M122 changed to this:
SENDING:M122
		X	Y	Z	E0
Enabled		false	false	false	false
Set current	800	800	800	800
RMS current	795	795	795	795
MAX current	1121	1121	1121	1121
Run current	25/31	25/31	25/31	25/31
Hold current	6/31	6/31	6/31	6/31
CS actual		6/31	6/31	6/31	6/31
PWM scale		1	1	1	1
vsense		1=.18	1=.18	1=.18	1=.18
stealthChop	true	true	true	true
msteps		256	256	256	256
tstep		1048575	1048575	1048575	1048575
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	false	false	false	false
OT prewarn has
been triggered	false	false	false	false
off time		5	5	5	5
blank time	24	24	24	24
hysteresis
-end		2	2	2	2
-start		3	3	3	3
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard
sg_result		0	0	0	0
fsactive
stst		X	X	X	X
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:	X = 0x80:06:00:00
	Y = 0x80:06:00:00
	Z = 0x80:06:00:00
	E0 = 0x80:06:00:00
X and Y went from enabled true to false for some reason.

Cheers,

Hugo

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
Well its now talking, this is a start.

Do the drivers work if you reset your board without removing power? (reset button) The chip requires its power to be stable before it sees 5V on VCC_IO pin from arduino. There's a chance that 12V on your power supply stabilizes after the processor's power is already up and that will reset TMC2130 settings to defaults.

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
I just started the RAMPS without the 24V power on, just USB:
SENDING:M122
		X	Y	Z	E0
Enabled		false	false	false	false
Set current	800	800	800	800
RMS current	1436	1436	1436	1436
MAX current	2025	2025	2025	2025
Run current	25/31	25/31	25/31	25/31
Hold current	6/31	6/31	6/31	6/31
CS actual		0/31	0/31	0/31	0/31
PWM scale		0	0	0	0
vsense		0=.325	0=.325	0=.325	0=.325
stealthChop	false	false	false	false
msteps		256	256	256	256
tstep		0	0	0	0
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	false	false	false	false
OT prewarn has
been triggered	false	false	false	false
off time		0	0	0	0
blank time	16	16	16	16
hysteresis
-end		-3	-3	-3	-3
-start		1	1	1	1
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard
sg_result		0	0	0	0
fsactive
stst
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:	X = 0x00:00:00:00
	Y = 0x00:00:00:00
	Z = 0x00:00:00:00
	E0 = 0x00:00:00:00

Switching on 24V:
SENDING:M122
		X	Y	Z	E0
Enabled		false	false	false	false
Set current	800	800	800	800
RMS current	1436	1436	1436	1436
MAX current	2025	2025	2025	2025
Run current	25/31	25/31	25/31	25/31
Hold current	6/31	6/31	6/31	6/31
CS actual		0/31	0/31	0/31	0/31
PWM scale		0	0	0	0
vsense		0=.325	0=.325	0=.325	0=.325
stealthChop	false	false	false	false
msteps		256	256	256	256
tstep		1048575	1048575	1048575	1048575
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	false	false	false	false
OT prewarn has
been triggered	false	false	false	false
off time		0	0	0	0
blank time	16	16	16	16
hysteresis
-end		-3	-3	-3	-3
-start		1	1	1	1
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard
sg_result		0	0	0	0
fsactive
stst		X	X	X	X
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:	X = 0x80:00:00:00
	Y = 0x80:00:00:00
	Z = 0x80:00:00:00
	E0 = 0x80:00:00:00

Resetting while 24V stays on:
SENDING:M122
		X	Y	Z	E0
Enabled		false	false	false	false
Set current	800	800	800	800
RMS current	795	795	795	795
MAX current	1121	1121	1121	1121
Run current	25/31	25/31	25/31	25/31
Hold current	6/31	6/31	6/31	6/31
CS actual		6/31	6/31	6/31	6/31
PWM scale		0	0	0	0
vsense		1=.18	1=.18	1=.18	1=.18
stealthChop	true	true	true	true
msteps		256	256	256	256
tstep		1048575	1048575	1048575	1048575
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	false	false	false	false
OT prewarn has
been triggered	false	false	false	false
off time		5	5	5	5
blank time	24	24	24	24
hysteresis
-end		2	2	2	2
-start		3	3	3	3
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard
sg_result		0	0	0	0
fsactive
stst		X	X	X	X
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:	X = 0x80:06:00:00
	Y = 0x80:06:00:00
	Z = 0x80:06:00:00
	E0 = 0x80:06:00:00

Starting on 2V without the USB connected, USB only connected after start-up:
SENDING:M122
		X	Y	Z	E0
Enabled		false	false	false	false
Set current	800	800	800	800
RMS current	795	795	795	795
MAX current	1121	1121	1121	1121
Run current	25/31	25/31	25/31	25/31
Hold current	6/31	6/31	6/31	6/31
CS actual		6/31	6/31	6/31	6/31
PWM scale		1	1	1	1
vsense		1=.18	1=.18	1=.18	1=.18
stealthChop	true	true	true	true
msteps		256	256	256	256
tstep		1048575	1048575	1048575	1048575
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	false	false	false	false
OT prewarn has
been triggered	false	false	false	false
off time		5	5	5	5
blank time	24	24	24	24
hysteresis
-end		2	2	2	2
-start		3	3	3	3
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard
sg_result		0	0	0	0
fsactive
stst		X	X	X	X
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:	X = 0x80:06:00:00
	Y = 0x80:06:00:00
	Z = 0x80:06:00:00
	E0 = 0x80:06:00:00

I wonder why 'Enable' stays false. Is that correct? I changed it:

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
// :{ 0:'Low', 1:'High' }
#define X_ENABLE_ON 1
#define Y_ENABLE_ON 1
#define Z_ENABLE_ON 1
#define E_ENABLE_ON 1 // For all extruders

So now it says true:
SENDING:M122
		X	Y	Z	E0
Enabled		true	true	true	true
Set current	800	800	800	800
RMS current	795	795	795	795
MAX current	1121	1121	1121	1121
Run current	25/31	25/31	25/31	25/31
Hold current	6/31	6/31	6/31	6/31
CS actual		6/31	6/31	6/31	6/31
PWM scale		20	20	20	20
vsense		1=.18	1=.18	1=.18	1=.18
stealthChop	true	true	true	true
msteps		256	256	256	256
tstep		1048575	1048575	1048575	1048575
pwm
threshold		0	0	0	0
[mm/s]		-	-	-	-
OT prewarn	false	false	false	false
OT prewarn has
been triggered	false	false	false	false
off time		5	5	5	5
blank time	24	24	24	24
hysteresis
-end		2	2	2	2
-start		3	3	3	3
Stallguard thrs	0	0	0	0
DRVSTATUS	X	Y	Z	E0
stallguard
sg_result		0	0	0	0
fsactive
stst		X	X	X	X
olb
ola
s2gb
s2ga
otpw
ot
Driver registers:	X = 0x80:06:00:00
	Y = 0x80:06:00:00
	Z = 0x80:06:00:00
	E0 = 0x80:06:00:00

But still no movement.

Hugo

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
microstepping is set to 256 should be 16... (I suspect this is default as you have asked for an illegal option, 1 microstep and Interpolate)

from configuration_adv,h

This is good.
#define INTERPOLATE true // Interpolate X/Y/Z_MICROSTEPS to 256

why is your microsteps set to 1? all these should be should be 16
#define X_MICROSTEPS 1 // 0..256
#define Y_MICROSTEPS 1
#define Z_MICROSTEPS 1
#define E0_MICROSTEPS 1

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
I just thought the same thing, while eating my pasta. I changed it to 16, changed the steps / mm settings accordingly, and fitted the 3 jumpers under each driver. Nothing changed. But then I put the ENABLE_ON all back to 0, and we have movement! It all moves the wrong way so I need to invert some motor plugs, but it moves. Thanks!

Hugo

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
Because of the speed limitations I would like X and Y to go to 8 microsteps as those motors are 0.9 degrees, but I'll figure that later... Now first switch the motor plugs and tune eveything so I can print a new spool holder that just snapped off...

Hugo

Re: Probe out of print range error

$
0
0
First I'd like to say thanks for all the great help and information. Roberts Clif, after trying your last suggestion and seeing that there was no communication at all going on, I tried a new board and Whala! Communication was made. I apparently corrupted something on the board in all my attempts to install the firmware. I was able to make changes to the firmware the first three times but on the fourth attempt, no luck and no more communication with the board. Yes I'm a newbie at this and I'll have to chalk this up as a $20 learning experience. Oh well, I guess I can experiment with re-flashing the chip with a programmer.
Thanks again.

Marlin and Anet LCD12864 Installation Confusion

$
0
0
Hello all. Here's my senario:

I am using an Arduino Mega 2560 and a Ramps 1.4 for a newly built 3D printer. The control board I am using is an Anet LCD12864.
I tried just un-commenting it in the firmware but all it does is glow and beep. I switched Exp1 and Exp2 and then got nothing. This controll board does not have a SD card slot which is fine as I am going to control this printer with Octoprint.

Here's my confusion:

I took this information from the Marlin Firmware.


ANET and Tronxy Graphical Controller

#define ANET_FULL_GRAPHICS_LCD // Anet 128x64 full graphics lcd with rotary encoder as used on Anet A6
// A clone of the RepRapDiscount full graphics display but with
// different pins/wiring (see pins_ANET_10.h).


The information above sent me to the following information:

* Anet V1.0 board pin assignments
*/

/**
* Rev B 16 JUN 2017
*
* 1) no longer uses Sanguino files to define some of the pins
* 2) added pointers to useable Arduino IDE extensions
*
*/

/**
* The standard Arduino IDE extension (board manager) for this board
* is located at [github.com].
*
* Installation instructions are on that page.
*
* After copying the files to the appropriate location, restart Arduino and
* you'll see "Anet V1.0" and "Anet V1.0 (Optiboot)" in the boards list.
*
* "Anet V1.0" uses the bootloader that was installed on the board when
* it shipped from the factory.
*
* "Anet V1.0 (Optiboot)" frees up another 3K of FLASH. You'll need to burn
* a new bootloader to the board to be able to automatically download a
* compiled image.
*


This information sent me to this information:

Introduction

This project provides a board definition which enables the Arduino IDE to compile firmware (such as Marlin) for Anet 3D printers. It is used in the SkyNet3D Marlin distribution for Anet printers, but can be used independently to, for example, build Marlin from source.
Installation Instructions

Copy the included 'anet' folder into the 'hardware' folder of your Arduino installation.

1. Download the most recent version from the 1.8.x branch of the Arduino IDE from [www.arduino.cc]
2. Download a zip file of the master branch of this project using the 'Clone or Download' button
3. Install the Arduino IDE using the default options

Then:

Windows

1. Open your Documents folder in Windows Explorer
2. Open the Arduino folder, then the hardware sub-folder. If neither of these folders exist, create them.
3. Open the anet-board zip file you downloaded in step 2 and copy the 'anet' folder into Documents\Arduino\hardware

OS X

1. Click on "Documents" in Finder and look for the Arduino directory inside it. The full path is ~/Documents/Arduino/hardware
2. Open the anet-board zip file you downloaded in step 2 and copy the 'anet' folder into ~/Documents/Arduino/hardware

Using the Board Definition

1. Open the Arduino IDE
2. Open the Tools->Board menu and select either of the Anet V1.0 boards
3. Open the Tools->Port menu and select the appropiate COM port (the one which appeared when you plugged your printer into a USB port)

Note: The Optiboot board option is highly recommended as the Optiboot bootloader uses much less space than the standard Atmega 1284p bootloader, allowing more flash space for the firmware. If you choose to use the Optiboot option you MUST burn the Optiboot bootloader before uploading firmware, otherwise you risk overwriting the bootloader.

When uploading firmware, use Sketch->Upload (Ctrl+U), which uploads over the USB connection, not Sketch->Upload Using Programmer (unless you're actually using an Arduino programmer and know what you're doing).
Burning the Bootloader

Burning the bootloader to the board requires either an Arduino programmed as an ISP, or a USBasp. The programmer is connected to the middle six pins of the J3 connector on the Anet v1.0 board.

Burning the bootloader to an Arduino always erases the flash memory. Once the bootloader has been burned using a programmer the programmer should be disconnected and firmware uploaded using the serial-over-USB connection.

With the programmer connected:

1. Launch the Arduino IDE
2. Select the appropriate board from the Tools->Boards menu - either Anet V1.0 or Anet V1.0 (Optiboot)
3. Click Tools -> Burn Bootloader
4. The board will reset when complete, and the LCD display will be blank

Assuming there were no errors, at this point the firmware has been erased and will need to be re-uploaded. The programmer should be disconnected.


I'm now totally confused. Do I load the printer firmware and then the Anet or vise versa? Any ideas?

Thanks to the community for providing any help to this newbie.

Odd Z-Probe Issue

$
0
0
So I'm currently trying to set up my z-probe for my printer. When I upload my firmware my z-probe works as expected. It triggers when the bed is close and the light is on but shows as open when the bed is further away and the light is off. However after a g28 command the z-probe is then stuck in the triggered state. To get it to trigger properly I have to upload the firmware again.....there is possibly some command which would effect the same result, but I haven't found it yet. My config file is attached. Any assistance would be appreciated.

Re: Odd Z-Probe Issue

$
0
0
The Following line of code is required for proper operation.

#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to same logic as "Z_MIN_ENDSTOP_INVERTING".

Re: Odd Z-Probe Issue

$
0
0
Yes i commented that line out to see if it helped. I get the same behavior with that line uncommented and set to false.

Re: Fan etc on external i2c-controller

$
0
0
Hi,

thank you very much for your detailed informations!

That works just perfect.

Now I would like to use it in Marlin. There is already a function called "Extruder Auto Cooling Fan" which I would like to use.

If Iam right, I have to define the pin like
#define E0_AUTO_FAN_PIN 100

So now I have to connect the "Pin 100" with the upper code you posted, to let Marlin switch the Extruder cooling Fan on and off.
And this has to be an if-else-combination to use the whole "switch-on" or "switch-off"-Code ... right?

But where should I integrate the custom code so that it doesn't slow down the printer?

best regards

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
Well, some progress was made but not everything is working.

- I cannot extrude. Everything is up and running, it seems, but the stepper motor of the extruder won't turn. I also see upon start-up that Marlin echoes to Pronterface: "Filament settings: Disabled". But I don't know where to enable them.

- Another problem is that the communication with the TMC2130s is not stable. I start the printer (and check with M122 that all enables are false) and run G28. This works sometimes, sometimes it doesn't. X and Y homing works, sometimes Z does as well. If Z homing fails, it is due to the Z and E enables coming back true, when M122. If it didn't fail here, then I ask G29 and during this operation it fails. M122 shows some enables have changed to true and everything stops. Resetting the printer works. I am now putting on a 1,5A step-down converter instead of the lonely LM7805 I soldered to the back of the Arduino Mega, hoping this will give a better / more stable 5V. Although the LM7805 should give 1,5A, too, and it is not really warm, I just hope this will fix something...

Hugo

Re: Odd Z-Probe Issue

$
0
0
Sometimes when flashing new firmware the old firmware data remains. The only way to remove this data is to do a Factory Restore from the New Firmware.

From Terminal mode send
M502 - Factory Reset
M500 - Save Settings

This can also be accomplished using the LCD
Click Select Control Click
Select Initialize EEPROM Click
Select Store Settings Click

And very seldom this sequence is required more than once.

Not much to keep this from functioning correctly.

Could be from configuring in pins_ULTIMAIN_2.h

If this does not work It could be a bad Z-Probe Sensor.
You can check this by simply unplugging the Z-Probe Sensor from the circuit.
Powering from a external source and testing to see if you can duplicate the problem.

Re: Marlin 1.1.9, TMC2130 V1.1, no movement

$
0
0
Nothing seems to fix the rather random problem.
- I lowered the currents (maybe it overheats...). No change, but I'll leave it low as the machine moves nicely.
- I changed from 16 to 8 microsteps (BTW, you don't need the jumpers. You can leave them off and define the microsteps in the configuration_adv.h. And off course correct the steps / mm in the configuration.h) I hoped it would make the processor less busy.
- I tried disabling stealth chop, more noise no solution. Turned it back on.
- I tried disabling TMC_DEBUG (M122) no solution, turned it back on.

I'm at a loss, now, the enabling is set to true fairly randomly, from not starting Z-probing on G28 to completely finishing G29. Somewhere in between it changes Z enabling to true which stops it. And E enabling is set to true (starts at false as it should be at startup) at any random move.

I am considering replacing Z and E with 4988s, just to be done with it. But I think this should work, somehow. I am not the first to use these things, right?

Cheers,

Hugo
Viewing all 12089 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>