vlachoudis / bCNC

GRBL CNC command sender, autoleveler and g-code editor
GNU General Public License v2.0
1.56k stars 532 forks source link

PCB milling : TOP layer milled deeper than BOTTOM layer #771

Open phil123456 opened 6 years ago

phil123456 commented 6 years ago

eagle_test.zip

Hi,

problem : traces are milled thiner on top layer

I checked the bottom and top files z values, they are both these :

up -> G00 Z2.5400 down -> G01 Z-0.1350 F254.00

I also compared the apparent scales of the files in bCNC they appear the same

( I then made a simple test with only one trace (bottom/top), and gcode files ARE IDENTICAL )

so how is it bCNC is milling deeper compared to the bottom layer ?

thanks

masterleo commented 6 years ago

Hello, could you take pictures and include screen shots please ? What is your OS ? What is the version of BCNC ? We need informations to solve bugs ;) What is the machine you use ?

phil123456 commented 5 years ago

Sorry for the late reply,

haven't graved anything recently... I use Windows 7 I cannot find the version of bCNC I use... just tried the last one, there is an unresolved bug in it (Key error something)

I use a chinese CNC3018 .... I cant take screeenshots right now, but while one side is routed correctly, the other one is barely touched by the spindle bit

I tried to reproduce it with a simbple example, and it routed fine. I'll try with a more complex board, if I can reproduce I'll send you all the files I created

regards

MARIOBASZ commented 5 years ago

It's a weird mistake. Can Autolevel have influence?

phil123456 commented 5 years ago

here are the files and pictures

the second (bottom) tap file must have been updated with the autolevel scan I think, not the first one

20181026_203134 20181026_203145

bCNC_issue.zip

one clearly see the issue on the pictures (the bit should have been changed for this one)

I engraved another board, starting with bottom, the carving tool barely touched the pcb, I stopped it, set the z axis 0.1 units lower, restarted and it engraved nicely then I did the top layer, the board was fine

now I do another board, after scaning the area, the engraving goes way too deeper, and it makes such loud noise (once again with the bottom layer)

image

if I check the pictures that are rendered in eagle, they look like the have the same depth color

I really dont understand whats going on

it's like if bCNC was adding some random offset on the Z axis when engraving a fille with the name bottom in it

can you confirm ?

thanks

Harvie commented 5 years ago

You have to do autolevel for each side separately, every time you mount your PCB to wasteboard. Also note that if you save the autolevel data under same name as gcode, it will get autoloaded. Isn't this your problem?

phil123456 commented 5 years ago

I do autolevel for each side, obviously :-) I rarely save my autoleveling, ust did it recently for tests

I found out lowering the z axis 0.1 unit was helping a bit to have better quality and avoid having the bottom side less deep

still a weird issue, I dont think it comes from pcb-gcode so far, still trying to investigate what causes this

Harvie commented 5 years ago

So i don't get it. From what you say bCNC have no way to know which side is milled.

Maybe your board is flexing and once cut it flexes even more? The woodscrews you use might bend and pre-tension the board. Try to use double sided tape to support it across the whole board instead of screws pushing from side. Make sure that there is no debris from previous cutting under the board. Also try to lower the probing speed 10 times to see if makes a difference. Maybe the copper on one side of the board is thicker than on another... Maybe there's some backlash or flex in Z, which gets pretensioned while you do first cut. What kind of spindle do you use? Does it have any play in Z (or any other) axis? (loose bearings, so you can move milling but up and down a bit?) PCB engraving is EXTREMELY sensitive for any deviation in Z and if you have play in your machine, the autoleveling just might not be enough. Maybe the bit vibrates up and down while rotating and during autolevel procedure it is not.

phil123456 commented 5 years ago

So i don't get it. From what you say bCNC have no way to know which side is milled.

Could'n agree more, makes no sense so far

Try to use double sided tape to support it across the whole board instead of screws

Yep, thought about that, I'll give it a try

Make sure that there is no debris from previous cutting under the board

Checked

Also try to lower the probing speed 10 times to see if makes a difference

I'll see where I can find that setting

What kind of spindle do you use

it's the motor that came with the cnc, there is no z movement on the axle at rest, already tried

I also use an er11 for holding the bit, and a fresh carving tip everytime

also, so far it's always an issue with the bottom layer, there is no way I would always put the thinner copper layer every time for the same layer, and probing is supposed to get rid of this problem by essence

I'll check the whole CNC montage for loose screws and such

thanks for all these tips dude ;-)

Harvie commented 5 years ago

Also try to lower the probing speed 10 times to see if makes a difference

I'll see where I can find that setting

image

phil123456 commented 5 years ago

now I just remembered that everytime I do the scan, I click "reset" otherwise the spindle does not start, I also have to start the spindle manualy

but when I click start, as the spindle is running, the thing goes back to center while beeing really close to the board, instead of setting the motor at high position first...it creates sometimes a really thin line on the pcb going from the start scan point to the center point

not a big deal at first, but that alone maybe damages the bit before even starting

[edit : I redid the scan as the cnc was engraving only some tracks, all scans are now 0.2 units deeper, and on the bit is slightly damaged indeed

and this time the bit is placed at start position, a couple of milimeters ABOVE surface instead of ONTO the pcb...so it appears to be an intermittent issue]

Harvie commented 5 years ago

it creates sometimes a really thin line on the pcb going from the start scan point to the center point

Do you have latest git version of bCNC? I think i've fixed this some time ago. But it all boils down to how you generate your g-code. If you use "cut" operation in bCNC it should not happen. Also be sure to disable other blocks and jog Z up before you hit start.

phil123456 commented 5 years ago

as mentioned earlier, the latest version crash with some "key error" something

I just redownloaded it and retried it, and I get an other error : invalid syntax in python

(gotta go fast with the printscreen key) -> https://imgur.com/WKvXpKG

Harvie commented 5 years ago

latest version crash with some "key error" something

it's not latest git version, that was already fixed in master

I get an other error : invalid syntax in python

@phil123456 you are trying to run bCNC in python3! it's not supported! you should use python 2.7

phil123456 commented 5 years ago

I never use python 3 :-) indeed it's strange that that line is not validated, it looks fine

I'll try to comment the line when I am back home also do a "clone" instead of downloading the zip file

Harvie commented 5 years ago

I never use python 3 :-)

image

what is this then?

indeed it's strange that that line is not validated, it looks fine

no it does not. it's not valid python 3 line. it's valid only in python 2.

phil123456 commented 5 years ago

I dont get it, I am sure I use python 2.7, I'll check when @ home (I am a python dev @ work so I know what Iam talking about) I dont even see why that v3 would be installed on my pc ...wtf

Harvie commented 5 years ago

Note that you can have multiple python versions installed. That's not really uncommon. Also in such case you need to make sure, that you install numpy module to the right python installation using pip2. There were people reporting problems with numpy module missing, but they've installed numpy to python3 instead.

Also note that there's python3 bCNC port on the way. Some stuff is still broken, but there will be transition to python3 in few months.

phil123456 commented 5 years ago

ok the folder was not there (c:...) but it's in my add/remove app, so I must have been high on coke/alcohol to install python 3.5 :-)

ok it launches :-) I'll test this version

phil123456 commented 5 years ago

right, so I just tried to cnc a pcb and it's even worst than before not only the bug is not resolved, after a scan the bit is so close to the pcb it traces a big line but now even if I lower 0.1 unit the z axis befor starting, it still engraves half of the traces

here is the proof of what I am saying

top layer is way too deep : https://pli.io/2p2Xcy.jpg

bottom layer had to be lowered 0.2 units to even be carved : https://pli.io/2p2jGO.md.jpg

how can this even be fucking possible ????????? bCNC definetely treats bottom and top layer differently

I am now looking for another more decent software

Harvie commented 5 years ago

bCNC definetely treats bottom and top layer differently

AFAIK bCNC has no concept of layers. So there's no way it will tell the difference. Last piece of your toolchain that can tell layers is CAM or g-code generator, that you use.

I am now looking for another more decent software

Please let me know what are the results with other software. I can reccomend you to try UGS or newer UGS platform. If you will get better (or exactly same) results with UGS or similar software it will be great starting point to fixing this bug (whether it lays in bCNC or elsewhere).

Harvie commented 5 years ago

after a scan the bit is so close to the pcb it traces a big line

Do you know that you probably should not start cutting right after the scan? You probably should retract and/or rezero your Z. Does your g-code contain Z coordinates? At least something like Z0 at beginning. Also you should zero autolevel data for XY point where you did the Z zero:

image