Building a DIY Arduino Yarn Ball Winding Machine | IE

2022-04-24 09:28:03 By : Mr. Jack Zhao

Need some yarn wound into a ball? Don't waste your time with manual labor, create an Arduino-gizmo to do it for you!

If the video player is not working, you can click on this  alternative  video link.

Do you have a ton of yarn that needs winding into yarn balls? Perhaps you don't have the time, or just can't be bothered to do it by hand?

Then why not make yourself an Arduino-powered yarn ball winding machine? Here's how...

But first, you will need some parts and equipment before you get stuck in. 

The first step is to cut out a piece of wood to form the base of the winder machine. Measure out using a tape measure, mark with a pencil, and cut out using a jigsaw or handsaw.

Next sand down the cut surfaces, and round the edges, if needed. Now, grab a pair of compasses and extend the arms to 1.5 cm (0.59 inches). 

Mark a cross in each corner of the piece of cut wood using the compasses. 

Now, grab one of your flange mounts, mark out the drill holes, as shown, and drill pilot holes through all of the pencil marks on the wooden base.

Now, grab your rubber feet, and affix to the wooden base using suitably sized bolts and nuts. Add one foot to each corner of the base. 

Now secure the flange mount to the holes we've marked and drilled. 

Next, grab another length of scrap wood. 

Cut down to size, cut again into two smaller lengths of wood, and sand as also shown in the video. Sand or cut one of the wood length's edges at an angle, as also shown in the instruction video. 

Now grab your pillow bearing. Place it on the non-angled edged length of cut wood, and mark out the drill holes, and central hole.

Also, mark out two holes near the top of the angled piece of wood too. 

Drill the holes as required. Widen the hole in the longer piece of wood to enable a flush fit for the bearing.

Insert the bearing as shown. Cut the pieces of wood down to size once again, as shown. No dimensions are available so you will need to measure twice and cut once a lot. 

These pieces of wood will be joined together to form a final angled piece. Glue the pieces together, as shown below.  

Next, 3D print, or have a friend print for you, the 3D parts needed. You can find the link to the models in the equipment list above. 

Next, cut down one of the 8mm rods to size, as shown in the video. Also, collect all the other parts needed to make the main winding mechanism. 

Secure the rod to the bearing, and place the bearing inside the readymade recess in the angled wooden piece. Next, place the 3D printed pieces onto the rod, and make sure it is flush with the bearing. 

Bolt all to the wood using suitably sized nuts and bolts. 

Next, add the conical 3D printed parts to the other side of the rod. 

Secure the winding mechanism to the flange on the baseboard. 

Test the mechanism at this point. It should move freely around the axle. 

Next, we'll put those  3D printed parts to use. We will also need those two ball bearings and the timing belt. 

Slip the timing belt around the 3D printed wheel, and insert the ball bearings into each end of the 3D printed tube—they should fit nice a snuggly inside the tube. 

Next, insert the 3D printed tube into the central hole of the 3D printed wheel. 

Next thread one of your threaded rods through the center of the plastic tube and the eyes of each of the ball bearings. Secure into place using nuts. 

The plastic tube, and disc, should rotate freely about the threaded rod, so test its action at this point too. 

Affix the yarn spool holder to the previously completed angle winding assemble you previously completed. The timing belt teeth on the plastic disc need to engage with the teeth of the uppermost conical 3D printed part, as shown below. 

Next, take the 3D printed stepper motor mounting plate, and mark out the drill holes on the wooden base. Drill the holes, as needed. 

Next, take the stepper motor, and secure it to the plate using suitably sized nuts and bolts. 

Attach and secure the timing pulley to the stepper motor axle. Next, take another timing belt, and connect the winding mechanism you completed earlier to the pulley on the stepper motor. 

You will also need to create four threaded rod struts to hold the stepper motor at the correct height. If needed, consult the video for details. 

Secure the stepper motor plate securely to the struts. 

Grab your custom PCB and microelectronic components needed for the next stage. Affix and solder all the required components, as shown below. 

Assemble the Adruino Nano and stepper motor driver module. 

Secure the PCB board to the main yarn winding machine's base using nuts and bolts. Next, connect the stepper motor to the PCB board. 

Now, grab your LCD screen and also wire that up to its respective connection points on the PCB board. Mount the LCD screen to the base of the machine. 

You can now also wire up and mount a rotary knob next to the PCB. This will enable you to incrementally increase or reduce the winding speed during operation. 

Next, create, or use existing, yarn feeders/guides, and attach one to the top of the stepper motor and another to the side of the base.  

Next, connect the Nano to a computer and upload the code required to make the machine do its thing. We have included the code at the end of this guide. 

With that, your yarn winding machine is effectively complete. Now just connect the power, and start her up for a test run.

Now, turn it off and thread some yarn through the eye of the feeder, and attach it to the yarn spindle using some adhesive tape. 

Now, just turn the machine on, set the winding speed, and let it rip. Happy days!

Here is the complete code. Simply copy and paste to the required program before uploading to your Nano.

#include <Wire.h> #include "rgb_lcd.h" rgb_lcd lcd; #include <Arduino.h> #include "BasicStepperDriver.h"

#define MOTOR_STEPS 200 #define DIR A0 #define STEP A1 #define knob A2 int val = 0; #define MICROSTEPS 16 BasicStepperDriver stepper(MOTOR_STEPS, DIR, STEP);

Serial.begin(9600); lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print ("YARN BALL WINIDIGN"); lcd.setCursor(0, 1); lcd.print ("MACHINE"); lcd.clear(); }

val = map(analogRead(knob),0,1023,0,100); stepper.begin(val, MICROSTEPS); stepper.rotate(360); lcd.print ("WINDING");

Interesting Engineering is a participant of the Amazon Services LLC Associates Program and various other affiliate programs, and as such there might be affiliate links to the products in this article. By clicking the links and shopping at partner sites, you do not only get the materials you need but also are supporting our website.

By subscribing, you agree to our Terms of Use and Privacy Policy. You may unsubscribe at any time.

By subscribing, you agree to our Terms of Use and Privacy Policy. You may unsubscribe at any time.