Marlin 1.1.8 Bed Skew Compensation - How To - 2018 - Chris's Basement

Sdílet
Vložit
  • čas přidán 7. 09. 2024

Komentáře • 195

  • @Spartacusse
    @Spartacusse Před 6 měsíci +1

    5:21 "I found it is helpful to use this command to see what the skew is actually being corrected for."
    This sent me down a wild goose chase, everyone keeps mentioning it's intended for use in the Gcode file, one assumes it is a VRAM value that would revert back to 0 or whatever value was compiled as default (measurements or XY_SKEW_FACTOR) when not used or when the printer was rebooted. Boy was I wrong, not only it overrides all other settings, once you set any value it will always restore the saved value from EEPROM, I set a few M852 values via terminal just as a test and set it to 0 in the end, after that no matter what I changed on the firmware (measurements or XY_SKEW_FACTOR) or how many times I rebooted the printer the value was always 0. After a few hours and many compiled firmwares, I found out that A) M852 will always supersede the firmware values, B) if you set it once, either via terminal or in a Gcode while printing it will always go back to that value when EEPROM is loaded, even if it's 0, only by issuing a M502 factory reset M852 value will be cleared and with no value set, it will revert back to XY_SKEW_FACTOR, M852 needs to never have been set manually (NULL) in order to allow the value compiled on the measurements or XY_SKEW_FACTOR to take effect. If you use one Gcode with M852 it will never revert back to XY_SKEW_FACTOR unless you clear the EEPROM.

    • @ChrisRiley
      @ChrisRiley  Před 5 měsíci

      Wow, good find, I didn't know that.

  • @BluJFPV
    @BluJFPV Před 4 lety +1

    Thanks for the info! My FT5 was built 2 years ago by myself and I just noticed that the xy is skewed. Upgraded to marlin 2.0 and used your video to setup skew correction. Saved me hours of tearing down the printer!

  • @FunKing3d
    @FunKing3d Před 6 lety +11

    This was awesome! I love the fact that you "Broke" the printer for testing purposes. :)

    • @ChrisRiley
      @ChrisRiley  Před 6 lety +2

      Thanks Glenn! Log can take one for the team. ;)

    • @SianaGearz
      @SianaGearz Před 5 lety

      I liked this very much too! Because it's specifically people who have a really warped printer that are target audience for the feature.

  • @JohnOCFII
    @JohnOCFII Před 6 lety +3

    Really fantastic presentation of a useful new feature. Marlin has come a long way in the last 18 months!

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Thanks! They are doing some really cool stuff right now.

  • @johnnoonan5983
    @johnnoonan5983 Před 5 lety +1

    Thank you for the great and informative videos. I have been struggling with this old Hictop printer for the last two years, with multiple instances where it just gets put on the shelf and forgotten about for several months. Every once in a while I will take it down and try to get it to print decent again. After watching several of yours and Toms videos, it has become a great reliable printer. These detailed and informative videos have given me the inspiration and confidence to build a Tech2C HyperCube which has also become a great printer. Again thank you for your dedication to this hobby.

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      Awesome to hear, I really appreciate this comment. I love to hear my content helps out others.

  • @Daft_Ideas
    @Daft_Ideas Před 6 lety +2

    Very useful. Just printing the test pieces now.
    I know i have skew...one good way to really show it up is to print a piece one way on the bed, then rotate it 180 degrees in the XY plane (I a "Flat spin" on the bed) and then overlay the two one on the other...it puts the skew in opposite directions, so if you line the bottom (front on the bed) up, the top (back on the bed) is out a long way...

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Good call on the print, even printing this piece twice would be a good showing. Thanks for the comment.

  • @zarster
    @zarster Před 5 lety +2

    since the measurements seem to be used relative to each other for skew only and not sizing the model, I would guess that you can multiply the numbers with any number or leave them as measured, as long as you do it to ALL three measurements.

    • @ChrisRiley
      @ChrisRiley  Před 5 lety +1

      It has changed some in later version, so are more than likely correct.

    • @zarster
      @zarster Před 5 lety +1

      Chris Riley got it. I am using it on Marlin 2.0 on a SKR 1.3 32bit board. The lines appear to be the same as in your config file tho.

  • @mj-acoustics
    @mj-acoustics Před 4 lety +1

    Chris. You are a total inspiration for me. Your videos are more helpful than you could imagine so thanks very much.
    I have an issue though which I would welcome your assistance on. Others may have had the same results. I am using Marlin 2.0.5.4.
    I printed the same X-Y Square Thingiverse STL file as you from the link in the Marlin.ino file. I can see that my prints are quite skewed and when held against a set square they are over 1mm skewed along 120mm so accurate prints are impossible.
    My measurements were as follows:
    A-C = 283.80 B-D = 282.40 A-D = 200.06.
    I made sure to comment out the line (//#define XY_SKEW_FACTOR 0.0) so as to not set it to zero and I activated the M852 as you suggested. I complied and uploaded fine.
    M852 now shows:-
    echo:; Skew Factor:
    echo: M852 S0.000000
    This is effectively nothing, how can that be?
    I have not set the X-Z or the Y-Z calibration so they remain zero. Help please I am lost. Machine is an Anycubic i3 Mega S so adjusting mechanical skew is next to impossible.

  • @jeduardob2060
    @jeduardob2060 Před 6 lety +2

    Hello Chris, your tutorial is fantastic. I used marlin 1.1.9 for this and following its instructions and in the end it worked. One detail I noticed is that I should type M502 and M500 after having loaded the marlin. Keep up the good work !.

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Thanks! The eeprom reload is a great practice to get into for sure.

    • @mapejf
      @mapejf Před 5 lety

      Eduardo, onde esses códigos são inseridos? No Script do Simplify3D? Ativei no Fw, mas não surtiu efeito. Acho que o nivelamento automático está interferindo.

    • @jeduardob2060
      @jeduardob2060 Před 5 lety +1

      Hello marcos, I'll try to answer your questions but in a way that Chris can follow and understand your problem.
      question: where are these codes inserted?
      Answer: If it is the M502 and M500 codes then you should type in some slicer program (Pronterface, Repetier, Simplify3d, etc);
      question: in simplify3d script?
      Answer: answered by the previous question;
      Question: You said that you activated this function in FW but it did not work. I think the ABL is interfering with this function.
      Answer: I activated this function only for the XY axes and it worked. Before I had already activated Chris's procedures for ABL and it worked as well. So I remember after having loaded the firmware with this new function I should type M502 and then M500 to be written to the EEPROM.

    • @mapejf
      @mapejf Před 5 lety

      JEduardo B JEduardo, thanks for the help. My problem is on the XZ and YZ axis. Should the M502 and M500 commands be inserted into the initial Print Script or only after the FW recording? Should I use it in the Simplify3D script, should I use it after the G29 command? When I use the M852 command, the system returns XZ 0.0 and YZ 0.0, but after the M502 command, I see the calculated values.

    • @jeduardob2060
      @jeduardob2060 Před 5 lety +1

      Marcos, I think I understood what's going on in your problem. Once you have loaded the new FW, in the Arduino IDE open the serial monitor window and enter M502 and then M500. To confirm that the information is stored in the EEPROM, enter M503 in the same window. Once the values ​​are displayed there is nothing else that needs to be done.

  • @ZebraandDonkey
    @ZebraandDonkey Před 6 lety +2

    It is a log there to be tested on. Very nice and something I will have to play with soon. Great video as usual.

  • @jfodor1
    @jfodor1 Před 6 lety +2

    dam it, something else i didn't' know i needed to check/fix, thank's Chris. With these video's my printer will never be in a finished/happy state. :P

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Just give it a look if you need to. ;) Or you have a spare Sunday. Thanks for watching.

  • @bigfilsing
    @bigfilsing Před 6 lety +1

    Great job and explanation. Really like your no fluff/BS approach to explaining things Cheers

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Thanks man! Good to hear you liked it.

  • @grahamnichols1416
    @grahamnichols1416 Před 8 měsíci +1

    This video really helped me a lot. Thanks, Chris.

    • @ChrisRiley
      @ChrisRiley  Před 8 měsíci

      Glad it helped! Thanks for watching!

  • @VincentFischer
    @VincentFischer Před 4 lety +2

    I don't quite understand why calc the values times 2? The times 2 cancel each other out. also for best precision I would scale this thing to the extremes of your bed size and print it thinner to waste less filament. But great video, saved me from buying a new printer just because the one guy at creality had the wrong breakfast that day

    • @ChrisRiley
      @ChrisRiley  Před 4 lety

      Right on Vincent, I wasn't really sure either, but I think they changed this up a bit in the newer versions of Marlin.

  • @mewaitin4u15
    @mewaitin4u15 Před 4 lety +1

    Really nice video to sum up the skew correction in Marlin. Appreciate the time you took!

    • @mewaitin4u15
      @mewaitin4u15 Před 4 lety +1

      However i don't understand why multiply by 2?

    • @ChrisRiley
      @ChrisRiley  Před 4 lety

      Thanks! Yeah, I don't think it works that way any more. I haven't looked at it in a while.

  • @ASkewedView3D
    @ASkewedView3D Před 6 lety +1

    So basically it was A Skewed View lol even Marlin has heard of us. Good video as always Chris, thanks for sharing. Have a great day. God bless

    • @ChrisRiley
      @ChrisRiley  Před 6 lety +1

      Everyone knows you guys! Thanks Sholm!

    • @ASkewedView3D
      @ASkewedView3D Před 6 lety +1

      Chris Riley just put Jetsons car STL files up on thingiverse & myminifactory

    • @UncleRons_3D_Pub
      @UncleRons_3D_Pub Před 6 lety +1

      But Marlin now has options in their firmware to make you disappear, Sholm. That is kinda scary

    • @ASkewedView3D
      @ASkewedView3D Před 6 lety

      Brew It, Print It, Build It, Blast It they can try 😋

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      A Skewed View 3D SWEEEETTT!!!

  • @chemistclips
    @chemistclips Před rokem

    Thank you Chris! This helped me after I replaced my main board and added another Z lead screw.

  • @madmike8406
    @madmike8406 Před 6 lety +1

    Great Video Chris, about time to start the Marlin Firmware Playlist.

  • @cringe-tek3d
    @cringe-tek3d Před 3 měsíci

    still relevant today. thanks chris.

  • @VincentGroenewold
    @VincentGroenewold Před 6 lety +3

    Ohhhhh, X2! Doesn't say that in the Marlin comment section I think or I overlooked. Thanks a lot, correcting that now. :)

    • @ChrisRiley
      @ChrisRiley  Před 6 lety +2

      Yeah, it took me a minute to see what was going on there. Hopefully in 1.1.9 the comments are a little clearer. Hope it helps!

  • @sevequinn7070
    @sevequinn7070 Před 6 lety +1

    wow this video was brilliant!!!! I had no idea that was an option. Thanks for video Chris!!!

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Fab Quinn Yes, and it seems to do a pretty good job. Anytime!

  • @JAYTEEAU
    @JAYTEEAU Před 6 lety +1

    Thanks Chris, finally got around to watching this. Really informative. Cheers

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Thanks Jaytee, kind of a neat feature.

  • @Krieg3D
    @Krieg3D Před 6 lety +1

    Very good info Chris, this may correct a few issues I have, now just to flash my board

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Excellent! Let me know how it goes.

  • @Caverntwo
    @Caverntwo Před 6 lety

    Nice vid again, Chris! I've already read thru this theory but seeing it in action is something different. I might consider using this feature when I'm in need of it as well. Thanks for sharing!

    • @ChrisRiley
      @ChrisRiley  Před 6 lety +1

      Thanks! Something to play around with, it's interesting.

  • @thefuglyvaper
    @thefuglyvaper Před 6 lety +1

    Hiya Chris - Another very informative and useful video (as always). Thank you - keep up the great work.

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Hey! Thank you! Thanks for coming to the streams as well. Good to see more and more people getting involved.

  • @Kuntry3D
    @Kuntry3D Před 6 lety

    Another great video my friend. One of these days I will be as good as you.😊

    • @ChrisRiley
      @ChrisRiley  Před 6 lety +2

      You channel get's more awesome everyday Walter, keep it up!

  • @TinaDanielsson
    @TinaDanielsson Před rokem

    That's some pretty amazing skew correction! 😮💯💯

  • @SuperJatoba
    @SuperJatoba Před 4 lety +1

    muito obrigado pela aula

  • @garybarbourii8274
    @garybarbourii8274 Před 4 lety +2

    How do you change the skew, or any other variable defined in the firmware, via gcode without recompiling the firmware?
    And why are you multiplying all of your values by 2?

    • @ChrisRiley
      @ChrisRiley  Před 4 lety

      You can use M852, that is how it was setup at the time, it is different in newer versions of Marlin.

    • @Tumorlike
      @Tumorlike Před 2 lety

      It is not necessary to multiply by 2. If the normal values are replaced with the duplicates in the formula, the result is the same.

  • @4funrc11
    @4funrc11 Před 6 lety +1

    Hey! Nice. Gettin' dwn 2 the nitty-gritty. Thx.

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Yes, now we are getting to the good stuff. ;)

  • @yaVDRgda
    @yaVDRgda Před 6 lety +6

    No need to multiply the values yourself. Just enter the original values and write *2 behind it. The C Pre Processor will calculate it for you.

    • @ChrisRiley
      @ChrisRiley  Před 6 lety +3

      Great tip! Thank you!

    • @nuroo1
      @nuroo1 Před 6 lety +5

      Im curious as to why Cris is multiplying the result x2 anyway. When I look at the code I dont see a mention of doubling your measured result???

    • @yaVDRgda
      @yaVDRgda Před 6 lety +2

      I have thought the same even that I didn't look at the code. IMHO it is all about the relation between the adjacent sides and the hypotenuse of a triangle. So the absolute sizes will be totally unimportant as long as they keep their proportions.

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      I have tried to figure out how the code is rationalizing this my self. I have tried it with the actual values and it doesn't work. I will look through it again and see if I can figure out how it is doing these calculations.

    • @SianaGearz
      @SianaGearz Před 5 lety +3

      I also don't see why you have to multiply at all. The absolute lengths should all cancel out, the resulting value that is stored is a tangent of an angle. This corresponds to what the official Marlin account on Twitter says: twitter.com/MarlinFirmware/status/989605332669345792
      If it doesn't work, maybe there's a bug somewhere?

  • @warandv6614
    @warandv6614 Před 6 lety +1

    great walkthrough... Your video needs more visibility.. I have liked, commented and subscribed. :)

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Thanks so much! We are growing 1 sub at a time, thanks for jumping on board!

  • @arturomendez7945
    @arturomendez7945 Před 4 lety +1

    Hi Chris, my original diagonals diferences on XY are 1mm greater than yours. Same on XZ and YZ and your correction factors are 0.01, 0.01 and 0.0 (with M852) minute 6.00.
    I spected that my factors were at least equals like yours however mine are all 0.0.
    Those are my settings on configuration.h. My frame is ANET A8 with RAMPS 1.4. What could be wrong? I have not tried any print with "new" SKEW correction
    #define SKEW_CORRECTION
    #if ENABLED(SKEW_CORRECTION)
    // Input all length measurements here:
    #define XY_DIAG_AC 281.28
    #define XY_DIAG_BD 283.90
    #define XY_SIDE_AD 199.7
    // Or, set the default skew factors directly here
    // to override the above measurements:
    //#define XY_SKEW_FACTOR 0.0
    #define SKEW_CORRECTION_FOR_Z
    #if ENABLED(SKEW_CORRECTION_FOR_Z)
    #define XZ_DIAG_AC 282.02
    #define XZ_DIAG_BD 284.18
    #define YZ_DIAG_AC 283.2
    #define YZ_DIAG_BD 282.66
    #define YZ_SIDE_AD 199.38
    //#define XZ_SKEW_FACTOR 0.0
    //#define YZ_SKEW_FACTOR 0.0
    #endif
    // Enable this option for M852 to set skew at runtime
    #define SKEW_CORRECTION_GCODE
    #endif

    • @arturomendez7945
      @arturomendez7945 Před 4 lety +1

      Chris I already found how to get real value:
      M502
      M500
      M852
      HERE github.com/MarlinFirmware/Marlin/issues/8843
      Thanks

    • @ChrisRiley
      @ChrisRiley  Před 4 lety

      Sweet! Glad you found it!

  • @SamHern01
    @SamHern01 Před 5 lety +2

    Is there some prep on the printer settings prior printing... ? I am experiencing a scaling problem …. missing about 1mm from x and y … haven't checked z dimensions, after making the skew compensation !!! I had horizontal expansion setting on -1.2mm !!

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      No there shouldn't be any pre prep, but it is going to alter size while correcting. It is going to take a lot of testing to get it dialed in.

  • @zestful988
    @zestful988 Před 6 lety +1

    As always awesome content Chris do you consider making video to modify marlin of CR10 s resume after power off to work with any printer?

    • @ChrisRiley
      @ChrisRiley  Před 6 lety +1

      Thanks! I have, but I haven't got there yet. I might give it a try at some point.

    • @zestful988
      @zestful988 Před 6 lety +1

      Chris Riley it will be great

  • @azeazell
    @azeazell Před 6 lety +1

    awesome video

  • @u2ooberboober
    @u2ooberboober Před 5 lety +1

    Will this work with a delta kossel printer. My kossel prints a parallelogram with a scooped side on the z tower side. That side is longer that the x to x tower side. Its been frustrating...

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      It will work, but more than likely you have a hardware issue., Something is a miss.

    • @u2ooberboober
      @u2ooberboober Před 5 lety +1

      I figured it out with the help of your video and a commenter. Long story short is I didn’t write the hard settings into eeprom with m502 and m500 to make the printer use my updated config.h settings. I’ve got lots to learn and it seems so confusing especially with all of the gcodes.. Thanks for the video!

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      @@u2ooberboober Great find, that has caught me more than once.

  • @erick2will
    @erick2will Před 6 lety

    Nice content Chris, thank you and God bless ya.

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Thank you! Thanks for taking the time to watch!

  • @nimiosound
    @nimiosound Před 5 lety +1

    Can i resize a little bit the squares? my caliper it's not enough big for diagonal measurements. If yes, any size? Thanks for the video!

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      Interesting, I don't really know. You should try it. Scale them down 50%, then multiply the numbers by 2 when you enter them. Let us know how that goes.

    • @nimiosound
      @nimiosound Před 5 lety +1

      Ok, thanks!!

    • @nimiosound
      @nimiosound Před 5 lety +1

      Hello Chris Riley , sorry for the delay, after some issues with filament and electronics... i test it scaling at 80% and looks like works, anyway i have good measures before compensation and after looks like the same with around 0.3mm of differences in the measures. I think it’s good.

    • @ChrisRiley
      @ChrisRiley  Před 5 lety +1

      @@nimiosound Cool, good to know the scaling works.

  • @boherrmannsen8219
    @boherrmannsen8219 Před 5 lety +1

    @Chris Riley
    almost a year has passed i know
    but i made a test print that prints on top of the white silkscreen on the mk42 bed just to check if everything lined up
    and of course the lower left circle was covered, but the print was off at the upper right circle
    so i had to experiment with this, but the instructions in marlin firmware does not mention to duble all messurements, where does that come from? not that i dont trust @Chris Riley
    , just wondering
    the ultimate goal with this test print is to verify that endstops number are correct so that when the printer things it is at a given location it really is and that it can print straight
    and i will expand the same test with testing that nozzle/probe offset is also correct

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      Hey Bo, I am not exactly sure how this came about, it appears in 1.1.9, they are no longer cut in half. Not sure why they were in the first place.

  • @fredpinczuk7352
    @fredpinczuk7352 Před 5 lety +1

    Nice work, great video.

  • @javierguerrerob
    @javierguerrerob Před 4 lety +1

    great explanation! thnks!

  • @KBRunn4thdoor
    @KBRunn4thdoor Před 6 lety +1

    didn't curl up on the floor even once during this one........ the digital micrometer I understand .... I'm thinking when you say gooey that is my fetal trigger....... getting there cuz

  • @Bo-se6hj
    @Bo-se6hj Před 4 lety +1

    Great video! Thanks for the instructions. I have however one issue when trying to deactivate the lines "#define XZ_SKEW_FACTOR 0.0" and "#define YZ_SKEW_FACTOR 0.0". When trying to compile I get various errors. Only if I leave these two line active the compiler will successfilly complete. But as I understood this will then ignore the prviosuly made corrections! Any idea? I am compiling with Arduino 1.8.8 and Marlin 2.0.0.

    • @ChrisRiley
      @ChrisRiley  Před 4 lety

      Hello,
      I was able to compile. It might be just a character off someplace. Here is what I have.
      #define SKEW_CORRECTION
      #if ENABLED(SKEW_CORRECTION)
      // Input all length measurements here:
      #define XY_DIAG_AC 282.8427124746
      #define XY_DIAG_BD 282.8427124746
      #define XY_SIDE_AD 200
      // Or, set the default skew factors directly here
      // to override the above measurements:
      //#define XY_SKEW_FACTOR 0.0
      #define SKEW_CORRECTION_FOR_Z
      #if ENABLED(SKEW_CORRECTION_FOR_Z)
      #define XZ_DIAG_AC 282.8427124746
      #define XZ_DIAG_BD 282.8427124746
      #define YZ_DIAG_AC 282.8427124746
      #define YZ_DIAG_BD 282.8427124746
      #define YZ_SIDE_AD 200
      //#define XZ_SKEW_FACTOR 0.0
      //#define YZ_SKEW_FACTOR 0.0
      #endif

  • @andrewmaynard6693
    @andrewmaynard6693 Před 5 lety +1

    Hey Chris love your videos! just did your tmc2130 with soft spi. absolutely awesome!
    Im printing off a horizontal skew test and notice my inside lines are very off. outside is actually decent. any idea why?

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      Thanks! That's a strange one, sounds like maybe some slop in a pulley, but that doesn't make a lot of since either.

    • @andrewmaynard6693
      @andrewmaynard6693 Před 5 lety +1

      @@ChrisRiley it's a second hand geetech I3. beggars cant be choosers. changing to a bear upgrade anyways. might be an idea for your LOG printer?

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      @@andrewmaynard6693 I need to do a bear build, just not sure what is will be yet.

  • @MsMarius03
    @MsMarius03 Před 5 lety +2

    Hello friend, you know that when I comment this line(/#define XY_SKEW_FACTOR), I skip compilation error,(exit status 1
    'sqrt(1.64695109e+5)' is not a constant expression), Do you know what it can be? greetings and good channel!!!

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      Thanks! Not sure, probably something not right in the syntax, check to make sure it looks like this.
      #define SKEW_CORRECTION
      #if ENABLED(SKEW_CORRECTION)
      // Input all length measurements here:
      #define XY_DIAG_AC 282.8427124746
      #define XY_DIAG_BD 282.8427124746
      #define XY_SIDE_AD 200
      // Or, set the default skew factors directly here
      // to override the above measurements:
      //#define XY_SKEW_FACTOR 0.0
      //#define SKEW_CORRECTION_FOR_Z
      #if ENABLED(SKEW_CORRECTION_FOR_Z)
      #define XZ_DIAG_AC 282.8427124746
      #define XZ_DIAG_BD 282.8427124746
      #define YZ_DIAG_AC 282.8427124746
      #define YZ_DIAG_BD 282.8427124746
      #define YZ_SIDE_AD 200
      #define XZ_SKEW_FACTOR 0.0
      #define YZ_SKEW_FACTOR 0.0
      #endif
      // Enable this option for M852 to set skew at runtime
      //#define SKEW_CORRECTION_GCODE
      #endif

  • @JoseBerruezo
    @JoseBerruezo Před 6 lety +1

    Nice tutorial.

  • @robertohernandez1642
    @robertohernandez1642 Před 9 měsíci

    Needs update to the all in one version

  • @HighTekRedNeck
    @HighTekRedNeck Před 6 lety +1

    Nice and informative

  • @UncleRons_3D_Pub
    @UncleRons_3D_Pub Před 6 lety +1

    Looks like I am going to have to invest in another CR-10 board, just so I can flash 1, and leave 1 alone. I don't want to mess with flashing my daily driver.

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Brew It, Print It, Build It, Blast It I hear ya! Not sure where to even get one of those. You could
      swap for a mks for about $30. Might work.

    • @UncleRons_3D_Pub
      @UncleRons_3D_Pub Před 6 lety +1

      Smell Swap??

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      I have no idea what I am saying anymore Ron.....to many printers.... :)

  • @michaelframe2849
    @michaelframe2849 Před rokem +1

    Say we set our skew and everything runs fine and finally say our belts need adjusting. Can the same formula we use for setting new esteps work for readjusting skew. Current Skew in fw x (141.42/new skew)?

    • @michaelframe2849
      @michaelframe2849 Před rokem

      Just to follow up on my question. To be honest I would have just tried instead of asking. But last night the powers that be gave me a window of freedom, kids. By my testing that formula didn't quite work because of the placement of the variables was wrong. This is what worked for me. Current FW skew# X (actual measurement / model's 141.42...) = new FW skew #. So say my fw has 140.23 and I actually measured on my next print 140.6.
      140.23 X (140.6/141.42) = 140.4111 this times 2 280.8222 is my new FW number.

    • @ChrisRiley
      @ChrisRiley  Před rokem

      That's great, I'm glad you got it going!

  • @tenlittleindians
    @tenlittleindians Před 6 lety +1

    I'm curious, are you using a probe for bed height compensation and if so, is it performed before or after bed skew calculations? The bed height probe functions are somewhat doing the same thing in software and depending on what style of bed leveling you setup may work different when your attempting the skew adjustments. This is all speculation as I'm not sure how it all works. I just happened to be playing in that configuration folder the last couple of days trying to get my probe and z axis end stop to share the same pin on my anet a8. They don't like to play well together!

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Skew correct gets performed before the probing is accounted for. The Z probing does try to compensate for the bed being un-level, but it will only adjust the Z axis up and down as a whole. ABL is kind of bad at adjusting if one side of X axis is higher or lower than another. That's where skew correction comes in. Because you are entering hard measurements during the skew process it is taken into account first. Skew correction should work with almost all the bed level except manual and UBL I believe. Take a look here for more info: github.com/MarlinFirmware/Marlin/issues/8628
      Hope this helps.

    • @tenlittleindians
      @tenlittleindians Před 6 lety

      I read the link you included and I'm still not convinced we are thinking about it from the same angle. Also, since manual bed leveling is still inputting hard numbers for the exact same locations as auto bed leveling I would think the skew adjustments would interact the same with the only difference being based on ones ability to get the numbers right at each touch location.

  • @paulbehrens5842
    @paulbehrens5842 Před 4 lety +1

    How do you tweak skew settings if the changes are incorrect?

    • @ChrisRiley
      @ChrisRiley  Před 4 lety

      You can use M852 marlinfw.org/docs/gcode/M852.html

  • @das250250
    @das250250 Před 6 lety +1

    You could just modify marlin to accept the actual measurements and multiply them by 2 in the software

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Yes, you can do math right on the line I found. In 1.1.9 the values are closer to what they should be by default. It's a little less confusing.

    • @kylehunter2726
      @kylehunter2726 Před 5 lety +2

      @@ChrisRiley You can use the raw measurements, the math will be the same regardless. A ratio is a ratio....

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      @@kylehunter2726 Thanks man, I figured that out later, very helpful.

  • @aracon9721
    @aracon9721 Před rokem +1

    where did it tell you that you need to multiply the measurments by two?

    • @ChrisRiley
      @ChrisRiley  Před rokem +1

      It doesn't I had to work through the code to figure out how it works. I think they might have changed how they do it now.

    • @aracon9721
      @aracon9721 Před rokem +1

      wow didn't expect to get an answer on such an old video 😅 thanks! I guess I'm gonna open a thread in the Marlin forum this feature really needs better documentation.

    • @Jaze2022
      @Jaze2022 Před 7 měsíci

      Did you do this calibration? did you have to multiple it by 2 with the most recent marlin?

  • @michaelframe2849
    @michaelframe2849 Před rokem +1

    Would you happen to know that once bed skew is turned on in the firmware does that compensation apply for manually jogging the machine around as well or is it just while printing?

    • @ChrisRiley
      @ChrisRiley  Před rokem +1

      That is a great question. I would think that once it's on it would apply for all movements.

    • @michaelframe2849
      @michaelframe2849 Před rokem

      Thank you.

  • @RJMaker
    @RJMaker Před 6 lety

    Do you think mixing filaments (batch differences) has any adverse effect on the calculations?

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Probably not enough to matter. It might a little bit. My calibers only do hundredths anyway. I think you could get really precise with this if you needed to. This printer doesn't really print well enough to tell at this point.

  • @mapejf
    @mapejf Před 6 lety +1

    Does this feature work in conjunction with automatic leveling?

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      It does! It works very well.

    • @mapejf
      @mapejf Před 6 lety

      Chris Riley, Which version of Marlin do you use? I did the values ​​launch according to the video but it is still out of square

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      These would all be 1.1.8.

  • @JoaoAlexandreRabelo
    @JoaoAlexandreRabelo Před 5 lety +1

    Hi Chris, when I try to compile I get this error on Marlin 1.19+Arduino Mega 2560
    sketch\Marlin_main.cpp: In function 'update_software_endstops':
    sketch\Marlin_main.cpp:1421:3: internal compiler error: Segmentation fault
    }
    ^
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See for instructions.
    lto-wrapper.exe: fatal error: C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc returned 1 exit status
    compilation terminated.
    c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed
    collect2.exe: error: ld returned 1 exit status
    exit status 1
    Error compiling for board Arduino/Genuino Mega or Mega 2560.

    • @ChrisRiley
      @ChrisRiley  Před 5 lety +1

      Hey! I don't know this error. You would need to send me your code so I can try and compile it. Send me an email brotherchris81 at gmail DOT com

    • @JoaoAlexandreRabelo
      @JoaoAlexandreRabelo Před 5 lety +1

      @@ChrisRiley Solved, I changed the version of AVR board of 1.6.23 for 1.6.22 and worked. Thanks for the tutorial.

    • @ChrisRiley
      @ChrisRiley  Před 5 lety +1

      @@JoaoAlexandreRabelo Awesome!

  • @Matias001998
    @Matias001998 Před 6 lety

    Chris, i have issues when turning on the skew compensation and the lcd, (i've the reprap discount lcd), it says something about enable bed leveling (wich i dont have) did you have this problem?

    • @ChrisRiley
      @ChrisRiley  Před 6 lety +1

      Matias001998 Well I have bed leveling, but you shouldn't need it to use this. I can go back and look at the options again.

    • @Matias001998
      @Matias001998 Před 6 lety +1

      Thank you very much for your response, can you check by enabling the lcd (with the reprap discount lcd) and the skew compensation (in a fresh marlin copy) to see if the same issue appears?

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      Yes, it does work without bed leveling enabled. I used discount LCD and bed skew.

    • @Matias001998
      @Matias001998 Před 6 lety +1

      So, i went to the marlin forum, and it happent to be a bug of marlin and now its corrected in the bugfix.

  • @TechVid556
    @TechVid556 Před 6 lety +1

    Does this works on an anet a8 stock board? I have been trying to upload the firmware but it gives me an error saying that it can not comunícate wit the board. I would appreciate the help, it bugs me that I can’t print a simple square

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      It should work just fine on the ANET board. What board do you have selected when you try to upload to the printer?

    • @TechVid556
      @TechVid556 Před 6 lety

      Chris Riley I already installed marlin and everything but when I try to upload the new file with the skew correction it gives that error. Do I have to correct all 3 axis? Xy, xz and yz? I’m just correcting the XY since I think that’s my only problem

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      That's strange, can you paste the whole error in here? I will take a look. It's shouldn't cause you any problems.

    • @TechVid556
      @TechVid556 Před 6 lety

      Chris Riley #define SKEW_CORRECTION
      #if ENABLED(SKEW_CORRECTION)
      // Input all length measurements here:
      #define XY_DIAG_AC 286.72
      #define XY_DIAG_BD 278.78
      #define XY_SIDE_AD 199.78
      // Or, set the default skew factors directly here
      // to override the above measurements:
      //#define XY_SKEW_FACTOR 0.0
      //#define SKEW_CORRECTION_FOR_Z
      #if ENABLED(SKEW_CORRECTION_FOR_Z)
      #define XZ_DIAG_AC 282.8
      #define XZ_DIAG_BD 282.84
      #define YZ_DIAG_AC 282.8
      #define YZ_DIAG_BD 282.8
      #define YZ_SIDE_AD 200
      //#define XZ_SKEW_FACTOR 0.0
      //#define YZ_SKEW_FACTOR 0.0
      #endif
      // Enable this option for M852 to set skew at runtime
      #define SKEW_CORRECTION_GCODE
      #endif
      that what i have for the bed skew correction

    • @ChrisRiley
      @ChrisRiley  Před 6 lety

      You might try commenting this out, but other than that everything looks fine.
      #define SKEW_CORRECTION_GCODE
      What does the error say when you try to compile?

  • @alexkart9239
    @alexkart9239 Před 5 lety +1

    when i comment out this line
    //#define XY_SKEW_FACTOR 0.0
    then i get the compilation errors, like this
    ======================
    sketch\src\inc/Conditionals_post.h:1207:74: error: 'acos(-1.48816023e+1)' is not a constant expression
    #define _SKEW_SIDE(a,b,c) tan(M_PI*0.5-acos((sq(a)-sq(b)-sq(c))/(2*c*b)))
    ^
    sketch\src\inc/Conditionals_post.h:1208:31: note: in expansion of macro '_SKEW_SIDE'
    #define _SKEW_FACTOR(a,b,c) _SKEW_SIDE(float(a),_GET_SIDE(float(a),float(b),float(c)),float(c))
    ^
    sketch\src\inc/Conditionals_post.h:1213:9: note: in expansion of macro '_SKEW_FACTOR'
    _SKEW_FACTOR(XY_DIAG_AC, XY_DIAG_BD, XY_SIDE_AD)
    ^
    exit status 1
    ======================

    • @ChrisRiley
      @ChrisRiley  Před 5 lety

      It might just not like the zero, does it still complain if you put something else in there?

    • @alexkart9239
      @alexkart9239 Před 5 lety

      i made some tryouts, and i think there is some errors in the Marlin base code. if i put the real mesurements in definitions, i get the errors. if i multiply the measurements by two, as you did (and comment the XY_SKEW_FACTOR definition), then IDE not to complain during the compilation, but the skew compensation will not work.

    • @alexkart9239
      @alexkart9239 Před 5 lety

      now i want to try define non-zero XY_SKEW_FACTOR and look, how it works..

    • @alexkart9239
      @alexkart9239 Před 5 lety

      #define XY_SKEW_FACTOR -0.1
      Works _very_ effective. I think, i shuld to do some math and just put the right value here.

    • @ChrisRiley
      @ChrisRiley  Před 5 lety +1

      @@alexkart9239 Very strange, I would file a bug over on github.

  • @ScaldaYT
    @ScaldaYT Před 6 lety

    Nice video Chris thank you very much.