本帖最后由 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(不是字符型),随便发送一个数据看看下面的效果。
工程源代码在附件有需要的就下载。
|