美文网首页嵌牛IT观察
基于STM32的模拟雷达系统的设计

基于STM32的模拟雷达系统的设计

作者: LRzhi | 来源:发表于2019-11-23 19:42 被阅读0次

    李睿智

    学号19021211293

    转载自https://blog.csdn.net/m0_37575064/article/details/78761967

    【嵌牛导读】该系统可以模拟雷达探测的基本工作方式,但由于雷达使用微波探测,这在一个创新课题中难以实现,因此采用超声波模拟微波信号,尽管该系统在不管是在探测距离还是在信号处理方面都与真正的军事探测雷达有很大差别,但是与倒车雷达或者小车避障雷达有很多相似之处,加以改进便可应用于以上场景。该系统能够对周围方圆两米内的障碍物进行探测,系统简单,却功能完备,包括下位机与上位机两部分的设计。下位机主要涉及的串口通信、步进电机控制、IIC通信等基本的硬件方面的知识,而上位机采用QT来设计上位机界面,Qt是一个基于C++的框架,用来开发界面很方便,最大的优点是跨平台,可用于PC、ARM及Android端。该项目对初学者提高硬件方面的能力或者嵌入式方面的入门有很大的益处。

    【嵌牛鼻子】雷达、上位机、IIC通信、嵌入式

    【嵌牛提问】该系统是如何模拟雷达探测的,运用了哪些嵌入式上的知识?

    【嵌牛正文】

    该系统的主要设计目标。

          •上位机发出“启动”信号后

          •下位机开始扫描四周的障碍物

          •下位机将探测到的障碍物的距离数据传到上位机

          •上位机进行数据处理并更新类雷达界面的显示。

    该系统的主要功能模块

           下位机由STM32作为主控,实现障碍物的探测和对四周的扫描,并实现和上位机的通信,上位机软件设计主要有用户界面绘制,接收下位机传来的数据并进行分析处理,根据接收到的每一帧的距离与角度更新雷达图的绘制,同时进行任务管理。

    下面对该系统下位机各个模块使用的器件进行简要介绍

          主控模块主要采用STM32F103VET6开发板作为主控板,其最高频率为72MHz,ARM系列Cortex-3内核,512K大小的flash。对于探测模块有两个方案,一是HC-SR04超声波模块加DS18B20温度传感器,二是US100超声波模块,其自带温度补偿功能(即弥补不同温度对胜诉的影响)。后来我们选用了方案二。扫描模块我们选用了28步进电机,其步距角为5.625度,减速比1:32,之所以没有48步进电机还是从小电机更小巧轻便来考虑,采用ULS2003驱动器作为电机驱动,采用蓝牙通信,使探测系统能够灵活移动。

    下位机程序设计过程中需要注意的问题

          电机一直单方向转动扫描周围障碍物的话,会使电机的连线缠绕阻碍其运转,因此我设定电机每转动1圈后反转。其次是超声波直线传播,如果探测面凹凸不平,不能及时接受回响信号,会使电机的转动卡顿,同时也使得上位机的绘图速度不一致。为了解决这个问题,规定探测距离为2m。

    上位机程序的设计

             上位机使用QT来设计界面,QT含有丰富的API,我们可以直接调用其图形库来设计雷达界面。在雷达背景图的绘制中,包括角度坐标,距离坐标,分割线,同心圆,扫描线的绘制,通过代码来实现。

    起初并未考虑到障碍物对象的管理问题,在程序运行过程中,发现内存占用越来越大的情况,于是做出改进。采取的办法是对雷达界面内的障碍物数量进行上限规定,并将每次新建的障碍物对象交由队列管理。当障碍物对象数量达到上限时,将队列中处于队首位置的对象进行释放,使程序的内存处于动态平衡的状态下。

    最后的主要成果图如下

    系统不足

          一、主控板直接采用现成的开发板,太过不笨重,而且全部使用杜邦线连接,系统可靠性差,并未自己画电路板来集成。

          二、供电方面,直接用适配器供电,限制了该系统的灵活移动

    相关文章

      网友评论

        本文标题:基于STM32的模拟雷达系统的设计

        本文链接:https://www.haomeiwen.com/subject/ijzhwctx.html