More measuring with laser and webcam
ฝัง
- เผยแพร่เมื่อ 6 ก.ย. 2024
- In this video, I'm continuing the rebuilding of my CNC machine's Y-axis. I check for the straightness of the rails using a laser and webcam along with a bit of software. At this point, I'm not sure if I'll keep it as is or try to scrape it to be straighter. Join me on this journey of precision and DIY CNC machine enhancement!
If you enjoy my DIY CNC projects, consider supporting the channel on Patreon. Your support helps me create more content and improve the channel. Thank you!
🔗 Patreon: www.patreon.co...
🔔 Subscribe for more DIY CNC content: / @bryanhoward
Topics covered:
- CNC machine Y-axis rebuild
- Checking rail straightness with laser and webcam
- Precision adjustments and techniques
- DIY CNC machine tips and tricks
My 3d printed Optical Kinematic Mount can be downloaded from here: www.printables...
Don't forget to like, comment, and subscribe for more updates on my CNC machine projects and reviews!
#CNC #DIY #LaserAlignment #PrecisionEngineering #BryanHoward
I have uploaded the 3d printed Optical Kinematic Mount here: www.printables.com/model/951573-optical-kinematic-mount-low-profile-3-axis
Since you have been working on this for a while, I would suggest recording these values for all the surfaces, then put it together. If it turns out you don't like the accuracy of the the machine, you can implement an error correction step to compensate or get the machine to your desired accuracy. You may be at a diminishing returns region already as dynamic deflection while machining may exceed your current setup.
I’m using LinuxCNC and have a topic on their forum on the subject. So far there isn’t much within LinuxCNC to be able to correct for this. I’ll probably have to look at this on my own at some point. forum.linuxcnc.org/10-advanced-configuration/50250-possible-to-automatically-compensate-for-irreguarities-on-the-xy-plane
Personally, I would like to see what would happen if you tried flattening the high spots using a piece of precision ground steel and fine sandpaper. Or a good flat sharpening stone.
It would work. You’d need to be working with thicker steel than what I’ve got. The main issue I’ve found is when thinner steel tubes, you’d have to take off so much of the corners getting the center of the tube where the rails bolts to flat.The profile of the tubes it kinda dips in the middle where the rails are.
Next time if I were to build a cnc from scratch, I’d either start with thicker tubes that I can surface a whole bunch of material off without compromising the tubes or to weld some 1/4” flat bar onto the surfaces where the rails would bolt to and get those machined and ground flat.
I find this whole endeavour absolutely fascinating! You're opening up a whole world of amazing possibilities, including some daydreams of my own. Years ago, while thinking about the accuracy limitations of DIY CNC milling, routing, and (especially) grinding machines, I wondered if it would be possible to integrate an optical alignment system for the tool head which could dynamically compensate for misalignment. Creating a rigid structure is much more achievable than creating one which is both rigid and perfectly accurate. For DIY machines the latter is constrained by the maker's skill, the metrology instruments they have, and the quality of affordable components (linear rails, bearings, etc) typically used in DIY machines.
If you could integrate something like what you've been documenting here *into* your machine, perhaps you could regularly map its imperfections and create some sort of correction table that could be applied to your GCode before it's sent to the machine. Perhaps laser/camera units attached to each corner and a rotating mirror tool in the spindle (especially if driven by a servo that could be rotated precisely).
As I said, I find this all very fascinating, so please continue to share your amazing work with us armchair daydreamers 😁
I've spent a bit of time a couple months back looking into what it would take to modify LinuxCNC to have a calibration map of the surface of the work area. This could be a matrix of static height values measured by the laser. Basically what is been done with current 3d printers to get very good mapping of the heat bed for good first layers.
Something like this on a CNC would improve any inaccuracies of the XY axis in terms of height. I have a couple videos with automating the CNC with the laser level + webcam to do surface probing and one video probing a coin with a crap load of points th-cam.com/users/shortsvuXR8RIW44o?si=ffIJpOk-DIx-zXwm
@@BryanHoward yes this would be excellent. If well integrated it could be a routine task ahead of any machining task, compensating for not only built-in misalignment, but temperature and component wear as well. I think it could revolutionise the capabilities of DIY CNC machines.
That would be awesome, Im building a machine myself and I believe when Is finished it will be over 300kg and plenty sturdy, but I still have a very long way to go and so far Ive induced a significant warp from welding the gantry main horizontal tubes that I must absolutely correct, however the remaining innacuracies is whats difficult to get rid of.
What would the probing procedure with lasers and mirrors be like? I believe maybe you could have an accelerometer firmly attached to the spindle body and run a stop and go probing sequence gcode simultaneously to a table filling program on the accelerometer side (that would make the probing much faster even though the end result will not be as accurate since accurate accelerometers can still have +-0.01º error and thats significant over a length).
I can imagine an effective result will comensate for bow and twist over short drilling operations, but it would still be impossible to accurately drill long straight holes because its phisically impossible unless you have a 4 or 5 axis machine.
Anyways, I wish you start your machine building endeavors soon, once you get your hands dirty with it, its hard to stop... XD
@@DgtalBreakz Just a thought, but I think the most practical application of this technology would be for planar accuracy, not positional accuracy (assuming you are thinking of wider application including positional accuracy). That would allow compensation for warp and sag, and give the added bonus of tramming verification for vertical spindles. Accurate linear scales are relatively inexpensive these days, and they can give you excellent positional measurements, especially if installed on both sides of the gantry.
I think that as long as you can get the image sensors fairly aligned, you could install a battery-powered laser directly into the spindle, which would act like a laser level when rotating. The laser beam would sweep across the image sensors in a perfect plane. Moving the spindle through the X and Y coordinates would reveal any deviation between the plane of the spindle and the X-Y plane of your machine (as long as the laser is set precisely at 90 degrees to the spindle axis, or else it would describe a cone).
@@pauldorman I see, that makes a lot of sense and would work asesome assuming the z assembly is very precise. But I can imagine a similar setup could be made to prove Z but you would have to rely on a different laser spinning source since the light line would be projected vertically to map along the Z travel.
Nice work. Once the rails are flat, will you measure & calibrate the rails to be parallel with each other?
How about scraping the surface on the high spots?
This is really cool! What if you used one of those tiny surface plates, say 12" size, combined with the laser graph, to scrape? That way the plate gives you local flatness and the laser gives you large scale flatness.
Thats a great idea. Imma try it. Want to incorporate laser and scraping for a long time, but never thought of a small surface palte
Yeah should work. I've got an 18" plate but have yet to build a stand for it.
Maybe mapping and marking the same mid value with the laser/webcam. Surface plate should make quick work of marking the high spots to take down.
Super cool project Bryan... have you tried this with a rotating self leveling laser? Or do these vibrate to much? and could you share the camera/sensor you use?
Not with the laser but I did try rotating the mirror. Tired it with a hard drive motor and polishing the outside. Had no success with it. Too difficult to polish the surface good enough to be a mirror.
I've got a video uploaded on it.
Very interested in the progression of your machine axis flatness checking system! I think it’s a super cool approach.
I think that your levels of accuracy are probably good enough to put it back together
Yeah I'm gonna leave it as-is. It's good enough for me. It's been almost 2 months with it all apart not being very useful.
If you were using 1/4 inch heavy wall, I would say either scrape it in, but with 1/8 inch wall, I don't think it is risgid enough to worry with. You are within 2 thou, call it good.
Your laser method inspired me to try a different, much more archaic aproach since I have outdoors space I can use. Im also building a moving gantry CNC and plan to use a cheap cross projecting laser and move it across the rail on top of the moving block and use that projected cross far away (6-10 meters away) to detect inaccuracies since the cross shouldnt move or rotate. By having it projected that far away, a very slight defect should still be detected. So far, Ive finished welding the gantry tubes and Im afraid I have a lot of warping, 2 mm deep bow in the center over a length of 1m. Ill have to correct that first, then fine tune with my method, thankfully I prepared a raised surface for the rails I can remove plenty of material from before I reach the main tubes.
Sadly, I suspect welding these raised surfaces is the main source of warping (the rest is sequence welded and symetrical) but I was gonna have to scrape away material regardless, so better have plenty warping and be able to remove it than to get the tubes so thin you cant thread into them.
Since you can weld, I'd suggest get some flat bar ~1/4" (6mm) and weld it to the surface you plan to have the rails on. That'll give you lots of material thickness to get the surface flat again. If I'd had done that with my CNC machine I would have gone through the process of scraping and grinding them flat
@@BryanHoward Yep yep, did that with 8mm thick 60mm wide flat bar. Cut it in the middle along its length and welded the ~30x8mm bars along the 1m in key areas, not the whole length, that would be a catastophic ammount of warping then, considering I got 2mm bow trying to be careful Xd. Planning to do the same for both Y-axis rail mounts but Im really afraid of the work awaiting me on getting the warp out of it.
Maybe some coarse lapping would work. Otherwise there is a lot to experiment with, angle grinder polishing, flap disc, (grinding disc if worn because it grinds quite slowly then), as you said dremel, sharpening stone, carbide paint scraper scraping, corrosion with acids, copper acid solution which will make steel get off when the copper tries to adhere and the steel dissolves, electroplating the low spots, using a plat plate with mold release and epoxy do thin layer, mount the linear rails or whatever elevated in the air with every bolt so the nuts determine the flatness.
those webcam settings are a part of windows that is universal for all webcams, I think the package you would want in linux is something like v4l2ucp, which is a control panel similar to that one in windows for any v4l2 (video for linux 2) devices, which should be like any webcam etc.
awesome stuff btw, great videos!
Yeah I never figured out how to from python launch the windows device GUI for the webcam. It can be done via c++ but kinda a hack just to add it. On windows my work around was to launch it from ffmpeg with "ffmpeg -f dshow -show_video_device_dialog true -i video". Basically wrap that as a subprocess from the GUI. Looks like v4l2ucp in linux might be similar enough. Thanks!
There's a QT5 patch file in the ArchLinux AUR Git repository for v4l2ucp. Using it I built the application successfully on my Ubuntu system.
Out of curiosity how will scrape carbon steel like your tube here?
Not sure what you mean.
@@BryanHoward oh i mean normally people scrape cast iron but not carbon (like the steel tube you are using). It would be great if doable as steel tube is much more available than cast iron
@@thanhnhanhuynhnguyen3652 You can do it pretty go with rotary tools, See Cà Lem channel on some machines he rebuilt. I think he did that on a lathe rebuild. th-cam.com/users/C%C3%A0Lem/videos
@@BryanHoward thanks a lot for sharing!
Hey bryan, did you have a look at the taunt line method? has some quite good papers behind it with results making it comparable to an interferometer measurement.
I've looked at it while building this one. I think it could work out quite well and I plan to build one some time in the future to compare both methods. My main reason sticking with the laser and webcam method first was to see how well plotting points in a 2d grid and automating that all with the CNC machine would work. That all worked but became very finicky with the laser line calibration.
The taunt line for measuring straightness might work out better for simple setups like rail straightness as there are many less variables with the laser compared to this method.
As you say it is just 0.002" which is actually really good. BUT you know it is 2 thou out. I would suggest using a flat stone and addressing you major high point areas. It won't take much to remove a thou or so and so halve your variation. Given your setup it is now so easy to stone it a bit then check immediately and accurately so it really becomes a why not. That said if you can't get it to alter reasonably quickly and with little effort there is no harm with just letting it be. If nothing else it could be a short video to show that it is or isn't easy to address this variation.
I might try hitting it with flap wheel on the angle grinder to hit the worse high areas. That might be the best tool as the surface has a slight concaved profile shape to them being a tube. Flap wheel can keep that shape without grinding down the sides too much.
@@BryanHoward I would think that will be too aggressive given you are only chasing a thou or so. A narrow stone, about as wide as the track? Also that raises the point that you aren't actually measuring where the track will be as your support for the imager is wider than the track. For a better representation put some tape down where the outside of the track will be as a guide and use spacers that are just the width of the track. Then you will be measuring exactly where the track will be located. Again does this all matter, not really, but given you can measure to microns "easily" its fun as an observer watching it being chased. If it isn't fun/interesting for you then.....
I didn't realise this started from a PRINTNC project until one of the latest comments. I am know thinking of building my own based on it as most of the base thinking is done. A kind of weird setup is in my mind. Invert the XY axis and treat it like a core XY printer. Provide Z by moving a separated table Up/Down. This would mean the spindle is ALWAYS at its most ridged point. Also if you do this you can add more weight/dampening to the XY structure as you don't have the weight of the Z structure interfering. Also the Z axis can be well constrained (4 rails in my head) and almost unlimited in its weight as its movements are relatively small and slow. I haven't seen any CoreXY type routers but I think the concept make sense. Just like it is the now "best" type of 3D printer.
Due to space limitation I intend to have it INSIDE a table. So a little smaller than the std PrintNC but hopefully not too much if I make the axis belt driven. The top of the table will be a welding bench convertible to a MPT wood bench and plain bench. In my head everything fits, with the FUSION drawings for PRINTNC I can easily try it out in virtual space. To make it usable I will have lift legs that can raise the whole table when needed. It will be interesting to see if it can operate well when lifted. Will the whole thing be ridged enough within itself so vibrations of the whole structure doesn't matter as it is the WHOLE structure that is moving so there is no relative tool/workpiece movement. Anyway still a project at the pondering stage so no outcome, if any, for quite some time.
I received my PrintNC parts this week 😁. Im planning to use your software, its easy and cheap! Why are you scraping the high spots and not grinding them?
The PrintNC discord is very helpful. It's worth putting as much effort in being as accurate as possible with the bolt holes using the 3d printed hole guides. Good luck!