舵机不受控制?

您所在的位置:网站首页 美的fz1015brw通电不会转 舵机不受控制?

舵机不受控制?

2024-03-27 23:52| 来源: 网络整理| 查看: 265

市场舵机大体分为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