基于视觉系统瞄准的电磁炮-Arduino中文社区 - Powered by Discuz! Archiver

xp2xp 发表于 2019-3-25 14:17

基于视觉系统瞄准的电磁炮

本帖最后由 xp2xp 于 2019-4-28 23:24 编辑

基于视觉的电磁炮
一、整体构造完成版的整体构造如下图。
其中基座部分采用“全方位蜂巢云台”(http://www.dfrobot.com.cn/goods-1058.html),在上面分别安装了两个云台,分别用于搜索目标和瞄准目标。
使用“RosBot机器人主控板”(https://item.taobao.com/item.htm?spm=a1z10.1-c.w5003-16507481177.2.7a92f97f08xHVH&id=551011963085)作为各舵机的控制枢纽。使用“树莓派3B”作为主控部分,识别图像和距离,并判断如何瞄准定位,将图像投射到屏幕上。使用“带功放喇叭模块”(http://www.dfrobot.com.cn/goods-1228.html)播放配乐。二、各功能模块1、基座采用舵机调整瞄准镜和炮口。2、瞄准(位置/距离检测)功能使用小MU和53L0X进行目标物位置和距离判定。由于小MU和53L0X都可以使用IIC连接,因此可以将两个器件并连起来。
3、驱动板(下位机)使用RosBot通过IIC读取瞄准器的信息,通过GPIO进行舵机和继电器的控制。基本代码通过Arduino编写。
4、主控单元(上位机)使用树莓派做为主控单元,和下位机通过命令字进行交互。通过识别图像和距离,进行瞄准。5、电磁炮发射装置采用升压电路(考虑到儿童使用安全,升压至30V)给电容充电,由充满电的电容向电磁线圈放电,由磁力射出“子弹”。6、瞄准装置所谓瞄准装置,其实就是一个激光管,在充电阶段可以指向目标(附近)。7、电源树莓派要求为usb供电,rosbot主控使用5V供电,电磁炮采用升压后的供电。
8、系统框图9、业务流程

三、代码1、协议命令字定义上位机和下位机交互命令字如下:由上位机发送命令,下位机仅做响应,包括3个部分:1)舵机控制包括四个舵机,分别驱动瞄准器的方位角、俯仰角,基座的方位角,发射器的俯仰角。例如:#o150,150,150,150设置4个舵机均为150,无响应字。2)IIC信息读取读取小MU和53L0X的信息,命令字为i,响应字包括距离distance、位置x,y,颜色color。例如:#i3)继电器控制控制电磁炮发射的充放电、辅助瞄准激光的开启关闭等,命令字为l。例如:#l0,0使能激光器和继电器(低电平有效)。无响应字。2、下位机代码3、上位机代码
四、开发心得1、缺陷这个电磁炮系统的核心是小MU视觉板,但这个视觉板相对比较“近视”,在目标物直径3cm时,有效的瞄准距离只有20cm,我试图加过镜头,但效果不明显。小MU使用确实极大程度化简了视觉系统的开发,可以识别出图像(在这套系统中,目标物选择为红色的苹果和绿色的西瓜)。53L0X测距似乎抖动有些偏大,因此瞄准距离计算并不是特别精确。2、焊接心得这个系统中用到焊接的地方不多,只是将电容和电压表焊接到一起、小MU和53L0X焊接到一起,我所说的心得无非是烙铁头的选择,因为不慎将小MU的接口烫坏,重新进行了粘贴修复,因此,建议大家如果进行类似操作,务必选择合适的烙铁,细小器件最好用尖头焊接,焊接时选择固定架子夹牢后再操作,烙铁温度切勿过高。3、器件选择、机电安装心得1)电磁线圈的选择我曾自行进行了线圈的绕制,效果其实不错,但由于手工绕制,及时涂上树脂胶,仍然非常不稳定(直接散架),因此选择了现成的电磁阀线圈。2)电容选择理论上电容容量应该是越大越好,但实际上考虑到电压并不太高,由于“子弹”加速路程短,在电容容量过大时,反吸的情况很严重,经过测试0.1F左右是比较合适的(我使用了两个0.047F的并联)。3)舵机选择舵机真的可以说是1分钱1分货,用的铜芯的舵机明显精度高于塑料电机。在装配时,应先让舵机“归零”后再进行装配,防止由于阻挡让舵机不能旋转到正确位置,造成舵机“空烧”,事实上,我在调试中就因为这个原因烧毁了一个舵机。4、UI开发心得使用pygame开发界面。大约是树莓派本身性能原因,界面并没有在windows下流畅,但动画效果基本可以提现出来。由于开发的课题是“基于视觉系统瞄准的电磁炮”,意思就是机器视觉,而不是人的视觉,因此人为的介入越少越好,在本系统中,人为输入只需要两次:1)手工输入命令行:python gui.py2)用鼠标选择苹果或者西瓜
完成视频如下:调试中链接:https://pan.baidu.com/s/1VWIJfSPpZWNTZoG8aqQKTA 提取码:8o08 完成2链接:https://pan.baidu.com/s/10XKmBIvU_fKxE4Pi1goWPQ 提取码:tqjd


难道是关怀 发表于 2019-8-3 12:12

请问大佬要控制充电和线圈放电的继电器要多大电压的呢?

xp2xp 发表于 2019-8-4 06:50

难道是关怀 发表于 2019-8-3 12:12
请问大佬要控制充电和线圈放电的继电器要多大电压的呢?

就用普通的啊,我是用5V低电平控制就够了啊,如果你电压比较高,为了防止打火,建议用光继电器,比如东芝TLP3547,现在好多网站都在免费送。。。
页: [1]
查看完整版本: 基于视觉系统瞄准的电磁炮