[#31] All Tied Up

When: 15 July 2019, 1pm
Members present: All

Today we have a special guest in lab – Ozone!

Ozone enjoying his time in M&T lab with the minis. 

Here’s what we plan to do today under Ozone’s supervision:

  1. Assemble our yarn tension set-up (with feeding spool)
  2. Complete our slides for Update #4 tomorrow
  3. Testing speed of new Arduino code (which controls both jabbing stepper motor and feeding spool stepper motor)

Also, since we were running low on our stock of needles, we went out to Daiso to replenish our needle (and yarn) supply.


NEW | Feeding Spool

The first thing we did today was to design an feeding spool in Fusion360. The spool was designed similar to a normal thread spool, except with a hole on one end to attach it to the feeding spool stepper motor.

Set-up of yarn tension mechanism. 

We tested the feeding spool movement with the stepper motor, and it worked well (although it was too fast for our application)! One thing we noticed was that if there was no tension at both ends, the turning of the motor would not feed out the yarn consistently.


REPRINT | Yarn Feeder Mk XII

We collected our Yarn Feeder Mk XIII (printed last Friday, [#30]) only to find that there was a tiny ridge on the inside of the feeder which caused the needle movement to become not so smooth. Thus, we redesigned our yarn feeder to eliminate this ridge, and printed Yarn Feeder Mk XIII again.

Yarn Feeder Mk XIII.


Troubleshooting | Testing speed of new Arduino code

After finishing our slides, we went back to troubleshooting in the lab. The issue: while the additional Arduino controller could control both the jabbing stepper motor and the feeding spool stepper motor, it would only run both motors at the same speed, which is not what we want. Ideally, the jabbing stepper motor should be rotating continuously at a moderately high speed, while the feeding spool stepper motor should be rotating at regular intervals and by small angles.

We managed to get the feeding spool stepper motor to rotate at regular intervals and by small angles, but the jabbing stepper motor didn’t run at all. On the other hand, when we got the jabbing stepper motor to run continuously, the feeding spool stepper motor didn’t run at all. It seemed like we couldn’t get the best of both worlds; we had to choose between the movement of either the jabbing stepper motor or the feeding spool stepper motor.

With some help from Guo Yao, we managed to get both the stepper motors running together at their individual ideal speed, but the motion of the jabbing stepper motor was no longer smooth.

Initially, we thought that maybe the speed of the stepper motor was too fast. Therefore, we tried to increase the pulse on the jabbing stepper motor driver. We experimented with different pulse settings on the jabbing stepper motor and different RPM value on the Arduino code. However, the jerky motion of the jabbing stepper motor still exists.

Eventually, Guo Yao and Vanessa came to the conclusion that Arduino is not able to fully read and understand the code when combined. Indeed, there are Arduino libraries and codes out there that are able to power and run multiple stepper motors simultaneously. However, these stepper motors were all running at the same RPM, which makes these libraries and codes unsuitable for ours.

So Vanessa suggested a solution, which is to connect the feeding spool motor to the “extruder motor” port of our printer’s Ramps 1.4 while leaving the jabbing stepper motor connected to our separate Arduino controller.

The reason for this solution is that Marlin is able to control the speed of the stepper motor that is connected to the Extruder/E0 port by modifying the steps per axis. By using a lower step value, the speed of the feeding spool stepper motor will be reduced. The downside to this method is that we are not skilled enough to modify Marlin such that the feeding spool stepper motor rotates in a staggered manner. Thereby, preventing full mimicking of the manual action of loosening the yarn tension. Nonetheless, this should not be much of a big problem so long as the feeding spool stepper motor is functioning at a slow speed while loosening the yarn. On the Arduino side, we left our jabbing stepper motor there because Marlin was previously unable to cause it to run continuously. Therefore, a separate Arduino controller is used to allow constant rotation of the jabbing stepper motor to bring about undisrupted jabbing from the very beginning of the print. Moreover, the good thing is we already obtained the ideal speed for jabbing on Arduino previously, Therefore, by using 2 different platforms (firmware – Marlin and software – Arduino), we are able to control both stepper motors and allow them to operate at different speeds.

Testing feeding spool stepper motor as part of printer Ramps 1.4

IT WORKS!!!

We couldn’t get it to do our ideal motion of rotating by a specific angle at regular intervals, but at least we got it rotating smoothly at a slow enough speed.

Testing jabbing stepper motor controlled by Arduino on its own

After making sure that the feeding spool stepper motor works, we modified the code for Arduino to get the jabbing stepper motor to run properly on its own. It took a bit of trial and error, but we managed to get it to rotate continuously at the correct speed.

Here’s the Arduino code that we used:

(INSERT CODE)

Since the jabbing stepper motor was now connected to a different controller, we could prevent the problem of the needles breaking. By allowing the stepper motor to run continuously from the very beginning of the print job, any movement along the X-/Y-axis will not result in needle breakages, similarly to what happens during a print job (where the needle jabs continuously as the sewing module moves).

Putting everything together

Since everything works individually, we decided to put everything together to test how the system works as a whole!

The first try didn’t work – for some reason the yarn wasn’t felting properly into the bed. So we tested again without the automatic yarn tension mechanism (so we changed the tension manually), and the yarn still didn’t felt properly. Thinking the problem might be due to the new yarn feeder (Mk XIII) that we printed, we tried again with an older model, Yarn Feeder Mk XII.

Yarn Feeder Mk XII worked well with manual tension, as it previously did. The following test prints were all done using the older yarn feeder, though we’re not exactly sure what the issue with the new yarn feeder was (maybe the yarn-catch region was too short?).

Number of turns around feeding spool Yarn feeding (good/okay/bad) Cornering (good/okay/bad)
0 bad bad
1 bad okay
2 bad NIL

Note: good = manages to do this consistently; okay = manages to do this sometimes; bad = does not manage to do this at all.

We tried again, this time with a slower speed for the feeding spool stepper motor.

Number of turns around feeding spool Yarn feeding (good/okay/bad) Cornering (good/okay/bad)
1 okay okay

We noticed the yarn was just slipping around the rotating spool, rather than turning along with it. However, when we increased the number of turns around the spool to 2 or more turns, there was a tendency for the yarn to re-coil around the spool instead of feeding out. To solve this problem, we increased the friction of the spool by wrapping it with sandpaper.

Even with just one turn around the spool, the increase in friction resulted in the same problem as increasing the number of turns to 2 or more turns – the yarn re-coiled around the spool instead of feeding out. However, by manually removing the yarn from the spool, we managed to get a decent print (3 out of 4 good corners!).

We tried to change the friction by wrapping the feeding spool with masking tape instead of using sandpaper. This improved the yarn feeding slightly as the yarn didn’t re-coil around the spool, but we only managed to get 2 out of 4 good corners. The yarn also did not feed consistently, possibly because the speed was too high. We reduced the speed from 100 to 50 and tried again with the same spool, and with some human intervention (we uncoiled the yarn that re-coiled around the spool) we got a print that was not too bad!

(insert photo of print from masking tape spool)

However, when we tried to print again without human intervention, the print failed because the yarn re-coiled around the spool and didn’t uncoil itself.

We tried using a rubber band on top of the masking tape in hopes that it would catch the yarn properly. Again, we faced the issue of the yarn re-coiling around the spool and not uncoiling itself. Evidently, the issue isn’t so easy to solve.

We then shifted the main yarn spool closer to the feeding spool, and tried again without the rubber band and without human intervention. We got a pretty decent print, but not our ideal.

(insert photo of decent print) 


Securing the tubing away from the yarn spool

While we were testing the yarn tension mechanism, the tubing was hitting the yarn spool. To rectify this, we manually held the tubing away from the yarn spool. However, Guo Yao came up with the genius idea of using a clip and some yarn to hold the tubing above one of the aluminium profile pieces. This solved our issue of the tubing hitting the spool, and helped our print run more smoothly. THANK YOU GUO YAO!!

The floating tubing. 


Things to do from here on

We’ll be ending off here for today, but there’s still much that we need to do to improve our embroidery machine. Here’s some things that we’ll be working on for the last two weeks of M&T:

  1. Refine the yarn tension mechanism
    • Testing out different feeding spools (diameter, material, screw threads, etc.)
    • Varying the distance of main spool from feeding spool
  2. Organise the wires (right now it’s messy and may be dangerous)
  3. Secure the styrofoam base (makeshift clips are not very secure)
  4. Try to print something more interesting (other than a square)

Hopefully we can get things working soon! 🤞🏻

Leave a Reply