如何控制舵机的初始化角度的速度很快的问题

2019-07-20 05:15发布

在程序一开始要对机械臂位置进行初始化(也就是初始化所有舵机的角度),我是用STMF407的芯片控制,命令是TIM_SetCompare1(TIM5,1832);但是初始化速度太快,用延时函数也不行。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
shiyikuangxia
1楼-- · 2019-07-20 05:46
 精彩回答 2  元偷偷看……
ultraelec
2楼-- · 2019-07-20 10:34
能不能加个标点符号断下句。
通过你的描述,只能大概理解你的意思:
(可能是开机上电)在初始化舵机位置时,希望舵机缓慢打到预设角度。
如楼上所说,是个办法。但是有前提,就是你得知道当前舵机位置。
如果你的舵机能够获取到舵机位置就简单了。
可以用循环做,循环体中也可以增加适当延时,然后逐步增加/减小  占空比即可。
如果你获取不到当前舵机位置,比如上电前舵机被外力改变位置,就不好办了。
只能减小舵机电压,但觉得也仍然会比较快。
Leven175
3楼-- · 2019-07-20 11:33
 精彩回答 2  元偷偷看……
Leven175
4楼-- · 2019-07-20 16:19
shiyikuangxia 发表于 2018-9-12 10:37
分两步走或多步试试,例如要左转60度,先转30度,延时后再转30度。一般我们要求舵机响应速度要快,但有时零 ...

现在是因为上电前角度不一定,如果知道就好办。
edmund1234
5楼-- · 2019-07-20 17:14
本帖最后由 edmund1234 于 2018-9-12 16:13 编辑

初始值 A,当时值 B, 目标值 C
B=A+1

定时10ms 中断更新

B +=1+(C-A)>>2;
if (B>=C){
  B=C;
TIM 停止, TIM中断停止
}

红 {MOD}部分的参数为可调参数

Leven175
6楼-- · 2019-07-20 17:55
 精彩回答 2  元偷偷看……

一周热门 更多>