def initKinematics(self): self.xaAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.xbAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.yAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.zAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.extruder = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.stageKinematics = kinematics.direct(4) # direct drive on all axes self.extruderKinematics = kinematics.direct(1) # direct drive on extruder (though frankly I want velocity control, not position control)
def initKinematics(self): self.xAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(2), elements.invert.forward(False)]) self.yAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(2), elements.invert.forward(False)]) self.zAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(2), elements.invert.forward(False)]) self.kAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(2), elements.invert.forward(False)]) self.stageKinematics = kinematics.direct(4) #direct drive on all four axes
def initKinematics(self): #TODO: is this correct? self.aAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.bAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.cAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.stageKinematics = kinematics.direct(3) #direct drive on all axes
def initKinematics(self): self.aAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(True)]) self.bAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.gAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) #creates a identity matrix with the order of three self.stageKinematics = kinematics.direct(3) #direct drive on all axes
def initKinematics(self): # drive components of h-bot. Inputs are A/B stepper motors, outputs are X/Y in machine coordinates. # elements.elementChain.forward( # microstep => input microstepcount -> 1/microstepCount -> steps # stepper => input stepAngle (degrees) -> stepAngle/360 -> revolutions # pulley => input pitchDiameter (mm) # invert => if it is inputted backwards. false = its correct connection]) self.xAxis = elements.elementChain.forward([ elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(2.03), elements.invert.forward(False) ]) self.yAxis = elements.elementChain.forward([ elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(2.03), elements.invert.forward(False) ]) self.zAxis = elements.elementChain.forward([ elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(True) ]) xyKinematics = kinematics.hbot( invertX=True ) #defines an h-bot, add invertX = True, invertY = True if needed zKinematics = kinematics.direct(1) #direct drive for the z axis compoundKinematics = kinematics.compound( [xyKinematics, zKinematics]) #combines into a 3x3 matrix self.stageKinematics = compoundKinematics
def initKinematics(self): self.aAxis = elements.elementChain.forward([ elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(36), elements.invert.forward(True) ]) self.stageKinematics = kinematics.direct(1) #direct drive on all axes
def initKinematics(self): self.xAxis = elements.elementChain.forward([ elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(360), elements.invert.forward(False) ]) self.stageKinematics = kinematics.direct(1) #direct drive on all axes
def initKinematics(self): self.polarAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(100), elements.invert.forward(False)]) # the argument to pulley.forward is the diameter of the circle that the button poker travels in # one full revolution of the poker is a coordinate of the diameter of the circle it travels in, times pi self.y1Axis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.y2Axis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.stageKinematics = kinematics.direct(3) #direct drive on all axes
def initKinematics(self): self.xaAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.xbAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.yAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.zAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.extruder = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(False)]) self.stageKinematics = kinematics.direct(5) # direct drive on all axes
def initKinematics(self): # drive components of h-bot. Inputs are A/B stepper motors, outputs are X/Y in machine coordinates. # elements.elementChain.forward( # microstep => input microstepcount -> 1/microstepCount -> steps # stepper => input stepAngle (degrees) -> stepAngle/360 -> revolutions # pulley => input pitchDiameter (mm) # invert => if it is inputted backwards. false = its correct connection]) self.xAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(2.03), elements.invert.forward(False)]) self.yAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.pulley.forward(2.03), elements.invert.forward(False)]) self.zAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(8), elements.invert.forward(True)]) xyKinematics = kinematics.hbot(invertX = True) #defines an h-bot, add invertX = True, invertY = True if needed zKinematics = kinematics.direct(1) #direct drive for the z axis compoundKinematics = kinematics.compound([xyKinematics, zKinematics]) #combines into a 3x3 matrix self.stageKinematics = compoundKinematics
def initKinematics(self): self.aAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(360), elements.invert.forward(False)]) self.bAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(360), elements.invert.forward(False)]) self.stageKinematics = kinematics.direct(2) #direct drive on all axes
def initKinematics(self): self.xAxis = elements.elementChain.forward([elements.microstep.forward(4), elements.stepper.forward(1.8), elements.leadscrew.forward(6.096), elements.invert.forward(True)]) self.stageKinematics = kinematics.direct(1) #direct drive on all axes