CNC CYCLONE PCB Factory. PC engraving machine

As I remember now, the 23rd of February came across a post on there, where a person wanted to engrave printed circuit boards for a 3D printer. The comments advised not torturing the printer and draw attention to the CYCLONE PCB Factory project.

Failed the idea. Subsequently, at some point I will even regret what I took, but it will be very later.

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

I downloaded the project files and no longer thinking began to print the details. I managed about a week. Printed everything except the Z axis.

There are no detailed photos of all parts. Someone made the screenshot of the settings of the print and the result. Nozzle 0.4, layer height 0.24. Print and layer 0.28 - it works quite normally.

The machine wanted to make color, so different parts printed with plastic of different colors. Plastic used ABS Prostoplast. Cosmos colors, herbal green, aging sunset.

It would be better to printed everything with gray space. Red and green turned out to be quite fragile and part of the details gave cracks when assembling. Something cured acetone, something reproduced.

Accessories:

I had three free stepper engines, I bought them under the 3D printer project, I decided to temporarily use.

Guides 8mm mined from inkjet printers, solidifying several printers to organs. Wool Local Commissions, Avito. The donors were HP inkjet printers for 100-200 rubles per piece. A long guide saw into two parts, on the X axis and Z.

Putting the paper from which I removed the rubber rollers went to the Y axis. The length was just enough to trim down.

Linear bearings remained with a 3D printer, the printer I transferred to the bronze peas bushings.

As electronics, I decided to use one of my Arduino Uno on ATMEGA328P. I bought the CNC SHIELD 3.0 fee for ARDUINO for 200 with kopecks.

12V power supply unit from Lerua Merlen. I bought to power three 12V halogenki, but he did not pull them. I had to repair the transformer for the Tachibra halogen, and this power supply took place on the machine.

For a 3D printer, I put the 8825 drivers, from the printer I remained A4988. They put them on the machine.

Bearings 608ZZ ordered on Ali, a dozen of 200 with a penny rubles ..

As a spindle planned to use his Chinese Goldtool engraver.

M8's threaded studs got from work on free, remained with some installation. Pick up almost "with garbage".

While the project was published and the details from Ali were stuck, asked the familiar furniture maker cut the base and a table from the MDF. He was not lazy and did not regret the trimming, saw 2 bases and 2 tables. On the photo one of the sets.

There were no plywood in the bins, buy a sheet of plywood did not allow a greedy animal. MDF, by the way, approached very well.

Began to collect the machine. All would be nothing, but the standard nuts at 13 fell and dangled inside the gear, the nuts on 14 did not climb into the gears. I had the 14e nuts to cry in the gear soldering iron.

Gears or dangled on the axes of the stepper motor, or did not climb.

M3 screw nuts scrolled in landing jacks.

I found several square nuts under the thread of M3 (I once disassembled some kind of plug, from it), which perfectly approached and did not scroll. At work, there was still such plockers and allowed on the nuts. Mostly fastening guides. Conventional M3 thread nuts had to hold the screwdriver with a thin stress so as not scrolled.

Somehow collected. Later reading the themes about Cyclone, came across the recycled metal detail under the metric fastener. From this set re-printed the gears and fixing the confusion along the z axis. It's a pity that this set of spare parts earlier. Print these parts.

In the hope of applying its Chinese engraver, first printed one mount under the dremel from the kit, then the second. It did not fit, my engraver is not climbing. The original dremel, the easiest, cost three with small thousand rubles. For what???

Extra spare parts.

And yet, linear bearings in their nests dangled like something in the hole.

It was necessary for a thousand with a little to order on Ali 200W spindle with a collet clip ER11. Successfully hit the discounts and used a coupon.

While the spindle was driving, the mount from the machine set was printed. And again puncture, it is as flawed. And no word about the clamp for the spindle.

As a result, I found and printed this fastening under 52mm spindle after a small finalization rose to the machine, the spindle was well entered.

But the bearings on the sleeves of CARGO had to remove from them. Put Chinese LM8UU.

Separately, I want to say about the Chinese bearings 608zz. Bearings with new features. Terrible. One thing is relatively not expensive. We did not seek bearings.

By the way, the bearings in the seats entered the same way as something in the hole. In the landing places the bearings dangled. I do not know, the bug is this or feature. As a result, the bearing bearing is watered.

Chinese LM8UU and LM8LUU from the 3D printer also turned out to be trash. As a result, on the Y axis, the sliding bearings on the sleeves of CARGO 141091. Printed the plastic clip and inserted into it in a pair of bushings. The resulting bearings inserted into fasteners.

On the Z axis chose less living LM8UU. On the axis x, the upper bearing set LM8UU, and instead of the two lower beds, the plastic clip was covered by LM8LUU and inserted a couple of CARGO bushings.

I successfully purchased them at one time. Come in handy.

During the assembly of the machine, I regretted that I took. But, there was nowhere to go, it was necessary to complete the project. Collected. Launched!

Some more photos of the assembly process.

The very beginning of the assembly ...

I do not like to stretch printed circuit boards. Well, I do not like the process of coming with chlorine iron itself. Type here, there is a flying, here the photoresist is described - a whole story every time. And then think where to merge the chlorine iron. I do not argue, it is an affordable and simple method, but personally I try to avoid it. And here I happened to happiness: I completed a mill with CNC. Immediately there was a thought: and do not try to mill printing boards. No sooner said than done. Drawing a simple adapter C of a closed ESP-WROOM-02 and start his excursion to milling printed circuit boards. The tracks specifically made small - 0.5 mm. For if they do not come out - then well, nafig this technology.



Since I personally make printed fees once every five years on big holidays - I have enough KiCad for design. For him, specialized convenient solutions I did not find, but there is a more versatile path - using Gerber files. In this case, everything is relatively simple: we take PCB, we export the desired layer in Gerber (no mirroring and other magic!), Run PCB2GCode - and get a ready-made NC file that can be given a milling. As always, reality is an evil infection and everything turns out to be somewhat more complicated.

Getting GCODE from Gerber Files

So, how to get a gerber-file, I do not plan to describe especially, I think it's everyone. Next you need to run PCB2GCode. It turns out that it requires approximately a million command line parameters to give something acceptable. In principle, his documentation is not bad, I mastered it and realized how to get some GCode even so, but I still wanted casualism. Therefore was found PCB2GCode GUI. This, as prompts the name, GUI to configure the main parameters of PCB2GCODE checkboxes, and even with the preview.



Actually, at this stage some GKOD is obtained and you can try to mill. But while I poked in the check mark, it turned out that the default value of the plug, which offers this software, is 0.05 mm. Accordingly, the fee must be installed in the millingrerer at least with an accuracy above this. I do not know who is like, but I have a working table with a milling millingly more curve. The simplest decision that came to mind is to put the sacrificial plywood on the table, throw a pocket in it for the size of the boards - and it will be perfect in the milling plane.


For those who already have a well-owning mill, this part is not interesting. After a pair of experiments, I found out that a milling pocket is necessarily needed in one direction (for example, the supply to the tooth) and with a screwing at least thirty percent. Fusion 360 I was offered at first too little snack and went back and forth. In my case, the result turned out unsatisfactory.

Accounting for the cryption of textolite

Aligning the platform, I blew at her bilateral scotch, put the textolit and launched the milling. Here is the result:



As can be seen, from one edge of the board, the milling card practically does not hurt copper, from the other - too deepened in the fee, crumbs of textolite went with the milling. Looking carefully at the board itself, I noticed that it originally uneven: slightly curved, and, how do you suffer from 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 tolerance ± 8% is considered normal.


The first version of the struggle coming in the head is autocalibration. According to the logic of things - what is it easier, the fee is deposited, steel milling cutter, attached one posting to copper, the other to the mill - here's ready-made probe. Take yes building surface.


My machine is controlled by GRBL on a cheap Chinese shield. GRBL has the support of probe on the A5 kick, but for some reason the special connector on my board is not derived. Carefully examined it, I still found that PIN A5 was displayed on the port SPI connector (signed as SCL), the earth there is also there. With this "sensor" one trick - the wires need to be overwhelmed with each other. In the Flemeron, it is extremely up to the filing fig, and without this, the sensor will constantly give false responses. Even after the weave will continue, but very much less often.




The team says: start moving down up to -10 by z (absolute it or relative height - depends on the mode in which the firmware is now). It will be very slow to descend - at a speed of 5 mm / min. This is caused by the fact that the developers themselves do not guarantee that the descent will stop exactly at the time of the sensor response, and not a little later. Therefore, it is better to descend slowly so that everything stopped on time and did not have time to go to the fee do not indulge. It is best to spend the first test by lifting your head to height much more than 10 mm and dropping the coordinate system. In this case, even if everything does not work and you will not have time to reach the E-Stop button, the cutter will not be detailed. You can spend two tests: the first - not to do anything (and upon reaching -10 GRBL will give "ALARM: PROBE FAIL"), the second - while it goes down, to closer to the chain and make sure that everything stopped.


Next, it is necessary to find a method like, in fact, measure the matrix and distort the GCode as needed. At first glance, PCB2GCode has some kind of support for AutoLeveling, but the support is GRBL'a. There is the opportunity to set the commands of the launch of the sample with their hands, but we need to deal with it, but to be honest, it was too lazy. The inquisitive mind could notice that the LinuxCNC sample start command coincides with the GRBL command. But then there is an irreparable difference: all "adults" GCode interpreters retain the result of the sample performed into the machine variable, and the GRBL simply displays the value to the port.


Easy googling suggested that there are still quite many different options, but the ChillpePpr project was caught my eyes:


This is a system of two components designed to play with iron from Webn. The first component - Serial JSON Server, written in GO, starts on the machine connected directly to the piece of hardware, and knows how to manage the sequential port on the webcases. The second one works in your browser. They have a whole framework for building widgets with some functional, which then can be shoved on the page. In particular, they already have a ready-made workspace (a set of widgets) for GRBL and Tinyg.


And ChillpeppR has support for AutoLeveling. And he also seems to be very convenient than UniversalGCodeSender'a, which I used before. I put the server, I start the browser part, I spend half an hour to deal with the interface, loading the GCode there my card and see some kind of garbage:



Looking into the GCode itself, which generates PCB2GCode, I see that it uses the notation when the command (G1) does not repeat on the subsequent lines, and 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 shows only vertical movements, it sees the row G01 Z-0.12 here, but does not understand everything that comes after F200. You need to remake on explict notation. Of course, you can work your hands or write some post-processing script. But no one has repeated the G-Code Ripper, which, among other things, can beat the complex GCode teams (like the same arc) to the simpler. By the way, he also knows how the AutoProbe matrix is \u200b\u200bto spin GCODE, but there is no built-in support for GRBL. But you can make the very split. I fully approached the standard settings (except in the config I had to change the units in advance to MM). The resulting file began to be displayed normally in ChilipePpr:



Further run AUTOPROBE, without forgetting to specify the distance from which to give the sample, and its depth. In my case, I pointed out that you need to omit from 1 to -2 mm. The lower limit is not so important, it can be put at least -10, but I would not advise: a couple of times unsuccessfully set the starting point, with which you need to run the sample, and the extreme points turned out to be outside the board. If the plug is greater - you can and engraver break. And just a mistake. From the level of the upper limit directly depends on how long it will wash the surface. In my case, the fee really almost never went beyond 0.25 mm up or down, but 1 mm is somehow more reliable. Click the cherished Run and run to the milling to meditate:



And in the CHILIPEPR interface there is a slowly blurred surface:



It is necessary to pay attention here that all values \u200b\u200bof Z are multiplied by 50, in order to better visualize the resulting surface. This is a custom parameter, but 10 and 50 work well, in my opinion. I often come across the fact that some one point is very higher than you can expect from it. Personally, I associate this with the fact that the sensor catches the tank and gives false response. The benefit of ChilipeppR allows you to unload the height map in the form of JSONK, it can be corrected by hands after that, and then download it with your hands. Next, press the "Send Auto-Leveled Gcode to Workspace" button - and the corrected GKOD is already loaded in 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 31.8499 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)

The code added to z, which must compensate for the surface irregularities.

Selection of milling parameters

I launch milling, I get this result:



There can be seen at once three points:

  1. The problem with the irregularities of the surface is left: it is cut (more precisely, it is precipitated) everything is almost one depth, there is no pass anywhere, it will not carry too much.
  2. Blowing is insufficient: 0.05 mm clearly lacks for this foil. Boards, by the way, some unknown beast with Aliexpress, copper thickness there did not indicate. The copper layer is different, the most common - from 18 to 140 μm (0.018-0.14 mm).
  3. Obviously visible the fighting of engraver.

About globalism. Pick up how deeply it is necessary to lower the engraver, easy. But there are specifics. Conical engraver has a triangle shape in projection. On the one hand, the angle of information to the operating point determines how much the tool is heavily breaking and how long it will live, and on the other - the greater the angle, the wider there will be cuts for a given gluke.



The formula for calculating the width of the cut at a given gluage looks like this (immodestly taken with refrap.org and corrected):


2 * Penetration Depth * Tanges (TOOL TIP ANGLE) + TIP WIDTH

We consider it according to it: for the engraver with an angle of 10 degrees and a point of contact 0.1 mm with a gloss of 0.1 mm we obtain the width of the cut of almost 0.15 mm. Based on this, by the way, you can estimate which minimum distance between the tracks will make the chosen engraver on the foil of the selected thickness. Well, even if you do not need very little distances between the tracks, it's not worth it too deeply with a milling mill, since the fiberglass is very tupitted cutters even from solid alloys.


Well, here there is still a funny moment. Suppose we have two tracks that are 0.5 mm from each other. When we run PCB2GCode, it will look at the ToolPath Offset parameter value (how much to retreat from the track during milling) and will actually make two passages between the tracks, settle from each other (0.5 - 2 * ToolPath_offSet) mm, it will remain between them (and rather A total of some kind of copper, and it will be ugly. If you do toolpath_offset large than the distance between the tracks, the PCB2GCode will give warning, but will generate only one line between the tracks. In general, for my applications, this behavior is more preferable because the tracks are wider, the cutter cuts less - beauty. True, there may be a problem with SMD components, but unlikely.


There is a pronounced case of such behavior: if you ask a very big Toolpath_offset, then we will get a printed circuit board in mind the raven chart. At a minimum, it is beautiful;) on the effect you can look at the first screenshot from PCB2GCode, which I gave. There is shown how it will look.


Now about the fighting of engraver. This is my vain I call them. I have a good spindle like and so much, of course, does not hit. Here, rather, the tip of the engraver is bent when moving and jumps between points, giving one strange picture with dots. The first and main idea - the cutter does not have time to cut through and therefore jumps over. Easy googling has shown that the people milling the printed circuit boards with a spindle on 50k revolutions at a speed of about 1000 mm / min. I have a spindle gives 10K without load, and it can be assumed that it is necessary to cut at a speed of 200 mm / min.

Results and output

Taking into account all this, I simulate a new piece of textolite, I launch milling and get this result:



The top is exactly how it came out of the milling mill, the bottom - after he spent on it the usual sharpening stone a couple of times. As can be seen, in three places the track did not cut through. In general, all over the board width of the tracks floats. You still need to understand, but I have an assumption that the reason is. At first I fucked the board for bilateral scotch, and it often came out quite enough. Then, in a pair of places, grabbed the edges of the screws of the screws. It seems to stay better, but still plays a little. I suspect that at the time of the milling it is pressed against the site and because of this, in fact, it does not cut through.



In general, the prospects for this all are. When the process is worked out, the construction of the height matrix takes five to seven minutes, then the milling is directly for a couple of minutes. It seems to be experimenting on. But you can then do the drill on the same machine. Still buy rivets, and there will be happiness! If the topic is interesting, I can write another article about the drill, bilateral fees, etc.

To the question of how to make a CNC machine, you can answer briefly. Knowing that the homemade milling machine with CNC, in general, is a difficult device having a complex structure, designer is preferably:

  • acquire drawings;
  • purchase reliable components and fasteners;
  • prepare a good tool;
  • have a turning and drilling machines with CNC to quickly make.

It will not hurt to watch a video - a kind of instruction learning - where to start. And I will start with the preparation, I will buy everything you need, I will deal with the drawing - this is the correct decision of the novice designer. Therefore, the preparatory stage preceding the assembly is very important.

Work preparatory stages

To make a homemade CNC for milling, there are two options:

  1. Take the finished chassis set of details (specially selected nodes), from which we collect equipment yourself.
  2. Find (make) all components and start assembling CNC machine with your own hands, which would have answered all the requirements.

It is important to determine the purpose, dimensions and design (how to do without a picture of the CNC homemade machine), find the schemes for its manufacture, acquire or make some details that are needed for this, get the move screws.

If it is decided to create a CNC machine with your own hands and do without ready-made sets of nodes and mechanisms, fasteners, you need the scheme assembled on which the machine will work.

Usually, finding a fundamental scheme of the device, first simulate all parts of the machine, prepare technical drawings, and then on them on turning and milling machines (sometimes it is necessary to use both drilling components) manufacturers from plywood or aluminum. Most often, work surfaces (called another desk) - plywood with a thickness of 18 mm.

Assembling some important machine knots

In the machine that you started collecting personally, it is necessary to provide a number of responsible nodes that ensure the vertical movement of the working tool. In this list:

  • screw transmission - rotation is transmitted using a toothed belt. It is good because they do not slip on the pulleys, evenly transferring efforts on the shaft of milling equipment;
  • if a stepper motor (shd) is used for a mini-machine, it is desirable to take a carriage from a more overall model of the printer - more powerful; Old matrix printing devices had enough powerful electric motors;

  • for a three-way device, you will need three shd. Well, if each there is 5 control wires, the mini-machine functionality will increase. It is worth estimating the value of the parameters: supply voltage, winding resistance and angle of turning shd per step. To connect each SD, a separate controller is needed;
  • with the help of screws, the rotational movement from the shd is converted into linear. To achieve high accuracy, many consider it necessary to have ball-screw pairs (SVP), but this is not cheap component. Picking for the installation of blocks a set of nuts and fastening screws, choose them with plastic inserts, this reduces friction and eliminates the backlash;

  • instead of a stepping type engine, you can take a conventional electric motor, after a small refinement;
  • the vertical axis, which provides the movement of the tool in 3D, encompassing the entire coordinate table. It is made of aluminum stove. It is important that the axis sizes are adjacent to the dimensions of the device. If there is a muffle furnace, the axis can be pulled in size in the size of the drawings.

Below is the drawing made in three projections: side view, rear, and from above.

Maximum attention - bed

The required stiffness machine is ensured by the bed. It is installed onto a movable portal, a system of rail guides, shd, work surface, z axis and spindle.

For example, one of the creators of the CNC homemade machine, the carrier frame made Maytec aluminum profile - two parts (cross section 40x80 mm) and two end plates with a thickness of 10 mm from the same material, connecting the elements by aluminum corners. The design is amplified, a frame of smaller profiles is made inside the frame in the form of a square.

The bed is mounted without using welded connections (welds are poorly removed to carry the vibration loads). It is better to use T-shaped nuts as an attachment. On the end plates, an installation of the bearings block is provided for installation of the running screw. You need a sliding bearing and spindle bearing.

The main task made by its own hand the machine with CNC CNC was determined by the manufacture of aluminum parts. Since it was approached by the workpiece with a maximum thickness of 60 mm, he made the clearance of a portal 125 mm (this is the distance from the top transverse beam to the working surface).

This uneasy installation process

Collect homemade CNC machines, after preparing components, better strictly according to the drawings so that they work. The assembly process, applying the running screws, should be performed in such a sequence:

  • the knowledgeable sample begins with fastening on the body of the first two shd - behind the vertical axis of the equipment. One is responsible for the horizontal movement of the milling head (rail guides), and the second for moving in the vertical plane;
  • the movable portal moving along the X axis carries the milling spindle and the caliper (z axis). The higher the portal will be, the greater the workpiece can be processed. But the high portal, in the processing process, reduces the resistance to emerging loads;

  • for the attachment of the Z axis, the linear guides use the front, rear, upper, middle and lower plates. There, make a lodgment of the milling spindle;
  • the drive is collected from carefully selected nuts and studs. To fix the motor shaft and attach to the heel, use the rubber winding of the thick electric circular. As a retainer, there may be screws inserted into a nylon sleeve.

Then the assembly of the rest of the nodes and aggregates of the homemade begins.

Intim the electronic stuffing machine

To make your own CNC hands the machine and manage it, it is necessary to operate correctly selected numerical control, high-quality circuit boards and electronic components (especially if they are Chinese), which will allow on the CNC machine to implement all the functionality, processing a piece of complex configuration.

In order for no problems in management, self-made CNC machines, among the nodes, are required:

  • stepper engines, some stopped for example NEMA;
  • the LPT port through which the CNC control unit can be connected to the machine;
  • drivers for controllers, they are installed on the milling mini machine, connecting in accordance with the scheme;

  • switching fees (controllers);
  • 36V power supply unit with a downstream transformer converting to 5V to power the control circuit;
  • laptop or PC;
  • the button responsible for an emergency stop.

Only after that the CNC machines are tested (at the same time, the sample will make its trial start, downloading all programs), the existing disadvantages are detected and eliminated.

Instead of imprisonment

As you can see, make a CNC that will not give way to Chinese models - real. Having made a set of spare parts with the desired size, having high-quality bearings and fastened enough for the assembly, this task is under power to those interested in software technology. The example does not seem to search for a long time.

In the photo below - some samples of machine tools that have numerical management, which are made by the same craftsmen, not professionals. No detail was made hastily, an arbitrary size, but a suitable block with great accuracy, with careful recovery of the axes, using high-quality driving screws and with reliable bearings. True statement: As you collect, you will work.

The CNC is the processing of dural billet. Such a machine that gathered the craftsman, you can perform many milling works.

Another sample of the assembled machine, where the Fiberboard plate is used as a desktop on which the manufacture of a printed circuit board is possible.

Everyone who starts to make the first device will soon go to other machines. Perhaps he wants to test herself as a collector of a drilling unit and, unnoticed, will replenish the army of the craftsmen who gathered a lot of self-made devices. Classes of technical creativity will make the life of people in an interesting, diverse and rich.

The most optimal and popular way is the milling board on CNC.

Traditionally, there are three ways to create amateur printed circuit boards:

  1. CNC printing boards milling.
  2. Using toner transfer and chemical etching in chlorine gland, but in this method can be difficult to get the necessary materials, plus and chemicals - hazardous substances.
  3. With the help of paid services of enterprises that do this - services are quite inexpensive, the price depends on the complexity of the order, complexity and volume. But this is not a very fast process, so you have to wait for a certain amount of time.

In this article we will look at whether to do this type of work, which is required for this, and what efforts need to be applied to make a quality product at the exit.

Advantages and disadvantages of milling boards on CNC

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

  • the minimum cost of human labor, almost all the work makes the machine;
  • environmental friendliness of the process, there is no interaction with hazardous substances;
  • easy re-production. To do this, it is enough to establish once the correct settings - and the process can be easily repeated;
  • mass production, as you can make a sufficiently large number of necessary products;
  • efficiency, the costs of funds are going only on the purchase of foil glassstolite, which costs about $ 2 per sheet with dimensions of 200x150 mm;
  • high quality manufacturing.
  • cutting tools and end mills can be expensive, as well as they have the property to wear;
  • there is no possibility to produce this type of product with a cutter everywhere;
  • milling may take some time;
  • when removing a large amount of copper in one pass, the grooves cutters are clogged, which makes it difficult and worsens the quality of processing;
  • the size of the cut depends on the diameter of the cutter and the accuracy of milling. If you plan to use SMD - parts, you must carefully check the milling program.

Process of manufacturing printed circuit boards

All production of this product is divided into such steps:

  1. Search or self-study of the circuit and distribution of tracks.
  2. Preparation of the necessary files for further production.
  3. Direct production.

For the 1st stage on the Internet, you can find a large number of software, such as Sprint Layout, Pcad, Orcad, Altium Designer, Proteus and many others. These programs are suitable for working out and distribute tracks. The most popular now is the milling of CNC printed circuit boards from the Sprint Layout program. You can find a video about her on our website.

The bulk of the second stage depends on the complexity of the board you want to receive. For the simplest designs, a small number of files is required. The main ones are the topology, the file for drilling holes and the files of future trimming of the workpiece and, of course, the finished board.

The third stage includes drilling holes for pins for positioning the board on the desktop of the machine, as well as the insertion of the pins themselves. Next, they will need to put the board and cut it along the contour.

Software

The main difficulty of milling of printed circuit boards is the presence of the necessary programs that will allow you to translate the card pattern in the G-Code. An important aspect of this moment is the software in which you at the very beginning are engaged in the development of topology.

Let's figure it out with the principles of the machine for the milling of the textolite. For a better understanding, we consider one of the examples of the program, with which the board milling occurs:

  1. Fastening the workpiece on the bed, fixing a special nozzle in the spindle in order to scan the surface to see and define unevenness.
  2. Setting the cutter for the tracks into the spindle, and the launch of the program for milling.
  3. Installing a drill to drill holes and start a drilling program.
  4. The last step is the trimming of PP along the contour using a cutter. Next, the fee can be freely removed from the textolite sheet, the production process is completed.

I do not like to stretch printed circuit boards. Well, I do not like the process of coming with chlorine iron itself. Type here, there is a flying, here the photoresist is described - a whole story every time. And then think where to merge the chlorine iron. I do not argue, it is an affordable and simple method, but personally I try to avoid it. And here I happened to happiness: I completed a mill with CNC. Immediately there was a thought: and do not try to mill printing boards. No sooner said than done. Drawing a simple adapter C of a closed ESP-WROOM-02 and start his excursion to milling printed circuit boards. The tracks specifically made small - 0.5 mm. For if they do not come out - then well, nafig this technology.



Since I personally make printed fees once every five years on big holidays - I have enough KiCad for design. For him, specialized convenient solutions I did not find, but there is a more versatile path - using Gerber files. In this case, everything is relatively simple: we take PCB, we export the desired layer in Gerber (no mirroring and other magic!), Run PCB2GCode - and get a ready-made NC file that can be given a milling. As always, reality is an evil infection and everything turns out to be somewhat more complicated.

Getting GCODE from Gerber Files

So, how to get a gerber-file, I do not plan to describe especially, I think it's everyone. Next you need to run PCB2GCode. It turns out that it requires approximately a million command line parameters to give something acceptable. In principle, his documentation is not bad, I mastered it and realized how to get some GCode even so, but I still wanted casualism. Therefore was found PCB2GCode GUI. This, as prompts the name, GUI to configure the main parameters of PCB2GCODE checkboxes, and even with the preview.



Actually, at this stage some GKOD is obtained and you can try to mill. But while I poked in the check mark, it turned out that the default value of the plug, which offers this software, is 0.05 mm. Accordingly, the fee must be installed in the millingrerer at least with an accuracy above this. I do not know who is like, but I have a working table with a milling millingly more curve. The simplest decision that came to mind is to put the sacrificial plywood on the table, throw a pocket in it for the size of the boards - and it will be perfect in the milling plane.


For those who already have a well-owning mill, this part is not interesting. After a pair of experiments, I found out that a milling pocket is necessarily needed in one direction (for example, the supply to the tooth) and with a screwing at least thirty percent. Fusion 360 I was offered at first too little snack and went back and forth. In my case, the result turned out unsatisfactory.

Accounting for the cryption of textolite

Aligning the platform, I blew at her bilateral scotch, put the textolit and launched the milling. Here is the result:



As can be seen, from one edge of the board, the milling card practically does not hurt copper, from the other - too deepened in the fee, crumbs of textolite went with the milling. Looking carefully at the board itself, I noticed that it originally uneven: slightly curved, and, how do you suffer from 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 tolerance ± 8% is considered normal.


The first version of the struggle coming in the head is autocalibration. According to the logic of things - what is it easier, the fee is deposited, steel milling cutter, attached one posting to copper, the other to the mill - here's ready-made probe. Take yes building surface.


My machine is controlled by GRBL on a cheap Chinese shield. GRBL has the support of probe on the A5 kick, but for some reason the special connector on my board is not derived. Carefully examined it, I still found that PIN A5 was displayed on the port SPI connector (signed as SCL), the earth there is also there. With this "sensor" one trick - the wires need to be overwhelmed with each other. In the Flemeron, it is extremely up to the filing fig, and without this, the sensor will constantly give false responses. Even after the weave will continue, but very much less often.




The team says: start moving down up to -10 by z (absolute it or relative height - depends on the mode in which the firmware is now). It will be very slow to descend - at a speed of 5 mm / min. This is caused by the fact that the developers themselves do not guarantee that the descent will stop exactly at the time of the sensor response, and not a little later. Therefore, it is better to descend slowly so that everything stopped on time and did not have time to go to the fee do not indulge. It is best to spend the first test by lifting your head to height much more than 10 mm and dropping the coordinate system. In this case, even if everything does not work and you will not have time to reach the E-Stop button, the cutter will not be detailed. You can spend two tests: the first - not to do anything (and upon reaching -10 GRBL will give "ALARM: PROBE FAIL"), the second - while it goes down, to closer to the chain and make sure that everything stopped.


Next, it is necessary to find a method like, in fact, measure the matrix and distort the GCode as needed. At first glance, PCB2GCode has some kind of support for AutoLeveling, but the support is GRBL'a. There is the opportunity to set the commands of the launch of the sample with their hands, but we need to deal with it, but to be honest, it was too lazy. The inquisitive mind could notice that the LinuxCNC sample start command coincides with the GRBL command. But then there is an irreparable difference: all "adults" GCode interpreters retain the result of the sample performed into the machine variable, and the GRBL simply displays the value to the port.


Easy googling suggested that there are still quite many different options, but the ChillpePpr project was caught my eyes:


This is a system of two components designed to play with iron from Webn. The first component - Serial JSON Server, written in GO, starts on the machine connected directly to the piece of hardware, and knows how to manage the sequential port on the webcases. The second one works in your browser. They have a whole framework for building widgets with some functional, which then can be shoved on the page. In particular, they already have a ready-made workspace (a set of widgets) for GRBL and Tinyg.


And ChillpeppR has support for AutoLeveling. And he also seems to be very convenient than UniversalGCodeSender'a, which I used before. I put the server, I start the browser part, I spend half an hour to deal with the interface, loading the GCode there my card and see some kind of garbage:



Looking into the GCode itself, which generates PCB2GCode, I see that it uses the notation when the command (G1) does not repeat on the subsequent lines, and 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 shows only vertical movements, it sees the row G01 Z-0.12 here, but does not understand everything that comes after F200. You need to remake on explict notation. Of course, you can work your hands or write some post-processing script. But no one has repeated the G-Code Ripper, which, among other things, can beat the complex GCode teams (like the same arc) to the simpler. By the way, he also knows how the AutoProbe matrix is \u200b\u200bto spin GCODE, but there is no built-in support for GRBL. But you can make the very split. I fully approached the standard settings (except in the config I had to change the units in advance to MM). The resulting file began to be displayed normally in ChilipePpr:



Further run AUTOPROBE, without forgetting to specify the distance from which to give the sample, and its depth. In my case, I pointed out that you need to omit from 1 to -2 mm. The lower limit is not so important, it can be put at least -10, but I would not advise: a couple of times unsuccessfully set the starting point, with which you need to run the sample, and the extreme points turned out to be outside the board. If the plug is greater - you can and engraver break. And just a mistake. From the level of the upper limit directly depends on how long it will wash the surface. In my case, the fee really almost never went beyond 0.25 mm up or down, but 1 mm is somehow more reliable. Click the cherished Run and run to the milling to meditate:



And in the CHILIPEPR interface there is a slowly blurred surface:



It is necessary to pay attention here that all values \u200b\u200bof Z are multiplied by 50, in order to better visualize the resulting surface. This is a custom parameter, but 10 and 50 work well, in my opinion. I often come across the fact that some one point is very higher than you can expect from it. Personally, I associate this with the fact that the sensor catches the tank and gives false response. The benefit of ChilipeppR allows you to unload the height map in the form of JSONK, it can be corrected by hands after that, and then download it with your hands. Next, press the "Send Auto-Leveled Gcode to Workspace" button - and the corrected GKOD is already loaded in 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 31.8499 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)

The code added to z, which must compensate for the surface irregularities.

Selection of milling parameters

I launch milling, I get this result:



There can be seen at once three points:

  1. The problem with the irregularities of the surface is left: it is cut (more precisely, it is precipitated) everything is almost one depth, there is no pass anywhere, it will not carry too much.
  2. Blowing is insufficient: 0.05 mm clearly lacks for this foil. Boards, by the way, some unknown beast with Aliexpress, copper thickness there did not indicate. The copper layer is different, the most common - from 18 to 140 μm (0.018-0.14 mm).
  3. Obviously visible the fighting of engraver.

About globalism. Pick up how deeply it is necessary to lower the engraver, easy. But there are specifics. Conical engraver has a triangle shape in projection. On the one hand, the angle of information to the operating point determines how much the tool is heavily breaking and how long it will live, and on the other - the greater the angle, the wider there will be cuts for a given gluke.



The formula for calculating the width of the cut at a given gluage looks like this (immodestly taken with refrap.org and corrected):


2 * Penetration Depth * Tanges (TOOL TIP ANGLE) + TIP WIDTH

We consider it according to it: for the engraver with an angle of 10 degrees and a point of contact 0.1 mm with a gloss of 0.1 mm we obtain the width of the cut of almost 0.15 mm. Based on this, by the way, you can estimate which minimum distance between the tracks will make the chosen engraver on the foil of the selected thickness. Well, even if you do not need very little distances between the tracks, it's not worth it too deeply with a milling mill, since the fiberglass is very tupitted cutters even from solid alloys.


Well, here there is still a funny moment. Suppose we have two tracks that are 0.5 mm from each other. When we run PCB2GCode, it will look at the ToolPath Offset parameter value (how much to retreat from the track during milling) and will actually make two passages between the tracks, settle from each other (0.5 - 2 * ToolPath_offSet) mm, it will remain between them (and rather A total of some kind of copper, and it will be ugly. If you do toolpath_offset large than the distance between the tracks, the PCB2GCode will give warning, but will generate only one line between the tracks. In general, for my applications, this behavior is more preferable because the tracks are wider, the cutter cuts less - beauty. True, there may be a problem with SMD components, but unlikely.


There is a pronounced case of such behavior: if you ask a very big Toolpath_offset, then we will get a printed circuit board in mind the raven chart. At a minimum, it is beautiful;) on the effect you can look at the first screenshot from PCB2GCode, which I gave. There is shown how it will look.


Now about the fighting of engraver. This is my vain I call them. I have a good spindle like and so much, of course, does not hit. Here, rather, the tip of the engraver is bent when moving and jumps between points, giving one strange picture with dots. The first and main idea - the cutter does not have time to cut through and therefore jumps over. Easy googling has shown that the people milling the printed circuit boards with a spindle on 50k revolutions at a speed of about 1000 mm / min. I have a spindle gives 10K without load, and it can be assumed that it is necessary to cut at a speed of 200 mm / min.

Results and output

Taking into account all this, I simulate a new piece of textolite, I launch milling and get this result:



The top is exactly how it came out of the milling mill, the bottom - after he spent on it the usual sharpening stone a couple of times. As can be seen, in three places the track did not cut through. In general, all over the board width of the tracks floats. You still need to understand, but I have an assumption that the reason is. At first I fucked the board for bilateral scotch, and it often came out quite enough. Then, in a pair of places, grabbed the edges of the screws of the screws. It seems to stay better, but still plays a little. I suspect that at the time of the milling it is pressed against the site and because of this, in fact, it does not cut through.



In general, the prospects for this all are. When the process is worked out, the construction of the height matrix takes five to seven minutes, then the milling is directly for a couple of minutes. It seems to be experimenting on. But you can then do the drill on the same machine. Still buy rivets, and there will be happiness! If the topic is interesting, I can write another article about the drill, bilateral fees, etc.