При печати с карты скорость меньше чем с USB шнурка.

Подписаться на 3Dtoday
Zheka1980
Идет загрузка
Загрузка
6 Декабря 2018
216
18
Вопросы и Ответы
Плата MKS Sbase 1.3 + Экран MKS TFT32 1.0

Одна и та же деталь, порезанная слайсером встроенным в Simplify3d 4.0. При печати через шнурок скорость нормальная, движения относительно плавные.

Записываю то же самое на SD карту - скорость медленнее и движения как бы рывками. Карта Transcend 16 GB 10 класса.
Скорость падает в 2-3 раза.

Вот мой конфиг, если что

# NOTE Lines must not exceed 132 characters
# Robot module configurations : general handling of movement G-codes and slicing into moves
default_feed_rate 4000 # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate 4000 # Default rate ( mm/minute ) for G0 moves
mm_per_arc_segment 0.5 # Arcs are cut into segments ( lines ), this is the length for
# these segments. Smaller values mean more resolution,
# higher values mean faster computation
mm_per_line_segment 5 # Lines can be cut into segments ( not usefull with cartesian
# coordinates robots ).
# Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
alpha_steps_per_mm 800 # Steps per mm for alpha stepper
beta_steps_per_mm 640 # Steps per mm for beta stepper
gamma_steps_per_mm 1600 # Steps per mm for gamma stepper
# Planner module configuration : Look-ahead and acceleration configuration
planner_queue_size 32 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
acceleration 600 # Acceleration in mm/second/second.
z_acceleration 60 # Acceleration for Z only moves in mm/s^2, 0 uses acceleration which is the default. DO NOT SET ON A DELTA
acceleration_ticks_per_second 1000 # Number of times per second the speed is updated
junction_deviation 0.05 # Similar to the old "max_jerk", in millimeters,
# see https://github.com/grbl/grbl/blob/master/planner.c
# and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
# Lower values mean being more careful, higher values means being
# faster and have more jerk
#z_junction_deviation 0.0 # for Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA
#minimum_planner_speed 0.0 # sets the minimum planner speed in mm/sec
switch.psu.enable true # turn atx on/off
switch.psu.input_on_command M80 #
switch.psu.input_off_command M81 #
switch.psu.output_pin 1.22 # open drain, inverted
switch.psu.output_type digital # on/off only
switch.psu.failsafe_set_to 0 # so the ATX turns off on a system crash
#switch.psu.ignore_on_halt false
switch.psu.startup_state true

# Stepper module configuration
microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds
base_stepping_frequency 140000 # Base frequency for stepping, higher gives smoother movement
# Cartesian axis speed limits
x_axis_max_speed 10000 # mm/min
y_axis_max_speed 10000 # mm/min
z_axis_max_speed 3000 # mm/min
# Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
alpha_step_pin 2.0 # Pin for alpha stepper step signal
alpha_dir_pin 0.5! # Pin for alpha stepper direction
alpha_en_pin 0.4 # Pin for alpha enable pin
alpha_current 1.3 # X stepper motor current
alpha_max_rate 18000.0 # mm/min
beta_step_pin 2.1 # Pin for beta stepper step signal
beta_dir_pin 0.11! # Pin for beta stepper direction
beta_en_pin 0.10 # Pin for beta enable
beta_current 1.3 # Y stepper motor current
beta_max_rate 18000.0 # mm/min
gamma_step_pin 2.2 # Pin for gamma stepper step signal
gamma_dir_pin 0.20! # Pin for gamma stepper direction
gamma_en_pin 0.19 # Pin for gamma enable
gamma_current 1.3 # Z stepper motor current
gamma_max_rate 6000.0 # mm/min
# Serial communications configuration ( baud rate default to 9600 if undefined )
uart0.baud_rate 9600 # Baud rate for the default hardware serial port
second_usb_serial_enable true # This enables a second usb serial port (to have both pronterface
# and a terminal connected)
#leds_disable true # disable using leds after config loaded
#play_led_disable true # disable the play led
pause_button_enable true # Pause button enable
#pause_button_pin 2.12 # pause button pin. default is P2.12
#kill_button_enable false # set to true to enable a kill button
#kill_button_pin 2.12 # kill button pin. default is same as pause button 2.12 (2.11 is another good choice)
#msd_disable false # disable the MSD (USB SDCARD) when set to true (needs special binary)
#dfu_enable false # for linux developers, set to true to enable DFU
# Extruder module configuration
extruder.hotend.enable true # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend.steps_per_mm 200 # Steps per mm for extruder stepper
extruder.hotend.default_feed_rate 350 # Default rate ( mm/minute ) for moves where only the extruder moves
extruder.hotend.acceleration 3000 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
extruder.hotend.max_speed 350 # mm/s
extruder.hotend.step_pin 2.3 # Pin for extruder step signal
extruder.hotend.dir_pin 0.22 # Pin for extruder dir signal
extruder.hotend.en_pin 0.21 # Pin for extruder enable signal
# extruder offset
extruder.hotend.x_offset 25 # x offset from origin in mm
extruder.hotend.y_offset 0 # y offset from origin in mm
extruder.hotend.z_offset 0 # z offset from origin in mm
# firmware retract settings when using G10/G11, these are the defaults if not defined, must be defined for each extruder if not using the defaults
#extruder.hotend.retract_length 3 # retract length in mm
#extruder.hotend.retract_feedrate 45 # retract feedrate in mm/sec
#extruder.hotend.retract_recover_length 0 # additional length for recover
#extruder.hotend.retract_recover_feedrate 8 # recover feedrate in mm/sec (should be less than retract feedrate)
#extruder.hotend.retract_zlift_length 0 # zlift on retract in mm, 0 disables
#extruder.hotend.retract_zlift_feedrate 6000 # zlift feedrate in mm/min (Note mm/min NOT mm/sec)
delta_current 1.7 # First extruder stepper motor current
# Second extruder module configuration
extruder.hotend2.enable true # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend2.steps_per_mm 216 # Steps per mm for extruder stepper
extruder.hotend2.default_feed_rate 600 # Default rate ( mm/minute ) for moves where only the extruder moves
extruder.hotend2.acceleration 3000 # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
extruder.hotend2.max_speed 200 # mm/s
extruder.hotend2.step_pin 2.8 # Pin for extruder step signal
extruder.hotend2.dir_pin 2.13 # Pin for extruder dir signal
extruder.hotend2.en_pin 4.29 # Pin for extruder enable signal
extruder.hotend2.x_offset 0 # x offset from origin in mm
extruder.hotend2.y_offset 0 # y offset from origin in mm
extruder.hotend2.z_offset 0 # z offset from origin in mm
epsilon_current 1.7 # Second extruder stepper motor current

# Laser module configuration
laser_module_enable false # Whether to activate the laser module at all. All configuration is
# ignored if false.
#laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5, P1.18, P1.20, P1.21, P1.23, P1.24, P1.26, P3.25, P3.26
# can be used since laser requires hardware PWM
#laser_module_max_power 0.8 # this is the maximum duty cycle that will be applied to the laser
#laser_module_tickle_power 0.0 # this duty cycle will be used for travel moves to keep the laser
# active without actually burning
#laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds
# Hotend temperature control configuration
temperature_control.hotend.enable true # Whether to activate this ( "hotend" ) module at all.
# All configuration is ignored if false.
temperature_control.hotend.thermistor_pin 0.24 # Pin for the thermistor to read
temperature_control.hotend.heater_pin 2.7 # Pin that controls the heater, set to nc if a readonly thermistor is being defined 2.7
#temperature_control.hotend.thermistor RRRF100K # see http://smoothieware.org/temperaturecontrol#toc5
temperature_control.hotend.beta 3950 # or set the beta value
temperature_control.hotend.set_m_code 104 #
temperature_control.hotend.set_and_wait_m_code 109 #
temperature_control.hotend.designator T0 #
#temperature_control.hotend.p_factor 13.7 # permanently set the PID values after an auto pid
#temperature_control.hotend.i_factor 0.097 #
#temperature_control.hotend.d_factor 24 #
#temperature_control.hotend.max_pwm 255 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
# Hotend2 temperature control configuration
temperature_control.hotend2.enable true # Whether to activate this ( "hotend" ) module at all.
# All configuration is ignored if false.
temperature_control.hotend2.thermistor_pin 0.25 # Pin for the thermistor to read
temperature_control.hotend2.heater_pin 2.6 # Pin that controls the heater
#temperature_control.hotend2.thermistor RRRF100K # see http://smoothieware.org/temperaturecontrol#toc5
temperature_control.hotend2.beta 3950 # or set the beta value
temperature_control.hotend2.set_m_code 104 #
temperature_control.hotend2.set_and_wait_m_code 109 #
temperature_control.hotend2.designator T1 #
temperature_control.hotend2.p_factor 13.7 # permanently set the PID values after an auto pid
temperature_control.hotend2.i_factor 0.097 #
temperature_control.hotend2.d_factor 24 #
temperature_control.hotend2.max_pwm 255 # max pwm, 64 is a good value if driving a 12v resistor with 24v.
temperature_control.bed.enable true #
temperature_control.bed.thermistor_pin 0.23 #
temperature_control.bed.heater_pin 2.5 # 2.5
temperature_control.bed.thermistor RRRF100K # see http://smoothieware.org/temperaturecontrol#toc5
temperature_control.bed.beta 3950 # or set the beta value
temperature_control.bed.set_m_code 140 #
temperature_control.bed.set_and_wait_m_code 190 #
temperature_control.bed.designator B #
#temperature_control.bed.bang_bang false # set to true to use bang bang control rather than PID
#temperature_control.bed.hysteresis 2.0 # set to the temperature in degrees C to use as hysteresis
# when using bang bang
# Switch module for fan control
switch.fan.enable true #
switch.fan.input_on_command M106 #
switch.fan.input_off_command M107 #
switch.fan.output_pin 2.4 #
switch.fan.output_type pwm # pwm output settable with S parameter in the input_on_comand
#switch.fan.max_pwm 255 # set max pwm for the pin default is 255
#switch.misc.enable true #
#switch.misc.input_on_command M42 #
#switch.misc.input_off_command M43 #
#switch.misc.output_pin 2.4 #
#switch.misc.output_type digital # just an on or off pin
# automatically toggle a switch at a specified temperature. Different ones of these may be defined to monitor different temperatures and switch different swithxes
# useful to turn on a fan or water pump to cool the hotend
#temperatureswitch.hotend.enable true #
#temperatureswitch.hotend.designator T # first character of the temperature control designator to use as the temperature sensor to monitor
#temperatureswitch.hotend.switch misc # select which switch to use, matches the name of the defined switch
#temperatureswitch.hotend.threshold_temp 60.0 # temperature to turn on (if rising) or off the switch
#temperatureswitch.hotend.heatup_poll 15 # poll heatup at 15 sec intervals
#temperatureswitch.hotend.cooldown_poll 60 # poll cooldown at 60 sec intervals
# Switch module for spindle control
#switch.spindle.enable false #
# Endstops
endstops_enable true # the endstop module is enabled by default and can be disabled here
#corexy_homing false # set to true if homing on a hbit or corexy
alpha_min_endstop 1.24v # add a ! to invert if endstop is NO connected to ground
alpha_max_endstop 1.25v! # NOTE set to nc if this is not installed
alpha_homing_direction home_to_min # or set to home_to_max and set alpha_max
alpha_min 0 # this gets loaded after homing when home_to_min is set
alpha_max 250 # this gets loaded after homing when home_to_max is set
beta_min_endstop 1.26v #
beta_max_endstop 1.27v #
beta_homing_direction home_to_min #
beta_min 0 #
beta_max 250 #
gamma_min_endstop 1.28v #
gamma_max_endstop 1.29 #
gamma_homing_direction home_to_min #
gamma_min 0 #
gamma_max 120 #
# optional order in which axis will home, default is they all home at the same time,
# if this is set it will force each axis to home one at a time in the specified order
#homing_order XYZ # x axis followed by y then z last
# optional enable limit switches, actions will stop if any enabled limit switch is triggered ПРОВЕРИТЬ И ИСПЫТАТЬ!!!!
#alpha_limit_enable true # set to true to enable X min and max limit switches
#beta_limit_enable true # set to true to enable Y min and max limit switches
#gamma_limit_enable true # set to true to enable Z min and max limit switches
alpha_fast_homing_rate_mm_s 55 # feedrates in mm/second
beta_fast_homing_rate_mm_s 55 # "
gamma_fast_homing_rate_mm_s 25 # "
alpha_slow_homing_rate_mm_s 25 # "
beta_slow_homing_rate_mm_s 25 # "
gamma_slow_homing_rate_mm_s 5 # "
alpha_homing_retract_mm 5 # distance in mm
beta_homing_retract_mm 5 # "
gamma_homing_retract_mm 2 # "
#endstop_debounce_count 100 # uncomment if you get noise on your endstops, default is 100
# optional Z probe
zprobe.enable true # set to true to enable a zprobe
zprobe.probe_pin 2.11v # pin probe is attached to if NC remove the ! 2.11v
zprobe.slow_feedrate 1 # mm/sec probe feed rate
#zprobe.debounce_count 100 # set if noisy
zprobe.fast_feedrate 100 # move feedrate mm/sec
zprobe.probe_height 2 # how much above bed to start probe
#gamma_min_endstop nc # normally 1.28. Change to nc to prevent conflict,

# associated with zprobe the leveling strategy to use
#leveling-strategy.three-point-leveling.enable true # a leveling strategy that probes three points to define a plane and keeps the Z parallel to that plane
#leveling-strategy.three-point-leveling.point1 10.0,10.0 # the first probe point (x,y) optional may be defined with M557
#leveling-strategy.three-point-leveling.point2 150.0,10.0 # the second probe point (x,y)
#leveling-strategy.three-point-leveling.point3 10.0,150.0 # the third probe point (x,y)
#leveling-strategy.three-point-leveling.home_first false # home the XY axis before probing
#leveling-strategy.three-point-leveling.tolerance 0.03 # the probe tolerance in mm, anything less that this will be ignored, default is 0.03mm
#leveling-strategy.three-point-leveling.probe_offsets -67,-43,0 # the probe offsets from nozzle, must be x,y,z, default is no offset
#leveling-strategy.three-point-leveling.save_plane false # set to true to allow the bed plane to be saved with M500 default is false

leveling-strategy.rectangular-grid.enable true # The strategy must be enabled in the config, as well as the zprobe module.
leveling-strategy.rectangular-grid.x_size 150 # size of bed in the X axis
leveling-strategy.rectangular-grid.y_size 160 # size of bed in the Y axis
leveling-strategy.rectangular-grid.size 3 # The size of the grid, for example, 7 causes a 7x7 grid with 49 points.
# Must be an odd number.
leveling-strategy.rectangular-grid.probe_offsets -67,-43,0 # Optional probe offsets from the nozzle or tool head
leveling-strategy.rectangular-grid.save true # If the saved grid is to be loaded on boot then this must be set to true
leveling-strategy.rectangular-grid.initial_height 10 # Optionally an initial_height can be set that tell the intial probe
# where to stop the fast decent before it probes, this should be
# around 5-10mm above the bed
leveling-strategy.rectangular-grid.do_home false

# Panel
panel.enable false # set to true to enable the panel code
#panel.lcd smoothiepanel # set type of panel
#panel.encoder_a_pin 3.25!^ # encoder pin
#panel.encoder_b_pin 3.26!^ # encoder pin
# Example for reprap discount GLCD
# on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
# +5v is EXP1 pin 10, Gnd is EXP1 pin 9
panel.lcd reprap_discount_glcd #
panel.spi_channel 0 # spi channel to use ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
panel.spi_cs_pin 0.16 # spi chip select ; GLCD EXP1 Pin 4
panel.encoder_a_pin 3.25!^ # encoder pin ; GLCD EXP2 Pin 3
panel.encoder_b_pin 3.26!^ # encoder pin ; GLCD EXP2 Pin 5
panel.click_button_pin 1.30!^ # click button ; GLCD EXP1 Pin 2
panel.buzz_pin 1.31 # pin for buzzer ; GLCD EXP1 Pin 1
panel.back_button_pin 2.11!^ # back button ; GLCD EXP2 Pin 8
panel.external_sd true # set to true if there is an extrernal sdcard on the panel
panel.external_sd.spi_channel 1 # set spi channel the sdcard is on
panel.external_sd.spi_cs_pin 0.28 # set spi chip select for the sdcard (or any spare pin)
panel.external_sd.sdcd_pin 0.27!^ # sd detect signal (set to nc if no sdcard detect) (or any spare pin)

# pins used with other panels
#panel.up_button_pin 0.1! # up button if used
#panel.down_button_pin 0.0! # down button if used
#panel.click_button_pin 0.18! # click button if used
panel.menu_offset 0 # some panels will need 1 here
panel.alpha_jog_feedrate 6000 # x jogging feedrate in mm/min
panel.beta_jog_feedrate 6000 # y jogging feedrate in mm/min
panel.gamma_jog_feedrate 400 # z jogging feedrate in mm/min
panel.hotend_temperature 185 # temp to set hotend when preheat is selected
panel.bed_temperature 60 # temp to set bed when preheat is selected
# Example of a custom menu entry, which will show up in the Custom entry.
# NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
custom_menu.power_on.enable true #
custom_menu.power_on.name Power_on #
custom_menu.power_on.command M80 #
custom_menu.power_off.enable true #
custom_menu.power_off.name Power_off #
custom_menu.power_off.command M81 #
# Only needed on a smoothieboard
currentcontrol_module_enable true #

return_error_on_unhandled_gcode false #
# network settings
network.enable false # enable the ethernet network services
network.webserver.enable false # enable the webserver
network.telnet.enable false # enable the telnet server
#network.ip_address auto # use dhcp to get ip address
# uncomment the 3 below to manually setup ip address
network.ip_address 192.168.3.221 # the IP address
network.ip_mask 255.255.255.0 # the ip mask
network.ip_gateway 192.168.3.1 # the gateway address
#network.mac_override xx.xx.xx.xx.xx.xx # override the mac address, only do this if you have a conflict

switch.servo.enable true
switch.servo.input_on_command M280 S3.0
switch.servo.input_off_command M280 S7.0
switch.servo.output_pin 1.23
switch.servo.output_type hwpwm
switch.servo.pwm_period_ms 20
Ответы на вопрос

Ответы

06.12.18 в 19:30
0
Попробуйте проверить, а скорости карты хватает?

Для этого возьмите размер файла gcode и разделите на время печати (хоть из слайсера), и сравните полученную скорость с максимально возможной скоростью класса вашей карты (я еще теоретическую поделил бы на 2, ибо накладные расходы на файловую систему не иллюзорные, а кеширования НЕТ)


06.12.18 в 20:51
печатает на Ultimaker 3 Extended
1
Чушь абсолютная. Скорость карты на несколько порядков выше скорости печати. Вы что, несколько часов копируете g-code на карту?
06.12.18 в 21:33
0
Карту проверил. Как-то не очень хорошо с чтеием - максимум - 5 мегабайт, но значительную долю времени скорость падает до 0.4 мегабайт.
Это критично?
06.12.18 в 21:10
0
тоже верно, ошибся на порядок
06.12.18 в 21:31
0
А скорость обмена дисплея по UART - не влияет на это? У меня 9600 стоит.
Еще вариант - у меня плата конечно 32 битная, но все же - по двум осям деление шага на 128. Может контроллер перегружен работой?
06.12.18 в 21:46
печатает на Ultimaker 3 Extended
0
Попробуйте упростить STL. Возможно плата не поспевает производить вычисления.
06.12.18 в 21:58
0
Что значит не успевает? ПО USB идет G-код, плата его переваривает с нормальной скоростью. В чем проблема, если этот код идет с платы с дисплеем? Или Вы имеете в виду что плата с дисплеем его не успевает обрабатывать?
Нашел у себя SDшку, скорость которой не опускается ниже 20 мб/сек. Попробую сейчас...
06.12.18 в 22:08
печатает на Ultimaker 3 Extended
0
Да, я имею ввиду, что плата может иметь низкую скорость чтения с SD карты в принципе, либо низкую пропускную способность канала передачи команд с SD карты через свой контроллер и не поспевает их обрабатывать с должной скоростью. Скорость же USB контроллера выше.
06.12.18 в 22:15
печатает на RepRap
0
9600 может быть маловато на кривых участках. Попробуйте поднять.

Когда игрался со скоростью передачи данных то в самом низу было снижение скорости печати.
06.12.18 в 22:17
печатает на RepRap
0
У меня кажется на 128ми стабильно работает. Шлейф обернул на всякий случай металлизированым скотчем (когда охотился на глюк с остановкой печати.
06.12.18 в 22:28
0
А скорость нужно в конфиге как дисплея, так и MKS SBase менять, я правильно понял?
06.12.18 в 22:31
0
Да и еще - шлейф у меня полметра. Не длинновато ли?
06.12.18 в 22:53
печатает на RepRap
0
Все верно. скорость надо установить одинаковую и там и там. Шлейф у меня тоже какой-то длинный в комплекте шел. Не знаю на счет полметра, но раза в три он сложен. Но все работает стабильно.
06.12.18 в 23:01
0
УРА! На 115200 бод скорость возросла в разы! Не уверен, что до того же уровня, что по ЮСБ, но на это похоже.
Стоит ли задирать до 250 000 ??
07.12.18 в 03:59
печатает на RepRap
0
Печать быстрее уже не станет :) А вероятность потери данных возрастет. ДУмаю не стоит. :)
06.12.18 в 23:00
0
УРА! На 115200 бод скорость возросла в разы! Не уверен, что до того же уровня, что по ЮСБ, но на это похоже.
Стоит ли задирать до 250 000 ?
07.12.18 в 01:18
печатает на Formbot T-Rex 2
0
115200 вполне достаточно.
09.12.18 в 15:52
0
Самый, IMHO, симпатичный вариант (при наличии WiFi):
1) В MKS SBASE втыкается короткий переходник под стандартную (а не микро!) SD-карту;
2) В гнездо переходника втыкается SD-карта с встроенным WiFi;
3) После этого карта монтируется к компу как обычная флешка, файлы модели быстро заливаются на нее по WiFi
4) На печать отправляется файл с карты, воткнутой в MKS SBASE. Быстро, надежно, помехоустойчиво. И никаких шнурков.

P.S. 120000 - это скорость в бодах, т.е. БИТ в секунду. Т.е. примерно 12 килобайт в секунду.

Для написания комментариев, пожалуйста, авторизуйтесь.