打印
[STM32F4]

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

[复制链接]
1177|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 mark0668 于 2016-4-10 13:49 编辑

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

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


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



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

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




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



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



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



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



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



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



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



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



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







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

NucleoF446Motor.rar

3.39 MB

沙发
springvirus| | 2016-4-10 13:54 | 只看该作者
顶顶楼主~~

使用特权

评论回复
板凳
mmuuss586| | 2016-4-10 15:50 | 只看该作者

不错,好好努力;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

417

帖子

2

粉丝