bigtreetech / BTT-TFT35-E3-V3.0

BIGTREETECH TFT35-E3 V3.0 is a medium size, dual-mode, ultra-clear 3D printing machine display launched by the 3D printing team of Shenzhen BIGTREE Technology CO., LTD., which can perfectly replace the original LCD screen of Ender3 printer.
260 stars 64 forks source link

Disabling steppers after printing from tft #19

Closed mine2209 closed 4 years ago

mine2209 commented 4 years ago

I cannot stop the tft disabling the stepper motors after every print which causes print head to drop into work piece.

I have checked the stepper timeout, sd print release settings, and end gcode. No m18s or m84s present in start/ end gcode or the print gcode file. If I print from PC via cable & pronterface I do not get this issue using same gcode files so believe it must be tft causing the issue. It also happens after usb print via tft.

mine2209 commented 4 years ago

There is in fact a M84 S0 in gcode file but this I believe is disabling timeout and I have tried removing it and it did not solve the issue.

oldman4U commented 4 years ago

Hi.

By default there is a M18 in the end gcode. Sure you removed it? Which version of the firmware are you using? Maybe you have to change this in config.ini!

mine2209 commented 4 years ago

No M18 in there I did check here is the gcode

`; short gcode for test ; Safe Z height: 6.000 ; Tools: 1 = V-Bit (90 deg 0.5") ; Notes: ; Generated Monday June 29 2020 09:06 PM

G90 M03 S16000 G21 G00 X0.000 Y0.000 Z0.000 G1 Z6.000 F500 G1 X0.000 Y0.000 F2540.0

; Tool 1: V-Bit (90 deg 0.5") ; Path: Profile 1 F:\short gcode for test.gcode ; G0 X443.500 Y-17.001 Z6.000 F5080.0 G1 Z-1.000 F762.0 G1 X498.653 Y44.150 F2540.0 G1 X443.500 Y105.301 F2540.0 G0 Z6.000 F5080.0 G1 6.000 F500 ;goto safe z`

made above as test file and still does it.

Checked config.ini which is adjusted here is the current config file im using have a look but i cant see what is causing the issue in there.

`#### Default Config file for BigTreeTech TFT Controllers #

BIGTREE_TFT35_V1_1 / BIGTREE_TFT35_V1_2 / BIGTREE_TFT35_V2_0

BIGTREE_TFT35_V3_0 / BIGTREE_TFT35_E3_V3_0 / BIGTREE_TFT28_V1_0

BIGTREE_TFT28_V3_0 / BIGTREE_TFT24_V1_1 / MKS_32_V1_4

#

Firmware Source: https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware

--------------------------------------------------------------------

Supported Marlin Firmware Version

--------------------------------------------------------------------

Minimum Marlin Firmware Version: Bugfix-2.0.x

Distribution date: 2020-05-12

Source: https://github.com/MarlinFirmware/Marlin/tree/bugfix-2.0.x

--------------------------------------------------------------------

General Settings

--------------------------------------------------------------------

UNIFIED MENU / CLASSIC MENU

Select a UI Menu flavour

Options: [Unified Menu: 1, Classic Menu: 0]

unified_menu:1

Baudrate

Options: [2400: 0, 9600: 1, 19200: 2, 38400: 3, 57600: 4, 115200: 5, 250000: 6, 500000: 7, 1000000: 8]

baudrate:6

Default Touch Mode Language

Select the language to display on the LCD while in Touch Mode.

Options: [0: ENGLISH, 1: CHINESE, 2: RUSSIAN, 3: JAPANESE, 4: ARMENIAN,

5: GERMAN, 6: CZECH, 7: SPAIN, 8: FRENCH, 9: PORTUGUESE,

10: ITALIAN, 11: POLISH, 12: SLOVAK, 13: DUTCH, 14: HUNGARIAN]

language:0

Default Touch Mode Color Options

Options: [0: WHITE, 1: BLACK, 2: RED, 3: GREEN, 4: BLUE:, 5: CYAN, 6: MAGENTA, 7: YELLOW,

8: ORANGE, 9: PURPLE, 10: LIME, 11: BROWN, 12: DARKBLUE, 13: DARKGREEN, 14: GRAY, 15: DARKGRAY]

Title background color

title_back_color:1

Background color

background_color:1

Font foreground color

font_color:0

Reminder font color, such as: "No print attached", "Busy processing", etc.

reminder_color:2

Volume status/reminder font color, such as: "Card inserted", "Card removed"

volume_status_color:5

Backgroud color for X Y Z position display in Status Screen.

status_xyz_bg_color:15

List View Border Color

list_border_color:15

List View button background color

list_button_bg_color:15

Rotate UI 180 degrees

Options: [enable: 1, disable: 0]

rotate_ui:0

Show or hide Temperature ACK in Gcode Terminal

Options: [Show: 1, Hide: 0]

terminal_ack:0

invert X axis button function in Move menu to match move buttons to actual axis

Options: [enable: 1, disable: 0]

Invert Axis format [ X

invert_axis:X0 Y0 Z0

Persistent temperature info

show persistent temperature info on all menu screens

Options: [enable: 1, disable: 0]

persistent_info:0

File List Mode

show file as list

Options: [enable: 1, disable: 0]

files_list_mode:1

--------------------------------------------------------------------

Marlin Mode Settings (Only for TFT35_V3.0/ TFT24_V1.1/ TFT28V3.0)

--------------------------------------------------------------------

Default Mode

Options: [0:Touch Mode, 1: Marlin Mode]

default_mode:0

Keep Serial Always ON

Keep UART (Serial communication) alive in Marlin Mode

Allow seamless OctoPrint UART connection to the TFT's UART/serial expansion port no matter which mode the TFT is in.

Options: [0: Disabled, 1: Enabled]

serial_always_on:0

Default Marlin Mode Background & Font Color Options

Options: [ WHITE: 0, BLACK: 1, RED: 2, GREEN: 3, BLUE: 4, CYAN: 5, MAGENTA: 6, YELLOW: 7,

ORANGE: 8, PURPLE: 9, LIME: 10, BROWN: 11, DARKBLUE: 12, DARKGREEN: 13, GRAY: 14, DARKGRAY: 15]

marlin_bg_color:1 marlin_fn_color:8

Marlin Mode show title

Options: [enable: 1, disable: 0]

marlin_show_title:0

Run Marlin Mode in Fullscreen

Options: [enable: 1, disable: 0] [Disabled. RECOMMENDED FOR TFT24]

marlin_fullscreen:1

Text displayed at the top of the TFT in Marlin Mode.

marlin_title:Mi FUNCNC

--------------------------------------------------------------------

Printer / Machine Settings

--------------------------------------------------------------------

Hotend Count

Options: [1 to 6]

hotend_count:1

Extruder Count

Options: [1 to 6]

ext_count:1

Fan Count

Options: [1 to 6]

fan_count:1

Bed / Extruder Maximum Temperatures

format [max_temp: BED: T0: T1: T2: T3: T4: T5:]

max_temp:BED:150 T0:275 T1:275 T2:275 T3:275 T4:275 T5:275

Cold Extrusion Minimum Temperature

min_temp:180

Fan Maximum PWM speed (0 to 255)

format [fan_max: F0: F1: F2: F3: F4: F5:]

fan_max:F0:255 F1:255 F2:255 F3:255 F4:255 F5:255

Machine Size / Build Area (mm)

Options: [X Axis: X, Y Axis: Y, Z Axis: Z]

minimum possible value: -2000, maximum possible value: 2000

minimum size limit format [size_min: X Y Z]

maximum size limit format [size_max: X Y Z]

size_min:X0 Y0 Z0 size_max:X235 Y235 Z191

default Move Speeds (mm/min)

Options: [Slow: S, Normal: N, Fast: F]

format [move_speed: S<feedrate mm/min> N<feedrate mm/min> F<feedrate mm/min>]

move_speed:S1000 N3000 F5000

default Extruder Speeds (mm/min)

Options: [Slow: S, Normal: N, Fast: F]

format [ext_speed: S<feedrate mm/min> N<feedrate mm/min> F<feedrate mm/min>]

ext_speed:S60 N600 F1200

Auto Save Load Leveling Data

The TFT will auto-detect if Auto Bed Level is available.

Enable this will send "M500" after "G29" to store leveling value

and send "M420 S1" to enable leveling state after startup

Options: [enable: 1, disable: 0]

auto_load_leveling:1

Onboard / Printer SD Card Support

On Marlin Firmware, The TFT will auto detect Onboard SD Card

Auto-detect is not available for other firmwares like Smoothieware

Options: [enable: 1, disable: 0, auto-detect: 2]

onboard_sd_support:2

M27 / Printing status refresh time (this will be used if SD_AUTOREPORT is not detected by the TFT)

M27_refresh_time:3

M27 always active - keep polling M27 even if not printing

Options: [enable: 1, disable: 0]

M27_always_active:1

Long File Names Support

On Marlin Firmware, The TFT will autodetect Long File Name supported

Auto-detect is not available for other firmwares like Smoothieware

Options: [enable: 1, disable: 0, auto-detect: 2]

long_filename_support:2

Show Fan Speed as Percentage

Options: [enable: 1, disable: 0]

fan_speed_percent:1

Pause Settings

position & Lengths in mm, Feedrates in mm/min

minimum possible value: 0, maximum possible value: 2000

Pause retract distance format [pause_retract: R P]

Pause XY position format [pause_pos: X Y]

Pause Z raise format [pause_z_raise: Z]

Pause feed Rate # format [ X<feedrate mm/min> Y<feedrate mm/min> Z<feedrate mm/min> E<feedrate mm/min>]

pause_retract:R15 P16 pause_pos:X10 Y10 pause_z_raise:60 pause_feedrate:X6000 Y6000 Z1000 E600

Manual Level Points Edge distance (mm)

distance in mm, Feedrates in mm/min

Leveling Edge distance format [level_edge_distance: ]

Leveling Z Position format [level_z_pos: Z]

Leveling Z raise format [level_z_raise: Z]

Leveling feed Rate format [ X<feedrate mm/min> Y<feedrate mm/min> Z<feedrate mm/min>]

level_edge_distance:20 level_z_pos:0.2 level_z_raise:10 level_feedrate:X6000 Y6000 Z6000

Preheat Temperature

Maximum Filament name length 7 characters

If default names are changed, make sure to change Icons to match the names

format [T B]

preheat_name1:PLA preheat_temp1:T200 B60

preheat_name2:PETG preheat_temp2:T200 B60

preheat_name3:ABS preheat_temp3:T230 B90

--------------------------------------------------------------------

Power Supply Settings (if connected to TFT Controller)

--------------------------------------------------------------------

Default Power Supply Mode

Options: [OFF: 0, ON: 1: Auto:2]

ps_on:0

Power Supply Active HIGH Settings

Options: [HIGH: 1, LOW: 0]

ps_on_active_high:1

Maximum hot-end temperature of automatic shut down after printing (only if auto power is enabled)

wait for the hot-end temperature to be lower than this value, then turn off the power automatically

auto_shutdown_temp:50

--------------------------------------------------------------------

Filament Runout Settings (if connected to TFT Controller)

--------------------------------------------------------------------

Default FIlament Sensor

Options: [NONE: 0, Normal: 1, SMART: 2]

fil_runout:0

Filament runout inverting - invert the logic of the sensor.

Options: [true: 1, false: 0]

fil_runout_inverting:1

filament noise threshold - Pause print when filament runout is detected for this time period in (ms).

time duration in ms

fil_noise_threshold:100

Smart filament runout detection

For use with an encoder disc that toggles runout pin as filament moves

fil_runout_distance:7

--------------------------------------------------------------------

Power Loss Recovery & BTT UPS Settings (if connected to TFT Controller)

--------------------------------------------------------------------

Home before Power Loss recovery

Options: [enable: 1, disable: 0]

pl_recovery_home:0

Power Loss Z raise (mm)

Raise Z axis on resume (on power loss with UPS)

pl_z_raise:0

Enable BTT UPS

Options: [enable: 1, disable: 0]

btt_mini_ups:0

--------------------------------------------------------------------

Other device-specific settings

--------------------------------------------------------------------

Buzzer / sound

Options: [enable: 1, disable: 0]

buzzer:1

Knob Led Color (only for TFT35 E3.0)

Options: [LED_OFF: 0, LED_WHITE: 1, LED_RED: 2, LED_ORANGE: 3, LED_YELLOW: 4, LED_GREEN: 5, LED_BLUE: 6, LED_INDIGO: 7, LED_VIOLET: 8]

knob_led_color:0

Default LCD Brightness levels (only for TFT35v3.0 & TFT28v3.0)

Options: [(low) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (full)]

lcd_brightness:10 lcd_idle_brightness:5

Default LCD idle time (only for TFT35v3.0 & TFT28v3.0)

Options [Off: 0, 5Sec: 1, 10Sec: 2, 30sec: 3, 1min: 4, 2min: 5, 5min: 6, 10min: 7]

lcd_idle_delay:4

--------------------------------------------------------------------

Custom G-Code Commands (up to 15 custom G-code)

--------------------------------------------------------------------

To enable a custom Command:

Remove '#' at the begining custom commands label & gcode.

To disable a custom Command:

Add '#' at the begining custom commands label & gcode.

if the values are left blank then default name and G-code will be used

Options: [Label maximum length: 24 characters, G-code Maximum length 70 characters]

custom_label_1:G92 Z custom_gcode_1:G92 Z0\n custom_label_2:G92 XY Laser custom_gcode_2:G92 X2.2 Y144.4\n custom_label_3:G92.1 custom_gcode_3:G92.1\n custom_label_4:G92.1 & Park
custom_gcode_4:G92.1\nG1 X610 Z0\n custom_label_5:G92.1, Home, Park custom_gcode_5:G92.1\nG28\nG1 X610 Z0\n custom_label_6:Move to XY 0 custom_gcode_6:G1 X0 Y0\n custom_label_7:Disable steppers custom_gcode_7:M84\n custom_label_8:NOT int sd card custom_gcode_8:\n custom_label_9:Release sd card custom_gcode_9:M22\n custom_label_10:restore leveling custom_gcode_10:M420 S1\n custom_label_11:Save to EEPROM custom_gcode_11:M500\n custom_label_12:restore from EEPROM custom_gcode_12:M501\n custom_label_13:EEPROM defaults custom_gcode_13:M502\n custom_label_14:Endstop states custom_gcode_14:M119\n

custom_label_15:custom15

custom_gcode_15:M105\n

--------------------------------------------------------------------

Start, End & Cancel G-codes

--------------------------------------------------------------------

Default Start Gcode Status

Options: [enable: 1, disable: 0]

start_gcode_enabled:0

Default End Gcode Status

Options: [enable: 1, disable: 0]

end_gcode_enabled:1

Default Cancel Gcode Status

Options: [enable: 1, disable: 0]

cancel_gcode_enabled:1

Start G-code - run this G-code before starting print

maximum length 50 characters

start_gcode:G28 XY R20\n

End G-code - run this G-code after finishing print

maximum length 50 characters

end_gcode:G1 X0 Y0 Z50\n

Cancel G-code - run this G-code after canceling print

maximum length 50 characters

cancel_gcode:M0\G1 Z10\nG1 X0 y0\n `

Thanks for suggestion though.

mine2209 commented 4 years ago

Believe the firmware is most up to date 0.26 30 may 2020?

i have also checked my marlin firmware and sd disable is definitely off here is the code from firmware i have flashed

` // around this by connecting a push button or single throw switch to the pin defined // as SD_DETECT_PIN in your board's pins definitions. // This setting should be disabled unless you are using a push button, pulling the pin to ground. // Note: This is always disabled for ULTIPANEL (except ELB_FULL_GRAPHIC_CONTROLLER).

define SD_DETECT_INVERTED

**#define SD_FINISHED_STEPPERRELEASE false // Disable steppers when SD Print is finished

define SD_FINISHED_RELEASECOMMAND "M84 S0" /**/ You might want to keep the Z enabled so your bed stays in place.

// Reverse SD sort to show "more recent" files first, according to the card's FAT. // Since the FAT gets out of order with usage, SDCARD_SORT_ALPHA is recommended.

define SDCARD_RATHERRECENTFIRST

define SD_MENU_CONFIRM_START // Confirm the selected SD file before printing

//#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files

//#define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27")

/**`

as you can see above sd disable is off and if it was on the gcode it runs is to disable the timeout...

oldman4U commented 4 years ago

I like the motors to be deactivated after print, so i never cared. But i hope i can do some tests soon to check if the End gCode makes a difference. Somehow it has to, otherwise the function would be useless.;-(

mine2209 commented 4 years ago

End gcode does work, It runs the end gcode I program and then after finishing the end gcode on the tft it disables the steppers.

My gantry is heavy so It drops into the work. I have to catch it before it damages the workpiece.

I need it to remain in place so I can do tool changes without having to rezero position which invariably adds error

oldman4U commented 4 years ago

Hi. Maybe a workaround for now.

I replaced the whole End gcode in config.ini with a simple M17 and now ONLY the motor of the ZZZZZZZ-axis stays activated.

Let me know

oldman4U commented 4 years ago

Hi.

Any news regarding the reported issue?

Please let us know

mine2209 commented 4 years ago

Hi, sorry for the late reply. I saw your initial message before edit regarding Y which wasnt going to help so I didnt try. Just seen your edit now to Z

interesting progress.

Just M17 in end gcode in config.ini without \n does prevent the issue, left all the steppers active for me not just Z. I then will just need to manual move the head to next location.

The interesting part now...

If I add M17\n the issue remains

So i tried adding my toolchange location with out the \n and the steppers remain active and it doesn't move to the location so I can only assume that when I put just M17 that it isnt the M17 keeping them active but the lack of the \n which must enter the code, I assume it isnt even running the M17.

Issue isnt solved but this means at least I can get on with my project

mine2209 commented 4 years ago

Cancel that it does disable the steppers but it locks me out of the machine. When I try to manually move the carriage I get busy processing, please wait at the top.

oldman4U commented 4 years ago

Not sure there is a logical explanation for all this😜

So this locks you out generally or once the print has finished?

What happens with the stepper motors when you cancel a print?

And have you mentioned if you print from mainboard or TFT?

mine2209 notifications@github.com schrieb am So. 5. Juli 2020 um 17:10:

Cancel that it doesn’t disable the steppers but it locks me out of the machine. When I try to manually move the carriage I get busy processing, please wait at the top

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/bigtreetech/BTT-TFT35-E3-V3.0/issues/19#issuecomment-653900428, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM6XKZH2BG5HMT5DSCBRPCDR2CJVVANCNFSM4OLT7UWA .

guruathwal commented 4 years ago

The M18 g-code is hard-coded in the firmware in the printing.c file. You will have to change it in the firmware and recompile it again for now. https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/blob/868d61549cc480a06c6c2526b828efab5807539a/TFT/src/User/API/Printing.c#L96-L110

oldman4U commented 4 years ago

Hi Gurmeet.

I knew you could tell us, and I even checked Print.c but did not know there is a Printing.c...;-( Every day something new to learn.

Wouldn't it be good to mention the commands which make sense to use as Start/Pause/End gcode. I mean, it makes no sense to be able to manipulate a function which is changed by a setting which is much deeper in the system right after that.

mine2209 commented 4 years ago

Thanks, I was using pre complied firmware, I will have a look at modifying it and recompiling, hopefully just as simple as changing the text or I will be over my head lol only normally change configuration options not base code.

Why give the option for end gcode if the firmware is going to override it. As a suggestion a better option maybe to place these "idle commands" in the endgcode section and just have it enabled by default that way it is easily edited by enduser and visible should people wish to stop it.

Thanks for the help, I will let you know how I get on when I get chance to look at it.

oldman4U commented 4 years ago

Unfortunately this needs more than changing the config.ini. But not to compile the own software means skipping the funniest part. I would highly recommend to give it a try.

oldman4U commented 4 years ago

Hi.

Today I found some time to test the fix Gurmeet recommended, and it works perfectly. If it is ok for you, I will start a ticket, so this gets fixed one day.

As far as I know, I am not allowed to offer you a fix here, by sending you a compiled version. But if you send me your email address, I can do so.

Please let me know

Thank you

oldman4U commented 4 years ago

Hi. Any news regarding the reported issue

oldman4U commented 4 years ago

Hello mine2209.

Could you please close this ticket or answer my question above.

Thank you

mine2209 commented 4 years ago

Sorry for the lack of replies I have been personally affected by the global pandemic recently and have not been able to test anything. I will close this for you now and as soon as I work out how to send you my email I will do as that would be a great help.

thanks for your help again.