(E?题)
【本科组】
?2023年8月5日
本设计以基于意法半导体与ARM公司生产的STM32F103RCT6单片机为控制核心,配合LM2596S降压模块,OPENMV,OLED显示屏,舵机等模块共同控制激光笔移动和跟随等功能。通过按键控制不同的模式,完成相应的任务。实际测试表明,红色光斑回到原点的误差在1cm以内且能在10秒内顺时针旋转一周,
关键词:MPU6050;OPENMV;蓝牙;PWM;编码电机
本系统主要由控制模块、视觉处理模块、OLED显示模块、舵机、降压模块,下面分别论证这几个模块的选择。
按照本次赛题要求,控制系统芯片选用STM32系列单片机,该系列单片机中常见的型号有C8T6,RCT6。
方案一:选用STM32F103C8T6单片机,该单片机体积较小,内置72MHz的主频,可以实现高速运算和响应,包括多个定时器,ADC、DAC、USART、I2C,可以满足多种需求,更加具有结构化。但复用引脚较多且复杂,只有64KB的Flash和20KB的RAM,对于一些大型应用可能不够,处理速度太慢。
方案二:选用STM32F103RCT6单片机,包括多个通用定时器、高级控制定时器、通用串行总线接口、SPI接口、I2C接口、USART接口、USB接口等,可以满足各种应用的外设需求。具有256KB的Flash和48KB的RAM和丰富的外设和高性能的处理能力,处理速度更快,能够较快完成题目要求的任务。
因此,选择方案二,采用STM32F103RCT6单片机作为本设计的主控模块。
方案一:选用较小的SG90,优点是简单及上手且小巧轻便,可以方便的实现转动任意的角度,实现控制角度的变化,但他的扭矩太小,精确度太低,且受环境影响较大,不足以做到控制大物件的效果,不能很好地完成题目要求。
方案二:选用总线舵机,其不是使用的PWM波控制,而是采用的串口控制,支持角度回读,可以实时检测到舵机当前角度位置,精确度高,可以通过一个串口控制多个舵机,但需要调试的时间较长且占用资源较多。
方案三:选用数字舵机,数字舵机是由主要由马达、减速齿轮、控制电路等组成,只需要发送一次PWM信号就能保持在规定的某个位置,数字舵机具有一个微控制器,可以获取更快的响应频率,抗干扰度较强,占用资源较少且易于操作。
综合以上三种方案,选择方案三。
方案一:采用较为传统的降压芯片AMS117,其结构简单且相对较为便宜,噪声抑制度较高。但其为线性稳压,效率太低,无法承受较大的电压和输出太大的电流,无法驱动本题的舵机。
方案二:采用DC-DC降压模块LM2596,LM2596是非同步降压型电源管理单片集成电路的开关电压调节器,输入电压范围宽,最高可达40V,输出电流大,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性,转换效率可达95%以上,效率大,功率高,耗散小,能够驱动大功率的模块。
综合以上两种方案,选择方案二。
方案一:使用k210机器视觉模块。K210支持深度学习推理任务,可以在边缘设备上进行实时图像识别、物体检测等计算密集型任务。通过配置环境以及制作数据集进行本地训练,随着数据集中数据量的增大,识别精度也随之升高。且k210环境配置简单,训练方便。
方案二:使用树莓派模块。通过配置环境,编写树莓派代码以及制作数据集进行训练,相较于k210数字识别,树莓派环境配置更繁琐,且安装繁琐。
方案三:使用OPENMV视觉模块,OPENMV支持python语言开发,易于编程和调试,同时拥有丰富的库和应用例程,能非常容易地安装和配置。
由于组内成员系统学习过OPENMV,所以选择方案三。
本设计选择更加简便地将电池模块、总控制模块、LM2596S降压模块、按键模块、舵机模块、OPENMV视觉模块分开安装,能够直观地观察到各个模块工作时的情况,便于调节各个模块的功能。
本系统通过LM2596S降压模块给STM32F103RCT6核心板和舵机以及OPENMV等模块供电,当系统上电后OPENMV会时刻检测光斑的位置并将其位置信息传输给RCT6,RCT6控制OLED显示模块显示光斑的位置并输出PWM信号控制舵机移动光斑的位置,当完成一个任务后,可通过按键模块切换模式,完成下一个任务,绿色光斑跟随成功之后,RCT6会控制声光模块发出声光提示。系统框图如图(1)所示。
图(1)系统框图
OPENMV相机可以通过色块识别功能来检测和跟踪指定颜色的物体。其原原理如下:
首先,相机会将捕获的图像从RGB颜色空间转换为 HSV(色相、饱和度、明度)颜色空间,HSV颜色空间更适合处理和分析颜色信息。在HSV颜色空间中,我们可以通过设定一定的阈值来将图像中的像素分为目标颜色和非目标颜色。通常,我们可以通过试验和调整阈值来选择最适合的阈值。在进行阈值分割后,OPENMV相机会利用图像处理算法检测具有颜色的目标区域,即色斑。一旦检测到了色斑,相机会提取出色斑的特征,例如位置、大小、形状等等,这些特征信息有助于进一步的处理和分析。
电源由变压部分、滤波部分、稳压部分组成。为整个系统提供
5V或者
12V电压,确保电路的正常稳定工作。这部分电路比较简单,都采用三端稳压管实现,故不作详述。
程序开始运行时,先检测是不是有药品放入,如果检测到药品放入,红外传感器将信号发给主控,小车开始运动并且通过视觉模块识别到数字后存储,然后在运动过程中实时检测,如果检测到和储存的数字一样的情况时,小车利用差速进行转弯,到达指定位置时停下,等红外传感器再次发生变化时,小车原路返回。
???????先设计出每种功能中相同的程序部分方便在各个步骤中调用,再设计出各个步骤中特有的部分加上之前的公共部分进而完成整个步骤。
综上所述,本设计达到哪些哪些要求。