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

Problem with height calibration #49

Closed
gustavogmb opened this issue Mar 2, 2018 · 18 comments
Closed

Problem with height calibration #49

gustavogmb opened this issue Mar 2, 2018 · 18 comments

Comments

@gustavogmb
Copy link

gustavogmb commented Mar 2, 2018

I found a big problem with your software, while more test points I assign(for example each 3mm), more unstable the calibration becomes...sometimes the tool does not even touch the pcb when it is etching, it's like it calibrated it too high,... I cleaned my pcb very well before etching

20180301_184159

This i did with 2 mm test points spacing, this result I got about 5 times... if I set 5 mm it works reasonably well, but if I increments the accuracy decreasing the tests points spacing, that happens as the image.

@martin2250
Copy link
Owner

Hi Gustavo,

the tool not touching the PCB sounds more like a problem with noise and interference on your CNC. Are you using only the internal pullup resistor? Try using an additional low-value resistor (470 - 1k ohm) between 5V and A5. Also are parts of your machine grounded? That could lead to the connection being made through part of the machine instead of the tool.

Martin

@luizabbadia
Copy link

luizabbadia commented Mar 2, 2018 via email

@luizabbadia
Copy link

luizabbadia commented Mar 2, 2018 via email

@canbaytok
Copy link

Where do you connect the probes? I guess you connect one to the board and one to the engraving tool. Maybe the case of the spindle is grounded so that the signal wire from the A5 port is grounded through the spindle. Is the spindle connected to the board with the arduino on it?

@luizabbadia
Copy link

luizabbadia commented Mar 2, 2018 via email

@canbaytok
Copy link

canbaytok commented Mar 2, 2018

Alright so your spindle is running on AC. Did you try connecting the probe points backwards, so that the ground probe is connected to the spindle and the signal probe to the board.

@luizabbadia
Copy link

luizabbadia commented Mar 2, 2018 via email

@deHarro
Copy link
Contributor

deHarro commented Mar 2, 2018

Hi!
Obviously this does nothing to the problem itself but might be an idea to circumvent such problems in the future.
I just did some reverse engineering on an 3DTouch sensor which normally does its job on 3D printers, giving the opportunity to make the hot bed evenly adjusted in respect to the printing nozzle.
The drawback of this sort of sensors is, it has to be activated by the microcontroller to sense contact to the surface. They provide patch instructions to enable the firmware of the 3D printer accordingly, but I didn't want to fiddle around with GRBL.
So I wrote an alternative firmware for the sensor and managed to flash the AtTiny13 of the sensor.
In principle it works, there is still some fine tuning to do, but one can give it a try...
Have a look at this. (It's written in german)
Harald

edit:
Oops! I flashed the first working code to the sensor and afterwards started to optimize... no backup of the old code, so I have no functional code at the moment :(

@gustavogmb
Copy link
Author

gustavogmb commented Mar 2, 2018

Martin, yes the tool dont touch the pcb but just when it is etching, but when it is probing it touch the pcb.... mmm I did not touch the sofware, it is GRBL v1.1... does it have the pullup internal resistor activated by default?.... and my tool is totally insulated of the arduino nano and the bed, I tested continuity with a multimeter

@deHarro
Copy link
Contributor

deHarro commented Mar 2, 2018

Hi Gustavo!
I had a look at the picture you provided us with in your first post.
This, together with your last post makes me guess, you missed to apply the found hight map to your g-code file, did you?
Harald

edit:
No, forget my idea. You wrote all is well with greater distance between test points, so you know how to perform correctly... sorry!

@martin2250
Copy link
Owner

Hi again,
whatever the problem is it can be solved pretty much every time by connecting things a bit differently:

  • 470 ohm or lower pullup and 100nF capacitor to ground on A5
  • connect A5 to the PCB, make sure that the PCB does not touch anything metal (insulate clamps)
  • connect GND to your tool

the idea is that the PCB can be insulated more easily than the tool and you know exactly how many parts are connected to A5

@deHarro
Copy link
Contributor

deHarro commented Mar 3, 2018

Hi Martin, Gustavo,
I think I should bring you two together...

Martin, you are discussing a totally different problem than Gustavo raised.
Please read Gustavos first post (in this issue).
He claims, that all is well when using 5 mm spaced testpoints (the text below the picture).

Only if he decreases the distance between testpoints from 5 mm down to 3 mm or 2 mm, he gets the described problems.
So, he obviously has no problem with the electrically connections, but OpenCNCPilot seems to get into troubles when

  • too many testpoints have to be calculated OR
  • the distance between testpoints is too small

So you should have a look at your mathematics, I suppose.
Just my two cents...

Besides that, I only can affirm your proposals on the electrically equipment around the probe.
Addition: For probing I solder a short piece of wire to one corner of the top layer of my PCB, where I attach the clamp of the probe so I have no troubles with preventing contact to anything else.

Harald

@gustavogmb
Copy link
Author

gustavogmb commented Mar 3, 2018

Hi again, I've improved my quality, but I think it has a problem yet... I've done all you say my martin:

  • I put 470 ohm and 100nF capacitor to ground on A5
  • I connected A5 to the PCB, the PCB does not touch anything metal (insulate clamps)
  • I connected GND to my tool
  • (EXTRA) I put an 100nF capaciton to VCC and GROUND (this is usually used in microcontrollers)

I used double adhesive tape to stick the PCB to the bed, and I used some screws to make the corners to the bed to avoid the plate getting up at some point

I put 2mm of testpoints again to see the result.

and after all this, this is the result:

mi fotografia

If you notice the red circles indicates that this parts are not correctly engraved, I do not know if it's a problem of tool sharpening or something hardware problem, I dont know, I use an -0.27 height Z to cut
I if put a little more my traces becomes thinner.... but if I put a little less my more than my traces not cut correctly.... so I define an -0.27 is the ideal for me (and I think this is too deep) ... but this is not the unique problem, there is another:

mi fotografia_1

As you can see the trace in red should be the same width than the yellow one.... but the red one is more thinner.... it indicates that is a software problem as deHarro indicates, it is a Z heigh problem in the software maybe when I apply Heightmap.

What do you think friends?

@canbaytok
Copy link

Dont get me wrong, but I gotta ask this: Why would you want your probe points to be 2mm apart anyways? I understand that the circuit you are routing is small and that you want as much resolution as possible, but I dont think that the copper clad can be deformed to the point, where the height difference between 2 points, that are only 2mm apart, is big enough to make an impact on the routing.
I am always using a gridsize of 4mm and even the smaller circuits are coming out OK.

@gustavogmb
Copy link
Author

gustavogmb commented Mar 4, 2018

the problem is not that I want.. the problem is that the there is a problem with the software I think... but anyways if I want to routing a little small circuit than the I published it would be impossible because there is a problem. and if I can report bugs or something like that so they can be fixed, then why not do it? if it can be better then why not improve it? instead of staying with a mediocre idea and leaving it as it is without crossing the current limits? I dont know if there is a software problem but if someone has the solution then this can help other people too

@martin2250
Copy link
Owner

@deHarro:
the math doesn't care about the absolute size of the height map. I suspect the issue didn't affect the 5mm grid size that much because there were ~2.7x less points to probe, maybe Gustavo also increased the feed rate to save time on the smaller size?

@gustavogmb:
This board looks much better now. As for the two issues:

The areas circled in red, where the copper was not removed entirely, can also be a result of flex in your machine (or the PCB itself). When I was still using my old Shapeoko, I regularly had to remove such defects by hand. With my new machine I never had this issue again (unless the PCB is allowed to flex. Always cover the entire PCB with tape). Also I could lower the depth of cut because my new machine doesn't flex so much, previously I was using 0.14mm and now 0.11mm. If you need to use 0.27mm then I suspect your machine isn't very rigid. Unless you can see a high point on the height map at these exact spots, it's a hardware problem. What machine are you using?

The two traces that are different widths are a problem with backlash or contouring error (one axis of your machine lags behind the other). You'll notice that traces change width immediately when transitioning from a horizontal/vertical to a diagonal trace. Also the pad connected to the red trace is pretty skewed, this is definitely a hardware problem. You can actually see this effect on my PCBs as well, this board was made before I tuned the PID parameters of my servos, so most diagonal traces have a different width.

@gustavogmb
Copy link
Author

gustavogmb commented Mar 4, 2018

Hi martin, no I did not increasse the feed rate to probe.
I also made sure that my pcb was well stuck to the bed with tape, and I tried to build my machine as rigid as possible. that's why I think it's a problem with the sharpening, because as you can see the parts in which there is still copper is as if the copper had been crushed.

I am using an EleksMill of EleksMaker. This machine uses threaded rod (spindle) instead of belts, therefore it should have more precision, I myself commissioned to calibrate pp/mm at this time has a resolution of 397 pp/mm per axis.

How can I solve this problem of diagonal trace width? But I just have one trace with this problem, If it is the problem as you say all diagonal traces should have the same problem.

On the other hand, what distance do you use when making the probe?

Is there any calculation to parameterize before engraving? I mean to know how much Z Cut I need to parametrize? taking into consideration the width tool and V bit degree

@martin2250
Copy link
Owner

Hi Gustavo,

I usually use a grid of 5-8mm. I doubt that a dull bit is responsible for the missing isolation, my guess is that it's flexibility in the machine. I don't have an Eleksmill to compare it to my machines, but the thin rods and very lightweight motor don't seem too stable.

To improve diagonal traces you need to compensate for backlash somehow, maybe preload the axes?

The cut depth that you need is entirely dependent on your machine. Theoretically, 35um should be all that's needed, but the actual value is different for every machine.

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

No branches or pull requests

5 participants