Site visitors are already familiar with this author. In particular, with his home-made “Magnetic levitation using a solenoid coil”.
In the process of working on that home-made, the master decided that he needed to make a device for winding coils.
This article will be about the manufacture of such a machine.
In the video below, from 1 minute 50 seconds, you can see an example of the operation of this device.
-PVC elbow Ø 42mm – 6 pcs;
-PVC crosspiece Ø 42mm;
-Two meters of PVC pipes Ø 42mm;
-PVC tee Ø 42mm – 12 pcs;
-PVC plug Ø4 2mm – 12 pcs;
-Drilling machine; -Drill 22 mm; -Haw; -Soldering accessories; -Scissors;
Step one: connection
The connection scheme is very simple. The wizard just connected the expansion board to the Arduino Uno R3 and connected the cables to 2 stepper motors. Two A4988 stepper motor drivers were also connected to the board in the X and Y positions.
There are 2 axes for winding the coils, which are called:
Feed (feeder) axis: connection to the X axis marked on the CNC board.
Spindle axis: connection to the Y axis marked on the CNC board.
Step two: bed
The master decided to make the base of the machine from PVC pipes. It's fast, inexpensive and + lightweight.
He assembled a square frame measuring about 480 x 480 mm.
The connecting pipes must be cut to a suitable length so that when joining an elbow to a tee or a tee to a tee, there is no gap between them. Thanks to this connection method, there will be no need to carry out any measurements or alignments later, because they are the same size and completely symmetrical to each other.
Step three: holes
Next you need to drill holes in 12 end caps. Hole diameter 22 mm. To install the bearings, the holes need to be flared a little with scissors.
To install the lead screw copper nut, the hole needs 8 mm.
Step four: feed axis
The feeder axis consists of 1 PVC tee and 1 cross made of PVC with mounted bearings and lead screw nuts.
In the tee, he installed a shaft with a diameter of 42 mm. If a suitable shaft is not available, plugs can be used.
To check the work, temporarily installed the node on the bed.
Step Five: Stepper Motor Assembly
Then I cut out an acrylic plate 100 x 230 mm in size, drilled 8 small holes to install 2 stepper motors on it. This acrylic plate will then be attached to the frame with PVC pipes. They also contain plugs and bearings.
Step six: spindle axis
The master from previously completed projects had several studs 16 x 8mm and he used them for the spindle shaft. Or you can use 200 x 8mm shaft rods as listed in the spec list.
An acrylic plate was installed on the main frame. Then I installed a 20 teeth pulley on the motors, a 60 teeth pulley to the spindle shaft, and a 200 mm belt.
The feeder axis was installed on the main frame. Its pulleys and belt were the same as the spindle axis.
Also installed 1 bolt on the main frame on the other side of the spindle axis.
Step Seven: Assembling the Bobbin Assembly a copper coil between the two plugs. The spool can rotate with a certain friction based on the tightening force.
An empty spool was also connected to the spindle shaft.
Step eight: tension roller
In the construction the master used steel L-supports for fastening 2 rubber rollers on one acrylic sheet, and then installed this idler idler on the feeder shaft.
A small steel tube with plastic rods from the handle at the ends was used to feed the copper wire to the spindle.
Finally, he connected the wires from the stepper motors to the board and the machine is ready.
The unwinding part can be set differently by adding another PVC elbow. It can be easily rotated to select the optimal feed direction.
Step nine: GRBL * and UGS **
* GRBL is software that allows control a CNC machine connected to an Arduino board (or analogs) via a USB port.
GRBL parameters for this reel winder are as follows:
$ 0 10.000 Step pulse time
$ 1 25.000 Step idle delay
$ 2 0.000 Step pulse invert
$ 3 0.000 Step direction invert
$ 4 0.000 Invert step enable pin
$ 5 0.000 Invert limit pins
$ 6 0.000 Invert probe pin
$ 10 1.000 Status report options
$ 11 0.010 Junction deviation
$ 12 0.002 Arc tolerance
Report in inches
0.000 < br> Soft limits enable
Hard limits enable
Homing cycle enable
Homing direction invert
$ 24 25.000 Homing locate feed rate
$ 25 500.000 Homing search seek rate
$ 26 250.000 Homing switch de-bounce delay
$ 27 1.000 Homing switch pull-off distance
$ 30 1000.000 Maximum spindle speed
$ 31 0.000 Minimum spindle speed
$ 32 0.000 Laser-mode enable
$ 100 600.000 X-axis travel resolution
$ 101 4800.000 Y-axis travel resolution
$ 102 250.000 Z-axis travel resolution
$ 110 500.000 X-axis maximum rate
$ 111 500.000 Y-axis maximum rate
$ 112 2000.000 Z-axis maximum rate
$ 120 5.000 X-axis acceleration
$ 121 5.000 Y-axis acceleration
$ 122 10.000 Z-axis acceleration
$ 130 200.000 X-axis maximum travel
$ 131 200.000 Y-axis maximum travel
$ 132 200.000 Z-axis maximum travel
The important parameters that need to be calibrated are highlighted in the table above.
The details of parameters 100 and 101 are discussed in the next step.
Acceleration parameters 120 and 121 must be set by a small amount, depending on the wire diameter, to prevent wire breakage.
** UGS is a full-featured gcode platform used to interface with advanced CNC controllers such as GRBL, TinyG, g2core and Smoothieware.
To configure the parameters, open UGS, select a port and a set of baud for 115200. Click on Connect on the tab.
Select a suitable position by moving the X axis to the left – right, rotating the Y axis clockwise – counterclockwise.
Set the initial coordinates with the Reset Zero button.
Step ten: principle of operation
This device works with cylindrical coils and is based on the GRBL firmware. To wind a copper wire, you need the following parameters (specific example):
Turn number: 1000.
Roll length: 47 (mm).
Original bobbin diameter: 27.7 (mm).
Wire diameter: 0.3 (mm).
Speed: 50 ( rpm).
Thus, you need to lay 1000 turns of wire with a diameter of 0.3 mm in layers on an empty spool with a length of 47 mm and an initial diameter of 27.7 mm.
Basic calculations are given below:
Number of turns per layer = coil length/wire diameter = 47/0.3 = 156.67.
Number of layers = Total number of turns/number of turns per layer = 1000/156.67 = 6.38.
Author's idea for use GRBL firmware is as follows:
Feeder axis: will move left and right in the range of 0 to 47mm, from 6.38 times, and its pitch/mm parameter is precisely defined according to the GRBL firmware. It will reverse when the spindle axis has rotated exactly 156.67, that is, when one layer is completed.
Spindle axis: will make exactly 1000 revolutions and then stop. Its setting in the GRBL firmware is STEP/rev. Note that this is Pitch/turns, not Pitch/mm.
Since the copper wire diameter is 0.3 mm, the feed axis will move between 0.15 and 46.85 mm (minus the wire radius by 2 edges).
Following the example above, there will be a total of 6.38 layers, so the last 0.38 layer (layer 7) has 0.38 x 156.667 = 60 revolutions. This means that the spindle axis will rotate 60 revolutions and the feeder axis will move by (60 * 0.3 – 0.15) = 17.85 s 0.15. Feeder movement rule:
Odd layer: from 0.15 to 46.85 (shift to the right).
Even layer: from 46.85 to 0.15 (left).
The winding device G-code can be written as follows with a feed speed of 50.
COMMENT G-CODE XY SPEED (Starting ... ...) G01 X0.1500 Y0.0000 F50.0000 (Layer 1 of 7) G01 X46.8500 Y156.6667 F50.0000 (Layer 2 of 7) G01 X0.1500 Y313 .3333 F50.0000 (Layer 3 of 7) G01 X46.8500 Y470.0000 F50.0000 (Layer 4 of 7) G01 X0.1500 Y626.6667 F50.0000 (Layer 5 of 7) G01 X46.8500 Y783.3333 F50.0000 (Layer 6 of 7) G01 X0.1500 Y940.0000 F50.0000 (Layer 7 of 7) G01 X17.8500 Y1000.0000 F50.0000
Feeder axis: value $ 100 was set to 600 Pitch/mm.
Spindle axis: This stepper motor had 200 steps per revolution and a 20-tooth pulley. It was connected to the rotation shaft via a 60-tooth pulley and a 1/8 microstep was included. So the value was set to $ 101: 200 x (60/20) x 8 = 4800 STEP/rev.
You can check if the spindle axis is working properly by using UGS and telling it to move 1mm. If it makes exactly one revolution, then the settings are correct.
At the top of the table above, the “G01” command commands the feed axis to move from 0.15 to 46.85, and the spindle rotates 156.67 revolutions.
(Starting ……) G01 X0.1500 Y0.0000 F100.0000 (Layer 1 of 7) G01 X46.8500 Y156.6667 F100.0000
Previously, the master was not familiar with the G-code, but after reading the manual, I realized that “G01 XYF” is a linear command in coordinates (X, Y) with a feed rate F, which means that the feed and spindle axes will be linear move together. In this case, the feeder will move to the end point 46.85, while the spindle will make 156.67 revolutions.
Step Ten: G-code for the winder
The wizard wrote a small program in Microsoft Excel to generate the G-code, and it works great with this device. Here you can change the input parameters: number of turns, coil length and diameter, wire diameter and speed to get the corresponding G-code.
After entering the required parameters, Excel will generate command lines containing the G-code. The wizard just copied them into Notepad ++ and opened it in UGS, and then launched the program.
G-code plots in UGS are linear lines with two end working points: 1000 mm and 46, 85mm in Y and X. As discussed in the previous steps, 1000mm in this case is 1000 revolutions since $ 101 is set as STEP/revolution (4800).
In Excel, he added a few more calculations in the “REPORT” field.
Total wire length.
Diameter after winding.
Step eleven: testing
The master tested copper wire with a diameter of 0.5 mm in 4 layers, and the total number of turns is 345, as shown below. The wire diameter entered in the Excel file must be slightly larger than the actual diameter, in this case: 0.545 mm. This is done because two adjacent turns of wire cannot touch each other exactly 100%, there is always a small gap between them.
Then he copied the G-codes from Excel to Notepad ++ and ran them in UGS.
Pay attention to how the bobbin winder works on the first layer. If there is a large gap between two adjacent turns, then in the second layer the copper wire will be placed in this gap and this will affect the entire construction of the coil.
If the user wants to get the perfect spool, then you need to pay attention to the fact that when the axis of the feeder changes direction, at this moment the wire can become entangled. You can add a G-code command to stop the device for a specified time, at each time the feeder is reversed, and make adjustments, for example:
G04 P5 (It makes the coiling winder stop for a specified time - 5 seconds in this case)