AI 自動運転 DonkeyCar pigpioでPWM

  • PWMをラズパイのGPIOから出力する

      PCA9685 基板が不要となる
      I2Cが空くので OLED が使用可能

  • ラズパイGPIOピンとサーボ&ESCを接続する3Pコネクタ2個を設置

    サーボの信号線(3Pコネクタの白)に接続
    GPIO13
    33番ピン
    
    ESCの信号線(3Pコネクタの白)に接続
    GPIO18
    12番ピン
    

  • サーボとESCの接続

      サーボの電源 と ESCの電源 を接続(3Pコネクタの赤)
      サーボのGND と ESCのGND をラズパイのGNDに接続(3Pコネクタの黒)

  • プロポ受信機の電源

      ラズパイの 5VとGND に接続


  • mycar/myconfig.py を変更
    DRIVE_TRAIN_TYPE = "PWM_STEERING_THROTTLE"
    
    PWM_STEERING_THROTTLE = {
    
    	"PWM_STEERING_PIN": "PIGPIO.BCM.13",
    
    	"PWM_STEERING_SCALE": 1.0,
    
    	"PWM_STEERING_INVERTED": False,
    
    	"PWM_THROTTLE_PIN": "PIGPIO.BCM.18",
    
    	"PWM_THROTTLE_SCALE": 1.0,
    
    	"PWM_THROTTLE_INVERTED": False,
    
    	"STEERING_LEFT_PWM":    PWM_MIN   /(1000000/4096/(1000/20)),
    
    	"STEERING_RIGHT_PWM":   PWM_MAX   /(1000000/4096/(1000/20)),
    
    	"THROTTLE_FORWARD_PWM": PWM_MIN   /(1000000/4096/(1000/20)),
    
    	"THROTTLE_STOPPED_PWM": PWM_CENTER/(1000000/4096/(1000/20)),
    
    	"THROTTLE_REVERSE_PWM": PWM_MAX   /(1000000/4096/(1000/20)),
    
    }
    

  • projects/donkeycar/donkeycar/parts/actuator.py を変更

      258行目
      self.output = pulse * 200
      を
      self.output = pulse * self.freq
      に変更

  • pigpiod

      ターミナルを開いたときに pigpio のデーモンを起動する
    sudo pigpiod
    


    このページのトップに戻る
    トップページに戻る