Exercise 10: Machine design

Our Idea for a Machine

Once we had the machines assembled the machine we needed to be able to hook it so that we could do something with it. Our idea was to combine the two machines to make a shaker/agitator, in other words the machine would work in opposition to shake an object on the stage. While this may not seem to be ground breaking use of the modular machine, an agitator is an important piece of lab equipment for doing cell staining in biology work or in engineering etching boards.

Making the bridge boards

The first thing we needed to do was create a fabnet bridge board so that we could power the Gastalt boards. I obtained the eagle cad file for the fabnet here . Using the Eagle Cad file I downloaded I milled the board using the Othermill. I then soldered on the components wires according to the board layout shown below

The six pin connector is a USB cable that will provide interface for our gestalt nodes. The low and high refer to the power inputs, low is 7.5v (for running other things such as lamps) and the high is 12v for the high (for running the motors). Because we will only be running motors I did not solder a jumper for the low. The other jumper will send power and data to our Gastalt nodes So next we needed to hook up our gestalt nodes to our bridge board. One thing that Nadya's page emphasized was not hooking up the power to the gestalt nodes until it is time to run them otherwise they will become damaged.

Getting Python, Pyserial and Pygestalt

Once the bridge board was made it was time to start programming our Gestalt nodes. But before we could do this we needed to install python and then pyseral and pygestalt.

Pyserial is a library that works within Python and allows enable communication between the computer and the gestalt boards. Richard click here job was to figure out how to install pyserial and has good documentation on how to install pyserial. I used his documentation to install pyserial. Instruction are also here and here

Pygestalt also works within python and enables control control multiple machines in an easier interface. (Gestalt comes of course from the German school of psychology that posited that what the brain perceives is greater than the sum of the inputs). It basically enables the Gestalt nodes to be daisy-chained together to control multiple machines. This is core of what the modular machine is about. By having the pygestalt and the gestalt nodes a machine that uses multiple motors can easily be constructed because as I understand it the pygestalt makes controlling two or 20 machines equally easy, in other words the machine itself can get more complex but the programing to control the machines does not increase in complexity as machines are added. Pygestal can be installed here.

Programming the Agitator

David here documented how we used text editor to changed the code in pygestalt so that our machine would act as an agitator. The first line of code that we changed was ln 25 which needed to be changed to USB port. The other was ln 77 which controls how the motors move as well as enabling to work in loop as we did here. Tom's job was to get the code working for the Gestalt nodes. Tom figured on that the four numbers in ln 77, [20],[40],[10],[0], control the stepper motors but we’re not sure how each number controlled the motor. Through trial and error we figured out that the four values allow you to move the motors along the axis as well as change the velocity and duration. Tom added a loop to the code so it would change how long it repeated the back and forth behavior for agitation. Functionally what this did was allow the speed spread of the stepper motors to ramp up and down thus creating the shaking motion.

The last thing we needed was to make something to hold the test tubes. Our holder made from an empty sandwich box was not elegant but it worked. The other thing we needed to add were counter weights in the tract of the upper motor so that the machine stayed stable. For this function it would obviously be better to use shorter tracks since the motor is only moving a very small distance. The video below shows our agitator in action.

Final Thoughts

At a purely functional level besides using shorter tracts, cardboard is probably not a good material because even with the relatively little weight we put on the stage and short period we used it we could already see visible wear.

More significantly, as far as acting as an agitator, the modular machine is probably overkill because a shaker does not really require precise movement. I could see uses that more fully use the potential of the modular motor. For example it would be awesome to use as part of a auto-pipetter.