折腾了2个晚上无刷电调(ESC),电机终于转起来了,特此记录一下 |
您所在的位置:网站首页 › 如何解锁油门 › 折腾了2个晚上无刷电调(ESC),电机终于转起来了,特此记录一下 |
昨天折腾了一个晚上电机就是一直每隔两秒钟响一次,意思就是没有收到任何油门信号。 我只把电调的信号线接到树莓派上的pwm引脚上,只接了这一根线。所有问题都因为这一根线引的货。 切记:一定要把电调信号线的gnd线接上要不然根本没法设定行程。 要注意几个问题: 1.首次接通电调必须设定行程,行程设定过程中可能会出现连续急促的 滴,滴,滴,滴,大概有N声,这是因为油门行程设置最低点的时候油门最低点的值太低了,我这里用30的占空比来设定最低行程 2.最好使用400hz频率来设置,因为400hz的周期是2.5ms ,而电调的中油门的范围是1.0-20ms之间,请看好了,是之间。也就是1.1-1.9ms 所以400hz频率是最接近这个范围的,当然你也可以测试更高的频率. 3.电调必须接上电机,然后在通电,单接电调是无法调试的(写给小白) 4.行程设定过程中,是必须限设置油门上限,然后在设置油门下限。油门上线设置成功会有2声连续的"哔哔 ",然后这时候是设置油门下限,设置成功会有两声连续"哔哔"和一声长的哔,到此设定完成
motor_pin = 12;GPIO.setup(motor_pin, GPIO.OUT); motor = GPIO.PWM(motor_pin, 400) def myprint(msg): sys.stdout.write(msg+"\n"); def changePower(power): motor.ChangeDutyCycle(0.002/(1.0/power*100)) motor.start(0) #最高油门设定,这里最高油门的占空比是96motor.ChangeDutyCycle(96)#changePower(90)time.sleep(3);myprint("hight is finish"); #最低油门设定 占空比30motor.ChangeDutyCycle(30)#changePower(10)time.sleep(6); #motor.ChangeDutyCycle(0)#changePower(10)#time.sleep(3); myprint("low is finish"); #设定完毕,测试油门,一点一点增加for dc in range(20, 80, 1): motor.ChangeDutyCycle(dc) myprint("dc:"+str(dc)) time.sleep(0.3); #time.sleep(10)motor.stop() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |