Manufacturing of printed circuit boards on a CNC machine. Making a desktop device for making printed circuit boards in one click Homemade CNC for printed circuit boards

A CNC machine is very convenient to use in a home amateur radio workshop for manufacturing printed circuit boards both product models and small batches of products. Availability of engraving - CNC milling in a home workshop or small enterprise, it allows you to both reduce the time required to manufacture a printed circuit board when making breadboards, prototypes of small batches of products, and improve the quality of manufactured printed circuit boards compared to other manufacturing methods. The use of a machine with numerical control allows you to perform a full range of operations for the manufacture of a printed circuit board - milling a conductive pattern (tracks), drilling holes both for installing components and for interlayer vias, trimming and contouring the board.

First you need to create a PCB design. To do this, it is very convenient to use the Sprint Layout 6 program, which is very popular among radio amateurs. When developing, you need to take into account technological features processing of foil-coated PCB on a CNC machine, that is, tracing with sufficiently wide paths, leaving the necessary gaps for the passage of an engraver/cutter, etc. The starting point for coordinates must be the LEFT LOWER CORNER, Figure 1.

On layer O we draw the outline (borders) of the printed circuit board along which the finished board will be trimmed. We indicate the thickness of the lines depending on the diameter of the cutter used to cut the board. We control the gap between the edge of the board and the tracks so that the outline does not intersect with the tracks. To ensure that the board, after cutting, is not thrown out of the workpiece and is not damaged by the cutter, we leave jumpers that will hold the board in the workpiece. They can easily be cut later with side cutters when removing the finished board. Turn off the extra layers and first inspect the board, Figure 2.

figure 2

Open the window for setting up milling “strategies”, Figures 3 and 4.

figure 3

figure 4

In the “track width” window (Figure 4) we indicate the thickness of our cutting tool. For example, an engraver with a 0.6mm cutting tip. For the convenience of further processing, check the “mark holes” checkbox. Click “Ok”. We save Figure 5 in a place convenient for us.

Figure 5

After calculating the processing path, the board will look like this, Figure 6:

Figure 6

You can clearly track the path of the cutter and the amount of copper it will remove. To conveniently display the path of the cutter as a thin line, you can press the dedicated button, Figure 7:

Figure 7

On at this stage it is necessary to carefully monitor the trajectory of the cutter - to check that there is no short circuit between conductive paths that do not belong to the same circuit. If an error is detected, correct and resave the file.
Next, you need to prepare a control program for the machine. Using the Step Cam 1.79 utility (you can download it on the Internet), we open our milling file, adjust the working feed and cutting depth (depending on the machine, tool and material used) and convert it to G-code by pressing the Make G-code key. The program will generate a processing G-code based on the milling file. You can see the result of G-code generation using the Action -> Draw G-code tab. If nothing is displayed, you need to click the mouse in the window, Figure 8.
We experimentally adjust the milling depth, trying to adjust the machine so that the cutter/engraver removes only the copper layer, with slight cutting. This parameter depends on the thickness of the copper foil of the PCB used.

figure 8

Click Save G-code. The file is ready.
We load the file into Mach3 and carry out a visual inspection of the downloaded file. We set zeros on the machine and start processing.
For drilling holes in the board and cutting along the contour, setting up and preparing files is similar. Example settings are shown in Figures 9 and 10.
Drilling Figure 9:

figure 9

Milling the board along the contour, Figure 10:

figure 10

We save the settings for drilling and milling the contour separately. Upload to Step Cam. We indicate the processing depth, depending on the thickness of the PCB used, with slight cutting. For example, with a textolite thickness of 1.5 mm, we set the drilling range to 1.6-1.7 mm. It is advisable to perform contour milling in 2 - 4 passes, depending on the characteristics of the cutting tool. To do this, we set the immersion depth when milling in Step Cam to 0.5 mm, and then after each pass on the machine we manually lower the tool along the “Z” axis and reset it to zero.

Some nuances of working on a machine when making a printed circuit board:
1. The surface of the desktop should be as flat and even as possible. One way to achieve this is to make a “sacrificial table” out of plywood and trim it. To do this, a sheet of plywood is attached to the main work table of the machine, and then, using a large cutter, the “bed” for the board is milled to a small depth (1-2mm).
2. Fiberglass is not always a perfectly smooth material, and its thickness can also vary. Therefore, it is necessary to cut with a slight overcut. Some experienced people specially compile height maps for more accurate processing. The degree of cutting is determined experimentally.
3. For milling, you can use a pyramid-type engraver with a tip from 0.4 to 1 mm. For drilling, there are 0.8-1.5mm drills with a shank for a standard 3.175mm collet. It is best to cut along the contour using a 2-3mm corn cutter.
4. The tool is changed manually every time. To do this, after completing, for example, milling tracks, we stop the spindle and leave the machine in hold mode. We raise cutting tool to a height convenient for replacement, change it. After this, we set the zero along the “Z” axis. And so on with every tool change. The X and Y coordinates are non-zeroable.
5. Do not forget that fiberglass is not the most useful material for the body. Textolite dust is especially harmful to respiratory tract. Therefore, it is advisable to organize a hood or otherwise remove excess dust from the cutting area. You can, for example, periodically wet the printed circuit board with water or another suitable liquid using medical syringe. A wet bandage on the nose/mouth or a respirator will do a good job of protecting the respiratory tract.

The article is for informational purposes only and is based on personal experience author and is not the only correct and possible solution.

As I remember now, on February 23rd I came across a post on there, where a person wanted to engrave printed circuit boards on a 3D printer. In the comments they advised not to torment the printer's belly and pay attention to the Cyclone PCB Factory project.

I got excited about the idea. Later, at some point I will even regret that I took it, but that will be much later.

I dreamed of my own CNC router for printed circuit boards for a very long time; it was my second wish after a 3D printer. I decided to repeat the project, especially since I already had something in my bins.

I downloaded the project files and without hesitation began to print the parts. Got it done in about a week. I printed everything except the Z axis.

There are no detailed photographs of all the details left. Someone took a screenshot of the print settings and the result. Nozzle 0.4, layer height 0.24. I also printed with a layer of 0.28 - it prints quite normally.

I wanted to make the machine colored, so I printed various parts with plastic different color. Plastic used ABS Prostoplast. Colors of space, grassy green, reddening sunset.

It would be better to print everything in gray space. Red and green turned out to be quite fragile and some of the parts cracked during assembly. Some were cured with acetone, some were reprinted.

Accessories:

I had three free stepper motors, bought them for a 3D printer project, and decided to use them temporarily.

I got 8mm guides from inkjet printers, having torn apart several printers into parts. I wooled local thrift stores, Avito. Donors became inkjet printers HP 100-200 rubles apiece. The long guide was sawn into two parts, on the X and Z axes.

The paper clamp from which I removed the rubber rollers went to the Y axis. The length was just enough to cut along the knurling.

The linear bearings were left over from the 3D printer; I converted the printer to bronze bushings with polka dots.

For electronics I decided to use one of my Arduino Uno on atmega328p. I bought an additional cnc shield 3.0 board for Arduino on Ali for 200 and a few kopecks rubles.

12V power supply from Leroy Merlin. I bought it to power three 12V halogens, but it didn’t work. I had to repair the transformer for Tachibra halogen lamps, and this power supply took root on the machine.

I installed 8825 drivers for the 3D printer, but I still have a4988 from the printer. I put them on the machine.

I ordered 608ZZ bearings from Ali, a dozen for 200 and a few kopecks rubles..

I planned to use my Chinese GoldTool engraver as a spindle.

I got the M8 threaded rods from work for free, they were left over from some installation. I almost picked it up from the trash heap.

While the project was being printed and the parts were on their way from Ali, I asked a furniture maker friend to cut out a base and a table from MDF. He was not lazy and did not spare the scraps; he cut out 2 bases and 2 tables. The photo shows one of the sets.

I didn’t have any plywood in my bins; a greedy animal wouldn’t allow me to buy a sheet of plywood. By the way, MDF fit very well.

I started assembling the machine. Everything would be fine, but the standard 13 nuts fell through and dangled inside the gear, and the 14 nuts did not fit into the gears. I had to melt the 14th nut into the gears with a soldering iron.

The gears either dangled on the axes of the stepper motor or did not fit.

The nuts of the M3 screws were turned in the mounting sockets.

I found several square nuts for M3 threads (I once disassembled some kind of plug made from it), which fit perfectly and did not turn. At work I also found some plugs like this and used them on the nuts. These are mainly guide mounts. Regular nuts for M3 threads had to be held with a thin screwdriver blade to prevent them from turning.

Somehow I collected it. Later, while reading topics about Cyclone, I came across recycled machine parts for metric fasteners. From this set I re-printed the gears and the Z-axis limit switch mount. It’s a pity I didn’t come across this set of spare parts earlier. I would print these parts.

Hoping to use his Chinese engraver, I first printed one Dremel mount from the kit, then the second. It didn’t fit, my engraver didn’t fit into any of them. The original Dremel, the simplest one, cost just over three thousand rubles. For what???

Extra spare parts.

And yet, the linear bearings were dangling in their sockets like something in an ice hole.

I had to order a 200W spindle from Ali for a little over a thousand collet clamp ER11. I was lucky to get a discount and use the coupon.

While the spindle was moving, I printed out a mount for it from the machine kit. And again there is a puncture, it is just as defective. And not a word about the spindle clamp.

As a result, I found and printed this mount for a 52mm spindle. After a little modification, the mount fit on the machine, the spindle fit into it well.

But the bearings on the Cargo bushings had to be removed from them. I installed Chinese LM8UU

I would also like to say something about the Chinese 608zz bearings. New bearings with play. Terrible. One thing is that they are relatively inexpensive. I didn't look for bearings from us.

By the way, the bearings fit into the seats just like something in a hole. The bearings were loose in their seats. I don't know if this is a bug or a feature. As a result, I applied electrical tape to the bearing races.

The Chinese lm8uu and lm8luu from a 3D printer also turned out to be rubbish. As a result, I made sliding bearings for the Y axis on Cargo 141091 bushings. I printed out a plastic cage and inserted a pair of bushings into it. The resulting bearings were inserted into the mounts.

For the Z axis I chose more or less lively lm8uu. On the X-axis, I installed the upper bearing lm8uu, and instead of the two lower ones, I printed a plastic cage to the size of lm8luu and inserted a pair of Cargo bushings into it.

Luckily, I bought them at one time. They came in handy.

While assembling the machine, I regretted taking it on. But there was nowhere to go, the project had to be completed. Collected. Launched!

Some more photos of the assembly process.

The very beginning of the assembly...

The optimal and popular method today is CNC milling of a printed circuit board.

Traditionally, there are three ways to create amateur PCBs:

  1. CNC milling of printed circuit boards.
  2. Using toner transfer and chemical etching in ferric chloride, but this method may be difficult to obtain necessary materials, plus, chemicals are dangerous substances.
  3. By using paid services enterprises that do this - the services are quite inexpensive, the price depends on the labor intensity of the order, complexity and volume. But this is not a very fast process, so you will have to wait some time.

In this article we will look at whether it is worth doing this type of work, what is required for this, and what efforts need to be made to make it work quality product at the exit.

Advantages and disadvantages of CNC milling of circuit boards

This method is quite fast, but has both pros and cons.

  • minimal human labor costs, almost all the work is done by the machine;
  • environmentally friendly process, no interaction with hazardous substances;
  • ease of re-production. All you need to do is install it once. correct settings– and the process can be easily repeated;
  • mass production, since it is possible to produce a sufficiently large number of necessary products;
  • cost-effectiveness, the cost is only for the purchase of foil fiberglass, which costs about $2 per sheet with dimensions of 200x150 mm;
  • high quality workmanship.
  • Cutting tools and end mills can be expensive and they tend to wear out;
  • there is no possibility to manufacture this type product using cutters everywhere;
  • Milling may take some time;
  • when removing a large amount of copper in one pass, the cutter grooves become clogged, which complicates the work and degrades the quality of processing;
  • The size of the cut depends on the diameter of the cutter and the accuracy of the milling. If you plan to use SMD parts, you must carefully check the milling program.

PCB manufacturing process

The entire production of this product is divided into the following steps:

  1. Search or independently develop a diagram and lay out tracks.
  2. Preparing the necessary files for further production.
  3. Direct production.

For stage 1, you can find a large amount of software on the Internet, such as Sprint Layout, PCad, OrCad, Altium Designer, Proteus and many others. These programs are suitable for developing circuits and laying out tracks. The most popular now is CNC milling of printed circuit boards using the Sprint Layout program. You can find a video about it on our website.

The volume of the second stage depends on the complexity of the board you want to get. For the most simple designs A small number of files are required. The main ones are the topology, the file for drilling holes and the files for future cutting of the workpiece and, of course, the finished board.

The third step involves drilling holes for the pins to position the board on the machine's workbench, as well as inserting the pins themselves. Next, you will need to place the board on them and cut it along the contour.

Software

The main difficulty in milling printed circuit boards is the availability necessary programs, which will allow you to convert the board design into G-Code. An important aspect of this moment is the software in which you are developing the topology at the very beginning.

Let's look at the operating principles of the machine when milling textolite. For a better understanding, let’s look at one example of the program that is used to mill a board:

  1. Securing the workpiece on the bed, fixing a special attachment in the spindle in order to scan the surface to see and identify irregularities.
  2. Installing the cutter for the tracks into the spindle, and launching the milling program itself.
  3. Setting up the drill bit to make holes and starting the drilling program.
  4. The last step is cutting the PP along the contour using a cutter. Next, the board can be freely removed from the PCB sheet, the production process is completed.

Once again, washing the sink from red stains of ferric chloride, after etching the board, I thought it was time to automate this process. So I started making a device for making circuit boards, which can already be used to create simple electronics.

Below I will talk about how I made this device.

The basic process of making a printed circuit board using the subtractive method is that unnecessary areas of foil are removed from the foil material.

Today, most electronics engineers use laser-iron-type technologies to home production plat. This method involves removing unwanted areas of the foil using a chemical solution that eats away at the foil in unwanted areas. My first experiments with LUT several years ago showed me that this technology is full of little things that sometimes completely interfere with achieving an acceptable result. This includes the preparation of the board surface, the choice of paper or other printing material, the temperature combined with the heating time, as well as the features of washing off the remaining glossy layer. You also have to work with chemistry, and this is not always convenient and useful at home.

I wanted to put some device on the table, into which, like a printer, you can send the source code of the board, press a button and after some time receive a finished board.

With a little googling, you can find out that people, starting in the 70s of the last century, began to develop desktop devices for the manufacture of printed circuit boards. First of all they appeared milling machines for printed circuit boards that cut out tracks on foil PCB with a special cutter. The essence of the technology is that at high speeds, a cutter mounted on a rigid and precise CNC coordinate table cuts off the foil layer in the right places.

The desire to immediately buy a specialized machine passed after studying the prices from the supplier. Like most hobbyists, I’m not ready to shell out that kind of money for a device. Therefore, it was decided to make the machine ourselves.

It is clear that the device must consist of a coordinate table that moves the cutting tool to the desired point and the cutting device itself.

There are enough examples on the Internet of how to make a coordinate table to suit every taste. For example, the same RepRap copes with this task (with adjustments for accuracy).

I still have a homemade X-ray table from one of my previous hobby projects to build a plotter. Therefore, the main task was to create a cutting tool.

A logical step would be to equip the plotter with a miniature engraver like a Dremel. But the problem is that a plotter that can be assembled cheaply at home is difficult to make with the necessary rigidity and parallelism of its plane to the plane of the PCB (even the PCB itself can be curved). As a result, cut out boards on it more or less good quality would not have been possible. In addition, the use of milling was not in favor of the fact that the cutter becomes dull over time and loses its cutting properties. It would be great if copper could be removed from the PCB surface in a non-contact manner.

Already exist laser machines German manufacturer LPKF, in which the foil is simply evaporated by a powerful infrared semiconductor laser. The machines are distinguished by their accuracy and processing speed, but their price is even higher than that of milling machines, and assembling such a thing from materials available to everyone and somehow making it cheaper does not yet seem to be a simple task.

From all of the above, I have formed some requirements for the desired device:

  • The price is comparable to the cost of an average home 3D printer
  • Contactless copper removal
  • The ability to assemble a device from available components yourself at home

So I began to think about a possible alternative to laser in the field of non-contact removal of copper from PCB. And I came across the method of electric spark machining, which has long been used in metalworking for the manufacture of precision metal parts.

With this method, the metal is removed by electrical discharges, which evaporate and spray it from the surface of the workpiece. In this way, craters are formed, the size of which depends on the discharge energy, its duration and, of course, the type of workpiece material. In its simplest form, electrical erosion began to be used in the 40s of the 20th century to punch holes in metal parts. Unlike traditional machining, the holes could be made into almost any shape. Currently, this method is actively used in metalworking and has given rise to a whole series of types of machine tools.

An essential part of such machines is a current pulse generator, a system for feeding and moving the electrode - it is the electrode (usually copper, brass or graphite) that is the working tool of such a machine. The simplest generator current pulses is a simple capacitor of the required value, connected to a constant voltage source through a current-limiting resistor. In this case, capacitance and voltage determine the discharge energy, which in turn determines the size of the craters, and hence the cleanliness of the processing. True, there is one significant nuance - the voltage on the capacitor in operating mode is determined by the breakdown voltage. The latter depends almost linearly on the gap between the electrode and the workpiece.

Over the course of the evening, a prototype of an erosion tool was made, which was a solenoid with a copper wire attached to its armature. The solenoid provided vibration of the wire and interruption of contact. LATR was used as a power source: rectified current charged the capacitor, and alternating current powered the solenoid. This design was also secured in the plotter pen holder. In general, the result met expectations, and the head left continuous stripes with torn edges on the foil.



The method clearly had the right to life, but it was necessary to solve one problem - to compensate for the consumption of wire, which is consumed during work. To do this, it was necessary to create a feed mechanism and a control unit for it.

After that, that's it free time I started conducting it in one of the hackspaces in our city, where there are metalworking machines. A lengthy effort began to make an acceptable cutting device. The erosion head consisted of a rod-bushing pair providing vertical vibration, a return spring and a broaching mechanism. To control the solenoid, it was necessary to make a simple circuit consisting of a pulse generator of a given length on NE555, a MOSFET transistor and an inductive current sensor. Initially, it was intended to use the self-oscillation mode, that is, apply a pulse to the switch immediately after the current pulse. In this case, the frequency of oscillations depends on the size of the gap and the drive is controlled according to the measurement of the period of self-oscillations. However, a stable self-oscillatory mode turned out to be possible in the range of head oscillation amplitudes, which was less than half the maximum. Therefore, I decided to use a fixed oscillation frequency generated by hardware PWM. In this case, the state of the gap between the wire and the board can be judged by the time between the end of the opening pulse and the first current pulse. For greater stability during operation and improved frequency characteristics, the solenoid was fixed above the wire drawing mechanism, and the armature was placed on an alloy bracket. After these modifications, it was possible to achieve stable operation at frequencies up to 35 Hz.

Having secured the cutting head to the plotter, I began experiments on cutting insulating tracks on printed circuit boards. The first result has been achieved and the head more or less consistently provides continuous cutting. Here's a video showing what happened:

The fundamental possibility of producing circuit boards using electric spark processing has been confirmed. In the near future, we plan to improve accuracy, increase processing speed and cut cleanliness, and also put some of the developments into open access. I also plan to adapt the module for use with RepRap. I will be glad to have ideas and comments in the comments.

I don't like etching PCBs. Well, I don’t like the process of messing around with ferric chloride. Print here, iron here, expose with photoresist here - it’s a whole story every time. And then think about where to drain it ferric chloride. I don’t argue that this is an accessible and simple method, but personally I try to avoid it. And then my luck happened: I completed the CNC router. Immediately the thought arose: shouldn’t we try milling printed circuit boards? No sooner said than done. I draw a simple adapter from an esp-wroom-02 lying around and begin my excursion into milling printed circuit boards. The paths were specially made small - 0.5 mm. Because if they don’t come out like that, then screw this technology.



Since I personally make printed circuit boards every five years big holidays- KiCAD is quite enough for me for design. Specialized for him convenient solutions I didn’t find it, but there is a more universal way - using gerber files. In this case, everything is relatively simple: we take pcb, export the desired layer to gerber (no mirroring or other magic!), run pcb2gcode - and we get a ready-made nc file that can be given to the router. As always, reality is an evil infection and everything turns out to be somewhat more complicated.

Getting gcode from gerber files

So, I don’t plan to specifically describe how to get a gerber file, I think everyone knows how to do it. Next you need to run pcb2gcode. Turns out it requires about a million command line parameters to produce anything acceptable. In principle, its documentation is not bad, I mastered it and understood how to get some kind of gcode even like that, but I still wanted casualness. That's why pcb2gcode GUI was found. This, as the name suggests, is a GUI for setting the main parameters of pcb2gcode with checkboxes, and even with a preview.



Actually, at this stage, some kind of gcode has been obtained and you can try milling. But while I was checking the boxes, it turned out that the default value of the depth that this software offers is 0.05 mm. Accordingly, the board must be installed in the router with at least an accuracy higher than this. I don’t know who it is, but my router’s workbench is noticeably crooked. The simplest solution that came to mind was to place a piece of sacrificial plywood on the table, mill a pocket in it to fit the size of the boards - and it would end up perfectly in the plane of the router.


For those who are already good with a router, this part is not interesting. After a couple of experiments, I found out that it is necessary to mill the pocket in one direction (for example, feed per tooth) and with an overlap of at least thirty percent. Fusion 360 initially offered me too little overlap and went back and forth. In my case, the result was unsatisfactory.

Taking into account the curvature of PCB

Having leveled the platform, I glued double-sided tape to it, laid down the PCB and started milling. Here's the result:



As you can see, on one edge of the board the cutter practically does not touch the copper, on the other, it went too deep into the board, and during milling, PCB crumbs appeared. Having looked carefully at the board itself, I noticed that it was initially uneven: slightly curved, and no matter how much you struggle with it, there will be some deviations in height. Then, by the way, I looked and found out that for printed circuit boards with a thickness of more than 0.8 mm, a tolerance of ±8% is considered normal.


The first option that comes to mind is auto-calibration. According to the logic of things - what’s easier, the board is copper-plated, the cutter is steel, I attached one wire to the copper, the other to the cutter - here’s a ready-made probe. Take it and build a surface.


My machine is controlled by grbl on a cheap Chinese shield. grbl has support for a probe on pin A5, but for some reason there is no special connector on my board. Having carefully examined it, I still found that pin A5 is connected to the SPI port connector (signed as SCL), and there is also a ground nearby. There is one trick with this “sensor” - the wires need to be intertwined. There is a lot of interference in the router, and without this the sensor will constantly give false positives. Even after weaving it will continue, but much, much less often.




The command says: start going down down to –10 in Z (is it absolute or relative height - depends on the mode in which the firmware is now). It will descend very slowly - at a speed of 5 mm/min. This is due to the fact that the developers themselves do not guarantee that the descent will stop exactly at the moment the sensor is triggered, and not a little later. Therefore, it is better to go down slowly so that everything stops in time and does not have time to go into the payment at all. It is best to carry out the first test by raising your head to a height much greater than 10 mm and resetting the coordinate system. In this case, even if everything does not work and you do not have time to reach the E-Stop button, the cutter will not be damaged. You can carry out two tests: the first is to do nothing (and upon reaching -10 grbl will display “Alarm: Probe Fail”), the second - while it is going down, close the circuit with something and make sure that everything has stopped.


Next, you need to find a method for actually measuring the matrix and distorting the gcode as needed. At first glance, pcb2gcode has some kind of autoleveling support, but grbl does not have support. There it is possible to set commands to run the sample manually, but you have to figure it out, and, frankly, I was too lazy. An inquisitive mind might notice that LinuxCNC's probe command is the same as the grbl command. But then there is an irreparable difference: all “adult” gcode interpreters save the result of the test performed in a machine variable, and grbl simply outputs the value to the port.


A little googling suggested that there are quite a few more different options, but the chillpeppr project caught my eye:


This is a two-component system designed to play with webny hardware. The first component - Serial JSON Server, written in go, runs on a machine connected directly to the hardware, and can give control of the serial port via websockets. The second one works in your browser. They have a whole framework for building widgets with some functionality, which can then be inserted onto the page. In particular, they already have a ready-made workspace (a set of widgets) for grbl and tinyg.


And chillpeppr has autoleveling support. Moreover, it looks much more convenient than UniversalGcodeSender, which I used before. I install the server, launch the browser part, spend half an hour figuring out the interface, upload the gcode of my board there and see some garbage:



Looking at the gcode itself, which generates pcb2gcode, I see that it uses a notation where the command (G1) is not repeated on subsequent lines, but only new coordinates are given:


G00 X1.84843 Y34.97110 (rapid move to begin.) F100.00000 G01 Z-0.12000 G04 P0 (dwell for no time -- G64 should not smooth over this point) F200.00000 X1.84843 Y34.97110 X2.64622 Y34.17332 X2.69481 Y34.11185 X2.73962 Y34.00364 X2.74876 Y31.85178 X3.01828 Y31.84988 X3.06946 Y31.82249 X3.09684 Y31.77131

Judging by the fact that chilipeppr only shows vertical movements, it sees the G01 Z-0.12 line here, but does not understand everything that comes after F200. It is necessary to change the notation to explict. Of course, you can work with your hands or create some kind of post-processing script. But no one has yet canceled G-Code Ripper, which, among other things, can break complex gcode commands (such as the same arcs) into simpler ones. By the way, he also knows how to bend gcode using the autoprobe matrix, but again there is no built-in support for grbl. But you can do the same split. They suited me just fine standard settings(except that in the config I had to change the units of measurement to mm in advance). The resulting file started to display normally in chilipeppr:



Next, we run autoprobe, not forgetting to indicate the distance from which to lower the sample and its depth. In my case, I indicated that it should be lowered from 1 to –2 mm. The lower limit is not so important, you can set it to at least -10, but I would not recommend it: a couple of times I unsuccessfully set the starting point from which to start the sample, and the extreme points ended up outside the board. If the depth is greater, the engraver can be broken. And it's just a mistake. The level of the upper limit directly determines how long it will take to measure the surface. In my case, in reality the board almost never went beyond 0.25 mm up or down, but 1 mm is somehow more reliable. We press the treasured run and run to the router to meditate:



And in the chilipeppr interface a measured surface slowly appears:



Here you should pay attention that all Z values ​​are multiplied by 50 in order to better visualize the resulting surface. This is a configurable setting, but 10 and 50 work well in my opinion. Quite often I come across the fact that one point turns out to be much higher than one would expect from it. Personally, I attribute this to the fact that the sensor does pick up interference and gives a false positive. Fortunately, chilipeppr allows you to upload a height map in the form of json, you can correct it manually, and then upload it manually. Next, click the “Send Auto-Leveled GCode to Workspace” button - and the corrected gcode is already loaded in the pepper:


N40 G1 X 2.6948 Y 34.1118 Z0.1047 (al new z) N41 G1 X 2.7396 Y 34.0036 Z0.1057 (al new z) N42 G1 X 2.7488 Y 31.8518 Z0.1077 (al new z) N43 G1 X 3.0183 Y 9 Z0. 1127 (al new z) N44 G1 X 3.0695 Y 31.8225 Z0.1137 (al new z) N45 G1 X 3.0968 Y 31.7713 Z0.1142 (al new z)

Z movements have been added to the code, which should compensate for surface unevenness.

Selecting milling parameters

I start milling and get this result:



Three points are clear here:

  1. The problem with the unevenness of the surface is gone: everything is cut (more precisely, scratched) to almost the same depth, there are no gaps anywhere, nowhere is it too deep.
  2. The depth is insufficient: 0.05 mm is clearly not enough for this foil. The boards, by the way, are some unknown beast from AliExpress; the thickness of the copper was not indicated there. The copper layer varies, the most common are from 18 to 140 microns (0.018-0.14 mm).
  3. The engraver's beats are clearly visible.

About deepening. It is not difficult to determine how deep the engraver should be lowered. But there are specifics. The conical engraver has a triangle shape in projection. On the one hand, the angle of reduction to the working point determines how difficult the tool is to break and how long it will last, and on the other hand, the larger the angle, the wider the cut will be for a given depth.



The formula for calculating the width of a cut at a given depth looks like this (immodestly taken from reprap.org and corrected):


2 * penetration depth * tangens (tool tip angle) + tip width

We calculate from it: for an engraver with an angle of 10 degrees and a contact point of 0.1 mm with a depth of 0.1 mm, we get a cutting width of almost 0.15 mm. Based on this, by the way, you can estimate what the minimum distance between the tracks will be made by the selected engraver on foil of the selected thickness. Well, and even if you don’t need very small distances between the tracks, you still shouldn’t lower the cutter too deeply, since fiberglass very dulls cutters even made of hard alloys.


Well, there is another funny moment. Let's say we have two tracks spaced 0.5 mm apart. When we run pcb2gcode, it will look at the value of the Toolpath offset parameter (how much to retreat from the track when milling) and will actually make two passes between the tracks, spaced from each other by (0.5 - 2 * toolpath_offset) mm, between them there will be (or rather In total, some piece of copper will fall off, and it will be ugly. If you make toolpath_offset larger than the distance between the tracks, then pcb2gcode will issue a warning, but will generate only one line between the tracks. In general, for my applications this behavior is more preferable, since the tracks are wider, the cutter cuts less - beauty. True, a problem may arise with SMD components, but it is unlikely.


There is a pronounced case of this behavior: if we set a very large toolpath_offset, then we will get a printed circuit board in the form of a Voronoi diagram. At the very least, it’s beautiful;) You can see the effect in the first screenshot from pcb2gcode that I gave. It shows what it will look like.


Now about the engraver's beats. It’s in vain that I call them that. My spindle seems to be quite good and, of course, it doesn’t hit that hard. Here, rather, the tip of the engraver, when moving, bends and jumps between the dots, giving that strange picture with dots. The first and main thought is that the cutter does not have time to cut and therefore jumps over. A little googling showed that people mill printed circuit boards with a 50k rpm spindle at a speed of approximately 1000 mm/min. My spindle gives 10k without load, and we can assume that we need to cut at a speed of 200 mm/min.

Results and conclusion

Taking all this into account, I measure a new piece of PCB, start milling and get this result:



The top one is exactly as it came out of the router, the bottom one is after I ran a regular sharpening stone over it a couple of times. As you can see, in three places the tracks were not cut. In general, the width of the tracks varies throughout the board. This still needs to be sorted out, but I have an idea as to what the reason is. At first I attached the board with double-sided tape, and it came off quite often. Then in a couple of places I grabbed the edges of the screw heads. It seems to be holding up better, but it still plays a little. I suspect that at the time of milling it is pressed against the platform and because of this, it actually does not cut through.



In general, all this has prospects. When the process is worked out, constructing a DEM takes about five to seven minutes, then milling itself takes a couple of minutes. Looks like we can experiment further. But you can then do the drilling on the same machine. Just buy some rivets and you’ll be happy! If the topic is interesting, I can write another article about drilling, double-sided boards, etc.

 
Articles By topic:
Scrambled eggs in bread in a frying pan - step-by-step recipes for cooking at home with photos How to fry an egg in bread in a frying pan
Hello, dear inquisitive practitioners. Why did he greet you in this way? Well, of course! After all, unlike other readers, you immediately transform all the knowledge gained into tangible, tasty objects that disappear just as quickly as
Calculation of VAT for construction and repair works in an economic way Invoice for own consumption
What work is classified as construction and installation work for one’s own consumption when determining the object of VAT taxation. How to charge VAT when performing construction and installation works for one’s own consumption - read the article. Question: If the object is built using economic methods, but
Express check of accounting in 1s 8
To generate an Express check report in 1C 8.3, perform the following action: section Reports → Accounting analysis → Express check: It is important to remember that this check in 1C 8.3 must be carried out after performing the Month Closing operation. This processing was carried out
Cracks in the corners of the lips: causes, treatment, in a child, vitamins
Before treating cracks in the corners of the lips, it is worth finding out the cause of their appearance. Sometimes external remedies alone are not enough. However, in most cases, it is possible to get rid of the jam with the help of gels, creams and other compositions applied to the