OpenEdv-开源电子网

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

用stm32 f407ZGT6写一个控制舵机的程序。中间,左边90度,右边九十度

[复制链接]

1

主题

6

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2017-10-18
在线时间
4 小时
发表于 2018-7-17 14:40:00 | 显示全部楼层 |阅读模式
1金钱
用stm32 f407ZGT6写一个控制舵机的程序。中间,左边90度,右边九十度。   新手刚入门,没有参考历程。希望大神帮忙

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-7-18 01:33:07 | 显示全部楼层
回复

使用道具 举报

10

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2018-6-30
在线时间
42 小时
发表于 2018-7-18 08:35:59 | 显示全部楼层
本帖最后由 shiyikuangxia 于 2018-7-18 08:39 编辑

可以参照PWM输出实验,修改PWM频率和占空比
我修改的,还没试,估计3.3v脉冲电压不一定行,需接一上拉电阻至5V电源,另外还要看一下PWM脉冲的极性对不对。

TIM14_PWM_Init(20000-1,84-1);//84M/84=1Mhz的计数频率,重装载值20000,所以PWM频率为 1M/20000=50hz.                                                           //TIM14_PWM_Init(2000-1,840-1);        //84M/840=100000hz的计数频率,重装载值2000,所以PWM频率为 100000/2000=50hz.            
   while(1)
        {
                 led0pwmval=1500; //直行
                //led0pwmval=150;
                TIM_SetCompare1(TIM14,led0pwmval);        //修改比较值,修改占空比
                delay_ms(3000);         
                led0pwmval=1200;//左转  
                //led0pwmval=120;
                TIM_SetCompare1(TIM14,led0pwmval);        //修改比较值,修改占空比
                delay_ms(3000);         
                led0pwmval=1800; //右转
                //led0pwmval=180;
                TIM_SetCompare1(TIM14,led0pwmval);        //修改比较值,修改占空比
                delay_ms(3000);         
        }





回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2017-10-18
在线时间
4 小时
 楼主| 发表于 2018-7-18 09:38:13 | 显示全部楼层
shiyikuangxia 发表于 2018-7-18 08:35
可以参照PWM输出实验,修改PWM频率和占空比
我修改的,还没试,估计3.3v脉冲电压不一定行,需接一上拉电阻 ...

想用按键控制舵机,key0右转,key1中间,key2左转,我只写了一个匀速来回180度的旋转
回复

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2017-10-18
在线时间
4 小时
 楼主| 发表于 2018-7-18 09:39:23 | 显示全部楼层

别别别,没钱没钱
回复

使用道具 举报

10

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2018-6-30
在线时间
42 小时
发表于 2018-7-18 09:58:30 | 显示全部楼层
本帖最后由 shiyikuangxia 于 2018-7-18 10:04 编辑
老萝卜 发表于 2018-7-18 09:38
想用按键控制舵机,key0右转,key1中间,key2左转,我只写了一个匀速来回180度的旋转

上面程序只是按时间运行,直行3s,左转3S,右转3S,如果想通过按键控制,加按键检测,然后通过按键状态改变led0pwmval的值即可,但要记住,左转 右转是需要时间的,虽然舵机动作只有0.1秒左右,但机身转过来也需要时间
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 19:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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