Exercise 11 Machine design


Requirement


For a more detailed documentation of our group project, check out the group page.

MTM Group Page »




Planning

Like the week for Mechanical Design, none of us has programming background. Therefore we have decided that for this week Machine Design, whatever decisions made it has to be group decision and each one of us will still contribute, participate and collaborate as an individual.

Workload Distribution

Before we proceed to work on automating the machine, the group has met, discuss and distribute the workload as follows for this week machine design:


Links to my team-mates' contribution:

My contribution

In this group project on machine design, I was involved in the following area:


Program and Test out in Ubuntu platform

As my Laptop is the only one with 16GB memory to run both windows 10 and Ubuntu concurrently among our team member, so I have since week 9 got the unbuntu python environment ready and started on the testing for single axis and then three axis. Esentially, the python coding is independant of the OS platform. The only trick here is the definition of port connecting to FTDI interface.

As such I first power up the virtual machine and run ubuntu then after coonected the Gestalt node and stepper motor through the FTDI, I then use the command of lsusb to check whether there is a FTDI device connected to my Ubuntu system.


Checking whether there was any FTDI device connected


Communicating with the stepper motors

Modifying the example files found in ~\pygestalt-master\examples\machines\htmaa\, I was able to test the system, and ensure that my computer is able to talk to the machine. These are the changes I've made:

  def initInterfaces(self):
    if self.providedInterface: self.fabnet = self.providedInterface   #providedInterface is defined in the virtualMachine class.
    else: self.fabnet = interfaces.gestaltInterface('FABNET', interfaces.serialInterface(baudRate = 115200, interfaceType = 'ftdi', portName = '/dev/ttyUSB0'))
    
  

Defined the communication portName in python programmew


With that I started my one axis testing and a video clip was recorded as follow:

Testing one axis stepper motor movement in Unbuntu

With the success of testing of one axis movement, I then move on to the two axis testing by running the following command in Ubuntu.


Testing two axis stepper motor movement in Ubuntu

As we our machine will need to work with three axis movement, naturally I move on to the testing by running the following command in ubuntu.


Testing three axis stepper motor movement in Unbuntu

Connecting the MTM Kit and Test Run on the Axis


Our MTM Kit consist of the folllowing



Connecting up the MTM Kit

Testing the Axis


Using Nadya's hbotplusz.py as reference, we study the program code for the important function and also modify to suit our machine in python.

Drawing and test out the machine


I began the test with a simple square.

A square

Drawing of simple Square


After our machine succesfully plotted a simple square I decided to test out the pen lifting capability, to draw a square within a bigger square. First up, I have to sketch the coordinates for a square within a bigger square on paper, calculate the coordinate for the design and then multiply accordingly to be used in the python code as it was mm.

Two Squares Drawing


Drawing of Square within a square



Coordinate in Manual - Two Square

Website Documentation - Poster Design

While taking photo for most of our activities during the group discussion, I was also taking some short video clips that was later being edited by Louis into our presentation video as shown in our mtm group page. While at the same time, I had design the MTM page presentation slide and saved into poster.png file as shown in the snapshot below.

Presentation slide saved as PNG format