Week 12: Machine Week

CAD and Assembly

I first helped with the CAD design and assembly of our design. Since Jake provided designs in Fusion 360, I was able to import in his PGD model and edit the parameter to shorten the base. Since our machine was only going to be 24 inches long, I shortened the base and the interlocking pieces.

I helped laser cut most of the pieces and also set up a few 3D prints including the connector pieces, pulley holder, and the carriage. I first laser cut our machine pieces in cardboard to make sure that our CAD was correct. I found a few missing holes (artifacts from importing Jake's design) so I had to add in these holes in Fusion, carefully line up the already cut acrylic pieces, and recut in our laser cutter. The larger laser cutter in the EDS was out of commission so all of our cutting was done with the 75 watt laser which slowed down the work slightly.

Software

I also helped with the software side of the work, mostly interfacing with cuttlefish. I first tried to connect my laptop to a stepper motor and try to get it to respond to "saying hi" through the web browser.

One of the major issues my team ran into was that our router got fried. We tried to then program the stepper motor boards directly without going through the router, but the web GUI was not finding our stepper boards. After talking with Jake, we realized that the firmware needed to be reflashed to tell the stepper motor boards to listen to the computer instead of the router board. Once we solved that problem, we were able to find the router board in cuttlefish.

Even after this, the team was still having trouble getting the stepper motor board to move the carriage. The stepper would physically lock, but would not move. We reached out the CBA shop for help. Thanks so much to Zach, Camron, and the rest of the CBA for their help!

We learned that we were very close to getting our stepper motor to move and were able to quickly get the stepper motor to move to specific positions.

Since my laptop was one of the few machines that could consistently run cuttlefish, we decided to do most of the programming on mine. I cloned the EECS version of cuttlefish which had the hunks that were developed for our drinking machine. Without a router, we needed two machines to start the program simultaneously. My machine was responsible to controlling the stepper motor that moved the carriage. To set this up, we tested many different positions of the stepper motor until we found the position that moved the cup directly under each of the liquid pumps. This positions went into the positions dictionary defined in the javascript that would tell the cup to move to a specific location as defined in the drink recipe. My laptop was used in the demo which thankfully went very well.

For more details, see our class page.