pr20100 / sovol-sv06-klipper-profile Goto Github PK
View Code? Open in Web Editor NEWComplete Klipper profile with all config files and macros to tune the printer (stock)
License: GNU General Public License v3.0
Complete Klipper profile with all config files and macros to tune the printer (stock)
License: GNU General Public License v3.0
I am using multiple instances of Klipper which organizes different printers as printer_1_data, printer_2_data, etc etc for how many instances you have
With the first version of files printer.cfg and printer profiles were the only paths that had to be adjusted
but with these updates I tried and cannot seem to find all the paths or ways to adjust the paths to get this to work.
Can you make this friendly for multiple printer installs
think part of the problem is around
/home/pi/klipper_config/config/ = /home/pi/printer_1_data/config/config/ (edited)
eg, /home/pi/klipper_config/config/options.cfg = /home/pi/printer_1_data/config/config/options.cfg
@Pr20100 - would you accept a PR for a branch of this config for a BTT SKR Mini E3 V3.0? If so, I'll put it together and submit
We should have a way to add ideas or pass on information we have learned to enhance this project further. Well organized structured files helps to eliminate some of the fog of war when learning these machines. I have recently added a big tree tech lis2dw accelerometer to my printers host. Also there is another config for the og menu screen to give it more usefulness.
You can find it here: https://github.com/AndrewEllis93/Print-Tuning-Guide/blob/debf421280af706316de2ad014333119b6db6607/macros/TEST_SPEED.cfg
I have it working on my Voron 0.1, however, the one time I tried it on the SV06, it didn't go well:
Thanks!
Basic: 64
Performance: 32
Stealth: 16
Does this make sense?
How does it work while the SV06 doesn't have screw? It's not adjustable.
And gantry calibration can't be fully trusted, right? The gantry "calibrates" its level to the top, but if the bed is not 100% level.
Someone had, unfortualy only for Marlin, a tramming Gcode which "calibrates" the X/Z axis to the bed with the inductive sensor. Need to turn leadscrews manually though. But someting like that isn't possible in Klipper? That gcode doesnt work in klipper. bc it pauses with a M84 and click to continue.
Using the GANTRY_CALIBRATION
macro parks the head in a spot where the Z probe doesn't have any bed under it, meaning any subsequent commands that use G28 Z
(like the mesh level macro) will forcefully crash the print head into the bed because the Z probe never triggers.
Parking it in a spot where the probe is still over the bed might be a good idea.
Seems clipper has changed the default path for the printer.cfg to the directory printer_data/config
The description still uses the old path. So it would be good to change this. I think the include paths you have already changed in the newest release from absolut to relative pathes.
Unable to restart firmware.
Option 'control' in section 'heater_bed' must be specified
Once the underlying issue is corrected, use the "RESTART"
command to reload the config and restart the host software.
Printer is halted
Have been looking but just wanted to open an issue for adding the Z Offset as a macro that can be called from the screen
I'm probably doing something wrong, as I am new to all this.
I believe the DET pin header on the mainboard can be used for a filament runout sensor.
From the SOVOL Marlin firmware repo for the SV06 it appears to me that the runout sensor should be PA4.
Do I need to edit a config file to enable those pins before I compile a new klipper bin firmware to have those pins exposed?
Sorry if I'm making a huge conceptual error.
Hi, I am running cura slicer and just tried my first print and used "PRINT_START" and got this error:
!! Error evaluating 'gcode_macro PRINT_START:gcode': jinja2.exceptions.UndefinedError: 'dict object' has no attribute 'BED'
Can someone help?
Hi Pierre,
There is a new method to calibrate Pressure Advance with a pattern and no more with a cube. The new method is much more fast then printing a cube and need less material. In principle it can be done within 5-10 Minutes with below 1g of material.
Here the method is described: [Click Me]
For this pattern a Pattern Generator is available:Click Me
The pattern generator uses the M900 code command to change the Pressure Advance K factor within the print. As M900 is not supported we should introduce a macro which translates the M900 to clipper syntax.
I have found a working (tested by me) macro from following GitHub repo: Klick Me
[gcode_macro M900]
gcode:
{% if 'K' in params %}
{% if 'E' in params %}
SET_PRESSURE_ADVANCE EXTRUDER={params.E} ADVANCE={params.K}
{% else %}
SET_PRESSURE_ADVANCE ADVANCE={params.K}
{% endif %}
{% endif %}
I will add also another macro request in another Issue which is also used with the pattern generator but has also other very positive aspects (M204)
Good day,
Would you happen to have or know where I could find a config for SV06+?
Thank you
Lee
The M204 code instruction is used to set access/deaccel values in some slicers and not known by Klipper.
There are multiple benefits to have this macro.
1.) The Pressure Advance uses this M204 instruction to set access to a defined value
2.) Also some Slicers (at least SuperSlicer and Prusaslicer, with Prusaslicer I tested successfully that it works) use the M204 command. The benefit is that in Prusaslicer you can set multiple acceleration values for different feature types, for instance separately for Perimeters, Infill, Bridges and the First Layer. So you can use a small acceleration value for the Perimeters to avoid visible ringing and increase the acceleration value for infill where ringing is not a problem because not visible
I found a appropriate macro in following GitHub repository: Click me
Here the content of the macro:
[gcode_macro M204]
rename_existing: M204.1
gcode:
{% set f = params.F|default(0.5)|float %}
{% if 'S' in params %}
{% set s = params.S|float %}
SET_VELOCITY_LIMIT ACCEL={s} ACCEL_TO_DECEL={ s * f }
{% else %}
{% if 'P' in params %}
{% set p = params.P|float %}
{% if 'T' in params %}
{% set t = params.T|float %}
{% if p < t %}
SET_VELOCITY_LIMIT ACCEL={p} ACCEL_TO_DECEL={ p * f }
{% else %}
SET_VELOCITY_LIMIT ACCEL={t} ACCEL_TO_DECEL={ t * f }
{% endif %}
{% else %}
SET_VELOCITY_LIMIT ACCEL={p} ACCEL_TO_DECEL={ p * f }
{% endif %}
{% elif 'T' in params %}
{% set t = params.T|float %}
SET_VELOCITY_LIMIT ACCEL={t} ACCEL_TO_DECEL={ t * f }
{% endif %}
{% endif %}
PS: The Slicer Acc values can be set in Prusaslicer/Superslicer under Print Settings/Speed
If you set this values to 0 in Prusa/SuperSlicer the Acc/DeAcc values in the speed profiles in the /config folder are used.
So you can use the M204 features but it's not a must.
The Klipper documentation advises against switching between StealthChop and SpreadCycle while driving (which is exactly what a stealthchop_threshold parameter > 0 does).
In fact, my printer makes very unhealthy noises during acceleration runs when the stealthchop_threshold threshold is exceeded (it sounds like something is mechanically broken). According to the documentation, this cannot also cause undefined behavior (errors).
Just because Sovol does this wrong in their stock Marlin FW, it should not be adopted in Klipper. It is better in this case to set "stealthchop_threshold: 999999", which practically prevents switching to SpreadCycle.
The Serial value in your readme is /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0, but I had to change that value to /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 to establish the connection from my Pi to the printer.
I'm not sure if it is because I have an older Pi, but you may want to consider updating the readme to include instructions for running "ls /dev/serial/by-id/*" to get the correct value.
I think in [tmc2209 stepper_z] the property "diag_pin: PA7" is wrong. While it is not harmful at all, there is no sensorless homing on Z and therefore this property should IMHO no be set.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.