Beispiel #1
0
 def __init__(self, cfg):
     # PWM settings
     FREQ = 60.0  # Set frequency to 60 Hz
     self.pwm = PWM(0x40, debug=False)
     self.pwm.setPWMFreq(FREQ)
     pulseLength = 1000000  # 1,000,000 us per second
     pulseLength /= FREQ  # 60 Hz
     pulseLength /= 4096  # 12 bits of resolution
     self.pulseFactor = 1000 / pulseLength  # millisecond multiplier
     # Tested Servo range
     self.pulsecenter = float(cfg['turret']['pulsecenter'])
     self.pulserange = float(cfg['turret']['pulserange'])
Beispiel #2
0
class ServoDriver :

    def __init__(self, cfg):
        # PWM settings
        FREQ = 60.0  # Set frequency to 60 Hz  
        self.pwm = PWM(0x40, debug=False)      
        self.pwm.setPWMFreq(FREQ)
        pulseLength = 1000000                   # 1,000,000 us per second
        pulseLength /= FREQ                       # 60 Hz
        pulseLength /= 4096                     # 12 bits of resolution
        self.pulseFactor = 1000 / pulseLength	# millisecond multiplier
        # Tested Servo range
        self.pulsecenter = float(cfg['turret']['pulsecenter'])
        self.pulserange = float(cfg['turret']['pulserange'])

    def move(self, servo, position):  
        if -1 < position < 1:   #movement range -1...0...1
            pulse = self.pulsecenter + (position*self.pulserange) 	# w/in range from middle
            pulse *= self.pulseFactor		# ~120-600 at 60hz
            self.pwm.setPWM(servo, 0, int(pulse))
Beispiel #3
0
class ServoDriver:
    def __init__(self, cfg):
        # PWM settings
        FREQ = 60.0  # Set frequency to 60 Hz
        self.pwm = PWM(0x40, debug=False)
        self.pwm.setPWMFreq(FREQ)
        pulseLength = 1000000  # 1,000,000 us per second
        pulseLength /= FREQ  # 60 Hz
        pulseLength /= 4096  # 12 bits of resolution
        self.pulseFactor = 1000 / pulseLength  # millisecond multiplier
        # Tested Servo range
        self.pulsecenter = float(cfg['turret']['pulsecenter'])
        self.pulserange = float(cfg['turret']['pulserange'])

    def move(self, servo, position):
        if -1 < position < 1:  #movement range -1...0...1
            pulse = self.pulsecenter + (position * self.pulserange
                                        )  # w/in range from middle
            pulse *= self.pulseFactor  # ~120-600 at 60hz
            self.pwm.setPWM(servo, 0, int(pulse))
Beispiel #4
0
 def __init__(self, cfg):
     # PWM settings
     FREQ = 60.0  # Set frequency to 60 Hz  
     self.pwm = PWM(0x40, debug=False)      
     self.pwm.setPWMFreq(FREQ)
     pulseLength = 1000000                   # 1,000,000 us per second
     pulseLength /= FREQ                       # 60 Hz
     pulseLength /= 4096                     # 12 bits of resolution
     self.pulseFactor = 1000 / pulseLength	# millisecond multiplier
     # Tested Servo range
     self.pulsecenter = float(cfg['turret']['pulsecenter'])
     self.pulserange = float(cfg['turret']['pulserange'])