1、 设计目标
PC端通过串口助手向FPGA发送16
进制的角度值,FPGA控制舵机转动对应的角度值。 2、 模块设计
(1)串口接收模块
本设计中串口通信的波特率为115200
,MiniStar开发板的时钟频率为27
MHz,通过时钟分频来实现115200
波特率的数据接收。在空闲状态rx为高,在识别到低电平的起始信号后波特周期的中间开始数据的读取,8
bit的数据读取完成之后,将读取的8bit数据传输给舵机控制模块,作为舵机控制的目标角度。 (2)舵机控制模块
舵机控制模块首先判断串口模块接收的角度值是否在舵机可转动角度范围内,根据所要转动的角度值,以最小精度改变输出PWM信号的占空比使舵机转动角度达到目标角度。该模块具体根据目标角度与当前角度进行对比,若还未到达目标角度,则以最小精度改变pwm信号的高电平时间,累计达到1°的角度变化时当前角度变化1°,直到达到目标角度。
3、 实现效果
通过串口助手向FPGA发送任意的16进制的角度值,舵机转动对应的角度值,当输入角度值大于舵机转动范围时,舵机转动角度回到5°位置。
工程源码
工程源码.rar
(57.79 KB)
(下载次数: 19, 2021-5-17 13:41 上传)