Aller au contenu

GO Print

SKR mini E3 V3 Flash du firmware Klipper (Voron V0.1)


Kempai

Messages recommandés

Bonjour à tous ! 

Je monte actuellement une Voron 0.1 mais après beaucoup de (trop) de tentatives et de recherches je commence à être un peu perdu et bloqué sur la partie logiciel.

Je vous évoque d'abord mon 1er obstacle : le flash de la mcu. J'ai été confronté à un problème (apparemment partagé par certains) de nomination du fichier firmware.bin.

En suivant scrupuleusement la procédure de klipper de création du firmware je récupère le fichier généré dans le dossier klipper out. Le renomme en "firmware.bin", le colle sur une SD fraichement achetée et formatée en Fat32 et l'insert dans la mcu. J'allume, patiente un peu, puis lance Fluidd et constate le message "mcu 'mcu': Unable to connect" 

Je vérifie donc que mon fichier "firmware.bin" présent sur la carte sd à été modifié en "firmware.cur" et bien non ...

S'en suit un grand nombre de tentatives et de manip' afin de m'assurer que le fichier est correctement nommé et la mcu flashée (les extensions sont activées dans l'affichage de windows : pas de "firmware.bin.bin" par exemple). J'ai trouvé sur un reddit quelqu'un qui y était parvenu en jouant sur la casse : je test donc FIRMWARE.bin, ne fonctionne pas non plus. Je tente de le repasser en minuscules dans l'explorateur et la brainfuck : il reste en majuscules ... je tente pleins de trucs comme renommé en "FIRMWARE_1.bin" puis --> "firmware_1.bin" (ah la il veut bien le laisser en minuscules) puis je vire le "_1" et mon fichier est bien nommé "firmware.bin", je l'insert a nouveau sans franchement y croire : et la je récupère ma sd avec un fichier "firmware.cur" !!!

Sans rien y comprendre, il semblerait que le firmware est bien été flashée ?!

Pour m'assurer que la carte à bien été flashée je lance comme indiqué dans la procédure un

ls /dev/serial/by-id/*

Et j'obtient
ls: cannot access '/dev/serial/by-id/*': No such file or directory
 

J'en conclu que la carte n'est pas flashée ? Ou bien est-ce un problème de communication entre le Pi et la skr (lié à l'usb par exemple, j'ai tenté avec un autre câble même constat) ?!

J'ai aussi essayé de me connecter à la skr en usb sur mon pc via Pronterface mais sans succès :

"Connecting...
Traceback (most recent call last):
  File "printrun\pronterface.pyc", line 1053, in connect
  File "printrun\pronsole.pyc", line 720, in connect_to_printer
  File "printrun\printcore.pyc", line 46, in inner
  File "printrun\printcore.pyc", line 208, in connect
  File "encodings\utf_8.pyc", line 16, in decode
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 49: invalid continuation byte"

Je bloque complètement ! 

 

Ci-joint les logs et la conf (qui est celle de base proposée sur le github de klipper)

Cordialement,

 

Kempai

klippy (1).log printer (1).cfg

Lien vers le commentaire
Partager sur d’autres sites

@Kempai,

la E3 mini V3 utilise un nouveau processeur le STM32G0B1, est-ce que tu as bien suivi la procédure BTT  BIGTREETECH-SKR-mini-E3/firmware/V3.0/Klipper at master · bigtreetech/BIGTREETECH-SKR-mini-E3 (github.com)

Lien vers le commentaire
Partager sur d’autres sites

Salut @Savate !

Oui effectivement, j'ai d'ailleurs patienté que cette dernière soit prise en charge par klipper. Ce qui est le cas depuis peu.

NOTE: STM32G0B1 has now been merged into the master branch of klipper's official github repository, so now we can use the steps on the klipper official website

Lien vers le commentaire
Partager sur d’autres sites

il y a 27 minutes, Kempai a dit :

une SD fraichement achetée et formatée en Fat32

Moins de 32 Go ? (il me semble que celle fournie - avec la V2 - était toute petite, tu peux essayer avec - si ils en fournissent toujours une)

firmware.bin en minuscule et à la racine ?

Rien de branché sur la carte (à part l'alimentation) ?

Est-ce que la status led clignote en rouge à l'allumage ?

Modifié (le) par Savate
Lien vers le commentaire
Partager sur d’autres sites

il y a 3 minutes, Savate a dit :

Moins de 32 Go ? (il me semble que celle fournie - avec la V2 - était toute petite, tu peux essayer avec - si ils en fournissent toujours une)

firmware.bin en minuscule et à la racine ?

Rien de branché sur la carte (à part l'alimentation) ?

Non pas de carte fournie avec. La carte Sd que j'emploi fait 32 go, j'ai tenté préalablement avec une 16go, mais pas depuis que j'ai trouvé le "trick" du renommage en majuscule. J'obtenais toujours un fichier firmware.bin non changé en .cur

Je vais essayé a nouveau. En revanche tout est cablé sur ma carte ! Je ne savais pas qu'il fallait tout déconnecter. Je l'aurais endommagé ?

Lien vers le commentaire
Partager sur d’autres sites

il y a 37 minutes, Kempai a dit :

J'en conclu que la carte n'est pas flashée ? Ou bien est-ce un problème de communication entre le Pi et la skr (lié à l'usb par exemple, j'ai tenté avec un autre câble même constat) ?!

ça ressemble assez à un pb de communication, le câble d'origine est parfois pourri, mais attention il faut un câble 'data' pour que ça fonctionne.

Tu as essayé de changer de port sur le raspberry ?

 

à l’instant, Kempai a dit :

Je vais essayé a nouveau. En revanche tout est cablé sur ma carte ! Je ne savais pas qu'il fallait tout déconnecter. Je l'aurais endommagé ?

non c'est juste au cas ou il y aurait un mauvais branchement.

Modifié (le) par Savate
Lien vers le commentaire
Partager sur d’autres sites

Je vais me procurer un 3ème cable pour m'assurer.

Oui j'ai essayé de changer de port sur le raspberry, mais pas sur les deux autres, ma disposition du Pi sur l'imprimante condamne les deux autres usb, je vais la déposer pour les essayer.

Lien vers le commentaire
Partager sur d’autres sites

à l’instant, Kempai a dit :

ma disposition du Pi sur l'imprimante condamne les deux autres usb, je vais la déposer pour les essayer.

c'est effectivement assez pénible à positionner 🙂 

Lien vers le commentaire
Partager sur d’autres sites

J'ai chippé le câble de ma chromecast et là ... miracle en faisant "ls /dev" je vois bien remonter l'usb (j'aurais du commencer par ca) et j'ai bien mon serial visible avec

ls /dev/serial/by-id/*

/dev/serial/by-id/usb-Klipper_stm32g0b1xx_0D0027001750344D30363620-if00

@Savate Merci pour les indications ! Au passage toi qui en possède deux : aurais-tu a me partager un .cfg pour la Voron 0 sur laquelle je pourrais me baser ? 🙂

Modifié (le) par Kempai
  • J'aime 1
Lien vers le commentaire
Partager sur d’autres sites

il y a 44 minutes, Kempai a dit :

aurais-tu a me partager un .cfg pour la Voron 0 sur laquelle je pourrais me baser ?

oui, mais je ne les ai pas testés avec une SKR E3 V3 ... il faut vérifier les pins par rapport à la V2

Dans la pratique c'est à eu prés la même que celle d'origine (j'ai du juste changer le sens de l'extrudeur il me semble)

j'ai mis en commentaire les sections display, leds et capteur de fin de filament

j'ai aussi viré la section save_config à la fin.

# This file contains common pin mappings for the BIGTREETECH SKR
# MINI 2.0. To use this config, the firmware should be compiled for 
# the STM32F103 with a "28KiB bootloader". Also select "enable extra 
# low-level configuration options" and configure "GPIO pins to set 
# at micro-controller startup" to "!PA14".

# The "make flash" command does not work on the SKR mini. Instead,
# after running "make", copy the generated "out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the SKR
# mini with that SD card.

# See the example.cfg file for a description of available parameters.

[mcu]
##	Obtain mcu value by "ls -l /dev/serial/by-id/" 
serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_32FFD8055359393515891843-if00

[stepper_x]
step_pin: PB13
dir_pin: PB12           # check https://docs.vorondesign.com/build/startup/#v0 if moving in the wrong direction
enable_pin: !PB14
rotation_distance: 40
microsteps: 16
endstop_pin: PC0 
position_endstop: 120
position_max: 120
homing_speed: 20        # Increase after initial setup, Max 100
homing_retract_dist: 5
homing_positive_dir: true

[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
uart_address: 0
interpolate: True
run_current: 0.5        # For V0.1 spec NEMA14 40Ncm
hold_current: 0.25
sense_resistor: 0.110
stealthchop_threshold: 500


[stepper_y]
step_pin: PB10
dir_pin: PB2           # check https://docs.vorondesign.com/build/startup/#v0 if moving in the wrong direction
enable_pin: !PB11
rotation_distance: 40
microsteps: 16
endstop_pin: PC1
position_endstop: 120
position_max: 120
homing_speed: 20        # Increase after initial setup, Max 100
homing_retract_dist: 5
homing_positive_dir: true

[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
uart_address: 2
interpolate: True
run_current: 0.5        # For V0.1 spec NEMA14 40Ncm
hold_current: 0.25
sense_resistor: 0.110
stealthchop_threshold: 500


[stepper_z]
step_pin: PB0
dir_pin: PC5           # Remove ! if moving opposite direction
enable_pin: !PB1
rotation_distance: 8    # For T8x8 integrated lead screw
microsteps: 16
endstop_pin: PC2
#position_endstop: -0.10
position_max: 120
position_min: -1.5
homing_speed: 10        # Max 100
second_homing_speed: 3.0
homing_retract_dist: 3.0

[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
uart_address: 1
interpolate: True
#run_current: 0.37       # For V0.1 spec NEMA17 LDO-42STH25-1004CL200E 1.0A  
#hold_current: 0.35
run_current: 0.2         # For V0.1 spec NEMA17 OMC 17LS13-0404E-200G 0.4A 
hold_current: 0.15
sense_resistor: 0.110
stealthchop_threshold: 500


[extruder]
step_pin: PB3
dir_pin: !PB4            # Add ! if moving opposite direction
enable_pin: !PD2
full_steps_per_rotation: 200    # 1.8° motor LDO
#full_steps_per_rotation: 400    # 0.9° motor i.e OMC 14HR07-1004VRN
rotation_distance: 22.23        # See calibrating rotation_distance on extruders doc
gear_ratio: 50:10               # For Mini Afterburner
microsteps: 16
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC8
sensor_type: EPCOS 100K B57560G104F # Adjust for your hotend thermistor (see options below)
sensor_pin: PA0
#control: pid            # Do PID calibration
#pid_Kp: 28.182
#pid_Ki: 1.978
#pid_Kd: 100.397
min_temp: 0
max_temp: 270
min_extrude_temp: 170
max_extrude_only_distance: 780.0
max_extrude_cross_section: 0.8
pressure_advance: 0.0   # See tuning pressure advance doc
pressure_advance_smooth_time: 0.040

[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
uart_address: 3
interpolate: True
run_current: 0.3	# for LDO 36STH17-1004AHG 
hold_current: 0.2	# for LDO 36STH17-1004AHG
#run_current: 0.5	# for OMC 14HR07-1004VRN rated at 1A
#hold_current: 0.3	# for OMC 14HR07-1004VRN rated at 1A
sense_resistor: 0.110
stealthchop_threshold: 500


[heater_bed]
heater_pin: PC9
sensor_type: NTC 100K beta 3950 # For Keenovo, verify yours
sensor_pin: PC3
smooth_time: 3.0
#max_power: 0.6         # Only need this for 100w pads
min_temp: 0
max_temp: 120
#control: pid            # Do PID calibration
#pid_kp: 68.453
#pid_ki: 2.749
#pid_kd: 426.122


[printer]
kinematics: corexy
max_velocity: 200
max_accel: 2000
max_z_velocity: 15
max_z_accel: 45
square_corner_velocity: 6.0


[heater_fan hotend_fan]
pin: PC7
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0
#fan_speed: 1.0         # You can't PWM the delta fan unless using blue wire


[fan]
pin: PC6
max_power: 1.0
kick_start_time: 0.5
#depending on your fan, you may need to increase or reduce this value
#if your fan will not start
off_below: 0.13
cycle_time: 0.010


[idle_timeout]
timeout: 1800


[safe_z_home]
home_xy_position: 120,120
speed: 50.0
z_hop: 5


# Tool to help adjust bed leveling screws. One may define a
# [bed_screws] config section to enable a BED_SCREWS_ADJUST g-code
# command.
[bed_screws]
screw1: 60,5
screw1_name: vis avant
screw2: 5,115
screw2_name: arrière gauche
screw3: 115,115
screw3_name: arrière droite

# JLM Addon on Ecran 
#[display]
#lcd_type: sh1106
#i2c_bus: i2c1a      ## MINI-SKR:EXP1 5v(1), 0v(2), PB8(4):SCL, PB9(5):SDA
#i2c_mcu = mcu
#contrast = 100
#vcomh: 16
#x_offset: 2
#invert: False

# JLM Add on leds
#[neopixel light]
#pin: PA8
#   The pin connected to the neopixel. This parameter must be
#   provided.
#chain_count: 4
#   The number of Neopixel chips that are "daisy chained" to the
#   provided pin. The default is 1 (which indicates only a single
#   Neopixel is connected to the pin).
#color_order: GRB
#   Set the pixel order required by the LED hardware. Options are GRB,
#   RGB, GRBW, or RGBW. The default is GRB.
#initial_RED: 0.1
#initial_GREEN: 0.2
#initial_BLUE: 0.9
#   Sets the initial LED color of the Neopixel. Each value should be
#   between 0.0 and 1.0. The WHITE option is only available on RGBW
#   LEDs. The default for each color is 0.

# JLM Add on runout sensor
#[filament_switch_sensor runoutsensor]
#pause_on_runout: True
#pause_on_runout: False
#runout_gcode :
#insert_gcode :
#event_delay: 3.0
#pause_delay: 0.5
#switch_pin: !PC15

[gcode_macro PRINT_START]
#   Use PRINT_START for the slicer starting script - please customize for your slicer of choice
gcode:
    G28                            ; home all axes
    G1 Z20 F3000                   ; move nozzle away from bed
   
[gcode_macro PRINT_END]
#   Use PRINT_END for the slicer ending script - please customize for your slicer of choice
gcode:
    M400                           ; wait for buffer to clear
    G92 E0                         ; zero the extruder
    G1 E-4.0 F3600                 ; retract filament
    G91                            ; relative positioning

    #   Get Boundaries
    {% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
    {% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
    {% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}

    #   Check end position to determine safe direction to move
    {% if printer.toolhead.position.x < (max_x - 20) %}
        {% set x_safe = 20.0 %}
    {% else %}
        {% set x_safe = -20.0 %}
    {% endif %}

    {% if printer.toolhead.position.y < (max_y - 20) %}
        {% set y_safe = 20.0 %}
    {% else %}
        {% set y_safe = -20.0 %}
    {% endif %}

    {% if printer.toolhead.position.z < (max_z - 2) %}
        {% set z_safe = 2.0 %}
    {% else %}
        {% set z_safe = max_z - printer.toolhead.position.z %}
    {% endif %}

    G0 Z{z_safe} F3600             ; move nozzle up
    G0 X{x_safe} Y{y_safe} F20000  ; move nozzle to remove stringing
    TURN_OFF_HEATERS
    M107                           ; turn off fan
    G90                            ; absolute positioning
    G0 X60 Y{max_y} F3600          ; park nozzle at rear
	
[gcode_macro LOAD_FILAMENT]
gcode:
   M83                            ; set extruder to relative
   G1 E30 F300                    ; load
   G1 E15 F150                    ; prime nozzle with filament
   M82                            ; set extruder to absolute
    
[gcode_macro UNLOAD_FILAMENT]
gcode:
   M83                            ; set extruder to relative
   G1 E10 F300                    ; extrude a little to soften tip
   G1 E-40 F1800                  ; retract some, but not too much or it will jam
   M82                            ; set extruder to absolute

# Sensor Types
#   "EPCOS 100K B57560G104F"
#   "ATC Semitec 104GT-2"
#   "NTC 100K beta 3950" (Keenovo Heater Pad)
#   "Honeywell 100K 135-104LAG-J01"
#   "NTC 100K MGB18-104F39050L32"
#   "AD595"
#   "PT100 INA826"
Modifié (le) par Savate
Lien vers le commentaire
Partager sur d’autres sites

Au top merci beaucoup ! Oui je ne ferais pas un simple copier/coller 🙂

En revanche le temps de mes essais j'ai constaté que le moteur Z était bouillant !! 

Un problème de vref sur le stepper Z ? 

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...