OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4553|回复: 4

SG90舵机信号不稳定,一直旋转,无法旋转正常角度

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2021-12-18
在线时间
5 小时
发表于 2021-12-31 09:27:16 | 显示全部楼层 |阅读模式
1金钱
使用实验9 PWM输出实验的源码改编,仅main函数改动。
战舰板,STM32F103ZE ,采用TIM3输出PWM2波形,SG90电压5V,信号接PB.5口,

0.5ms--------------0度;

1.0ms------------45度;

1.5ms------------90度;

2.0ms-----------135度;

2.5ms-----------180度;

买的360°舵机

https://detail.tmall.com/item.htm?id=41248626148&spm=a1z09.2.0.0.7ac72e8dnWat3h&_u=vk4p85h3e01

问题1:占空比调节大部分都是一直转个不停,去掉while(1)循环也会一直转,不知道是不是因为一个计数周期会产生多个波形叠加起来了?

问题2:偶尔也会出现45°、90°转动,但是占空比数值和20000的arr也无法成比例,不知道各位大神怎么配置的??我只想做成转一次,转指定角度。

问题3:用KEil仿真调试的波形占空比是处于正常的。比如90° 1.5ms,在20ms的周期里,占空比7.5%,20000-(20000*7.5%)=18500,设置上这个数值,第一次可以转大约90°,后面再擦除后重写就没反应了。



int main(void)
{               
         
        delay_init();                      
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);  
         TIM3_Int_Init(1999,719);;
        TIM3_PWM_Init(1999,719);         // 20ms定时器
           while(1)
        {
                                                                                  
                TIM_SetCompare2(TIM3,Compare_value);
                delay_ms(500);       
                delay_ms(500);       
/*
        当Compare_value=18100-18700 逆时针旋转,每+100,速度减慢;  
                当Compare_value=19200-18500 顺时针旋转,速度基本不变;  
*/

        }         
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2020-3-15
在线时间
28 小时
发表于 2021-12-31 09:38:36 | 显示全部楼层
不要循环先,先能单次调角度先
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2021-12-18
在线时间
5 小时
 楼主| 发表于 2021-12-31 09:41:31 | 显示全部楼层
本帖最后由 lsbywzh 于 2021-12-31 09:45 编辑
STM32TSZ 发表于 2021-12-31 09:38
不要循环先,先能单次调角度先

while(1)循环注释掉,舵机还是会一直转这是什么原因呢?算出来的占空比没法达到应该到的角度,不知道是不是我算错了。
arr-(arr*定时器百分比)=CNT。
回复

使用道具 举报

12

主题

3387

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8638
金钱
8638
注册时间
2020-5-11
在线时间
4090 小时
发表于 2021-12-31 10:28:04 | 显示全部楼层
本帖最后由 LcwSwust 于 2021-12-31 10:35 编辑

按我理解,360°舵机不就是应当一直转吗?
1.5ms相当于停止,偏离越远转速越快。
不是程序的问题,是舵机没选对,一般的180度舵机就好。
傲游截图20211231103532.jpg
专治疑难杂症
回复

使用道具 举报

2

主题

592

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
金钱
1458
注册时间
2019-7-28
在线时间
137 小时
发表于 2022-1-10 12:30:51 | 显示全部楼层
帮顶            
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-20 18:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表