Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CNC Knowledge sharing thread #126

Open
gururajkashikar opened this issue Mar 25, 2020 · 156 comments
Open

CNC Knowledge sharing thread #126

gururajkashikar opened this issue Mar 25, 2020 · 156 comments

Comments

@gururajkashikar
Copy link

Hi Martin,

First of all, thank you for this wonderful software.
I was able install Grbl 1.1J and use OpenCNCPilot to move all 3 axis using manual mode as well as using Keyboard. Just wanted to make sure that I have met pre-requisites (grbl 1.1 and .NetFrameWork 5).

I was also able to utilize "Probe and set Zero" macro to check if my probing is functioning properly. It is working as expected.

I was trying to use the most awesome part of this software, Probing. But "Run" button is not getting enables. What I am missing here? Could you please throw some light on this. Attaching image of my Screen for your reference.

Thanks in Advance.

Regards,
Guru
OpenCNCPilot

@deHarro
Copy link
Contributor

deHarro commented Mar 25, 2020

Hi Guru,
"Points: 90/90" tells us, that your map is generated already. All 90 points of the map are obviously probed.
Next after having done the probing you have to Apply the hight map to your gcode. You find the corresponding button in the "Edit" panel.
After having applied the map you can "Start" etching (see "File" panel).
Hope that helps.

Harald

@gururajkashikar
Copy link
Author

gururajkashikar commented Mar 25, 2020

Thanks for the reply Harald. It never probed even a single point. As soon as open probe window, select the area to be probed, the attached screen is what I can see. I can't press the Run button. So no probing of even one point. My CNC stays at 0,0,0 x,y,z respectively. I am missing something.

@deHarro
Copy link
Contributor

deHarro commented Mar 25, 2020

What happens if you click "Clear" in Probing panel?
Then "Create new" should be activated.

@gururajkashikar
Copy link
Author

When clear is clicked, probing area with that 3d effect goes off as expected. When I create new, probing points appears but again the same issue. Run button will be disabled.

@tarmon01
Copy link

tarmon01 commented Mar 25, 2020 via email

@gururajkashikar
Copy link
Author

Where is the "generate test pattern" box? I tried size from gcode. But did not work. Will try this again tomorrow morning. Thanks for the suggestion

@tarmon01
Copy link

tarmon01 commented Mar 25, 2020 via email

@gururajkashikar
Copy link
Author

Hi tarmon01,

You were right. "Generate Test pattern" was checked because of which "Run" button was not enabled.
Now I was able to probe and mill a sample PCB. Attaching the image of the milled PCB if anyone is interested,

Looks like engraving bit was slightly broken and went bit deeper. I'll try with a new bit. Also I had set the milling depth as 0.6mm in my Gcode. Looks like that can be reduced too.

Also one thing I observed. My's CNC Z was not raising up quite high when it is not suppose to mill. Because of this engraving bit went over some of the circuit track and isolated it. Will need to work on this. Any suggestion on the depth of milling and height of the end mill will be helpful.

Thanks for all the help.

Regards,
Guru
20200326_110727

@deHarro
Copy link
Contributor

deHarro commented Mar 26, 2020

Hi Guru!

If you use the same bit for probing and for milling (without changing anything at the bit inbetween probing and milling), you don't have to zero Z before probing.

But I take it as good practice to zero Z before starting the probing process.

Concerning the depth, I use 0.08 mm (80µm) to go through the 35µ copper cladding.
In theory 0.04µ should be enough, but we deduced the distance the router needs to stop after recognizing the touch event as reason why we need to set the milling depth deeper than that.

Concerning the trenches you milled I propose, you should parametrize some more routes to widen the trenches.
I use EAGLE as design tool. There exists an ULP named pcb-gcode.ulp which generates the routing pathes around the traces. This ULP allowes to define the number of additional rounds the bit should do to widen the trench between trace and remaining copper. This at least eases the soldering process (no or at least less chances to make a short).

Hope that helps...
Harald

@gururajkashikar
Copy link
Author

Hi Harald,

Thanks for your time to update these findings. I am using same bit for probing and milling. I was afraid of breaking the V shaped bit if I don't zero Z. Some time when there are error, we hit soft reset and then press Zero machine, I have got couple of V bits broken due to crashing of my machine.
Now, back to update about my findings. My Z was not travelling as expected. When I try to move Z by 10mm, it was just moving only 2 mm. I had recalculate step/mm and now its working fine.

Now I think 0.08mm as you said Harald, would be sufficient to engrave the copper clad..
BTW, I was able to drill my PCB. In some place drill bit (0.7mm) did not go all the way down. In most places it did.

Do we need to do the probing and applying hight map to your drill gcode also? Current PCB looks as attached below. Not very accurate though. But good to go as of now.
Screenshot 2020-03-26 at 9 06 25 PM

BTW, the actual issue I mentioned here, was not an issue. It was lack of my knowledge about this tool. So all other things are general discussion. Please suggest me if its ok to discuss these general thing here or should I close this issue?

@deHarro
Copy link
Contributor

deHarro commented Mar 26, 2020

Hi Guru,
since I am not sure about the squareness of my router I apply the heightmap also to my drill code.
This is convenient if you specify the drill depth so that the board is just drilled through (I use 1,7 mm as drill depth. Together with the double sided adhesive tape I fix my boards with, this gets through and doesn't touch the waste plate (don't know the exact wording for the plate beneath the work piece which prevents the bit to touch the routers surface).
If you don't care about the waste plate, you can specifiy the drill depth deeper. In this case you don't need to apply the heightmap to the drill code.
The same applies to the milling if you use your router to cut out the finished board.

Concerning your findings about the wrong step/mm on Z, I suggest you should check those parameters for all three axes. You can adjust this in the GRBL settings.

Harald

@gururajkashikar
Copy link
Author

Hey Harald,

I normally use a thick double sided tape to stick the copper clad sheet to my waste wood board and then place the wood on my CNC bed. There will be a gap of around 1 to 2 mm between copper clad and the wood board itself. Hence my drill bit goes all the way down but does not touch the waste wood board.

I had found X and Y's steps/mm value and it was accurate. Only Z was missing. Now all three are perfect.

One more update :( I lost a 0.7mm router bit today morning when I was trying to cut the board to required size using my CNC. This was because after milling, I could not do the probing.
Lesson learnt:

  1. Do probing for all three gcode file i.e 1) Milling (2) Drilling (3) Cutting.
  2. Apply the height map to respective Gcode files and save it.
  3. Then start milling.

Any other suggestion for milling, drilling and cutting would be appreciated.

Thanks and Regards,
Guru

@deHarro
Copy link
Contributor

deHarro commented Mar 27, 2020 via email

@deHarro
Copy link
Contributor

deHarro commented Mar 27, 2020

This is the correct one
This is the wrong version

Harald

@tarmon01
Copy link

tarmon01 commented Mar 27, 2020 via email

@gururajkashikar
Copy link
Author

Great tips here.
Harald: I'll try tomorrow with thinner tape. I was under assumption that each of the gcode file will have its own height map. Your explanation clarifies that same height map can be used for all three is satisfactory. I'll try it out.

tarmon01 : Very nice to know these option exists. I'll give it a shot tomorrow.

Thanks for all this suggestion.

@deHarro
Copy link
Contributor

deHarro commented Mar 27, 2020

Hi Guru,

It if something goes wrong ( closing opencncpilot by mistake for instance) and then you can apply it to drill/mills on a partially done board when the program is running again.

In this case you must carefully zero Z (and obviously X and Y as well ;) again, preferably at the same location as you did it first.

Harald

@deHarro
Copy link
Contributor

deHarro commented Mar 27, 2020

Hi Guru,

same height map can be used for all three

Since OCP has no option to avoid probing at already etched places, the possibility to just aim at such areas when probing an already treated board is very likely.
So it's sort of mandatory to only probe once.

Harald

@gururajkashikar
Copy link
Author

Yeah Got it Harald.
Another thing what I follow is, First time I zero all three axis, I store that Machine position using G28.1. Later any time I want to restart, I raise the Z to safe height (like 10mm) and issue command G28 to come back to initial zeroed position. From there on I start all over again.

BTW do you use a different Bit for Engraving and Cutting the board? I saw a video where V shaped bit itself was used to mill and cut the copper clad sheet. I tried with router bit and broke it. The router went deep and stuck there while CNC moved ahead to break the bit..

@deHarro
Copy link
Contributor

deHarro commented Mar 27, 2020

Hi Guru,
the V-bit must only be used for etching and for spot drill (marking) the holes (spot drill: just touch the surface of the copper clad to mark the position where the cylindrical drill bit then should make the hole).

For milling the board outline I use 1,4 mm (sometimes 1,0 mm) "diamond toothed" or "spiral-toothed" drill bits.
The holes are drilled with 0,8 mm or 0,9 mm "diamond toothed" drill bits.

Harald

@gururajkashikar
Copy link
Author

gururajkashikar commented Mar 28, 2020

Hi Harald and tarmon01,
I create another PCB today. Had a different experience. I used 0.08 as the depth for PCB milling/Etching. My probing started from Bottom Left of the board, went horizontally i.e. left to right, then 5mm up right to left so on till it reached Top Right. (Attaching the image to make this clear)
PCB

After applying height map, when I engraved the board, I saw that the bit went deeper towards the left of the board, but just touched the board on the right side.

My question to you : Is it need that we need to get probing some how from bottom to top as shown in the video of this website (instead of bottom left to right) to get correct probing height. For earlier board, probing was done from bottom to top as in the video. So I have this doubt.

  1. Though I used 0.08mm as the depth, looks like it went deeper on left side of the board. Is this problem due to above question.

Image attached in case you want to see it. Tracks are too thick...
PCB_Engraved

Gururaj

@tarmon01
Copy link

tarmon01 commented Mar 28, 2020 via email

@gururajkashikar
Copy link
Author

Thanks for the update torman01. I think I need to buy 60 deg bits like you have suggested. What do you use for cutting board to its correct measurement.? Can you please share some pics of boards and your CNC machine.
Btw can I know your real name.

@tarmon01
Copy link

tarmon01 commented Mar 28, 2020 via email

@tarmon01
Copy link

![F6A9E681-2A1F-4B4E-BF0F-1016FA721204
0CE6DD35-5877-421A-A1CF-479F9B307D00
1CB8A3B0-94EB-4835-9727-50BC63D4F137
84DF5152-5DE2-4E76-B0B5-6FE341CED112

@tarmon01
Copy link

Missing, but alas sideways,🙃 photos for last post

-TomH-

@gururajkashikar
Copy link
Author

Hi Tom,
Thank you so much. Your machine is impressive. I never thought we can have multiple spindle on a single machine. Looks awesome.

The PCB quality is also excellent.

Regarding my CNC machine, it's home made machine with V slot aluminium profile, v wheels and movement is through timing belt. See the image below.
20200329_071024
I'll surely work on your comment. Since I don't have threaded road and nut for X and Y axis, I need to check how to avoid Anti-backlash. The CNC as whole doesn't shake or wobbles. But moves easily by hand. I need to work on that as well.

Regarding electronics, I have arduino nano on grbl CNC shield v4. One single board with stepper controller on it. Lot of work to do before I get PCB like yours. Thanks for you inputs. It matters a lot at this time

Regards,
Guru

@martin2250
Copy link
Owner

Hi everybody,

just to chime in and answer a few of the questions:

OpenCNCPilot always chooses the closest point to the current position for probing. This means that the probing pattern can be different from time to time. Assuming your machine doesn't loose steps, different probing orders don't make a difference. If the milling depth varies from side to side, it's always an issue with rigidity, either in the machine or the board. I only recommend tape (over the entire board surface, not just small pieces) to hold down boards, and I'm actually quite surprised that Tom's boards come out that cleanly with just two clamps.

Regarding backlash in your machine: timing belts can be quite good in that regard. My first machine, a Shapeoko 2, also used V-rails and timing belts. The best I could do were 0.4mm traces and 0.8mm pitch SMD components. There are a few catches though:

  • The rolling resistance of your bearings must be very low. Try disconnecting the motors and adjusting the rollers until XY moves with little to no resistance.
  • The belts mustn't be too cold. My boards turned out worse in winter, even with the machine sitting in my bedroom.
  • Belts tend to 'remember' their shape, so after sitting around for a while, there will be a 'bump' when moving over the resting place. My solution was to un-tension the belts when the machine was not in use.
  • The belts must be tensioned properly of course.

@tarmon01 impressive setup! How do you manage the multiple Z axes with grbl?

Martin

@tarmon01
Copy link

tarmon01 commented Mar 29, 2020 via email

@tarmon01
Copy link

tarmon01 commented Mar 29, 2020 via email

@gururajkashikar
Copy link
Author

Hi All,
Sorry for delay in my response. I dismantled my CNC machine since there was a small variation due to which I had to change whole Y axis.

So as most of you suggested here, I modified my CNC to have X axis fixed. See the image below.
20200704_174734

Just did first ran of this new machine. Following is the image of my experiment.
20200705_213036

With this I have only one steeper in Y axis. So one stepper and one lead screw saved with this design. Also as said less load on Y axis stepper as it's not carrying Y and Z axis with it.

Regards,
Guru

@deHarro
Copy link
Contributor

deHarro commented Jul 6, 2020

Hi Guru,
nice setup :)

I think, you will get much improved results, if you fasten the X stepper with some additional screws. Let's say a total of 4 will do very well, 2 will make it better, too.

This one thin screw, you have at the moment, is not stiff enough, to hold the stepper steady against it's torque when moving the sled.
I suppose, you can tilt the stepper left/right by hand, slightly?

Harald

@gururajkashikar
Copy link
Author

Hi Harald,

Thanks for your reply. I'll change the screw for the stepper motor. Currently that stepper has 2 screws diagonally opposite to the one visible in the picture above. Isn't it Y axis stepper which we are talking about here? As you said this stepper can be slightly moved up and down. So I'll have a higher dia screws and possibly 4 of them...

Thanks again.

Regards
Gururaj

@deHarro
Copy link
Contributor

deHarro commented Jul 6, 2020

Hi Guru,
on my router this axis is X, but anyway :-) We both talk about the stepper at the front of your frame.

I didn't mean up and down but turning it sideways, as the momentum of it's own power would do when stepping to turn the lead screw.

I think, up and down would not imply errors in the lead screws direction, but turning momentum will.
With two screws this direction may be stiff enough, you can easily test that.

Your idea, using thicker screws and 4 of them will improve the stability noticeable, I believe.

Harald

@silicon-systems
Copy link

Hi All,
Sorry for delay in my response. I dismantled my CNC machine since there was a small variation due to which I had to change whole Y axis.

So as most of you suggested here, I modified my CNC to have X axis fixed. See the image below.

Just did first ran of this new machine. Following is the image of my experiment.

With this I have only one steeper in Y axis. So one stepper and one lead screw saved with this design. Also as said less load on Y axis stepper as it's not carrying Y and Z axis with it.

Regards,
Guru

Woooh!!!!! This is a complete make over!

Congratulations Guru, well done.

You could also stabilise stepper motor by sandwich a second plywood between it and CNC frame.

Stepper Seat

Hanspeter.

@gururajkashikar
Copy link
Author

gururajkashikar commented Jul 13, 2020

Hi Harald, Hanspeter,

I added a thicker Nuts and Bolts for the Stepper motor and got it very stable now. Image attached below.

Stepper

The whole CNC machine looks like the image below. Less number of floating/moving wires..

20200712_191053 (1)

I did couple of dry run and here are results.

20200713_182459 (1)

BTW, I also modified the Z axis, as it was Tilted. The Acrylic sheet, I used earlier used for mounting Spindle motor on Z axis was bent due to V-Shaped wheel pulling it in. So added a wood instead. Now no more tilt on Spindle.

Thanks for all the support you people are providing...

-Regards,
Guru

@deHarro
Copy link
Contributor

deHarro commented Jul 13, 2020

Hi Guru,

looks pretty good now :)
Congrats!

So, on to your next PCB ;-)

Harald

@tarmon01
Copy link

tarmon01 commented Jul 13, 2020 via email

@gururajkashikar
Copy link
Author

Thank-you Tom and Harald. I'll try PCB milling soon

@gururajkashikar
Copy link
Author

gururajkashikar commented Oct 31, 2020

Hi Martin,
Gm. Just wanted to request one enhancement if feasible.
On the GUI when we mouse over on the milling path, can you show X and Y location from the gcode file corresponding to mouse location pointed by user.
When it be used?
Many a times I have to stop the movement of CNC due to some issue by pressing one of the end stop hard limit switch. Eg. Druing milling acrylic, in some location, End mill has gone too deep and X or Y axis is not moving any more, I'll press one of the hard limit switch to stop machine. During this time, if I mouse over on the path and get to know x and y I can set it using g92 comment.
Zeroing machine will not land in actual zero location as X or Y would have missed few cycles...
BTW with few back n forth I was able to cut the acrylic shown in below image.

20201031_100826

Bottom is not straight because the machine to start at previously pointed zero. This is the reason I wanted to know X, Y on mouse over.

Thanks and Regards,
Gururaj

@deHarro
Copy link
Contributor

deHarro commented Oct 31, 2020

Cool! Looks great (even if I cannot read it).

I have the same problem sometimes.
Mostly when carving PCBs, so I am able to work around the lost origin by searching a known hole (for a through component), getting it's coordinates, entering them with "G0 x... y..." into the "manual" edit control and then issuing a "g92 x... y...".
The router then knows where x0y0 is.
Obviously the hole at the given coordinates has to be drilled or at least spot drilled before.

Harald

@gururajkashikar
Copy link
Author

Cool! Looks great (even if I cannot read it).

I have the same problem sometimes.
Mostly when carving PCBs, so I am able to work around the lost origin by searching a known hole (for a through component), getting it's coordinates, entering them with "G0 x... y..." into the "manual" edit control and then issuing a "g92 x... y...".
The router then knows where x0y0 is.
Obviously the hole at the given coordinates has to be drilled or at least spot drilled before.

Harald

Thanks for the reply Harald. Hope you are doing good.
This is the name written in Kannada one of the 22 language in India.
Regarding milling, I normally move the machine to very first point with eye judgement. Then use G92 X.. Y.. which will be the first point in gcode file. If I do not adjust the first point properly then I have the issue shown in the above image at the bottom. Also I want to know intermediate point from gcode file to start milling from that point. Else I always need to start from beginning.
Harald, I want your advice on how you do probing for non matalic material like acrylic. I used a push-to-on switch. The problem here is, it presses to hard on the material to detect probing and heatmap goes too deep.
Please suggest.

Regards.
Guru

Gcode file,

@deHarro
Copy link
Contributor

deHarro commented Nov 1, 2020

Hi Guru!

I normally move the machine to very first point with eye judgement.

Yes, that would be the first idea.
But there are drawbacks if you are milling a PCB (and so can use an electrical touch probe).
If you spot drill the origin (x0y0) to have a definitive mark for the origin, you are not able to zero Z at this point, since the copper is drilled away already.
On the other hand, if you mark the origin by means of any other way (e.g a pencil), the mark is bigger, so the accuracy is not given.
This leads me to leave the origin unmarked and use any other point in the gcode as described above. But this is no must, it's up to your own feeling ;-)

Concerning probing non conductive materials I have made different approaches. Please have a look at my homepage:
http://www.harald-sattler.de/html/3dtouch_sensor.htm
http://www.harald-sattler.de/html/3dtouch_sensor_v2.htm
http://www.harald-sattler.de/html/3dtouch_interface.htm
It's in german, but at the bottom of each page you can choose a language using google translate.

The first two URLs describe the modification of two more or less identical 3DTouch sensor clones resembling version V1 of BLTouch to cooperate with GRBL. This is not funny to accomplish, so I made a different approach, to make reproduction easier.
This resulted in the 3DTouch Interface, described in the third URL.

Those sensors imply near to nothing in forces onto the to be probed material.

At the moment I am disappointed by the results from this third version, I already elaborated on that over there and the next 3..4 postings there.

I will modify one of my pimped 3DTouch sensors to produce positive touch signals and attach it to the interface to get comparative readings, just to be able to judge, whether the new 3DTouch V2 is the culprit or my interface.

Harald

@martin2250
Copy link
Owner

Hi Guru, Hi Harald,

so if I understand correctly, your problem is that you loose the origin when you have to do an emergency stop? There is a simple solution for that if you have end stops. Just use G10 to set the origin. That way, work coordinate systems are stored in EEPROM and will be restored after homing the machine.

Cheers,
Martin

@gururajkashikar
Copy link
Author

Hi Martin,
Thanks for the reply. I remember there is a similar command G28.1. After moving to Origin, without forgetting we must enter G10 or G28.1. Later when we execute G28, it moves to Origin. The catch here is Z must be kept at 15 or 20 mm high before storing the G10/G28.1. Else when we change the end mill or cutting tool with different size, we may end up those tool going lower than PCB or Acrylic resulting in either breaking the tool or spoiling our material.

Also to get to correct origin, after missing steps due to unknown reason like stuck end mill, we need to home the machine and then use G10/G28.

Instead what me and Harald where thinking is if we can know the X and Y on the path, we can move to that location using manual jogging, then use G92 X..Y.. to set X and Y. After this when we hit G01X0Y0FXXXX, it moves to correct Origin and we can start immediately. Only know X and Y to us is the first one from the Gcode file.

One more need to know the exact X and Y position from Gcode file is as follows

Assume that we have executed 3500 lines of Gcode (CNCPilot at this point might have streamed 4000 lines of gcode and will be showing the same on the screen) and then we see some issue. Immediately I would have pressed Y hardlimit to stop the machine (Note: I am not pressing Emergency s/w as it restarts the Arduino). Instead of starting all over again, what we can do is if we get to know X and Y of the current position, clear hard limit alarm, set that value fro X and Y using G92 and start from 3500th line rather than starting from the beginning.

There are may cases like this where we can set the current X and Y and start from there if we can know about it.

Thanks and Regards,
Guru

@gururajkashikar
Copy link
Author

Hi Harald,

Please have a look at my homepage

Thanks for the link. I went through it. I assume you have ATTiny chip to probe the metallic surface like PCB. I'll read about it tomorrow throughly as Google is helping me to translate the page to English.
I am just thinking if we can have some kind of Non-touching, proximity/capacity sensing technology to probe the height.
As I told you, using a Push-To-On switch is pressing the material so hard before making contact that the material itself is bending downward and heat map when applied to Gcode causes too deep cuts.
For example, I wanted to engrave, just -0.2mm, after applying heat map, due to the above mentioned issue, it went -3.35mm and made a straight hole. I immediately pressed Y hard limit and the machine stopped. If I had not pressed that switch, my end mill of 0.7mm would have broken if X or Y axis would have moved a bit.

Is my idea to probe material's height using some kind of Ultrasonic sensor, LDR, capacitance touch sensor, Proximity sensor etc feasible? Please let me know your thought.

Thanks & Regards,
Guru

@deHarro
Copy link
Contributor

deHarro commented Nov 1, 2020

Hi Guru,

metallic surfaces I probe with the V-Bit. In this case no AtTiny is needed.

Please read about BLTouch probes at Antclabs. They provide info about the different possibilities you mention to probe non metallic surfaces and their drawbacks in comparison to the BLTouch.

The BLTouch or 3DTouch (the latter are clones of the original BLTouch) use a very light stick of aluminium or plastic for sensing the touch down on the material.
The stick is movable, it retracts actively immediately after touching the surface, there will be no mechanical stress on the probed material.

The interface with AtTiny85 I present on my homepage is solely to make the use of such (unaltered) BLTouch sensors possible in combination with GRBL.
The interface has two reasons:

  1. It inverts the polarity of the sensors output, so it is compatibel to the normal active LOW probe input of GRBL.
  2. It prolongs the impulse the sensor issues on touch down, since the 3DTouch/BLTouch issue a 10 ms long impulse which is not accepted by GRBL (it has to be longer, about 200..300 ms, to my findings).

Harald

@gururajkashikar
Copy link
Author

Hi All,
I have created a new CNC machine using 3d printer I have built. Thought of sharing with you all and take any suggestion you have.

https://www.youtube.com/watch?v=YNwaRFlIYsw

Thanks and regards,
Gururaj

@deHarro
Copy link
Contributor

deHarro commented Jan 4, 2022

Hi Guru,
nicely done, gratulations :) 👍

Harald

@silicon-systems
Copy link

Hello Guru,
Hope this built brings your PCB milling upto scratch.

Wishing all the best.

Hanspeter.

@gururajkashikar
Copy link
Author

Hi Harald, Hanspeter,

Thanks for your comments. Yes I tried to mill a PCB Yesterday.Result was not bad. Watch this Video.

End-to-End Milling

Also if you are interested in my 3D printer here is the video of it.

3d Printer

Thanks for all the support, Suggestion provided to me through this channel.

Regards,
Guru

@gururajkashikar
Copy link
Author

gururajkashikar commented Jan 19, 2022

Hi All,

Good morning. Just wanted to share few pics of milling PCB in my new CNC. Once again Matrin, big thanks to your OpenCNCPilot software. Harald, Hanspeter cant go without thanking both of you for awesome support given by you. Thanks to all in this group without your support this would have not been possible.
PCBs-Guru

@deHarro
Copy link
Contributor

deHarro commented Jan 19, 2022

Hi Guru!
Looks nice, except some flaws in the milling pathes. Perhaps you should reduce the probing grid somewhat? I use 5 mm grid on my boards. Sometimes a little bit boring, but it's worth the time.

[edit]
And another one:
Try to carve the writings as vector font in the milling layer. Then you get characters with only one stroke:

grafik

This leads to the following carvings.

grafik

I have no photo on hands, but if you like and need, I can make one later in the day.
[\edit]
Harald

@gururajkashikar
Copy link
Author

Hi Harald,

Thanks for the suggestion about the grid size. To reduce time of auto-probing, I had increased it to 10 or may be 14. I was scratching my head why some of the places its not going deep enough to mill the copper. I'll use 5 as grid size and go a PCB milling.

W.r.t Text, I used to have Vector fonts in Eagle software. But in KiCAD I was not able to find one. So used normal font. Will do some more searches on how to get the Vector fonts in KiCAD. Overall great suggestions. Thanks.

I had another query. Suppose I switched off the machine after milling is done. I have not used G54 to 59 to save the co-ordinates. How do I get back to zero position to start the drilling process?

-Guru

@deHarro
Copy link
Contributor

deHarro commented Jan 19, 2022

Hi Guru,
you're welcome :)

You are right, I use Eagle, so vector fonts are on hands.

I do not use coordinate saving via G54..59, since I do not understand the underlying scheme.
To circumvent this, I normally tap the X/Y zero coordinate with the drill bit to mark it on the copper.
When probing and carving traces I use a very pointed bit, so this marking on the copper board is very exact.
This just for certainty if I move the drill head manually or via my joystick jog control. (You can switch to english at the bottom of the page)

In general I mill the traces, the text and the drills without moving the board at all.
Together with moving the drill head ONLY via the controls of OCP (e.g. to change the tool), I have no need to recover the original zero point.

... ok, reading your question again, I realize "switched off" 😄
If I turn off my mill, the drill head does not move, so after repowering it is still at the last X/Y position.
If I have to move the drill head (e.g. to get access to the board), I rely on the marking of X/Y zero I described above.
This is not needed when moving exclusively via OCP controls.

I have end stops installed, but do not use them since I had issues with EMI. Sporadically the end stops were triggered from disturbances in the air, so I disabled them.
If you have end stop switches and no disturbances, you may home your machine after powering on.
So you have a defined position where to start every time.

Harald

@gururajkashikar
Copy link
Author

Yeah, I know we should do milling drilling and board cutting at the same time. But my spindle was over heated and wanted to give it some time (May be 30 to 40 minutes) for it to cool down. So I turned the whole machine off.

After spindle was cooled, when I turn on the machine, though the spindle was in Zeroth point, my machine co-ordinates will be MX=0, MY=0 and MZ=0. So it forces me to home it first and then go to Zero position of my workpiece manually.

I found one way. But not very accurate though. I'll jog to first drill point manually by seeing the picture on OCP and trace on copper clad board. I'll lower the spindle with drill bit (Still not spinning) bit to see if the hole will be drilled in the center of the copper as required. If everything goes fine, I'll use G92 to set the X and Y. For ex: If the first point in Drill Gcode file is G00 X35.4000 Y57.1300, after moving to correct location I use G92 X35.4 Y57.13. After this, when I issue command G01 X0 Y0 F500, It comes back to original 0 Position.

BTW, I use hardware limit switch without any issues. I have wired it as COM - NC -> GND with 10K pullup resistor. Which means the Switch is normally connected to ground. When triggered, It just get disconnected from GND and 10K will pull that line high for fraction of second which will be treated as limit s/w triggered. No EMI issue at all as most of the time the X,Y,Z limit switch lines are grounded. Hope this helps.

-Guru

@deHarro
Copy link
Contributor

deHarro commented Jan 19, 2022

Zeroing after power loss: The described procedure (find an already drilled or - not so good - a to be drilled hole) works well enough for me. I used that often in the past.
As described above, I use a similar method with a small marking at zero X/Y. This in turn is very accurate, provided a V bit is used.

Limit switches: Yes of course. My switches are NO and pull the signal to GND when triggered.
This naturally evokes problems, I have to check whether I can change the polarity to NC and enable the switches then.
Thanks!

Harald

@deHarro
Copy link
Contributor

deHarro commented Apr 27, 2022

Hi all!
In the past I mostly used OCP to do my boards, seldom to carve other things (a lid for our white cheese box, some shuffleboard puks and soem word clocks).
Now I dared to try my mill on aluminium.
I had to cut a trench, 6 mm wide and 20 mm deep, as well as two holes, 24 mm deep and 17 mm wide, into an alu block with dimensions 30 x 30 x 90 mm.
I used Estlcam to generate the gcode. Since my mill is not the most powerful device, I generated tool pathes with so called "Wirbelfräsen" which managed the milling job decently.

2022-04-27_IMG_6245

The design is as follows:

Kuga_Wagenheber_Alu

Beneath the alu block sits a steel plate, both are connected via M8 scews. All together it will work as adapter for our hydraulic jack to lift the car for changing the wheels.

Harald

@gururajkashikar
Copy link
Author

gururajkashikar commented Apr 28, 2022

Hi Herald,
Good day.
Your work on Aluminum block has come out very well. Did you use any oil during milling. What bits were used to cut alu block. Now you confidently say your mill is powerful.

Regards,
Guru

@deHarro
Copy link
Contributor

deHarro commented Apr 28, 2022

Hi Guru,
thanks!
No oil, only much cold air via vacuum cleaner. This prevents aluminium tinsel from cluttering the mill and all the room and helps cooling the bit. Additionally it removes the tinsel around the bit, so there is not much baking of the alu to the bit (so the blades/edges of the bit stay -more or less - clean and sharp).

First I used a 3 mm bit with one tooth. This leads to 22000 rpm and 550 mm/min cutting speed... resulting in over 2 hours of cutting.
I switched to a 4 tooth 6 mm bit for the round holes. This leads to 3750 rpm at 750 mm/min. Since my mill doesn't keep the axis speed constant, I reduces the speed to 630 and 3400 rpm, respectively, on the fly (via overrides).

2022-04-27_IMG_6249

Concerning the quality of the surfaces I am not totally satisfied:

2022-04-27_IMG_6247
2022-04-27_IMG_6248

But the part will do its job :)

The trench is cut in two runs, each 10 mm deep. This results in a step at 10 mm. I removed it with a file. The 3 mm bit is a little bit cluttered with alu afterwards, but didn't brake (left: used, right: new):

IMG_6251

IMG_6252

Concerning the cutting parameters, I adapted a PDF from Sorotec and made an Excel table to easily calculate the parameters for different materials:
Schnittwerte_Sorotec.xlsx

It helps in getting started when milling different materials for the first time.

Harald

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants