[STM32F4] 【NUCLEO-F446ZE】分享_串口+SG90舵机

[复制链接]
 楼主| mark0668 发表于 2016-4-10 13:46 | 显示全部楼层 |阅读模式
本帖最后由 mark0668 于 2016-4-10 13:49 编辑

有幸中了一块板子,感谢21、感谢21的活动!

下面就用这开发板来驱动串口和SG90舵机(某宝上一大堆这种舵机几块钱一个)。
1.jpg

要驱动这舵机记得要有稳定的电源(我采用的是外部的电源,注意这开发板的电源电流不够是不能够正常驱动的)

2.jpg

我们来看一下舵机的驱动原理,上图可以看到舵机需要一个20MS 周期的PWM来驱动的,驱动舵机的有效占空比为0.5ms-2.5ms(0-180度方向的)

接下来我们就用CUBE来生成我们的工程很方便,移植等等也都很方便,目前使用的版本为4.14.0  F4库为1.11.0   


0.jpg

1.选择开发板对应的型号

3.jpg

2.选择外部时钟(当然内部时钟也行习惯了用外部的时钟。。。),我们就用定时器2的通道4来做PWM(输出口为PB11)。

4.jpg

3.(由于开发板有自带的串口,开发板做通信很方便)选择串口3来做数据通信接口。

5.jpg

4.选择外部时钟,主频就跑最高的了180M的运行速度这是F4的亮点,主频很高

6.jpg

5.定时器2的PWM设置,定时器2的时钟最高为90M,所以就分频(89+1=90),
自动重载值为(19999+1=20ms),设置PWM初值为500US(因为舵机的有效值为500-2500),有效电平为高电平。

7.jpg

6.串口的设置很简单波特率为115200,其它默认就行了。

11.jpg

7.都设置好之后点击生成工程代码,我使用的是KEIL5 所以版本就选 KEIL5了。点击OK生成工程。

9.jpg

8.打开生成的工程,添加以上几句代码就可以驱动舵机了。

10.jpg

9.打开串口调试工具,设置好波特率数据发送的是HEX(不是字符型),随便发送一个数据看看下面的效果。

21.jpg

22.jpg

23.jpg

工程源代码在附件有需要的就下载。

NucleoF446Motor.rar

3.39 MB, 下载次数: 15

springvirus 发表于 2016-4-10 13:54 | 显示全部楼层
顶顶楼主~~
mmuuss586 发表于 2016-4-10 15:50 | 显示全部楼层

不错,好好努力;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

422

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部