My Contribution
Z-axis hardware integration
For machine design assignment, my contribution is in Integrating the z-xis into the plotter.
First the wire pinout of the small stepper is identified and connected to a gestalt node.
Z-axis Software integration
Using the Python vertual machine file fab2017.py, the following modification was made to add a z axis
Under definition initiation row:
def initControllers(self):
self.zAxisNode = nodes.networkedGestaltNode('Z Axis', self.fabnet, filename = '086-005a.py', persistence = self.persistence)
self.xyzNode = nodes.compoundNode(self.xAxisNode, self.yAxisNode, self.yAxisNode )
This will tell the virtual machine to expect a z-axis during initiation
Next add z-axis to the kinematics initiation and function rows:
def initKinematics(self):
self.zAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(True)])
def initFunctions(self):
self.move = functions.move(virtualMachine = self, virtualNode = self.xyzNode, axes = [self.xAxis, self.yAxis,self.zAxis ], kinematics = self.stageKinematics, machinePosition = self.position,planner = 'null')
This command will move the stepper motor
moves = [[10,10,10],[20,20,10],[10,10,10],[0,0,0]]
The follwing move commands will drawing a square
moves = [[0,0,10],[0,0,0],[0,10,0],[10,10,0],[10,0,0],[0,0,0],[0,0,10]]