版本协议

OpenAtom OHL 1.0

标签
专业版
#第11届立创电赛#基于TI的激光瞄准小车

创建时间:2个月前

405 1

描述

<p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">* 1、项目功能介绍</h3> <hr> <p>本系统以mspm0g3507为核心,利用各种模块联合控制,完成了循迹跑圈与激光打靶。使用mspm0g3507作为车子的主控芯片。使用灰度传感器加PID算法进行黑线识别定位。经测试,本系统能够绕地图行驶设定圈数,并且在地图各个位置做到精准打靶,以及在靶面上画出矩形。综上,本系统能够完成简易自行瞄准装置的任务要求。</p> <h3 style="line-height:1.8;">*2、项目属性</h3> <hr> <p style="line-height:1.8;">系统框图如图1所示,主要由电机驱动模块、主控M0G3507模块、维特陀螺仪JY901S模块、OLED模块、LCD模块、光电传感器模块、云台控制驱动、云台模块、视觉maxicam pro模块、电源输入部分组成。</p> <p>系统组成原理框图如图1所示:</p> <p>图如图1所示:</p> <p><img style="margin-left:auto;margin-right:auto;" src="https://image.lceda.cn/oshwhub/pullImage/6f10f6797a8d414fa381b5fef45c951a.png" alt="6f10f6797a8d414fa381b5fef45c951a.png"></p> <p style="text-align:center;">图1 系统组成原理框图</p> <p style="text-align:left;">云台采用无刷电机云台,淘宝商家为这家</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><img style="margin-left:auto;margin-right:auto;" src="https://image.lceda.cn/oshwhub/pullImage/f52760e6c7c944458e28ef79ced62d7b.jpg" alt="f52760e6c7c944458e28ef79ced62d7b.jpg"></p> <p style="line-height:1.8;">其余模块均为自制,详情请看后文</p> <h3 style="line-height:1.8;">* 3、开源协议</h3> <hr> <p style="line-height:1.8;"><strong><span style="font-size:14pt;color:#95a5a6;">GPL3.0开源协议;</span></strong></p> <h3 style="line-height:1.8;">*4、硬件部分</h3> <hr> <p>云台控制板原理图如图</p> <p style="line-height:1.8;"><img style="margin-left:auto;margin-right:auto;" src="https://image.lceda.cn/oshwhub/pullImage/ebf9b6e9b6674c3782293abf1b93d459.png" alt="ebf9b6e9b6674c3782293abf1b93d459.png"></p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;">电机控制板原理图如图</p> <p style="line-height:1.8;"><img style="margin-left:auto;margin-right:auto;" src="https://image.lceda.cn/oshwhub/pullImage/011c7e8b5d0b4bf7a5c36d925ca38385.png" alt="011c7e8b5d0b4bf7a5c36d925ca38385.png"></p> <p style="line-height:1.8;">主控板原理图如图</p> <p style="line-height:1.8;"><img style="margin-left:auto;margin-right:auto;" src="https://image.lceda.cn/oshwhub/pullImage/518fc6596f8d4ef5aa6ed119f167b92b.png" alt="518fc6596f8d4ef5aa6ed119f167b92b.png"></p> <p style="line-height:1.8;">maxicam pro支架为fusion360制作,具体文件可以在附近中下载</p> <p style="line-height:1.8;"><img style="margin-left:auto;margin-right:auto;" src="https://image.lceda.cn/oshwhub/pullImage/4b50abe2b9c5442d82b3f914aa04be33.png" alt="4b50abe2b9c5442d82b3f914aa04be33.png"></p> <h3 style="line-height:1.8;">*5、软件部分</h3> <hr> <p>主控端(m0g3507)</p> <p>电机测速:由于m0g3507的定时器只有一路编码器,无法使用编码器模式进行对两个电机进行测速,故电机的测速使用外部中断进行模拟编码。每个电机的编码器引脚接入两个输入模式的IO口,IO口对输入脉冲进行检测,每当有脉冲进入,触发m0芯片的外部中断,记录脉冲个数,再经由定时器,每隔十毫秒将累计的脉冲个数统计下来并将脉冲个数清零,即将每十毫秒所记录的脉冲个数视作电机的转速,达到测速效果。</p> <p>PID算法:主控端使用三处pid算法:(1)电机控速,通过设定的目标速度与实际速度进行误差运算,得出比较值累加并直接赋予pwm,当实际速度与目标速度接近,误差值较小,比较值累加到某一特定值作为pwm输出即为期望速度。(2)循迹,将每路循迹给予不同的权重,左四路为正,右四路为负,两边相加算出误差值,加入pid算法中,得出的比较值分别给左轮和右轮的期望速度进行加减,使两个轮子产生速度差,达到左右偏能够差速调整的循迹效果。(3)陀螺仪转弯,在转弯时设定目标角度,与实际角度计算误差值,并代入pid算法计算出目标输出,分别赋予左右轮并令其正反转,转到一定角度后误差值为零即结束,达到原地转弯的效果。</p> <p>按键控制:采用两个按键key1,key2,key1每按下一次目标圈数+1,key2按下后车子进入工作模式。</p> <p>圈数统计:陀螺仪每转一个90°标志位+1,总圈数=标志位/4,当总圈数=目标圈数,车子停止。</p> <p>云台控制</p> <p>云台端:二轴云台通过can模块与stm32进行通信,从32端发送指令控制云台转动指定角度。</p> <p>stm32端:接收视觉所发坐标误差数据,利用卡尔曼滤波算法与PID误差算法,平滑噪声,并映射出不同打靶角度,将数据发送给云台,驱动旋转,激光打靶。</p> <p>视觉处理</p> <p>通信协议:设计多数据、不定长通信协议,与32端完成通信解析</p> <p>矩形寻找:采用灰度图像,摒弃颜色干扰,利用cv库函数,边沿检测查找轮廓并通过多边形逼近排查矩形。</p> <p>背景干扰排除:进行膨胀处理,确保图形完整度。</p> <p>筛选处理:通过面积阈值,长宽比,最小外界长方形进行多重筛选。</p> <p>激光坐标拟合:由于激光位置与摄像头不能完全拟合,在不同位置下坐标存在误差,故通过算法进行拟合。</p> <p>标志位划分任务:根据32端指令,置不同标志位开启不同任务模式</p>

文档

BOM

附件

附件名 下载
ddceb129b86678a695ef9f227ac70cfb.mp4
JC系列CAN通信示例_stm32f103双电机.rar
car.rar

评论(1)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
立创电赛 回复
<p>logo验证需要上传实物图片哦</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow