基于STM32单片机的模拟雷达探测设计系统_第1页
基于STM32单片机的模拟雷达探测设计系统_第2页
基于STM32单片机的模拟雷达探测设计系统_第3页
基于STM32单片机的模拟雷达探测设计系统_第4页
基于STM32单片机的模拟雷达探测设计系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要通过长期的社会观察以及网上数据调研发现,雷达的应用十分广泛。但普遍的雷达设备体积大,不利于携带。而民用的常用小型雷达如:车载雷达、扫地机器人等,存在精确度不高、功能单一等缺点。故本系统针对这一现状设计出一种精确度高、小型易携带、能显示障碍物的雷达探测设备。本设备采用STM32F103C8T6作为主控制核心板,选择使用超声波信号作为主要探测信号,避免探测时对人体或物体造成伤害,具有成本低、速度快的特点。超声波信号发送出去后,通过计算模块记录数据并经过算法处理得出障碍物的方位以及距离,同时添加预警功能模块根据所得位置信息判断当前是否要发出报警信号,提高预测性和安全性。软件程序部分主要控制整个单片机进行信号发送、接收数据并处理数据能让数据正确显示在界面上。经过多次实验结果测试:在忽略温湿度和声波衰减影响下,本探测雷达设备在可测距范围内可实现准确的距离测量,实验结果最大的平均误差不高于5%。在整个信息处理过程,数据都能够快速实时更新,实验结果能够达到预期效果。关键词:STM32雷达扫描超声波测距距离报警蓝牙通信

Abstract

Throughlong-termsocialobservationandonlinedataresearch,itisfoundthatradariswidelyused.Butthegeneralradarequipmentisbulkyandnotsuitableforcarrying.Butthecivilcommonlyusedsmallradarsuchas:carradar,sweepingrobot,etc.,therearenothighaccuracy,singlefunctionandothershortcomings.Therefore,thissystemdesignsakindofradardetectionequipmentwithhighaccuracy,smallandeasytocarry,andcanshowobstacles.ThisdeviceadoptsSTM32F103C8T6asthemaincontrolcoreboard,andselectsultrasonicsignalasthemaindetectionsignaltoavoidcausingharmtohumanbodyorobjectduringdetection.Lowcostinvestmentandfastpropagationspeedaretheadvantagesofultrasound.Aftertheultrasonicsignalissentout,thelocationanddistanceoftheobstaclecanbeobtainedbyrecordingthedataofthecalculationmoduleandprocessingthealgorithm.Meanwhile,thewarningfunctionmodulecanbeaddedtojudgewhethertosendanalarmsignalaccordingtotheobtainedlocationinformation,soastoimprovethepredictabilityandsafety.ThesoftwareprogrammainlycontrolsthewholeSCMtosendsignals,receivedataandprocessdatasothatthedatacanbedisplayedcorrectlyontheinterface.Byanalyzingtheresultsofmultipletestdata,itisfoundthatthedetectionradarsystemcanachieveaccuraterangemeasurementwithintherangemeasurementrangewithouttheinfluenceoftemperature,humidityandultrasonicsignalattenuationandthemaximumaverageerrorofexperimentalresultsisnomorethan5%.Thedataanalysiscanbereal-timeupdateduringthewholeinformationprocessingandthelaboratoryfindingaccordwithexpectedeffect.Keywords:STM32RadarscannerUltrasonicrangingDisplaydistanceBluetoothcommunication目录TOC\o"1-3"\h\u30925第一章绪论 附录单片机程序全部源码:#include<Servo.h>/*舵机驱动库*/#include<math.h>#definetrigPinPB4/*超声波的触发引脚*/#defineechoPinPB5/*超声波的反馈引脚*/#defineservoPinPB6/*舵机的控制引脚*/#definebuzzerPinPB7/*蜂鸣器的控制引脚*/#definepi3.14159Servoservo;/*舵机控制对象*/floatlimit=10;/*距离限制,小于这个限制会报警,蜂鸣器鸣响*/voidsetup(){servo.attach(servoPin);/*给舵机控制对象添加控制引脚*/Serial.begin(9600);/*初始化串口模块,波特率为9600,实际对应的是单片机上的PA10(RX)和PA9(TX)*/pinMode(buzzerPin,OUTPUT);/*初始化引脚为输出模式*/pinMode(trigPin,OUTPUT);/*初始化引脚为输出模式*/pinMode(echoPin,INPUT);/*初始化引脚为输入模式*/}voidloop(){for(intservoAngle=0;servoAngle<=180;servoAngle++)/*从零度开始直到180度,每一个度数延迟50ms给舵机提供反应时间*/{servo.write(servoAngle);delay(50);print(servoAngle);}for(intservoAngle=180;servoAngle>=0;servoAngle--)/*反转*/{servo.write(servoAngle);delay(50);print(0-servoAngle);}}voidprint(intservoAngle){digitalWrite(trigPin,LOW);/*拉低超声波的触发引脚5us,向超声波索要数据*/delayMicroseconds(5);digitalWrite(trigPin,HIGH);/*拉高10us,向超声波索要数据*/delayMicroseconds(10);digitalWrite(trigPin,LOW);intduration=pulseIn(echoPin,HIGH);/*脉宽获取函数*/intcm=(duration/2)/29.1;/*通过公式由时间推算实际距离*/if(cm<limit){/*判断障碍物是否在限制范围内,若不在,则拉高buzzer引脚,也就是让蜂鸣器报警*/digitalWrite(buzzerPin,HIGH);}else{digitalWrite(buzzerPin,LOW);}Serial.print(servoAngle);/*向串口发送数据*/Serial.print(",");Serial.println(cm);}上位机部分代码:publicBitmapdraw(){intx,y,i;Penp;g1.Clear(bgColor);pen_radar.Width=1;for(i=2;i<=5;i++){g1.DrawArc(pen_radar,50*i,50*i,width-(100*i),height-(100*i),0,-180);}for(i=1;i<9;i++){x=(int)(Math.Cos(i*10*Math.PI/180)*(width/2-25-7));y=(int)(Math.Sin(i*10*Math.PI/180)*(height/2-25-7));g1.DrawLine(pen_radar,width/2,height/2,width/2+x,height/2-y);g1.DrawLine(pen_radar,width/2,height/2,width/2-x,height/2-y);}pen_radar.Width=2;g1.DrawLine(pen_radar,width/2,height/2,width/2,25);if(distance<width-100){x=(int)(Math.Cos(angle*Math.PI/180)*(distance/2-50));y=(int)(Math.Sin(angle*Math.PI/180)*(distance/2-50));//intt=rand.Next(20)+10;intt=8;g2.FillEllipse(newSolidBrush(Color.FromArgb(80,Color.Red)),(width/2)+x,(height/2)-y,t,t);}g1.DrawImage(dots,0,0,dots.Width,dots.Height);for(i=0;i<radarLines;i++){x=(int)(Math.Cos(angles[i]*Math.PI/180)*(width/2-50));y=(int)(Math.Sin(angles[i]*Math.PI/180)*(height/2-50));p=newPen(Color.FromArgb(255-(i*8)+i,radar_color.R,radar_color.G,radar_color.B),3);g1.DrawLine(p,width/2,height/2,width/2+x,height/2-y);}g1.DrawArc(pen_radar,50,50,width-100,height-100,0,-180);g1.DrawLine(pen_radar,25,height/2,width-25,height/2);g1.FillRectangle(newSolidBrush(bgColor),0,(height/2)+1,width,height/2);g1.DrawString(angle.ToString()+"°,"+distance2.ToString()+"cm",newFont("FiraCode",18),newSolidBrush(Color.Green),100,100);returnbmp;}电路原理图:

电脑无法识别U盘该怎么办HYPERLINK电脑无法识别U盘怎么办?打开我的电脑上单击右键,在快捷菜单里,选择“管理”,打开“计算机管理”窗口。在计算机管理窗口里,选择“存储”下面的“磁盘管理”,如果看得到没有盘符的U盘,那么在这个U盘上按鼠标右键,选择“更改驱动器名称和路径”选项,就打开了“更改……的驱动器号和路径”对话框。再点击“更改”按钮,打开“更改驱动器号和路径”的对话框,在“指定以下驱动器号”的右边下拉列表里,选择你希望分配给U盘的驱动器号,尽可能靠后选择,比如X、Y、Z,选择好后,单击确定按钮,回到上一次“更改……的驱动器号和路径”对话框窗口,再一次单击确定,就回到“计算机管理”窗口。至此,如果一切正常,就给U盘单独设置了一个长久使用的驱动器号,并却,不受虚拟驱动器的影响了。建议将U盘插到电脑上,看任务栏中是否显示图标,如果显示,在我的电脑点右键查看属性——高级——硬件——设备管理器——查看里面是否有问号的设备,在问号设备上点右键——更新驱动程序然后下一步——否暂时不连接到网络——下一步自动安装软件(推荐)就可以了另外:系统不认U盘的几种处理方法1.禁用主板usb设备。管理员在CMOS设置里将USB设备禁用,并且设置BIOS密码,这样U盘插到电脑上以后,电脑也不会识别。这种方法有它的局限性,就是不仅禁用了U盘,同时也禁用了其他的usb设备,比如usb鼠标,usb光驱等。所以这种方法管理员一般不会用,除非这台电脑非常重要,值得他舍弃掉整个usb总线的功能。但是这种屏蔽也可以破解,即便设置了密码。整个BIOS设置都存放在CMOS芯片里,而COMS的记忆作用是靠主板上的一个电容供电的。电容的电来源于主板电池,所以,只要把主板电池卸下来,用一根导线将原来装电池的地方正负极短接,瞬间就能清空整个CMOS设置,包括BIOS的密码。随后只需安回电池,自己重新设置一下CMOS,就可以使用usb设备了。(当然,这需要打开机箱,一般众目睽睽之下不大适用~~)2.修改注册表项,禁用usb移动存储设备。打开注册表文件,依次展开"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci”双击右面的“Start”键,把编辑窗口中的“数值数据”改为“4”,把基数选择为“十六进制”就可以了。改好后注销一下就可以看见效果了。为了防止别人用相同的方法来破解,我们可以删除或者改名注册表编辑器程序。提示:“Start”这个键是USB设备的工作开关,默认设置为“3”表示手动,“2”是表示自动,“4”是表示停用。3.在computermanagement里将removablestorage的使用权限禁止。computermanagement是一个windows管理组件,可以在控制面板——管理工具——计算机管理打开。在该工具窗口中storage——removablestorage——property中,general项,可以控制系统托盘是否显示security则可以管理移动存储设备的使用权限。在security中将普通用户的使用权限降低,就可以达到禁用u盘的目的。破解的方法也很简单,管理员降低普通用户移动存储设备的使用权限,但未必禁用computermanagement的使用权限。普通用户可以通过这个工具解除usb移动存储设备的使用权限限制。另外,值得一提的是,如果u盘插到电脑上后可以驱动,但是我的电脑里却没有盘符,很有可能是管理员改动了u盘的默认盘符,使得我的电脑不能识别。这种情况,可以在movablestorage中看到u盘驱动器。可以在u盘驱动器属性设置里为u盘重新分配一个盘符,再重新插拔一次u盘,就可以在我的电脑里看到u盘的盘符了。一、首先可以将该U盘换到别的机器上,看使用是否正常。如果排除了硬件损坏的可能,一般就是软件方面有问题。在WindowsXP+SP1操作系统下,有些USB2.0设备的确常常出现工作不稳定的问题,可以试试安装设备自带的USB2.0驱动程序。另外最好不要使用USB延长线,防止因为供电不足而造成不稳定现象。如果仍无效,可以在主板BIOS设定中,将USB接口强行设置为USB1.1传输速率。二、(适用于WIN98)启动计算机,进入主板BIOS设置,检查BIOS中USB的相关选项是否已经打开:OnChipUSB设定为Enabled;USBController设定为Enabled;PNPOSInstalled设定为Yes;AssignIRQForUSB设成Enabled。要正常使用USB设备首先要开启USB接口,在主板BIOS里可以进行此项工作,一般来说只需在BIOS中进入ChipsetFeatures设置,并将USBKeyborad/MouseLegacy选项设定为Enable,就能够保证在操作系统下使用USB键盘了。这些选项的作用是打开主板芯片组对USB设备的完全支持,为系统识别USB设备做准备工作。三、USB口接触不好处理办法:拔下,等十秒钟再插上USB口,使接触完好;五、闪存盘驱动程序没有安装完成(WIN98系统下)处理办法:鼠标点“我的电脑”,选择属性找到“通用串行总线”,删除其中的USBMASSSTORAGE项,再点击“刷新”,然后按照提示重新安装一次驱动程序。六、接其它USB设备(如扫描仪、打印机、数码相机)时可以正常使用,接优盘时闪指示灯不亮,不能够使用。1、检查优盘与电脑的联接是否正常,并换用其它USB接口测试。2、检查设备管理器,看是否出现”通用总线设备控制器”条目,如果没有,请将电脑主板BIOS中USB接口条目*激活(ENABLE)。3、如果电脑安装过其它类型USB设备,卸载该设备驱动程序,并首先安装优盘驱动程序。4、到其它电脑试用此优盘,确认是否优盘不良。七、启动型优盘在的电脑上无法实现启动,可能是主板型号不支持。如何判断一块主板是否支持闪存盘启动系统启动型优盘是采用模拟USB软驱和USB硬盘的方式启动电脑的。只要电脑主板支持USB设备启动,即BIOS的启动选项中有USB-FDD、USB-HDD或是其它类似的选项,就可以使用启动型优盘启动电脑。八、第一次在电脑上使用优盘,未出现提示发现新硬件的窗口,驱动程序无法安装的原因可能是:1、主板usbcontroller未启用解决办法:在电脑主板BIOS中启用此功能。2、usbcontroller已经启用但运行不正常解决办法:在设备管理器中删除”通用串行控制器”下的相关设备并刷新。3、优盘被电脑识别异常,在设备管理器中表现为带有黄色?或!的”其它设备”或“未知设备”。解决办法:删除此设备并刷新。九、大容量的U盘(例如兼具MP3播放器或录音功能的U盘)或移动硬盘在电脑上无法正常使用,虽然系统提示找到了未知的USB设备,但无法正确识别U盘或移动硬盘。原因可能是:1.USB接口供电不足:系统为每个USB接口分配了500mA的最大输出电流,一般的U盘只需要100mA的工作电流,因此在使用过程中不会出现什么问题。大多数移动硬盘所使用的是普通的2.5英寸硬盘,其工作电流介于500mA~1000mA之间,此时假如仅仅通过USB接口供电,当系统中并无其他USB设备时,那么还是可以勉强使用的,但如果电压不稳的话,就随时可能出现供电不足的问题。特别是使用支持USB2.0的移动硬盘时,情况最为严重。另外,如果你的笔记本电脑使用电池供电,那么USB接口所分配的电量就更小了。2.使用了外接的USB扩展卡:在笔记本电脑中使用USB2.0的U盘或移动硬盘时,如果笔记本电脑不支持USB2.0技术,一般必须通过PCMCIA卡转USB2.0的扩展卡来间接实现支持,这些扩展卡基本上都采用NEC公司的D720100AGMUSB控制芯片,少则提供两个USB2.0接口,多则提供五个USB2.0接口,对一般用户而言足够使用了。由于PCMICA接口提供的电源功率比板载USB接口要小,这样就会由于供电不足而导致移动硬盘工作的出现问题。解决方案:1.它从USB连接线上接移动硬盘的一端引出一根转接线,可以插入电脑背后的PS/2接口取电,这里可以比USB接口提供更大的电流输出。2.利用电源补偿线(也称“键盘取电线”),如果U盘或移动硬盘的包装盒中提供了选配的电源适配器,你就可以直接使用外接电源,这样就可以从根本上避免供电不足的情况发生了前置USB线接错。当主板上的USB线和机箱上的前置USB接口对应相接时把正负接反就会发生这类故障,这也是相当危险的,因为正负接反很可能会使得USB设备烧毁。所以尽量采用机箱后置的USB接口,也少用延长线.也可能是断口有问题,换个USB端口看下.USB接口电压不足。当把<ahref="mobileharddisk">移动硬盘</a>接在前置USB口上时就有可能发生系统无法识别出设备的故障。原因是<ahref="">移动硬盘</a>功率比较大要求电压相对比较严格,前置接口可能无法提供足够的电压,当然劣质的电源也可能会造成这个问题。解决方法是<ahref="">移动硬盘</a>不要接在前置USB接口上,更换劣质低功率的电源或尽量使用外接电源的硬盘盒,假如有条件的话。主板和系统的兼容性问题。呵呵这类故障中最著名的就是NF2主板与USB的兼容性问题。假如你是在NF2的主板上碰到这个问题的话,则可以先安装最新的nForce2专用USB2.0驱动和补丁、最新的主板补丁和操作系统补丁,还是不行的话尝试着刷新一下主板的BIOS一般都能解决。系统或BIOS问题。当你在BIOS或操作系统中禁用了USB时就会发生USB设备无法在系统中识别。解决方法是开启与USB设备相关的选项。就是开机按F2或DEL键,进入BIOS,把enableusbdevice选择enable。拔插要小心,读写时千万不可拔出,不然有可能烧毁芯片。XP中任务栏中多出USB设备的图标,打开该图标就会在列表中显示U盘设备,选择将该设备停用,然后你再拔出设备,这样会比较安全。

其实判断软件硬件问题很简单,在别的机器或换个系统试试就可以了.有些小的问题不妨先用专门软件格式化下.还有提醒大家WINDOWS下格式化时要选择FAT,不要选FAT32。

提示无法识别的USB设备维修

故障提示如图:

无法识别的USB设备:UnknownUSBDevice.很多人都遇到过的一个问题,所谓“无法识别”对于操作系统来说,或者是驱动程度有问题,或者是USB设备出现了问题,或者是计算机与USB设备连接出现了故障,解决问题的方法也是从这几处着手。

对于不同的设备会有不同的处理方法,了解USB设备正常工作需要的条件以及一些可能影响USB设备正常工作的因素,会有助于解决问题。

下面是保证USB设备可以正常工作的一些条件:(1)USB设备本身没有任何问题——可以通过在其它计算机上进行测试,保证能正常工作;(2)USB接口没有任何问题——可以通过连接其它的USB设备在此接口上进行测试;(3)USB设备的驱动程序已经正确安装,如果有详细说明书的USB设备,一定要仔细查看相应的说明文件,按照说明安装相应的驱动程序;Windows2000以后的操作系统以识别大部分的USB设备,Windows98以前的操作系统可以安装USB设备自带的驱动或者安装通用的USB设备驱动程序。下面是可能影响USB设备正常工作的一些情形:(1)USB设备已经出现了故障(同样的条件以前可以正常使用,现在出现了问题);(2)USB接口有问题,比如a.USB前置接口极性接反,这可能导致USB设备烧毁,所以一定要仔细看一下主板说明书,防止接错;b.接口电压不足,一些<ahref=".com/mobileharddisk">移动硬盘</a>常会有这样的问题,主机后面的USB接口往往会比前置USB接口更可靠一些;c.主板与操作系统兼容性有问题,安装最新的主板驱动程序可以最大程度地避免此类问题;d.Bios中禁止了USB设备,可能通过更改BIOS中相应的设置来解决;e.操作系统问题,可以通过重装操作系统来解决;(3)USB驱动程序有问题:如果怀疑驱动有问题时,应当保证安装了该设备相应型号的最新驱动程序或确认操作系统不需要安装特别的驱动,最新的驱动可以通过从网上设备生产商的主页上去查找。

当USB设备出现问题时,除了根据实际的错误提示信息寻找解决方案以外,还要仔细查看USB设备的具体品牌、型号、生产商,在搜索结果时包括这些信息,可以更容易地找到对应的解决方法。象有些插拔费劲需要经常处于连接状态的USB设备暂时出现故障,操作系统不停地出现“无法识别的USB设备”这样恼人的提示时,可以在设备管理器中暂时关闭通用串行总线控制器中相应的USB端口或者禁止相应的USB设备。关于无法识别的usb设备

电脑设置

插入后,就会在右下角弹出电脑正在尝试连接此USB设备的一些信息,有时就会弹出对话框让用户选择,有些用户还没看清就点了否,或者因为电脑一些初始的设置问题,禁止了USB的一些功能。

解决办法:右键点“我的电脑”,选“属性”--“硬件”--“驱动器签名”,在此选择“忽略”,点“确定”。然后重新插上MP3,还是不连的话,再右键点“我的电脑”--“属性”--“硬件”--“设备管理器”,从中找到“通用串行总线控制器”,右键,然后“扫描检测硬件改动”。

设备本身的电压问题

由于现在MP3的趋势是千方百计的降低成本,所以各公司不断采用新方案,新主控,新FLASH芯片,并不是说这些新东西就偷工减料了,问题在于这些新东西往往需要长期的调试才能达到最佳,但市场状况只能允许MP3工厂测试能在电脑的一个接口上联

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论