《基于STM32的可遥控智能跟随小车设计(共4页).doc》由会员分享,可在线阅读,更多相关《基于STM32的可遥控智能跟随小车设计(共4页).doc(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上基于STM32的可遥控智能跟随小车设计刘磊孙晓菲张煜(西南交通大学电气工程学院 四川 成都 )摘要:针对物品搬运时人类双手仍无法完全解放的现状,设计并实现了一种基于STM32、超声波测距以及比例控制算法的可遥控智能跟随小车。小车以STM32为控制核心,有智能跟随和红外遥控两个模式可选。跟随模式下用两个安装在前端的超声波模块分别实时测量小车与目标之间的距离,单片机采用比例控制算法,根据实测距离控制左右电机转速;遥控模式下单片机根据接收到的红外遥控信号控制小车的运动方向。试验结果表明:小车在2米以内准确跟随几率大于95%、响应时间小于250毫秒。该设计实现了小车对目标的3
2、60度智能跟随以及在必要情况下对小车的遥控操作,系统可靠,较人性化。关键词:机器人控制;智能跟随小车;STM32;超声波测距中图分类号:TP242.6 文献标识码:A 国家标准学科分类代码:510.8050Remote controllingandintelligentfollowingcardesignbasedonSTM32Liu Lei Sun Xiaofei Zhang Yu(Schoolof ElectricalEngineering ,Southwest Jiaotong University,Chengdu , China)Abstract: Currently human ha
3、nds are still not liberated when men carry things. This paper designs and implements an remote control and intelligent following car based onSTM32, ultrasonic ranging and proportional control algorithm.The car uses STM32 as its control center, and the intelligent follower mode and the infrared remot
4、e controlling mode are both available for the car. There are two ultrasonicmodulesinstalledon the front to watch thedistance between the car and the targetat each time under the following mode.SCMadopts proportional control algorithm and controls the motor speed on the left and right side according
5、to the watcheddistance.Itcontrols the moving direction of the car according to the received infrared signal under remote controlling mode. Experimental results show the car accurately follow probability greater than 95% and response time less than 250 ms within two meters. This design accomplishes t
6、he goal that a intelligent car can automaticallyfollow the targeteven turning 360and peoplecan control the car remotely when necessary.The system is reliable and convenient to people.Keywords: robot control; intelligent following car; STM32; ultrasonic ranging专心-专注-专业1.引言 随着科学技术的发展和社会的需要,移动机器人技术得到了迅
7、速发展,正在各行各业中应用,使人们的生活更加便利,小车智能化已经成为了主流趋势。智能小车是一个集自动控制、环境监测、无线遥控等多功能于一体的综合系统,人们习惯称其为移动轮式机器人,目前以单片机为核心的移动机器人还存在处理数据局限、控制不稳定等不足之处,国内市场暂时还没有出现具有真正意义的跟随性智能载物小车1-3。本设计基于单片机的智能小车测距模块、红外遥控模块和小车智能控制模块,通过软硬件设计调试,实现了小车的自动跟随状态。主要利用超声波测距模块实现小车与目标之间距离的实时检测,当两者距离较近小车就“缓慢跟随”,一旦测得距离较远,小车将“加快脚步”,直到追上目标,并且小车可以跟随目标一起转弯,
8、不会“跟丢”。用户也可以切换到遥控模式遥控小车运动,增加其可靠性。此类智能跟随小车既可以应用于工业生产中,又能在商场、家庭中为人类运送物品提供便利。2.硬件设计2.1、系统总体设计为实现小车智能跟随,采用了超声波测距、电机驱动、红外遥控等功能模块设计。通过超声波所测距离,判断小车快速前进,慢速前进或停止4,5。小车以STM32为主控芯片,将两个超声波测距模块测得的距离值经过运算后,输出两路PWM(Pulse Width Modulation)波分别控制左右两个电机的转速。电源给控制部分和电机驱动部分供电。另外STM32连接了LCD显示模块和红外接收电路,分别用于显示运动、状态信息和接收遥控器的
9、控制信号。系统总体框图如图1所示。 图1 系统总体框图2.2 超声波测距模块超声波是指频率高于20kHz的声波,超声波在介质中传播时遇到不同的界面将产生反射、绕射、折射等原理在各行各业得到广泛应用6。本设计所使用的测距模块为HC-SR04超声波模块,该模块测量范围为3cm到400cm,精度最高可达3mm,由超声波发射探头、控制电路和驱动电路组成7,8。模块对外引出四个引脚分别为VCC、GND、TRIG和ECHO。测距需要IO口触发,即先给控制端TRIG至少10us的高电平信号,模块将自动发送8个40KHz的方波并自动检测ECHO端是否有返回信号,若有返回信号则高电平持续时间即为超声波在空气中传
10、播的时间。由此可得:测试距离=(高电平时间*声速)/2。因此将模块的VCC、GND接入系统电源,TRIG、ECHO端接单片机普通IO口即可实现超声波测距。2.3 电机驱动模块小车通过一个L298N电机驱动模块驱动左右电机控制小车的运动9。电机采用PWM调速,即改变直流电机电枢电压的的占空比来改变平均电压,从而实现直流电机调速10。除了两个电机对应的PWM信号调速之外,该模块还需要4路逻辑输入控制电机M1、M2转向,模块连接图如图2所示。因此将PWM信号输入端接入单片机定时器输出,逻辑输入端接单片机配置为输出模式的IO口即可实现对该模块的控制。图2 电机驱动模块连接图2.4 红外遥控红外遥控是一
11、种无线、非接触控制技术,具有抗干扰能力强、信息传输可靠、功耗低、成本低、易实现等显著优点11。本设计使用的是NEC编码方式的遥控器,红外接收选择HS0038红外遥控器接收头,接收头有三个引脚分别为VCC、GND和DATA。VCC、GND分别接系统的正、负极,DATA接入单片机定时器的一路输入捕获通道即可对红外遥控信号进行解码。2.5 LCD显示选择LCD12864作为显示模块。该显示屏支持中、英文字符显示,显示信息量大并且支持串行通信,控制十分方便。由于STM32主频高达72MHz,故在本设计中选择串行控制LCD12864,在满足速度要求的条件下节省了IO口。除了将电源引脚、背光引脚接入系统电
12、源并将PSB引脚接地之外,用单片机的三个IO口操作CS、SID、SCLK三个引脚便可实现对该显示模块的控制。3.软件设计3.1主程序设计上电后先进行系统初始化,包括时钟配置、延时函数初始化以及调试程序时所需串口的初始化。然后进行定时器的初始化,本系统中定时器分别用于PWM信号的产生、超声波测距判断高电平时间和输入捕获实现红外解码,故需要启用三个定时器并进行相关配置。在进行LCD12864初始化和红外接收初始化之后就进入while(1)循环,判断当前模式,若为自动跟随模式,就对两个超声波测距模块测得的距离数据进行比例控制计算,并根据输出量控制左右两个电机转速;若为遥控模式,就根据红外解码得到的遥
13、控器键值控制小车的运动。主程序流程图如图3所示。图3 主程序流程图3.2测距程序设计实现测距,要先给超声波模块TRIG端10us以上的脉冲,模块将自动发送超声波并接收返回信号,测量高电平时间即可通过计算得到距离值。程序的关键是高电平时间测量,本设计将STM32接ECHO的IO口配置为外部中断IO,上升沿触发中断后立即打开定时器,直到判断ECHO为低电平时关闭定时器,此时定时器计数寄存器的值便可以转换为高电平时间,进而得到距离。3.3 红外遥控和小车运动控制本设计使用的遥控器是NEC编码方式。对于NEC码,在接收头收到的信号逻辑1应该是560us低加1680us高,逻辑0应该是560us低加56
14、0us高。NEC遥控指令的数据格式为:同步码头、地址码、地址反码、控制码、控制反码12。根据NEC协议内容可以用定时器的输入捕获模式完成红外解码,同时扫描解码结果,得到键值。实际测得本设计所用到的按键键值如表1所示。表1 键值表功能前进后退左转右转模式切换复位键值 98168 34194 2162小车左右侧分别有一个驱动轮,利用电机驱动模块可以实现电机的正反转以及速度调节,两个电机配合即可实现小车各个方向的运动。小车右转的程序如下:void move_right(void)IN1=1;IN2=0;/IN1、IN2对应左电机,10正转IN3=0;IN4=1; /IN3、IN4对应右电机,01反转
15、pwm_left(50);pwm_right(50);这段程序对L298N模块的四路逻辑输入进行了配置并分别用占空比为50%的PWM信号控制左右电机。左电机正转、又电机反转体现在小车上就是小车原地向右旋转。同理编写move_left()、move_forward()、move_backward()等几个函数供外部调用。3.4比例控制程序设计当一个机器人被设计用来自动维持某一数值,如距离、压力等,它一般都包含一个控制系统。在本设计中该系统由传感器和电机组成,可以通过处理器编程对传感器的输入做出决定,从而控制输出。对小车采用闭环控制中最常用的比例控制算法来维持其与目标物体之间的距离,比例控制框图如
16、图4所示。在程序中设定一个目标距离,比例控制器将使实测距离不断逼近目标距离。首先计算目标距离和实测距离的误差,将误差进行比例控制即乘以一个比例常数Kp,得到的结果用于校正电机PWM控制信号的占空比,再用校正后的PWM信号驱动电机旋转13。在本系统中Kp必须为负值,因为假设实测距离过大,即误差为负,输出校正值为正才能使电机加速旋转、小车有减小实测距离使其趋近目标距离的趋势。图4 比例控制框图以上控制环路将不断调整电机转速使实测距离趋近目标距离,对左右电机用同样的控制环路分别控制,将使小车能跟随目标物转弯、旋转,提高系统可靠性。程序设计如下:get_distance();/测距dutycycle_
17、left = (setdistance-leftdistance) * Kp + center;/左侧运算dutycycle_right = (setdistance-rightdistance) * Kp + center; /右侧运算pwm_left(dutycycle_left);pwm_right(dutycycle_right);/更新PWM信号占空比4.系统测试在环境温度一定的室内对小车的跟随性能进行测试,分别在不同跟随距离下观察小车是否能准确跟随,并测量响应时间。系统测试结果如表2所示。表2 系统测试表跟随距离/m0.5123准确跟随几率/%100959590响应时间/ms209
18、92493985.结语以STM32为控制芯片,设计并制作了一种可遥控智能跟随小车。经测试,在空旷地该小车可自动360度跟随目标物体,系统响应快,保持距离准确,同时小车可以由遥控器一键切换为遥控模式,使设计更为人性化。该小车成可实现多辆跟随,可应用于简单的工厂搬运或者超市、家居等生活场合。参考文献:1 蔡磊,周亭亭,郭云鹏,等.基于超声波定位的智能跟随小车J.电子测量技术,2013,36(11):76-79.2 徐成波,张常年.基于嵌入式Linux的移动机器人控制系统J.单片机与嵌入式系统应用,2014,7:24-27.3 夏鲲,张振国,丁学,等.电动车跷跷板自平衡系统设计J.电子测量与仪器学报
19、,2010,24(2):179-183.4 魏雅,杜云.基于单片机遥控超声波测距智能小车J.信息技术,2014,11:67-69.5 朱海洋,张合,马少杰.低功耗声/超声复合传感器节点设计J.仪器仪表学报,2014,35(10):2223-2230.6 陈洁,余诗诗,李斌,等.基于双阈值比较法超声波流量计信号处理J.电子测量与仪器学报,2013,27(11):1024-1033.7 兰羽.具有温度补偿功能的超声波测距系统设计J.电子测量技术,2013,36(2):85-87.8 章隆彬,邱恒,马国荣.基于Android操作系统的XK-I教育机器人平台设计J.国外电子测量技术,2013,32(8
20、):50-53.9 张洁,刘苹,卢慧.基于单片机AT89C52的多功能探测小车设计J.电子测量技术,2014,37(8):85-88.10 兰羽.基于红外传感器ST188的自动循迹小车设计J.电子设计工程,2013,21(3):64-66.11 李从宏.基于功能码的红外遥控软件解码技术J.单片机与嵌入式系统应用,2010,9:72-73.12 陈志丹,郝卫东,闫伟,等.基于STM32遥控数字音量功放系统设计J.微型机与应用,2014,33(4):20-22.13 凌好,刘荣忠,郭锐,等.基于STM32的太阳自动跟踪控制系统的设计J.计算机测量与控制,2012,(20)2:383-385.作者简介:刘磊,男,1993年出生,西南交通大学在读本科,主要研究方向为电气自动化、自动控制技术。E-mail: