Klipper input shaping - A leap forward in high speed AND high quality 3D printing [Rat Rig part 4]

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
how would you like to 3d print much faster than usual and retain amazing print quality well today i'm going to show you how using an accelerometer with clippers amazing input shaping on the rat right [Music] this is a video that i'm really excited about it's what i had planned from before the build started and pretty much the reason i chose to make this printer the input shaping that you'll see in this video i think is a significant step forward for 3d printing particularly when set up automatically with an accelerometer last episode in the build series we wired everything up installed clipper did some basic checks and a first print this episode is all about pushing the potential of the printer but before we do that let's answer some questions this one's come up a lot can the kinematic bed be used for non-planar printing the way i see it the firmware already has independent control of each z-axis this can be seen in this awesome demo video as well as when we do the z-tilt leveling as demonstrated in the last video so to me it's like adding a new mode of movement to a cnc router such as this fourth axis toolpath calculations are going to be completely different to regular 2.5 d milling so for me the potential is there but it's the slicer that's actually going to hold things up and need a lot of development to make this happen there was also some people interested in seeing the enclosure on this machine for high temp filaments because i have an enclosed ender 5 already you might be disappointed to hear that i'm not intending to build an enclosure for the rat rig so my suggestion is to head to their facebook group where some users are doing some really awesome enclosures and you can find out how effective they are since the last video i've also been customizing bits and pieces of the printer so let's quickly cover that my previous video to this one showed some customization i'd done to the machine in the last episode i had the mains input power plug simply floating in space so i designed this panel for the front that slots into the rat rig frame and this rear housing with a 5 volt usb car adapter to power the pi it also powers an old android tablet which i'm using as a display at the front of the machine in addition to this i use the cad model available for the printer to come up with this template for insulation under the bed which i laser cart out of 3d printer packaging left over the sizing and fitment was perfect but i'm going to need some high temp tape to stop it from sagging down and to get a nicer fit another part i replaced was the generic filament guide remixing the original step file to take some ptfe tube which acts as a reverse bowden setup which is basically just a convenient and neat way to guide the filament from the spool to the top of the extruder drive i also designed this bracket to take a webcam using a tripod bolt and this can be mounted on either front corner of the machine plug it into the pi and then reboot and the webcam shows up with no additional configuration i also added some bright 24 volt leds on the front of the webcam and i connected this to the previously unused third hotend output i then added this as a custom pin called led pin added macros for turning it on and off this adds some buttons to the interface to quickly and easily turn the led on or off and i also use clipper's delay gcode command to turn it on automatically after the printer boots the sdls and source files for all of these are available on thingiverse and i did fix the missing electronics panel dxf one question that came up is whether fluid and mainsail supported as many plugins as octoprint i'm still a noob with this so i defer to mikkel one of the rat rick developers who gave a comprehensive answer my patrons did point me towards this excellent tutorial by vez3d and i was able to follow it to a tee and produce my first time lapses on the rat rig time to proceed to some basic calibration and tuning i started by calibrating my e-steps which is called something different in clipper but can still be calibrated the same way by manually extruding a set amount of filament and measuring to see if this was accurate like last time we don't want to edit the linked configuration files so we copy and paste what we need to change into our main configuration file then save and restart following this i printed a single wall cube which i then measured with calipers to see if the measured wall thickness matched the target from the slicer after adjusting this i printed the same cube squished down and solid just to make sure i didn't have any gaps or bulges in my extrusion on my calibration website you can tick the additional start g-code and add specific commands for your printer including priming i then generated a retraction tower using the inbuilt form which is completely clipper compatible the results were pretty consistent so i didn't change much for now all of these sequences and how to use my calibration website has been covered in a previous video which i've linked down below in the description with the basics out of the way i could now turn my attention to some clipper specifics starting with pressure advance i've made videos on marlin's equivalent linear advance before so if you want to learn about the theory please click the link in the description here's how the tuning process works for clipper we're going to be following the tuning pressure advance page supplied by clipper and that will take us through how to print this calibration tower so the first thing we need to do is download the linked stl we slice it as per the instructions with point three millimeter layer height zero percent in feel and our default printing speed of 100 millimeters per second we preview the gcode and then upload it ready to clipper before we print we need to copy and paste some commands from the instruction page this is really simple just paste into the terminal and click send we then return to the instruction page where there's a second command to copy we paste this into the terminal hit send and that means we're ready to go to the jobs tab and start the print what's happening here is similar to the calibration towers generated by my website the pressure advance value is constantly changing throughout the print and we can verify this on the log we can see it's constantly creeping up controlled by the firmware i actually followed the instructions and stopped the print prematurely because it was clear to me the best region had already come and gone when we calibrate linear advance for marlin we're examining a series of extrusions to find the smoothest one here we're looking vertically up the tower to find the best region my choice of filament makes this hard for you to see but there's a marked difference in the corner quality with the corners at the bottom of the print being quite bulgy a crisp edge in the middle and as we head towards the top they start to round we have a similar situation with the internal features where they're bulging down the bottom crisp in the middle and starting to round and disappear up the top our job is to measure from the bottom the point at which we think the model looks the best for me just under 13 millimeters we then follow the formula on the web page which if you follow the instructions simply means putting in our distance and multiplying that by 0.005 to find our ideal pressure advance value which we then insert into our printer configuration file and we can see here the standard value was very close to what i tested which explains why my initial uncalibrated test cube looked pretty crisp save and restart and we're done just like marlin clippers pressure advance is best tuned for each individual type of filament that you use if you're after the best possible results but now onto the main event input shaping and we're going to start with explaining exactly what it is let's start with the problem that it's trying to fix as we increase the speeds and acceleration on our machines they start to vibrate from the load and that introduces an artifact known as ringing or ghosting this is probably the number one deterrent to cranking up the speed and acceleration on most 3d printers and input shaping can magically reduce it the thing we need to understand about the ringing is that it's not random in fact if you look at this image you'll see that all of the ghosted patterns are the same distance apart and that's because of the printer's resonant frequency many systems have a resonant frequency it's where vibrations will naturally be the strongest mythical instruments use this to affect using set resonant frequencies to play specific notes another example is if you push a child on a swing or as i prefer karate chopping a gymnastics ring you can see that my inputs need to be timed just right to accelerate the system and that's the resonant frequency of the pendulum if i disregard this and offer random inputs we can see i'm no longer in tune and the system is all over the place so back to our 3d printer if we know the distance between the oscillations and the speed that we were printing at we can determine the resonant frequency and that means if we're using a firmware with very precise control of stepper motor timing we can shape the input to the stepper motors and cancel it out just like this chicken is able to cancel out most of my motion and keep its head in the same position at the time of recording clipper is the only firmware that offers input shaping hence why i chose it reprap firmware has experimental accelerometer support and input shaping is scheduled for a future release but as you're about to see clipper has it working extremely well already so let's set it up for this one we're going to be working from the resonance compensation page and the first thing we need to do is download the ringing tower stl and slice it with the suggested settings here's mine sliced as we can see i've done it with a single parameter in vaz mode and i've locked the speed at 100 millimeters per second for inner and outer layers to make sure the speed is definitely that as per the instructions we're going to edit our main configuration file to limit the acceleration the square corner velocity and also an empty heading for input shaper following this we restart the firmware to load the changes with our sliced file uploaded and ready to go we refer back to the instruction page and once again copy and paste some settings the first temporarily shuts off pressure advance the second one turns off input shaping a bit redundant at this stage and the third one is a tuning tower command similar to the one we used when tuning pressure advance with these three commands input we can now switch to the job tab and start out test print this print is just like the acceleration tower generated by my website except once again it's controlled directly by the firmware increasing acceleration by 500 every five millimeters that means we start off with the lowest setting of 1500 millimeters per second per second by mid print it's up to 3000 and by the time we reach the top we're all the way up at 7 000 millimeters per second per second and here are my base results looking from the front even at 7000 acceleration this printer produces very little ringing testament to its quality looking from the side of the test print the ringing is more pronounced and as we might expect it gradually increases in amplitude the higher the acceleration value normally at this point we would put markings on the test print measure the distance between them count how many oscillations are in between and use the formula on the page to work out the resonant frequency for the x and y axes we can then come back to our configuration file enter this in as well as selecting an input shaping algorithm of which there are currently six save all of the settings and reprint the test but i didn't do any of that because this machine is fitted with an accelerometer and using that we can automate the whole process firstly an accelerometer is an electronic device to measure acceleration and you've probably got one in your phone to know when the screen has been flipped and to use with other apps the one we need for our machine is an adxl345 it's sold by many different vendors and the one i ordered was this one from adafruit there's already a shroud with mounting for this on the ever community contributions page but i had to remix it to widen the spacing to 19 millimeters and i also removed any covering over the center of the fan with the accelerometer firmly mounted to the carriage we now need to wire it back to the main board on most 3d printers this involves wiring it into the input output pins of the raspberry pi and with that we need to install extra packages on the pi to get everything working but for the rat rig everything's been set up to wire it directly into the main board and this simplifies things greatly thanks to the pre-made rat rig v-core os package there's already a configuration file set up for the accelerometer in our printer configuration file there's already a link to this so all we need to do is to delete the hash at the front to uncomment it and make it active we also need to copy and paste the second half of the lines back to our main configuration file and update the probe points to be the center of our bed following this we save and restart the firmware and that's all of our software changes made as for the actual wiring i originally made up my loom from this thin gauge ribbon cable but i found that it was unreliable i assume from voltage drop therefore i needed to make a whole new loom from thicker gauge wire that wasn't too hard probably the worst part of this job was having to rewrap all of my print carriage cabling with all of this in place we get to the easy bit the automatic calibration we start by sending the command accelerometer query and this error is what made me realize that my wiring wasn't up to scratch so with the wiring fixed this is what we should get instead a readout from the accelerometer another test command we can do is measure axis noise and that should again return some data to tell us that the accelerometer is talking to the firmware the clipper instructions then suggest that we test the x-axis followed by the y-axis run some scripts on the pi to generate a graph that we can manually interpret but the process can be simpler than that first of all we start by homing the printer that will move the carriage into the position we specified in the configuration file we can now paste in the same command we did from the tuning tower to set our shaper frequency to zero followed by the simple command shaper calibrate what happens now is really interesting the printer for each axis one at a time will shake the carriage back and forth at different frequencies which constantly increase at the low frequencies we start with this is actually quite an obvious movement what the firmware is doing is shaking the carriage and getting feedback from the accelerometer to find out which frequencies resonate more than others and that's where we're likely to find our ringing the frequency will gradually increase to the point where we can't see it but now we can hear it when the x-axis is done this same test will be repeated for the y-axis when the testing is done we have all of the output results and it's going through different combinations to find what it thinks is best for our machine you can pretty much ignore all of that click on save config send this and that will restart the firmware with the changes in place and if we scroll to the bottom of our printer configuration file we can see that all of the input shaping settings have been automatically placed for us to test the results i printed the tower once again as before disabling pressure advance but this time adopting the new input shaping settings and here are the results and i hope you agree they're quite impressive our original print up the top had some fairly significant ringing but down the bottom we can see this is greatly reduced remember this is all automatic with no thinking involved at all if you recall there's different types of input shapers and it seems to me like the increase in strength as we go down the list i experimented by changing the shaper to the most aggressive one for x and y and here are the results when we look at the front surface we started with some obvious ringing and now it's reduced to practically nothing particularly on the right hand side on the side of the print the ghosting we had is completely gone when we flip it around to the back showing the x we can see up the top we had quite a lot and now down the bottom it's practically gone and as for the final side it's hard to film but the result down the bottom is nearly flawless there are some considerations to keep in mind for instance this gap is meant to be 0.1 millimeters but it opens up as the acceleration increases you can also see that the two upper bands still have a little bit of visible ringing so with both of these in mind you can come back to the lines we set up earlier in our main configuration file and lower the max acceleration from 7000 to a value that you think works better to me this really is like magic and it's worth noting that if something changes like the belt tension you do need to rerun the calibration so i'm going to leave my accelerometer in place for convenience in future with everything set up let's do some fast test prints first up a benchy retaining the settings from the tuning tower that means a true 100 millimeters per second for all external surfaces here are two benches the one on the left with the fancy stuff turned off and the one on the right with everything turned on what surprised me here was how much pressure advanced seemed to reduce the zits on the layer changes although you can see on the chimney that's still pretty bulbous and i've got some work to do in tuning apart from that this benchy was a tad over half an hour and looks remarkable considering the little tuning that i've done next up something to test accuracy and do yourself a favor now and go spend 4.50 on this foldable willy's jeep from goo design on fab365 for this one i upped the base speed to 140 millimeters per second but reduce the solid infield to around 100 and the external perimeters to only 90. this would be a great test if the input smoothing would lower the accuracy of the printed parts but in fact there was zero problems everything was free and loose as it came off the print bed and now comes the fun part rotating and positioning the parts to assemble the model everything is print in place with that support material and simply snaps together to make the final object there's some clever touches like using a piece of spare filament to make the steering column and the final result is just so cool with this removable jerry can and a number of the components being articulated such as all five wheels the front windshield as well as the bonnet opening to reveal an engine inside as far as designing for 3d printing goes this is as good as it gets and i'm really happy with how it turned out on the rat rig one more this time something more decorative with this blink fox i retain the same settings as before with 90 millimeters per second exterior perimeter speed but i lowered the layer height to 1.5 millimeters this one was run overnight with the camera finally configured to be 1080p and because the bed moves down we get an octal apps type effect and what can i say this is one of the prettiest 3d prints set i've ever done and when you consider the higher than average feed rate it was printed with it makes it even more impressive not only surface quality but things like part cooling too if you're wondering the filament is x3d pro diamond series linked in the description honestly i think so far i've probably done the minimum to set this machine up but it's already printing so well so that brings me to a frequent question am i happy with the machine so far trust me the answer is a resounding yes another question i had was in terms of comparing the printer to other cheaper well-known 3d printers as you can see the quality is already outstanding but what impresses me the most is the speed if we look at our jeep that had a predicted print time of just over 3 hours and if we compare that to a more traditional slicing profile with a base speed of 60 millimeters per second and a perimeter speed of roughly half that we can see that the predicted time is almost two hours longer but in reality it will be even slower than that because i'm running acceleration of six thousand millimeters per second per second whereas an end of three comes from factory with a value of only 500 so high speed with no compromise in quality but i still think i can push the speed a lot more and i intend to do so taking on the speed boat race challenge from annex engineering i'm really excited about some of the things in this video so please head to the comment section and let me know if you feel the same way thank you so much for watching and until next time happy high speed and high quality 3d printing g'day it's michael again if you like the video then please click like if you want to see more content like this in future click subscribe and make sure you click on the bell to receive every notification if you really want to support the channel and see exclusive content become a patron visit my patreon page see you next time
Info
Channel: Teaching Tech
Views: 216,958
Rating: undefined out of 5
Keywords: 3d printing, 3d printer, 3d print, 3d printed, rat rig, klipper, input shaping, accelerometer, adxl345, ringing, ghosting, high speed, high quality, firmware, pressure advance, raspberry pi, rep rap firmware, rrf, innovation, v-core 3, corexy, guide, tutorial, lesson, step by step, how to, configuration, wiring, test, testing, process, acceleration, feedrate, slicer, calibration, tuning, test print, print in place, fab365, goodesign, karate chop, resonance tuning, resonant tuning, frequency
Id: er7q-CJL1lc
Channel Id: undefined
Length: 21min 16sec (1276 seconds)
Published: Fri Jun 11 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.