基于OpenMV的远程抛射系统设计与实现

基于OpenMV的远程抛射系统设计与实现
作者:李嘉明 温梓南 冯建 徐操喜
来源:《电脑知识与技术》2022年第01期
        摘要:该文结合机器视觉技术和电子控制技术,设计了一款基于OpenMV的远程抛射系统。该系统包括直流降压电源模块、OpenMV模块、舵机模块、电容充放电模块、继电器模块,系统能识别摄像头所拍摄图像内的目标块,并自动完成抛射方向的校准和弹丸的发射。实验数据表明,抛射炮口与目标参考点在水平方向上分别偏移了15°、30°、45°时,系统均能完成自动追踪,并能精准抛射到预定目标点。
        关键词:机器视觉;电子控制;OpenMV;舵机;自动追踪
        中图分类号:TP301 文献标识码:A
        文章编号:1009-3044(2022)01-0131-03
        常规物体抛射器发射装置的动力来源于火药燃气或压缩气体,采用这种动力进行抛射,存在着安全系数低、动力输出不可控等问题。电磁炮可以利用电磁能推动物体运动[1],在动力抛射器中用电磁驱动方式代替压缩气体或者火药燃气,能显著提高安全性能。与传统的火药推动的大炮相比,电磁炮可大大提高弹丸的速度和射程。
        目前,国内的电磁炮技术正在逐渐发展,但是仍存在精度不够等问题[2]。设计小型化
、便携式的智能电磁炮,具有一定的现实意义[3-5]。本文主要对模拟电磁炮的控制系统进行研究,运用图像处理的相关方法,扫描并识别摄像头监控范围内的目标,实现电磁抛射器自动、精准地锁定抛射方向。
        1 系统总体设计
        系统总体设计可分为抛射系统机械部分的设计和硬件控制部分的设计。
        机械设计部分由缠绕了若干线圈的PVC管、亚克力材质的支架、磁性弹丸组成。这种电磁炮属于线圈炮,以同步线性马达的方式将磁性抛射物加速到极高的速度,炮管内的弹丸获得足够大的动能并被发射出去。
        硬件控制部分由直流降压电源模块、OpenMV模块、舵机模块、电容充放电模块、继电器模块组成,设计框图如图1所示。其中,OpenMV模块的主控芯片是STM32F767,并且板载一个摄像头,摄像头能够实时读取当前所拍摄的画面,主控芯片检测到后,识别目标并计算目标点坐标轴偏移量,输出PWM驱动舵机转动,摄像头也随之转动,当摄像头对准目标参考点后,主控芯片输出控制信号改变继电器的状态,触发大电容放电,使绕制在PVC管上的线圈产生交变电流,从而将弹丸发射出去。
        2 系统硬件设计
        2.1 直流降压电源模块
        直流降压电源模块负责为OpenMV模块、舵机模块、继电器模块供电,将9V电池提供的输入电压转换成5V输出电压,用作系统的电源。所选的直流降压模块主芯片是广泛应用于航模的电源管理芯片MP1584EN,可分为输出电压可调和输出电压固定两类。本文所选用的直流降压模块属于输出电压固定为5V,输入的直流电压范围为7V-28V。因为模块内有稳压芯片AMS1117,所以输出电压有5V和3.3V两种。
        2.2 OpenMV模块
        OpenMV是一个开源的机器视觉模块,以STM32F767为主控芯片,拥有丰富的硬件资源,引出UART,I2C,SPI,PWM,ADC,DAC以及GPIO等接口方便扩展外围功能。OpenMV还集成了OV7725摄像头芯片,内置了C语言实现的核心机器视觉算法,并提供了Python编程接口,支持micropython的语法。内置的机器视觉算法包括寻块、人脸检测、眼球跟踪等,可用来实现非法入侵检测、产品的残次品筛选、跟踪固定的标记物等应
用场合。在OpenMV开发板上进行开发无须专用的下载器和调试器,板上的USB接口可用于连接电脑上的集成开发环境OpenMVIDE,协助完成编程、调试和更新固件等工作。
        2.3 舵机模块
        舵机模块的型号是mg995,属于数码舵机,工作电流100mA,工作电压3V-7.2V,工作扭矩为13kg/cm,具有三根输出线,分别是接电源正极、电源负极、信号线。信号线与单片机的I/O引脚相连接,接收单片机发出的PWM控制信号。舵机的控制一般需要一个20毫秒的时基脉冲,该脉冲的高电平部分一般为0.5毫秒~2.5毫秒。高电平部分持续的时间越长,则占空比越大,舵机转动的角度也越大。因此,通过控制单片机I/O引脚输出不同占空比PWM信号,可以驱动电机转动不同的角度,以达到调整炮管指向的目的。
        2.4 继电器模块
        本系统采用工作电压为5V的电磁继电器,来实现对电磁炮弹丸发射的控制需求。OpenMV模块的一个输出引脚经过限流电阻接入三极管的基极,当该输出引脚输出低电平时,三极管基极的输入电压趋近于0V,三极管截止,继电器线圈无电流流过,继电器处于
释放状态。反之,当控制引脚输出高电平时,三极管导通,此时足够大的电流流过继电器线圈,继电器衔铁处于吸合状态,改变输出端触点的连接,从而使大电容放电,弹丸瞬间获取足够大的动能发射出去。
        2.5 电容充放电模块
        电容充放电模块上有两个按键,分别是S1和S2,使用单独的电池给大电容提供电能,配合直流升压电路完成大电容的充电过程。充电时,需按下开关按鍵S1导通电路,大电容开始充电。当大电容充满电后,可使用手动控制或者自动控制启动大电容的放电过程。手动控制即按下按键S2,大电容迅速放电为线圈充能,使炮管中的弹丸获得足够的动能而发射出去。自动控制是结合OpenMV和继电器模块来完成,发射弹丸时OpenMV改变相应输出引脚的电平信号,改变继电器触点的接通状态,实现与手动按下按键S2相同的效果。
        3 系统软件设计
        3.1 系统软件总设计

本文发布于:2024-09-21 01:24:00,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/90138.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   输出   抛射   继电器   电容   控制   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议