欢迎光临散文网 会员登陆 & 注册

FPGA实现SG90舵机控制及运动目标跟踪

2023-04-05 23:34 作者:莫奈印象中的睡莲  | 我要投稿

一、SG90简单控制

sg90舵机
sg90原理图
sg90舵机工作原理

舵机内部有一个基准电路,产生周期为20ms、宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。经过电路板IC方向判断,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到位。

舵机转动的角度是通过调节PWM信号的占空比来实现的。标准的PWM信号的周期固定为20ms,理论上脉宽分布应该在1ms到2ms之间,实际上在0.5ms到2.5ms之间,脉宽与转角0°—180°相对应。不同厂家不同型号的舵机也会有所差异。

FPGA按键控制舵机转动代码(因为板子PL端只有两个按键,所以只设置了左右两个方向):

二、运动目标跟踪

帧差法运动目标检测代码参考 B站UP主大磊FPGA (板子:正点原子领航者7020)

block design在运动目标检测基础上加了自动拍照存入SD卡、检测到运动目标自动提示、摄像头搭舵机上实现上下左右转动自动跟踪

block design

舵机自动跟随运动目标转动模块代码:

该模块输入为目标框的中心点坐标及目标有效信号(检测到运动目标),先比较目标坐标与中心点坐标大小,再相减是否超过屏幕中心为中心的100正方形范围。若超过,则根据方向加减0.005ms脉冲宽度去使目标框中心坐标趋近屏幕中心。最后根据占空比和计数值之间的大小关系来输出pwm,实现摄像头跟踪运动目标转动。

FPGA实现SG90舵机控制及运动目标跟踪的评论 (共 条)

分享到微博请遵守国家法律