舵机不受控制? |
您所在的位置:网站首页 › 美的fz1015brw通电不会转 › 舵机不受控制? |
市场舵机大体分为360°舵机和180°舵机。 如果你的舵机一直在旋转,丝毫没有停下来的意思。那么,你手上的舵机很有可能是360的舵机。 给他一个固定占空比信号,想控制他旋转到一个固定角度。(这是180舵机控制方法),该方法不可以用来控制360舵机。 360度舵机与180°舵机的区别是:给180°舵机一个PWM信号,舵机会转到一个特定角度,而给360度舵机一个PWM信号,舵机会以一个特定的速度转动,类似与电机。但与电机不同的是,360舵机是闭环控制,速度控制稳定。 接下来我来讲解360度的舵机控制方法: (前提是一个周期为20ms的)PWM信号与360舵机转速的关系 0.5ms----------------正向最大转速; 1.5ms----------------速度为0; 2.5ms----------------反向最大转速; 与180度舵机比较,需要明确的是360度舵机无法像180度舵机一样控制角度,它只能控制方向和速度。 下面是代码: tim.c:配置pwm周期:(我用的是tim2,时钟72M) htim2.Instance = TIM2; htim2.Init.Prescaler = 7199; htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 199; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;main.c: HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);//开启pwm输出 //正转90° __HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,5);//舵机正向旋转 HAL_Delay(90); __HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,15);//舵机停止 //反转90度 __HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,25);//舵机反向旋转 HAL_Delay(90); __HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,15);//舵机停止通过控制旋转时间就可以控制舵机的旋转角度啦。 注意:舵机的工作电压5v,不可3.3V供电。还有就是注意接线。 舵机的控制还有问题的话,欢迎留言。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |