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
Пример #3
0
	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
Пример #4
0
	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
Пример #5
0
    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
Пример #6
0
    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
Пример #7
0
    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
Пример #10
0
	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
Пример #11
0
	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
Пример #12
0
	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