Hi Stefan. Releasing this was a big gamble for you and I think it is a really altruistic thing to do. I hope that like the early releases of 3D printer designs, you have now started a revolution in home-testing, and you become a legend for doing so. You have done something amazing for the Community. I hope you feel really proud of yourself. You should.
This makes me very embarrassed for our young, fat, lazy, entitled, American video game addicted generation. You can save the world with your craft. (Not all of our kids are that way but enough to really screw things up.)
I use to work in an analytical testing facility for plastics and I thought I'd let you know a few tricks I found when doing these tests. 1. Grab the standard for testing plastics, ISO or ASTM. For tensile testing in the US I used ASTM D638. There is a lot of good information in them that can help you perform your tests in a repeatable way. One of the most important parts of tensile testing is the cross head speed, plastics are shear sensitive, and thus can behave differently at different speeds. The goal is to have the lowest speed that causes rupture within 30 seconds to 5 minutes. 2. The design of most grippers use a self help design. The jaws are closed by a wedge moving down which pushes the jaws together. Any tension on the system causes the jaws to grip tighter. This allows the sample to stay centered during the entire test. 3. For extensometers We had multiple different types, additionally, some tests didn't even use the extensometer; just the cross head position. For small deflections, and whenever you need to determine the modulus an extensometer must be used. For stiff materials, we used a small extensometer which could only measure up to 0.5" of deflection, but was very accurate. The other one we used was a high deflection extensometer which could measure up to the full length of the cross head movement. They are actually very simple devices they are just small strain gages with high deflection and a wheatstone bridge. The large displacement ones are just rotary encoders attached to a string to measure the displacement. 4. The machine we used was extremely simple, it ran old DOS software so it's completely feasible to build something similar. 5. To capture the break point you are looking for a certain percentage spike in either motor torque, transducer force, or extensometer position. I could go one, but those were just some things I could think of. Good work on building this machine!
As a fellow mechanical engineer in Additive Manufacturing I can't wait to learn more about materials with this project. Thank you very much for sharing.
This is very cool and interesting video. As a mechanical engineering student I always find your videos very interesting. Thank you for shearing with us your knowledge.
Why do you need the camera / optical tracking to get strain data? You're using stepper motors so you have accurate positioning so you can tell the deformation length. 1) Measure your steps/mm with calipers (note to account for backlash) 2) Always start at the same position / distance between clamps (if you add a homing system you may even avoid having to manually fix the skew) 3) Output steps alongside measured load when doing the test 4) "But what about deformation and backlash in the test machine itself?" Glad you asked: find a wider, flat piece of steel with the same thickness as the "bars" of material you test, clamp it down and *very* slowly load to max. Assume 0 deformation or standard values for the piece of steel and you get the test machine strain at each stress value that you can subtract out. ... 6) Profit. We do, by having more of your awesome bench videos.
There is still the problem, that the test samples don't have a constant strain over the length of a part, because they are wider at the endings. Though you can try to take also the shape into account, the camera is the better method.
Repeatability is an issue. I work in a testing lab and calibration and balance are extremely important. Strain really shouldn’t be taken from cross head position when it’s a primary concern for your testing. If you just care about tensile strength or loading? Go for it. But if you want accurate elongation and modulus you’re going to want calibrated and precise extensometers or even attached strain gauges if your low on budget. TLDR, your solution works, and would even work well if you don’t need super high precision. If you value the latter, you’ll want dedicated video, or clamp on extensometers.
@@JeronimoStilton14 Agree repeatability is the hardest part of a rig and if you want high "real" accuracy (rather than relative/precision), you'd need a dedicated extra measurement. However, let's assume the constraint of a 'budget' setup that after initial setup we want to be able to run many samples with minimal manual extra work (processing elongation from images). Where would the biggest accuracy/repeatability issues come from? There's the issue of non-constant sample shape, though that can be accounted for/modeled as Georg pointed out. So mismatch between model and reality? Stepper motor/real position mismatch? (could apply same mitigations as 3d printers do) Test sample 'clamping' inconsistency? (Most likely culprit in my mind). WDYT?
@@mhdm So in practice, I would say that specimen geometry and in the case of plastics (microfracturing, large scale fracturing from cutting forces, and heat and creep related issues) pose the largest variance. For instance, I have some plastic sheets that I cut standard astm tensile out of, and of four tests, I got elongations of anywhere from 30% (essentially breaking at the yield point) to 230%. Typically you can actually see discoloration or surface marring that will tell you that something about that section of plastic is going to be wonky. buuuuuuuuuuuuuuuuuuuuuuuuut frankly that isnt really your question. Bit of a ramble. Grip strain is a big issue as you have pointed out, sometimes you have failures in the grips, and sometimes they elongate even though the necking should have prevented it. In his case, I would think taking the time to buy a 2in marking punch would be beneficial (that's what we use at work for all metal samples, plastic typically use extensometers). I was actually suprised that he had a die for marking with a marker and not just a jig to hold the markers, or even having a dot print on the parts themselves (a raised dot on the top that he can more easily mark with a marker).
Hey Stefan! I am a mechanical engineer in USA and I dream of one day creating my own mechanical testing lab for medical devices and other industries. There is so little out there that is as implementable as this. I truly appreciate your sharing this design. If I go forward with making the design, I may use aluminum or steel framing; but also, have been interested in figuring out how to do such things with hydraulics. Your video is inspiring, and recent, as well as thorough and complete. Thanks for the great work. -Mike
Hello, thanks for publishing a great work open-source with people. I'm not an expert on this, also I can not guarantee that this will do the work but, you may fix the problem you have mentioned at 10:24 by running the steppers with timer.h library. IIRC, Timer.h lets you run a code without being interrupted by serial communication or other codes. I was having a problem similar to yours with an HDD motor and running the motor with timer.h solved my problem perfectly. Also, you may want to change your A4988 drivers with TMC2208 or similar stepper drivers. That would increase your life quality by providing a quieter workspace lol
wow. This is very interesting, and i have been needing some kind of rig to perform some tests. One thing i've been curious lately is GT2 belt deformation / stretch.
@@radek4177 Yea i suspect they stretch a lot more than people realize at all. I also suspect (from experience) they need to be tight like guitar strings to pretension the biggest stretch out of them for a printer. Sometime in the few weeks i'll see if i have some time to rig something simple up.
@@skaltura I am curious about the ones that are steel reinforced. I had them on my printer and they all got stretched like crazy that the printer was unusable. I think that the small radius of the pulleys might make the steel wire to break due fatigue and then there is nothing to resist the tension but it would be nice to see it tested.
@@radek4177 yea the steel wires break on small radius, needs to be large radius. Quite frankly, i would like to see a move towards bigger beefier belts on printers, a long with geared motors and lower microstepping. All of that is introducing inaccuracies on top of inaccuracies: - Belts have inaccuracy, especially if they are just barely strong enough for the task - Stepper motors have inaccuracy - Microstepping has inaccuracy (quite high inaccuracy infact!) And i think that is what causes moire effect etc. ultimately. Just a theory at this point tho. A lot of printers i have solved moire by simply tightening belts, and cranking up the driver Vref to as high as i can.
Hi Stefan, thanks for the nice video I'm a mechanical engineer too. Just want to tell you, that you are using actually the nominal stress and nominal strain for your diagrams, S=F/A0 and e=deltaL/L0, while for true stress and true strain you can use sigma=F/A, and epsilon=ln(L/L0), if you want to know how to calculate the actual area during the test give me a PM. I can also help you in programming or HW too. cheers
Amazing idea to open source your machine Stephen! Sure, your code isn't the prettiest, but eh, it's a single person job, and it's working flawlessly! I really do hope you'll find people to work on the motion tracking system, there is a lot to be done. Until then, you can have a look at "Physlet - video tracker analysis", a freeware which as been developed for this kind of purpose. I'll probably build one of these machine one day too! But probably with a welded structure : more compact, and less of a work :) Thanks a lot for sharing your work, Antoine
Hi Stefan I had a brief look at the code. And as already written here: another library will probably not solve the problem. Looking at line 280 till the end of the OpenPull code, the code executed only at measurement, I see 3 problems in timing. First: digitalwrite is notoriously slow in arduino compared to a direct register write in C, really nitpicking here. Second, slightly worse is the serial print, because it uses the formatting library in the underlaying code it gives a lot of overhead. If you want I have a lightweight serial library for the atmega328 (plain C though). Third problem, relates to line 282. Doing 32bit floating point arithmetic on an 8 bit controller is like trying to lift a submarine by hand with pulleys, sure you can do it but it is going to take forever. This single line is probably costing you a lot of time, hence the noticable stop. Maybe it could be a solution to write the values in raw form to serial, and post process them on the computer calling the shots. Another way to go would be to have 2 controllers ... already suggested down here by others ... but a bit a waste of resources I think. I'll be happy to further look into the code (and the hc711 library) and improve this minimal hitch to an otherwise impressive piece of equipment. Kudos!
Reading this is giving me Vietnam war flashbacks to trying to write things in c++ because S P E E D but it's just too much for my three remaining brain cells to handle
X D did you ever get to have a look at the code? Keen to see any improvements if they exist. I’m about 80% likely to build this in the next month or so but I’m not great with code (Read: I have no idea what I’m doing with most code).
It's fascinating to see a microcosm of historical testing methods occurring on youtube: "I can't break it with my hands, pretty strong">"Can't break it with a tool">"non standardized test with scales">"UTM!"
Stefan, I loved this. I was considering making something similar since I now have a CNC router. I was looking to test ideal curing conditions and how to make the ideal curing box for mechanical ideal mechanical properties. In addition, I wanted to look into making various open source accessory designs for Resin printing making it safer/easier to start with resin printing since printing is very quick and easy process in my opinion for LCD resin printers. However, I wish to create solid set of designs and perhaps even sourcing parts on amazon, ebay, and Ali Baba to help people create streamlined set of tools allowing resin printing to be safer out of box. I hope that you help with this as well Stefan as there is much need in this category of cheap resin printers for cheap easy to build designs of curing box and wash station systems for elegoo mars and other cheap printers. As I may not have the time to realize these goals due to time restrictions of my full time job or full time student life. I wish you to keep up the great content/work. All the best from an aspiring hopefully future RU-vidr. Cheers, Millpreet Kamboj
Just an idea, you could use the arduino to create a shutter release to take pictures at the correct time, giving either more resolution, or just saving you a step in video editing. However I don't know if this would still work for blender.
Check GOM correlate for strain measurements. It's free and has all the bells and whistles. Just upload the video (or video as frames) and select the points of interest. You can also analyze for surface strains. I personally use it for work and it's been working like a charm. Good luck!
GOM iis no freesoftware, for strain measurement I know that you could obtain even better results with deepflow algorithm implementd in OpenCV contrib available in python, non need to include non-free software here. If you want more mechanics oriented software, you can use yadics.
Even though the GOM tools are not "free" they can be used without charge. I am using GOM Inspect alot and the features they deliver are just stunning. I have to give correlate a try.
@@CNCKitchen GOM correlate is 100% free because it only lets you analyze in 2D. The upgrade to 3D is what would cost you. But yeah, give it a try and get back to me. I'd happily answer any questions. Good luck once again!
Really cool!! I have been looking for this video for a while now! Awesome machine you built and I am really impressed with how meticulous you are. And although the optical extensometer must be super accurate, a much easier way to measure the strain could be to count the amount of steps sent to the stepper motor!
In fact, no. There is some strain on the machine so even if the stepper does not miss step, the measurement, could be less accurate. the jaws can also slip off. But the resolution strongly depends on the size of the spot. In order to have accurate measurement 30 pixel of diameter is a minimum for non hyperelastic materials. I usally use serveral hundreds for materials with low displacement before failure.
@@jeffwitz8556 is totally right and you can also see that when I compare the results, where especially in the plastic region the results differ hugely. Since the machine isn't 100% rigid and there is some play, even at the start of a test the results can differ quite a bit.
Hi Stefan. Thanks for posting this. I'm in need of a tensile tester and came across your design. I was considering using a Prusa Bear Upgrade frame as a start but now I have your option too. I'll look into this into the coming weeks and would be happy to help you improve the PCBs and software. For starters, I would use the Trinamic Stepper drivers to home the carrier, detect any missed steps and thus allow for direct measurement of the position or strain. I'll keep you updated but it would be great to collaborate with you.
Yeah, you’re right about the library causing the stepper skipping. When the Arduino pings the strain gauge, it forgets about running the motors and then has to start the motors again when it’s done. You have 2 solutions: 1.Try another library (Most likely will not solve the issue, but worth a shot) 2. Use an “in between” chip that handles addressing the motors. The master Nano could tell the other chip (maybe another Nano?) to move the motors at 25 mm/s until further notice. Then the master can concentrate on the strain gauge and printing out values while the in between chip could worry about running the motors. (If you need help with this, I could easily accomplish it)
In fact, I think the best solution is to use an already operational engine control. I think using RAMPS and Marlin for engine control is the right strategy that has worked for years for printers for motor drive and serial communication. All that remains is to send the G-Code from a PC or RPi and replace the limit switch sensor with decisions made on the RPi. This allows you to have nothing to code and to have a program that can control stepper motors and simply measure the effort and deformation with a PC/RPi. We already have the whole driving part with Crappy (github.com/LaboratoireMecaniqueLille/crappy/blob/master/setup.py), there is only the interfacing with the Marlin, which shouldn't be very complicated
Nice! @10:02 I can hear that the motor is not running continuously. You also have the problem that you cannot move the stepper and read the signal of the load cell at the same time without interrupting the stepping code. I tried out many things, but none of them worked. You cannot really read the load cell between two steps, so you cannot "hide" that code between the rising and falling edges of the stepper's signal. My solution is to have a master Arduino (one that reads the load cell, communicates with the PC...etc) and one that receives the command from the master and controls the stepper motor. Thus, the stepper will move smoothly. Actually, I already worked out the solutions for the problems that you have mentioned. If you are interested in my tensile testing machine (in progress), you can check out my channel and you can also contact me. A new iteration of the machine will come out soon where I will implement the load cell in the system and also show the software I wrote for the PC. (The part of the graph where you get the E-modulus from is called the elastic part of the flow curve ;) )
Interesting. I once did a project to do such measurements using the RPI with the PiCamera. I was able to analyze UNCOMPRESSED frames in realtime at decent framerates (20+fps) at the maximum (horizontal) resolution on the pi, with OpenCV in Python. (I found that h264 compression did quantize position of the trackers - tho I don't remember to what degree and if that was outside or within margin of error.)
I already try it too, and I agree PiCamera + OPenCV is a way to go.In order to simplify the process I use the bcm2835-v4l2 kernel module, but It would be better to directly retrieve frame from the camera library
if you are already using digital correlation of dots to get displacement it would be interesting if you added more speckles and got a displacement field. plus, if i'm remembering my mechanics of materials right, you could do this both faces to get a 3D strain field and calculate out the matrix non-isotropic elastic modulus. (looks like you were already aware of this method)
I think if you took the sparkfun Openscale design and added stepper motor control to the design you would have the addition of temperature measurement and the atmega all on one board.
Hi, Stefan... I'm working in some test machines based in you projects. But I'm using 80x40 aluminium frames. Here in Brasil is so difficult to get some electronic pieces, but I think it will be working next month.
You really need to try out Matterhacker's fiber glass nylon! I remember you mentioning wanting to try something like that in one of the Meltzone episodes, before they released it I believe. Would really love to see how it performs compared to carbon fiber.
Top one is using proper motion tracking. Bottom one is just using time. While you said they are “quite different,” they look about the same to me if you adjust the time scale on the simple one. Or am I wrong?
Excellent work as always. I wonder if you could use a fixed mark on the clamps themselves so you do not have to mark each piece. I think it could make it more consistent. This is really impressive and I look forward to building one based off this in the near future!
Hi Stefan, I am a big fan based in Konstanz. Thanks for your content. Big question: why not converting an old 3D printer into an universal testing maching for small samples.... would it work??? Are you interested??? I could sponsor this project. let me know.
Really nice that you open sourced your precious device. Let´s start cracking stuf. Maybe I should build one myself. I really enjoy tesing materials. I will take a look at Skillshare. Are you teaching something there?
Hi CNC KITCHEN I am taking your model to make one material tester. I have got all the hardware and electrical components but I am not able to figure out the software part. If you can help me out with it it would be very helpful.
i still have a small doubt, during tension testing doesn't the load add its weight or reaction force over those 3d printed 'red' mounting brackets? i mean the power screws rest on them. its mind blowing to see it work.. *please please please* someone tell me doesn't it act or its negligible? thank you
Als Leiter eines Prüflabors und Arduino Fan finde ich deine Maschine geil! Hier ist einen Tip: www.gom.com/3d-software/gom-correlate.html. 2D Digital Image Correlation um sonst. Du kannst die ganze Dehnungsfeld sehen. Viele Grüße!
It would be cool to get this all running on an rpi! Like you said It would be possible to do all the data and image processing onboard, and have a nice GUI while you’re at it. I definitely wouldn’t have the ability to program this, but maybe someone else wants too :p ah well that is the downfall of open source, too much wishful thinking.
Basically a number used to tell how stiff is the material. When you pull (or compress) the material, up until a certain point (yield point) the material acts elastically, so if you remove the external load, it will go back to its original size and shape. After reaching the yield point, it will flow and deform plastically, which cannot be recovered anymore and you have permanent deformation in your material. There's a part in the video where he shows a part of the tensile curve which he cannot name; that's the elastic part and the slope of that tells you the Young's modulus (E). The higher the E of the material the more difficult is to deform it basically. This is somewhat in a correlation with the bonds in the material, but it also depends on the microstructure of it. A rubber band would have a very low E number and a piece of steel would have very high one, then for example diamond would have even higher.
hey i am making a load press for compressing a composite material at 200 degree celcius , 100 barrs of preassure and near to 10 KN of force , do u recommend making ine or buying one ?
Hallo Stefan, hast Du schon eine Idee für eine automatisierte Ausgabe eines Kraft-Weg Messschriebs? Abgesehen von den absoluten Kraftwerten würden mich Verformwege, Steifigkeiten, etc. interessieren. Viele Grüße von einem anderen Ingenieur :)
I wonder if there is an open source project that could take displacement data off of digital calipers instead of using the camera, Blender, etc. They might not update fast enough though. I'd guess mine update every 500ms.
That's actually very simple: www.instructables.com/id/Reading-Digital-Callipers-with-an-Arduino-USB/ I'm also using this for my filament diameter gauge.
Hi Stefan, I was wondering if you could perhaps release a list of approximate materials costs. I am very interested in building something similar. Thanks!
I could in addition, design the PCB's required to make this build more professional. Please contact me. I haven't made a you tube video yet, but would love to start and would love to make my first video a collaboration
I’m considering building one of these for a part of my University thesis project. Have there been any further updates to this project other than what’s on GitHub including the online GUI?
HI,I have a problem with prusa i3 mk3, my bed have big distance between one site and second site. I have checked it is not too tight, this it not this. Any idea lovely community of 3d printing ? :D
How precise can the 5kN load cell be? I am thinking of making this machine on a miniature scale, but I still want the ability to use the load cell in a larger machine in the future.
Depends on your setup but it's usually a bad idea to only use a small portion of the measuring range. Better buy two separate cells if the measuring ranges vary by an order of magnitude.
Writing pretty code is not that important. My professor always quoted: *yodas voice* " premature optimization the root of all evil is". Thats almost the most useful thing I learned in his class. I wouldnt chabge the code if it works
over time hes going to have some issues if moisture gets into the wood. But likely wont be a huge factor as hes not nearly as precise as he can be here
Hi Stefan, I am considering making this myself, but I have no clue what load cell to buy. In the video you show 2 load transducers on AliExpress, but they both say 500 kg. Is this the load cell I should buy, or should I look for 2.5 kN instead?
Haven’t worked with neither of them. I have a 5kN one in mine and rarely go over 2.5kN so you might also be okay with the smaller. Buy one that is close to the loads you want to measure,that increases accuracy.
@@CNCKitchen I have no clue what loads a 3d printed sample similar to your hook while sustain. Will the 500 kG one be significantly less durable than the 5 kN one, or will it break/ stop measuring load very early in the stress testing?
I just did the math, and a 5kN load transducer is equal to a 509.86 kG, so that answers my question. In that case, even a 200 kG one would be 1.96 kN, enough for most tests.
Hi Stefan I am also mechanical engineer, I am interested in deign and build a compression miniatures compression machine (up to 1 kN) Could you please help me to select a ball crew (or better) kit (ball crew, guides, steeper motor, driver) to drive a plunger for compression test, do you have email or any other contact?