版本协议

GPL 3.0

标签
专业版
#第十届立创电赛#自动激光打靶小车

创建时间:1个月前

83 0

视频

  • VID20250802194923.mp4

  • VID20250803052440.mp4

描述

<div> <p style="line-height:1.8;">注:* 为必填项</p> <p style="line-height:1.8;"><strong><span style="color:#0093e6;">请在报名阶段填写 ↓</span></strong></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">* 1、项目功能介绍</h3> <hr> <p>本项目为2025年全国大学生电子设计竞赛E题自动打靶小车系统,包含三大核心子系统:</p> <p>移动平台系统:</p> <p style="padding-left:40px;">基于TI MPM0系列MCU的主控制器</p> <p style="padding-left:40px;">八路红外寻迹传感器阵列实现精确路径跟踪</p> <p style="padding-left:40px;">TB6612电机驱动模块控制直流减速电机</p> <p style="padding-left:40px;">可编程圈数设定(1-5圈),单圈时间≤20秒</p> <p style="padding-left:40px;">具备起点识别和圈数计数功能</p> <p>瞄准发射系统:</p> <p style="padding-left:40px;">STM32微控制器作为核心处理器</p> <p style="padding-left:40px;">二维云台结构,采用42步进电机精密控制</p> <p style="padding-left:40px;">张大头步进电机驱动器提供稳定电流驱动</p> <p style="padding-left:40px;">蓝紫色激光笔作为射击装置</p> <p style="padding-left:40px;">具备俯仰和水平双轴运动控制能力</p> <p>视觉识别系统:</p> <p style="padding-left:40px;">树莓派5作为图像处理核心</p> <p style="padding-left:40px;">USB高清摄像头进行实时图像采集</p> <p style="padding-left:40px;">OpenCV视觉算法实现目标识别定位</p> <p style="padding-left:40px;">与瞄准系统通过串口通信传输坐标数据</p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*2、项目属性</h3> <hr> <p><strong>首次公开状态</strong>:本项目为首次公开</p> <p><strong>获奖情况</strong>:无</p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">* 3、开源协议</h3> <hr> <p style="line-height:1.8;"><strong>开源声明:</strong><br>本项目遵循GPL-3.0开源协议</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><strong><span style="color:#0093e6;">请在竞赛阶段填写 ↓</span></strong></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*4、硬件部分</h3> <hr> <p style="line-height:1.8;"><strong>4.1 系统架构设计</strong><br>自动打靶小车硬件系统架构:<br>  视觉识别系统                 瞄准发射系统                   移动平台系统   <br>  树莓派5 +        UART        STM32 +           UART         TI MPM0 +     <br>  USB摄像头     ◄───►   步进电机驱动   ◄───►   TB6612驱动   </p> <p style="line-height:1.8;"> </p> <p><strong>4.2 移动平台硬件设计</strong><br>主控制器模块:</p> <p style="padding-left:40px;">采用TI MPM0系列MCU,具备丰富外设接口</p> <p style="padding-left:40px;">8路ADC通道用于红外传感器信号采集</p> <p style="padding-left:40px;">2路PWM输出控制电机速度</p> <p style="padding-left:40px;">4路GPIO用于电机方向控制</p> <p>传感器模块:</p> <p style="padding-left:40px;">八路TCRT5000红外反射传感器阵列</p> <p style="padding-left:40px;">传感器间距25mm,覆盖检测宽度180mm</p> <p style="padding-left:40px;">比较器电路输出数字信号,抗干扰性强</p> <p style="padding-left:40px;">供电电压:5V DC</p> <p>电机驱动模块:</p> <p style="padding-left:40px;">TB6612FNG双通道电机驱动芯片</p> <p style="padding-left:40px;">最大输出电流:1.2A(连续)</p> <p style="padding-left:40px;">驱动电压:2.5-13.5V</p> <p style="padding-left:40px;">PWM频率:10kHz</p> <p style="padding-left:40px;">具备正反转控制和制动功能</p> <p>电源管理:</p> <p style="padding-left:40px;">12V锂电池为电机系统供电</p> <p style="padding-left:40px;">5V稳压模块为控制电路供电</p> <p style="padding-left:40px;">3.3V LDO为MCU核心供电</p> <p style="padding-left:40px;"> </p> <p><strong>4.3 瞄准系统硬件设计</strong><br>云台机械结构:</p> <p style="padding-left:40px;">水平旋转范围:±90°</p> <p style="padding-left:40px;">俯仰调节范围:-15°至+45°</p> <p style="padding-left:40px;">42步进电机,1.8°步距角</p> <p style="padding-left:40px;">减速比1:5,提高扭矩和精度</p> <p>步进电机驱动:</p> <p style="padding-left:40px;">张大头DM542步进电机驱动器</p> <p style="padding-left:40px;">支持16细分模式</p> <p style="padding-left:40px;">输出电流可调(0.5-4.2A)</p> <p style="padding-left:40px;">具备过流、过热保护</p> <p>激光发射模块:</p> <p style="padding-left:40px;">蓝紫色激光笔,波长405nm</p> <p style="padding-left:40px;">光斑直径:2mm@10m</p> <p style="padding-left:40px;">由STM32 GPIO控制开关</p> <p style="padding-left:40px;"> </p> <p><strong>4.4 视觉系统硬件设计</strong><br>图像采集:</p> <p style="padding-left:40px;">树莓派5主控,4GB内存</p> <p style="padding-left:40px;">Logitech C920 USB摄像头</p> <p style="padding-left:40px;">分辨率:1920×1080 @ 30fps</p> <p style="padding-left:40px;">自动白平衡和曝光控制</p> <p>通信接口:</p> <p style="padding-left:40px;">UART串口与STM32通信</p> <p style="padding-left:40px;">数据传输格式:目标坐标(x,y)+置信度</p> <p style="padding-left:40px;">通信波特率:115200bps</p> <p style="line-height:1.8;"> </p> <p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"> 注:请前往<span style="text-decoration:underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件,文件完成后,相关文稿将自动生成至项目详情;这里可以详细说明您的项目实现原理和机制、注意事项、调试方法、测试方法等。推荐图文并茂的形式向别人介绍您的想法。 </span></p> <p style="line-height:1.8;"> </p> <h3 style="line-height:1.8;">*5、软件部分</h3> <hr> <p style="line-height:1.8;"><strong>5.1 STM32瞄准控制系统</strong></p> <p style="line-height:1.8;">┌──────────────────────<br>│              STM32主控制器                       │<br>├─────────────────────────<br>│ 1. 串口通信模块  │ 2. PID控制模块       │<br>│    - 数据接收       │    - 位置PID计算      │<br>│    - 协议解析       │    - 死区处理           │<br>├─────────────────────────<br>│ 3. 步进电机控制   │ 4. 定时器中断        │<br>│    - 脉冲生成        │    - 10ms控制周期  │<br>│    - 方向控制        │    - 50ms辅助周期  │<br>├────────────────────────   <br>│ 5. OLED显示模块  │ 6. 按键输入模块   │<br>│    - 状态显示         │    - 参数设置         │<br>└─────────────────────────</p> <p>PID位置控制算法:</p> <p>float PID_x(float Target_x, float True_x)<br>{<br>    err_x = Target_x - True_x;                    // 计算误差<br>    err_difference_x = err_x - last_err_x;        // 计算误差变化率<br>    last_err_x = err_x;                           // 更新上次误差<br>    return Kp_x * err_x + Kd_x * err_difference_x; // PD控制器输出<br>}</p> <p><strong>5.2 树莓派视觉系统</strong><br>核心算法说明:<br>双方法矩形检测:</p> <p>python<br># 方法1:颜色阈值法<br>mask_black = cv.inRange(hsv_black, np.array([0,0,0]), np.array([180,255,60]))<br>contours_black, _ = cv.findContours(mask_black, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)</p> <p># 方法2:边缘轮廓法  <br>edges = cv.Canny(blurred, 0, 120)<br>contours_all, _ = cv.findContours(closed, cv.RETR_LIST, cv.CHAIN_APPROX_SIMPLE)</p> <p># 综合决策逻辑<br>if frame_rect is not None and rect_edge is not None:<br>    center_color = np.mean(frame_rect[:, 0, :], axis=0)<br>    center_edge = np.mean(rect_edge[:, 0, :], axis=0)<br>    dist = np.linalg.norm(center_color - center_edge)<br>    if dist         selected_rect = frame_rect<br>白色区域比例验证:</p> <p>python<br>def white_ratio_in_rect(approx, hsv_img):<br>    mask_roi = np.zeros(hsv_img.shape[:2], dtype=np.uint8)<br>    cv.fillPoly(mask_roi, [approx.reshape(-1, 1, 2)], 255)<br>    <br>    lower_white = np.array([28, 0, WHITE_V_MIN])<br>    upper_white = np.array([180, WHITE_S_MAX, 255])<br>    mask_white = cv.inRange(hsv_img, lower_white, upper_white)<br>    <br>    white_in_roi = cv.bitwise_and(mask_white, mask_white, mask=mask_roi)<br>    roi_area = cv.countNonZero(mask_roi)<br>    ratio = cv.countNonZero(white_in_roi) / roi_area<br>    return ratio, white_in_roi</p> <p>系统要求:</p> <p>操作系统: Raspberry Pi OS (64-bit)</p> <p>Python版本: 3.9+</p> <p>OpenCV版本: 4.5+</p> <p>程序运行方法<br>bash<br># 进入项目目录<br>cd RaspberryPi_Vision</p> <p># 运行主程序<br>python main.py</p> <p># 调试模式运行<br>python main.py --debug<br><br><strong>5.3 MPM0</strong><br>// 定时器中断中读取编码器计数<br>void TIMER_ms_INST_IRQHandler(void)<br>{<br>    if(DL_TimerG_getPendingInterrupt(TIMER_ms_INST)==DL_TIMER_IIDX_ZERO)<br>    {<br>        num++;<br>        Encode_MotorL_Count_Temp = -Read_Speed(1);  // 左电机编码器<br>        Encode_MotorR_Count_Temp = Read_Speed(2);   // 右电机编码器<br>        if(num % 50 == 0) {<br>            DL_GPIO_togglePins(LED_PORT, LED_PIN_PIN); // 状态指示<br>        }<br>    }<br>}<br><br><strong>5.4 通信协议设计</strong><br>树莓派→STM32协议格式<br>    帧格式: [0x12, 0x2C, 数据段, 0x5B]<br>    数据段: 符号位+X坐标(3位)+符号位+Y坐标(3位)<br>    示例: '1' '025' '0' '150' 表示坐标(25, -150)<br>STM32→树莓派协议格式<br>    控制命令: <br>     - 'd1': 请求矩形顶点数据<br>     - 'd2': 请求中心坐标数据<br><br><br></p> <h3>*6、BOM清单</h3> <hr> <p><img src="//image.lceda.cn/pullimage/lVtRpS5zGS6PuMXvGJaFXMcbVqbqbFnjGWr1S4oK.png" width="1200" height="414" alt="lVtRpS5zGS6PuMXvGJaFXMcbVqbqbFnjGWr1S4oK.png"></p> <p> </p> <p>注:项目涉及的BOM清单。在<a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> 生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。</p> <p> </p> <h3>*7、大赛LOGO验证</h3> <hr> <p><img src="//image.lceda.cn/pullimage/457aq20DmBL4sH0eQoALpZ0cpAs8vmXtBSvY3P9v.jpeg" width="270" height="360" alt="457aq20DmBL4sH0eQoALpZ0cpAs8vmXtBSvY3P9v.jpeg"></p> <p> </p> <h3>* 8、演示您的项目并录制成视频上传</h3> <hr> <p> </p> <p>视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;</p> <p>视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。</p> </div>

文档

BOM

暂无

附件

附件名 下载
BOM_Board1_Schematic666_.xlsx
视觉识别代码(树莓派5).rar
移动平台代码(MSPM0).rar
瞄准部分代码(STM32).rar

评论(1)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
立创电赛 回复
<p>工程没有公开哦<img src="//image.lceda.cn/pullimage/HJW1XzXCiqpL6mbAZqettmMheNBnGzglcv6tL1Lq.webp" alt="图片" /></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