之一知足 发表于 2020-4-14 19:27 将400的值改为1800才能达到分辨率1度,但是这款晶振为11.0592mhz的单片机的定时器不能设置为20ms中断1800次,所以感觉无解 |
|
舵机频率固定的50HZ 中断服务函数//50us { t++; if(t<pwm)io=1; if(t>=pwm)io=0; if(t==400)t=0;//400*50us=20ms 50hz } 单片机能力所限吧,400这个值越大,细分度越高,控制精度越高 |
|
舵机50HZ的频率下,将PWM分的更细一点,应该是可以满足要求的 中断服务函数//50us { } |
疯子本人 发表于 2020-4-14 09:54 感谢你的回答,stm32我正准备学习中,但现在我做任务的要求是用晶振频率为11.0592mhz的STC15F2K60S2单片机编写,我再想想其他办法 |
1948594382 发表于 2020-4-12 14:17 TIM1_PWM_Init(9999,143);//不分频。PWM频率=72000/(899+1)=80Khz TIM_SetCompare2(TIM3,749+mosss*5);//实现一度旋转 其实不是纠不纠结的问题,我只是想告诉你,有些人会嫌换舵机成本的问题(时间成本、精力成本的问题),所以不会优先考虑换舵机,而是考虑改程序;当然换舵机可以实现也是一种可行的方法,我当时用STM32写的舵机一度是可实现的,甚至是0.5°,所以我是说可实现的,但是你换舵机也是好方法。 |
疯子本人 发表于 2020-4-10 16:21 为什么要纠结于舵机啊,不行就换一个行的不就好了吗?问题是代码写不写得出来,我能写出分辨率为3.6的程序,看网上写的程序控制分辨率都比我的大 |
1948594382 发表于 2020-4-10 10:22 RDS3115双轴数字舵机,是一款为机器人专门设计的数字舵机,扭矩15kg@6V(实际扭力17kg@7.2v),运行噪音低、平稳且线性度高,可控角度范围180度,断电可360度旋转,特别适合机器人的各关节活动。 使用说明: 该款数字舵机内部伺服控制板采用单片机MCU控制,这是相对于传统的模拟舵机的主要区别,但是控制方式是相同的,都是PWM脉宽型调节角度,周期20ms,占空比0.5ms~2.5ms的脉宽电平对应舵机0度~180度角度范围,且成线性关系。 与模拟舵机的最大区别是带位置锁定功能,给一次PWM脉宽,舵机输出角度可锁定,直到下次给不同的角度脉宽或者断电才可以改变角度(模拟舵机则不具有该功能, 模拟舵机要锁定位置需要不停的提供pwm信号). 另外控制精度高、线性度好,与控制协议严格一致,输出角度准确且响应速度快是数字舵机品质好的重要原因。通常舵机控制器采用500~2500数值对应舵机控制输出角度的占空比0.5ms~2.5ms的范围,这样该款数字舵机的控制精度理论值可达到0.09度,而实际由于舵机齿轮组间的间隙存在,该款舵机的最小控制精度能达到0.9度以下,相对于上位机软件滑竿控制量的最小调节单元值为10,舵机才有明显的转动反应。 舵机严禁过载, 堵转会有烧舵机电路板跟马达的的风险! 舵机RDS3115(含金属支架齿轮) 扭力15KG 转角270度 通用规范 温度范围:- 20°C~60° 工作温度范围:- 10°C~50° 工作电压:6V ~ 8.4V 。 这个是我在网上找的管与你这个型号的舵机的描述,这样来看的话,他是可以实现的。 |
疯子本人 发表于 2020-4-8 09:51 真的写的出来吗,我改用小数控制也失败了,0度到180度对应的是舵机脉宽范围:500-2500us,平均分180份后是1.11111111。。。。 |
1948594382 发表于 2020-4-7 19:34 你去找店家要资料呀,而且我看了下这舵机是数字舵机,精度可以达到0.9°,所以实现一次一度应该没问题的 |
| RDS3115双轴数字舵机,是一款为机器人专门设计的数字舵机,扭矩15kg@6V(实际扭力17kg@7.2v),运行噪音低、平稳且线性度高,可控角度范围180度,断电可360度旋转,特别适合机器人的各关节活动。 使用说明: 该款数字舵机内部伺服控制板采用单片机MCU控制,这是相对于传统的模拟舵机的主要区别,但是控制方式是相同的,都是PWM脉宽型调节角度,周期20ms,占空比0.5ms~2.5ms的脉宽电平对应舵机0度~180度角度范围,且成线性关系。 与模拟舵机的最大区别是带位置锁定功能,给一次PWM脉宽,舵机输出角度可锁定,直到下次给不同的角度脉宽或者断电才可以改变角度(模拟舵机则不具有该功能, 模拟舵机要锁定位置需要不停的提供pwm信号). 另外控制精度高、线性度好,与控制协议严格一致,输出角度准确且响应速度快是数字舵机品质好的重要原因。通常舵机控制器采用500~2500数值对应舵机控制输出角度的占空比0.5ms~2.5ms的范围,这样该款数字舵机的控制精度理论值可达到0.09度,而实际由于舵机齿轮组间的间隙存在,该款舵机的最小控制精度能达到0.9度以下,相对于上位机软件滑竿控制量的最小调节单元值为10,舵机才有明显的转动反应。 舵机严禁过载, 堵转会有烧舵机电路板跟马达的的风险! 舵机RDS3115(含金属支架齿轮) 扭力15KG 转角270度 通用规范 温度范围:- 20°C~60° 工作温度范围:- 10°C~50° 工作电压:6V ~ 8.4V |
|
https://forum.arduino.cc/index.php?topic=315211.0 一份arduino的资料,仅供参考 |
疯子本人 发表于 2020-4-7 16:53 型号RDS3115mg,就是在网上也找不到资料。。。 |
| 首先你得知道你的舵机的分辨率。。。有些舵机例如SG90是不能精确到1°的,只能到一点多°,你可以去看看,串口舵机比PWM舵机一般精确度高,有一些4096的pwm舵机例外,所以你首先得看看舵机能不能1°,再来考虑程序。 |