CNC machines for printed circuit boards. Milling printed circuit boards at home Do-it-yourself CNC machine for printed circuit boards

Drivers for the stepper, the dude elegantly made everything without using a microcontroller. I read this, looked at my drill for circuit boards with tight manual feed, and decided to attach an up-down feed control to it. I bought a driver for a stepper, a suitable stepper from a printer was pulled out of the bins, an expensive one was bought, which I mounted on the motor shaft from some printer, then the driver arrived and the movement began.

Here is the first version of my plate drill:

People with an engineering mindset will immediately notice the addictive position of the lever relative to the guides (six hundred rubles for a brass tube, and the same amount for a brass rod! It would be better if I bought linear bearings and two guides in China), because of this solution, the spindle moves unevenly, jerkily , and you can break a certain number of drills if they are made of carbide. And it was for their sake that everything was started.

While I was waiting for the hardware, I turned on a powerful backlight for this machine



The device says that it is VERY BRIGHT. But it’s comfortable to work with, I decided not to adjust the backlight

here is a photo at work

I started sawing the U-axis drive. I decided to just add some pieces of wood to the existing structure

Note the nanotech connection between the shaft and the lead screw

For this purpose, I bought a brake light sensor from some kind of VAZ, and mercilessly broke it down so that only a brass tube remained

Now it's the turn of electronics.
I played around in Proteus and on a breadboard with the circuit and code, and etched a board for the future controller


The Arduino nano will act as the brains of the machine, because I can’t code for anything more serious. Control by potentiometer and encoder with button.
The driver itself is called EASY DRIVER on the Internet, which seems to indicate the ease of working with it. It's right. It needs two signals - STEP and DIR. We move first with the engine, the second we tell which direction to step. After trying a crude library for it, I decided to write everything myself, and it turned out well in the end.
It's all powered by a 19-volt laptop power supply. The driver can pass up to 30 volts through itself, and the motor with the cartridge is designed for 24, if I’m not mistaken, its speed is still not enough.

Video of the first test:

The encoder can be used to move the spindle up and down along the Y axis, the variable resistor sets the distance by which the spindle will move with one click of the encoder, and also sets the feed speed when the “DRILL!” button is pressed. It turned out to be very convenient to use a pre-prepared hole-making algorithm. I also attached a display that was lying around for show off. Did you connect it using this? to save arduino legs

I screwed all the boards and handles into place, and this is what happened:

look








After struggling with the code I got it all to work as I needed, and here is the finished device.

Now all that remains is to come up with a new crazy project to test your product in combat conditions, as well as attach a pedal to free your hands.
If anyone is interested in anything in the review, ask, PM, comments, whatever

I'm planning to buy +25 Add to favorites I liked the review +63 +109

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 the 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 once every five years on major holidays, KiCAD is quite enough for me for design. I haven’t found any specialized convenient solutions for 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. It turns out it requires about a million parameters command line to produce something 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 basic 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 what chilipeppr only shows vertical movements, he sees the G01 Z-0.12 line here, but doesn't 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. The standard settings suited me just fine (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 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)

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 convergence 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 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 case 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.

▌Machine
To engrave the board you need a CNC milling machine. Where to go without him. I have some kind of Chinese here without family or tribe. With a work table 200 by 200mm and 12mm shafts.

It has the same rootless 350W collector spindle, giving about 15,000 revolutions. Quite a bit, I must say. 30,000 would be good, but 50-100 thousand would be better.

Everything is controlled by a simple optical coupler on the LPT port.

Through MACH3, on which the screenset from Mikhail Yurov is stretched. Googled on every corner.

Without it, the MACH3 interface usually causes nothing but gagging. Eye-catching game. Especially out of habit.

If anyone is interested, I’ll tell you about the machine itself, its design, setup and operation another time. There is nothing complicated there, everything is done intuitively and effortlessly.

▌cutters


The main tool we need is an engraving pen. Here's a conical cutter. The spicier the better. The running tip sizes are 0.1mm (if you want to do something at the LQFP level and with 0.3mm roads) and 0.2mm for larger cases like SOIC and wide, under 0.5mm, tracks. A milling cutter of the same design, but with a cutting edge of 1 or even 1.5 mm, would also be useful - it will come in handy if you not only have to engrave the insulation of contours, but you will need to demolish entire polygons.


You will also need drills. I use three sizes. 0.4..0.6mm for vias. 0.8...1mm for regular TH components and 3mm for mounting holes for all sorts of potentiometers, encoders, mounting holes for the board, and so on. To make it more convenient, I hold the tool directly in the collet nut. Since, as a rule, it is not always possible to fit everything into one collet. How to get the collet out of the nut, especially if it is a collet small size, it can be difficult. Therefore, it is easier to have about five nuts and collets for all occasions. And keep them in such sets.


To cut the board, use a corn cutter with a diameter of 2...3 mm, preferably 2. There is not so much sawdust and the load on the machine is less.

The board is simply taped to the sacrificial table. By the way, the table can be milled to zero, then all the flaws in the geometry of the machine will at least repeat the shape of the substrate, which will improve accuracy. But I didn’t do this, although my discrepancy between the angles is about a millimeter. It’s just that the textolite adheres better to a smooth laminated MDF panel, and when removed, the adhesive tape comes off completely immediately, without smearing across the fibrous structure of the MDF. The difference is like... tearing tape off a varnished table or from cardboard box. The box comes off with meat. It's almost the same here. That's why I don't mill.

▌Scanning software
To compensate for the curvature of the table, and mine is especially curved, I scan the surface, building a height map. First you need to prepare a height map:

In general, Mach3 has its own wizard for this purpose. Search in menu Wizard-Pick Wizard...-Digitize Wizard, this kind of crap will open:

Where can you indicate the size of the palpable surface ( Width and Height of area), safe height of probe movement ( Z travel), the depth to which the probe will search the surface ( Z Axis Probe Depth). stepover this is a step along the axes, and FeedRate the speed at which the probe will reach the surface. The faster the scanning, the faster, but due to inertia it can get a little deeper than necessary. Therefore, we need to find a balance here. Then you press Create and Load Gcode and the ready-made scanning code will be immediately loaded into your Mac. I don't use this wizard because it's not very convenient. It is much easier to generate code in the same program that will edit the cutting plan code. This G-code Ripper.

Take it from official website Don’t forget to say hello to the assholes from Roskomnadzor, who blocked him as extremist. So use proxy plugins (Opera Turbo is quite suitable or the FriGate plugin for Chrome, but you will have to manually enter the address of this site).

So, launch G-code Ripper. This thing, like flatcam, is also written in Python and also has a console interface (however, I haven’t figured it out myself yet, but I think we can fit it into our evil batch file). In the meantime, stick it into its GUI.

And what do we see:

This is the main window of the program. We need to select in the lower left corner Auto Probe and through the File menu, load the gcode of our engraving. First, let's take the side we'll be cutting.

We received our cutting plan and white crosses on top. Crosses are touch points. Pay attention to the location of the coordinate axes; you will then have to fit the probe there. In the meantime, let's recalculate and enter program parameters:

Probe Offset is the displacement of the probe relative to the tool. For me, the tool itself is the probe, so there are zeros here. Probe Z Safe— safe scanning height. Depends on the curvature of your system. I have a spread of about a millimeter and that’s why I set it to 2. In general, with a level table, 0.8 mm is enough. The lower, the faster the scanning. Go down less! Probe Depth— the maximum depth to which the probe will go. I have 0, because in this case, the origin is at the lowest corner of my table. In general, you can push it into minus a little, say -0.5. It will not be worse. Probe Feed— lowering speed. Less is more accurate, but the scan takes longer and there is more noise. I have 100mm/min. X/U Points This is how many vertical and horizontal points to take. Those same white crosses over there. He will choose the dimensions of the board himself. I leave the Pre and Post codes empty, because... I don’t need any additional codes before or after the program. But the lucky owners of the changer can, for example, automatically pull out a special probing tool and then put it back. I have MACH3 Controller and, in fact, that’s all.

Click Save G-code File Probe Only, we get a file with a gcode, send it to the machine and go to touch the board.

How will the machine scan the surface? For this purpose the machine has a probe. When a mass touches the probe, the machine senses it. I have taken the spindle as the mass. That plastic thing that surrounds its impeller is the brush holder. Which is made from an old milling cutter and is stuck into the center of the shaft, on a spring-loaded fastener. Why didn't I just apply ground to the spindle body? But because the contact through its bearings is pretty bad. It may disappear depending on the angle of rotation. And so it will reach the collet straight along the shaft, and inside the collet a small spring will bring the contact directly to the tool. And the probe itself is a plate of known thickness (about 0.5 mm) on the wiring. If I need to set the tool exactly to 0, I put it in Right place plate, press it with my finger to the surface and give the command to search for zero. The machine pokes the plate with a tool, then takes into account the thickness and realizes the current height of the tool tip. Raising the tool by 2.5mm.

In the case of PCB, I just need to put the probe contact on the copper, secure it with electrical tape so that it doesn’t run away, and search the surface. The coordinate, of course, will be set incorrectly. Because in this case there is no thickness of the probe itself. But it is not important. The main thing is now possible manually by entering the command G1 Z-2(why -2? But because, according to my script, after finding my tool, the tool will jump by 2.5 mm, and 0.5 is the thickness of the probe plate, i.e., in fact, its coordinate will become 2 mm), lower the tool almost to the level of the PCB. Why almost? And for more accuracy, it wouldn’t hurt to catch the most gentle contact, but the auto search is quite rough, because... the machine has some inertia and it misses a little. But if you start the tool almost to zero, and then manually, using the G1 Z## commands, shifting it a hundred or two up or down, the indicator button begins to flicker (and for me it changes color when the probe touches) from the slightest vibration in indoors. Let's say when someone walked past. Yes, of course, in this case we set the X and Y coordinates to the future coordinate zero based on our board. Not to be confused with machine zero (machine coordinates).

0.00000,0.00000,0.00500
7.05500,0.00000,0.03000
14.11500,0.00000,0.03000
21.17000,0.00000,0.06500
28.22500,0.00000,0.07000
35.28500,0.00000,0.11500
42.34000,0.00000,0.12000
49.39500,0.00000,0.16000
56.45500,0.00000,0.14000
63.51000,0.00000,0.14000
0.00000,8.65500,0.00000
7.05500,8.65500,0.00000

Everything is clear here - these are just coordinates along the axes where the tool touched the surface. Which is exactly what we need.

We return to our Gcode-Ripper and do Read Probe Data File there and our crosses turn black:

Ready. All that remains now is to click the Recalculate button to be sure and save the adjusted file. Save G-code File Adjusted. If you now compare them in some NC-Corrector, then in the side view you will see that the new file has a bottom relief :)

old:

new:

We also use the same method to trim along the contour, otherwise you risk not cutting to the end or, on the contrary, lifting up the table. He is, of course, sacrificial, but it is better to do without sacrifices.


The insulation was stripped. It turned out badly, because the 0.2 cutter is also stupid. And here it would be 0.1 and sharper. Lochs are formed because the contour must be bypassed in two directions, because When the cutter goes along the foil, the cut cuts cleanly on one side, but is rough on the other. And you need to make a reverse pass, remove the burrs. But flatcam doesn’t do it or I haven’t learned yet. Therefore, I usually remove them with fine sandpaper in a couple of movements. You can also reduce the cutting feed, it will be much cleaner. Or, if the spindle allows, increase the speed. There the LPKF Protomat fries at 100,000 rpm and everything is smooth there.


And this is an almost finished board. Four huge holes in the place of the button - I screwed up well during the episode of changing tools when drilling. When I post the video there you will see for yourself. It was necessary to put a 1mm drill after the 0.8mm drill (or just click “next” to drill with the same 0.8mm), but I didn’t read what the machine offered me to install, I forgot that there were still millimeter holes there and immediately stuck 3mm and it gave me I had fun drilling them :) CNC does not forgive mistakes.

Something like that. Yes, on double-sided paper, after turning the PCB over, you need to tap it again with a probe.

In addition to the promised video, which I don’t know when I’ll edit it (I hate this thing), there will be one or two more articles on flatcam, which a friend of mine sent me alternative method. I'll put it together and post it soon. I'll probably close the topic on this. Because Well, what else is there to talk about? ;)

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 in 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 consider whether it is worth doing this type of work, what is required for this, and what efforts need to be made to get a high-quality output product.

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 only cost is to purchase foil fiberglass laminate, 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;
  • it is not possible to produce this type of 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

All 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 at this moment is the software in which you develop 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 special nozzle 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. Then the board can be freely removed from the PCB sheet, the production process is completed.

The question of how to make a CNC machine can be answered briefly. Knowing that a homemade CNC milling machine, in general, is a complex device with a complex structure, it is advisable for the designer to:

  • acquire drawings;
  • purchase reliable components and fasteners;
  • prepare a good tool;
  • have a lathe on hand and drilling machines CNC machined to produce quickly.

It wouldn’t hurt to watch the video – a kind of instructional guide on where to start. I’ll start with preparation, buy everything I need, figure out the drawing - here correct solution novice designer. That's why preparatory stage, preceding assembly, is very important.

Preparatory stage work

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

  1. You take a ready-made running set of parts (specially selected components), from which we assemble the equipment yourself.
  2. Find (make) all the components and start assembling a CNC machine with your own hands that would meet all the requirements.

It is important to decide on the purpose, size and design (how to do without a drawing homemade machine CNC), find diagrams for its manufacture, purchase or manufacture some parts that are needed for this, acquire lead screws.

If you decide to create a CNC machine yourself and do without ready-made sets components and mechanisms, fasteners, you need the diagram assembled according to which the machine will work.

Usually, having found schematic diagram devices, first model all the machine parts, prepare technical drawings, and then use them on the lathe and milling machines(sometimes it is necessary to use a drilling machine) components are made from plywood or aluminum. Most often, working surfaces (also called a work table) are plywood with a thickness of 18 mm.

Assembly of some important machine components

In the machine that you began to assemble with your own hands, you need to provide a number of critical components that ensure the vertical movement of the working tool. In this list:

  • helical gear – rotation is transmitted using a toothed belt. It is good because the pulleys do not slip, evenly transferring forces to the shaft of the milling equipment;
  • if you use a stepper motor (SM) for a mini-machine, it is advisable to take a carriage from a larger printer model - more powerful; old dot matrix printers had fairly powerful electric motors;

  • for a three-coordinate device, you will need three SDs. It’s good if there are 5 control wires in each, the functionality of the mini-machine will increase. It is worth assessing the magnitude of the parameters: supply voltage, winding resistance and motor rotation angle in one step. To connect each stepper motor you need a separate controller;
  • with the help of screws, the rotational movement from the motor is converted into linear. For achievement high precision, many people consider it necessary to have ball screws (ball screws), but this component is not cheap. When selecting a set of nuts and mounting screws for mounting blocks, choose them with plastic inserts, this reduces friction and eliminates backlash;

  • instead of a stepper motor, you can take a regular electric motor, after a little modification;
  • a vertical axis that allows the tool to move in 3D, covering the entire X-ray table. It is made from aluminum plate. It is important that the dimensions of the axis are adjusted to the dimensions of the device. In the presence of muffle furnace, the axle can be cast according to the dimensions of the drawings.

Below is a drawing made in three projections: side view, rear view, and top view.

Maximum attention to the bed

The necessary rigidity of the machine is provided by the bed. A movable portal, a rail guide system, a motor, a working surface, a Z axis and a spindle are installed on it.

For example, one of the creators of a homemade CNC machine made a supporting frame from Maytec aluminum profile - two parts (section 40x80 mm) and two end plates 10 mm thick from the same material, connecting the elements with aluminum corners. The structure is reinforced; inside the frame there is a frame made of smaller profiles in the shape of a square.

The frame is mounted without the use of welded joints (welded seams are poorly able to withstand vibration loads). It is better to use T-nuts as fastenings. The end plates provide for the installation of a bearing block for mounting the lead screw. You will need a plain bearing and a spindle bearing.

The craftsman determined that the main task of the self-made CNC machine was the production of aluminum parts. Since workpieces with a maximum thickness of 60 mm were suitable for him, he made the portal clearance 125 mm (this is the distance from the top cross beam to the work surface).

This difficult installation process

Collect homemade CNC machines, after preparing the components, it is better to strictly according to the drawing so that they work. The assembly process using lead screws should be performed in the following sequence:

  • a knowledgeable craftsman begins by attaching the first two motors to the body - for vertical axis equipment. One is responsible for horizontal movement milling head(rail guides), and the second for movement in the vertical plane;
  • a movable portal moving along the X axis carries the milling spindle and support (z axis). The higher the portal is, the larger the workpiece can be processed. But at a high portal, during processing, the resistance to emerging loads decreases;

  • For fastening the Z-axis motor and linear guides, front, rear, upper, middle and lower plates are used. Make a cradle for the milling spindle there;
  • The drive is assembled from carefully selected nuts and studs. To fix the motor shaft and attach it to the stud, use a rubber winding of a thick electric cable. The fixation may be screws inserted into a nylon sleeve.

Then the assembly of the remaining components and assemblies of the homemade product begins.

We install the electronic filling of the machine

To make a CNC machine with your own hands and operate it, you need to operate with correctly selected numerical control, high-quality printed circuit boards and electronic components (especially if they are Chinese), which will allow you to implement everything on a CNC machine functionality, processing a part of complex configuration.

In order to avoid management problems, homemade CNC machines have the following components among the components:

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

  • switching boards (controllers);
  • 36V power supply unit with a step-down transformer that converts to 5V to power the control circuit;
  • laptop or PC;
  • button responsible for emergency stop.

Only after this, CNC machines are tested (in this case, the craftsman will make a test run of it, loading all the programs), and existing shortcomings are identified and eliminated.

Instead of a conclusion

As you can see, it is possible to make a CNC that is not inferior to Chinese models. Having made a set of spare parts with the right size, having high-quality bearings and enough fasteners for assembly, this task is within the power of those who are interested in software technology. You won’t have to look for an example for long.

The photo below shows some examples of numerically controlled machines, which were made by the same craftsmen, not professionals. Not a single part was made hastily, with an arbitrary size, but fitted to the block with great precision, with careful alignment of the axes, the use of high-quality lead screws and reliable bearings. The statement is true: as you assemble, so will you work.

A duralumin blank is processed using CNC. With such a machine, which was assembled by a craftsman, you can perform a lot of milling work.

Another sample assembled machine, where a fiberboard board is used as a work table on which a printed circuit board can be manufactured.

Anyone who starts making the first device will soon move on to other machines. Perhaps he will want to test himself as an assembler of a drilling unit and, unnoticed, will join the army of craftsmen who have assembled quite a few homemade devices. Technical creativity will make people's lives interesting, varied and rich.