[#28] Revolutionary Driving (going nuts!)

When: 10 July 2019, 9:45am
Members present: Carissa, Claudia, Vanessa

Yesterday Vanessa and Guo Yao helped us to configure the printer settings for our embroidery machine in Simplify 3D, and tested printing with the gcode formulated by Simplify 3D. It went really well, so for the rest of this week we’ll be improving on that!


Here’s a recap of what we intend to do today:
1. Replace bent needle with new needle (morning)
2. Replace needle holder with the latest one we print out (morning)
3. Test print with Simplify 3D again and see if it really can finish a print job without jamming (morning)
4. Test out new stepper motor (afternoon)
5. 3D design LA mount/bracket (afternoon/evening)
6. Add in External tube for the internal tube above the LA module because the internal tubing is being scraped off now from the wear and tear (afternoon/evening)
7. Tidy up new embroidery base (evening/Thursday morning)


Problems 1 and 2 | Replace bent needle and needle holder

Nothing much to say about this, we just replaced the Needle-tubing Connector Mk IV with Needle-tubing Connector Mk V (designed in [#26]). To save time, we replaced the bent needle along with the needle holder.


Problem 3 | Test print with Simplify 3D again

 

The amazing outline of a square with perfect corners!

 

We tried printing out a square again – this time the outline went really well, with no problems even at the corners. However, when it started printing the inner lines, the yarn was not captured at all 😭 We speculated that it could be either due to incorrect yarn tension or the acceleration being too high.

So, we tried to modify the yarn tension by changing the position of the yarn spool, and allowing the spool to rotate freely on its own.

 

New arrangement of the yarn spool – note that we tried to raise it above the top of the printing module. 

 

We tested this using a triangle, which we managed to run completely because it was really small. Our needle broke at the end of the print job, probably because the needle was not lifted above the surface before it returned to its home position. We modified our end code to add a line (G1 Z40 F3000) to move the needle upwards before returning to home position so that the needle would not break after the print is done.

Unfortunately we had to replace the needle again 😢 The new yarn spool set-up also increased the tension too much, so we’re back to adjusting the tension by rotating the spool manually.

Guo Yao helped us to adjust settings on Simplify 3D to decrease the acceleration by:

  1. Changing the acceleration from 60.0 mm/s to 40.0 mm/s; and
  2. Changing the extruder multiplier from 1 to 2.

By doing this, we intended to decrease the acceleration for the inner lines so that there will be more time for the yarn fibres to become entangled with the felt. However, when we tested it out, the machine jammed. This was most likely because of the change in extruder multiplier, as Vanessa noted that the same issue occurred yesterday when the extruder multiplier was changed.

Afterwards we test-printed two circles: one with an outline and rectilinear infill, and the other without outline (only rectilinear infill). We printed the one with outline first, which started off okay, but after a certain point the needle stopped piercing through the yarn. This was confusing because the last time Vanessa tried to print the circle it could print all the way around.

We changed the base from the harder white styrofoam base to the more porous foam board and tried again. This time, we printed the circle with no outline.

The more porous foam board was too bouncy and the yarn didn’t stick well. The circle without the outline also looked more like a blob than a circle.

We changed back to the harder white styrofoam base, and tried to test-print a circle with 12 shell layers with concentric circle infill.

 

What the concentric circle print looks like when sliced in Cura; actual print was sliced in Simplify 3D, but looks almost identical. 

 

Like the previous circle print, it started off well but after a certain point, the needle stopped piercing the yarn. So, we decided to decrease the diameter of the hole at the bottom of the needle and yarn feeder from 2 mm to 1.75 mm, in the hopes that making the hole smaller would increase the chance of the needle piercing the yarn. Claudia made some changes to our current yarn feeder design, and quickly sent it for printing.

 

Our lovely pink yarn feeder!


Yarn Tension Issue

Claudia came up with the idea of looking through the Disney paper again to see how we should fix the yarn tension issue. We found that Disney also faced two issues:

  1. Even small amounts of tension on the yarn feed creates a tendency for the previous felting location to “pull out”; and
  2. Feeding the yarn continuously creates felting path which “bunch up” instead of being smooth.

We’ve seen both of these happen with our own prints as well: the corners weren’t felted onto the yarn correctly (“pulled out”), and the circle print coming out more like a blob (“bunched up”) rather than a circle.

Even though the problems we faced were the same as Disney’s, we couldn’t use their solution (using a feed-lock mechanism to control to yarn tension) because the movement of our machine is continuous rather than discrete. So, we came up with a solution which involves controlling the yarn tension continuously by attaching a motor to the spool, so that the spool can be rotated continuously at a controlled speed.


Problem 4 | Test out new stepper motor

While Carissa set about designing the various parts needed for the new yarn tension mechanism, Claudia and Vanessa went to test out the new, more powerful stepper motor and driver. In the process of setting up the stepper motor, Tony taught Claudia and Vanessa (who called Carissa down to try out also!) how to strip the wires and coat the stripped ends with solder to prevent the wires from oxidising.

 

Vanessa, doing the soldering with maximum concentration.

 

After preparing the wires, Tony helped to connect the wires to the female pins on the stepper driver to make a closed loop. The closed loop helps to run a feedback mechanism, so that the driver always knows what position the motor is at. With this feedback mechanism, the stepper motor should (technically) never miss a step.

 

The stepper motor (black cuboid) and the stepper driver (blue piece) connected in a closed loop with black wires.

 

The stepper driver would then need to be connected to our computer (Ramps 1.4) by connecting to E0EN (enable), E0-DIR (direction) and E0-STEP (steps) (corresponding to PUL, or pulse, on our driver) pins, as well as the ground pin. We assigned different colours for each pin to distinguish them from the other stepper motors on our board:

  • White: E0-EN
  • Grey: E0-DIR
  • Black (-)/Purple(+): E0-STEP (ground)

Each pin on our Ramps 1.4 board was connected to a female pin labelled as + on the stepper driver (except the black wire, which was connected to PUL-), and the female pins labelled as – were connected together using shorter jumper wires.

A rough connection diagram, based on the actual connections we made.

Afterwards, Tony connected our stepper motor and driver to a new power supply to test the motor. At first the stepper motor didn’t run, but after Tony changed the position of the pulse pin (E0-STEP) on the Ramps 1.4 board, the motor ran smoothly!

Next came the real test – whether the motor would run if we ran a print. With Tony’s help, we loaded in the circle print (same as earlier), and watched the motor run. The motor ran very slowly, but at least it works! From here, we need to test out the high speed motion of the motor by adjusting the settings before we can replace our current stepper motor with the new one.

 

Pulse/revolution Sw3 Sw4 Sw5 Sw6 Max Flow Rate Worked/Failed
51200 off off off on 100 Failed 🙁
12800 off on off on 999 Worked!
5000 off off on off 999 Worked!
3200 off off on on 999 Worked!
2000 off on on off 999 Worked!
1000 on on on off 999 Worked!

It works! 🎉

 

Note from Tony: Pulse/revolution means the number of pulses needed for each revolution. This means that the higher the value for pulse/revolution, the lower the speed.

Unfortunately, when we mounted the new stepper motor onto our machine, the machine just jerked – our set-up couldn’t handle 12800 pulse/revolution. Even moving down to 3200 pulse/revolution, the machine couldn’t run smoothly. However, when we lowered it to 1000 pulse/revolution, the machine didn’t run at all.

At 2000 pulse/revolution, the machine could finally run properly!! We managed to increase the flow rate up to 500, making the needle jabbing speed really really fast.

 

SPEEDY! (Running at 2000 pulse/rev, flow rate of 500)

 

Vanessa helped to edit the Marlin code (again). She changed the #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 50000 } back to the original setting of { 80, 80, 400, 500 }. With this setting, we should be able to use the higher speeds of the stepper motor without manually changing the flow rate on our computer controller.

With this change, we tried to run the stepper motor at its highest setting (51200 pulse/rev), but the motor did not run at all. Trying to decrease the value gradually, we found that the motor would only run starting from 12800 pulse/rev, similar to our above findings. However, with the steps per unit set back to the original setting, the motor ran very slowly. 🙄

So we slowly increased the steps per unit until this setting: #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 160000}, which we found was the ideal setting for our motor to be able to run fast enough without having to manually change the flow rate (i.e. flow rate still 100).

We managed to increase it to #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 7000000} BUT a big problem is that our Ramps 1.4 keeps restarting. One of the lab personnel mentioned that it could be because of integer overflow, meaning the machine cannot interpret the number entered, which made it restart repeatedly.

In the end (after a little scolding from Tony), we decided to keep the firmware setting to #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 3000} and slowly adjust the pulse/rev value.


Back to the yarn tension issue!

By the end of the day, Carissa helped to come up with our first design for the coupler to connect a stepper motor to our yarn spool so that we can control the yarn tension continuously.

 

 

Coupler Mk I, based on the coupler design which we printed out from Thingiverse in [#9]


Main Home Back Piece

The last thing we did today was to modify the back piece of the main home. The design was mostly the same as the previous piece, except that instead of having counterbores for attachment to the yarn feeder, Claudia modified it such that there would only be a through hole. This would prevent from the inner portion of the screw from printing too thinly, which happened when a counterbore structure was used.

(insert picture of Back Piece Mk VII model on 360)

 

Main Body Mk VII (back piece).

 

We left this piece to print overnight, and enjoyed a dinner of fried chicken 🍗 Till we meet again tomorrow!

Leave a Reply