基于Android的智能小车控制系统设计
2018-02-05王宇张国安
王宇+张国安
摘要:文章给出一种基于Android手机控制的智能小车控制系统设计方案。在方案中,通过驱动控制子系统,可以由手机终端控制小车的移动,而视频子系统可以实现智能小车向手机终端实时传输图像,通过测距子系统,可以实现智能小车避障功能。实验结果显示该智能小车控制系统业已实现上述各项功能。
关键词:Android手机;智能小车控制;图像传输;避障
1 模块选型
基于STM32F105RBT6芯片来实现小车的控制模块单元,STM32系列芯片特点在于高性能、低成本、低功耗,其分为3种不同作用的类型,STM32F101系列属于基本型,其中包含了最基本的STM32芯片功能。STM32F103系列属于增强型,相对于STM32F101系列,其支持更多的接口和兼容更多的外接传感器,可以实现通过一块芯片不同端口连接不同的外接传感器,从而达到控制处理的目的。而STM32F105、STM32F107系列属于互联型,这两款芯片支持USB的连接方式,同时都支持CAN总线接口,相对于STM32F105,STM32H07芯片还支持以太网10/100MAC模块,在数据的传输方面更加便捷。
驱动模块使用L298N芯片构成的电机驱动模块,L298N芯片由ST公司研发生产,是一款具有高电压、大电流的电机驱动芯片。该芯片共有十五引脚的封装,同时内部包含了四通道的逻辑驱动电路,可以让两个二相电机或者一个四相电机进行正常工作。在该芯片的内部包括了两个H桥电路,任意一个H桥电路都可以提供2A的电流和2.5?48V的电压,可以接受5V的标准TTL电平信号,即意味着可以驱动46V,2A以下的电机。L298N芯片引脚的ENA,ENB为控制使能端,控制电机的停转,INI,IN2,IN3,IN4这4个引脚为输出端口,分别用来控制两个电机的正反转。该芯片还支持PWM脉冲的调速,除此之外芯片在抗干扰、过电压和过电流保护方面性能优异。
选择集成了电源转化模块的直接可以连接锂电池的PWR.AR电源稳压与电机驱动模块。此模块含有电源稳压和电机驱动两部分,可以直接与锂电池连接,同时还具有USB串口,可以通过此模块直接连接无线模块。符合STM32F105RBT6芯片所支持的USB串口要求,所以最終选择这款模块进行设计。
无线模块采用含有ESMTM13S25616A-5T芯片和ATHEROSAR9331-AL3A组成的模块,作为无线模块。此模块不仅含有稳定、高效的无线传输芯片,同时还具有系统所需的USB串口,可以使用MircoUSB串口与PWR.AR电源稳压与电机驱动模块的USB串口相互连接通信,保证用手机端控制小车时,信号传输的稳定与指令的有效执行。同时该无线模块可以使用USB串口与摄像头连接,保证传输质量的稳定、高效。在调试阶段,使用USB串口相对于传统的针脚而言,USB更方便调试,针脚接线容易产生跳线错误的问题,而USB这种固定通用的接口则会避免此类问题的发生,有效减少了因为人为操作失误而导致的小车故障的发生,为调试过程问题的排查减小了难度。
其中ATHEROSAR9331-AL3A芯片是ATHEROS退出的一款单频500MW的芯片,用于无线路由器或WLAN设备的主芯片,英文技术参数如下:
CompleteIEEE802.1InlxlAPorrouterinasingle
chip
MIPS24Kprocessoroperatingatupto400MHzExternal16-bitDDR1,DDR2,orSDRAMmemoryinterface
SPINORFlashmemorysupportNoexternalEEPROMneeded
4LANportsand1WANportIEEE802.3FastEthernetswitchwithauto-crossover,autopolarity,andauto?negotiationinPHYs
FourclassesofQoSperport
FullyintegratedRFfront-endincludingPAandLNA
OptionalexternalLNA/PA
Switchedantennadiversity
High-speedUARTforconsolesupport
I2S/SPDIF-outaudiointerface
SLICforVOIP/PCM
USB2.0host/devicemodesupport
GPIO/LEDsupport
JTAG-basedprocessordebuggingsupported25MHzor40MHzreferenceclockinputAdvancedpowermanagementwithdynamicclockswitchingforultra-lowpowermodes
148-pin?12mmxl2mmdual-rowLPCCpackage该芯片一般用来完成IEEE802.11nlxlAP或路由器,其在MIPS24K处理器中的工作频率可以高达400MHz,可以使用外部16位DDR1或DDR2或SDRAM存储器接口SPINOR闪存支持,在使用的过程中不需要额外的外部EEPROM,该芯片拥有4个LAN端□和1个WAN端IUIEEE802.3具有自动分频的功能,可以作为自动极性和PHY自动协商的快速以太网父换机的主芯片,该芯片的每个端口有4类QoS,该芯片完全集成的RF前端,包括PA和LNA的方式,同时可选外部LNA/PA。该芯片支持开关天线分集,还可以用于控制台支持的高速UART,该芯片具有I2S/SPDIF输出音频接口,可以适用于VOIP/PCM的SLIC,并且该芯片支持USB2.0主机/设备模式,其中有的端口还有GPIO/LED支持的功能,该芯片可以支持基于JTAG的处理器调试,在时钟频率方面具有25MHz或40MHz参考时钟输入的两种方式,在运行过程中可以采用超低功耗模式的动态时钟切换进行高级电源管理,芯片总共具有148针,12mmX12mm双排LPCC的封装。endprint
智能小车电源选用7.4V-2200MAH锂电池。
2 关键控制电路
2.1 智能小车控制器
STM32F105RBT6芯片,是一款32位的芯片,基于ARM核心的256K字节闪存的微控制器,该芯片支持USBOTG技术,以太网技术,同时带有定时器和CAN总线,还有ADC和14个通信接口。
本次设计采用STM32F105RBT6的原因在于,F105系列属于互联型的STM32芯片,其功能支持USB接口技术,是本次设计采用它的最大原因,使用USB接口技术,方便了各种模块之间的连接,同时还提供了高速的传输通道,让智能小车在运行过程中始终保持流畅的运行状态,数据的传输也能够顺畅进行,同时STM32系列本身自有的多接口容纳性,也是本次使用STM32的原因之一。STM32可以支持多种版本的接口设备、传感器,同时在国内有很多人也在研究STM32系列芯片,拥有广泛的适用人群。STM32单个端口可以使用多种状态进行控制,并不像51和HC系列芯片一样,只能通过单纯的10接口的方式来实现数据的获取。不同的控制状态,在STM32芯片内部封装有对应的库函数,使得编程会变得方便快捷。
2.2 测距模块
HC-SR04超声波测距模块工作电压为5V,感应角度小于等于15°,测距范围:2?400cm,精度高达0.3cm,盲区范围是2cm,其接口只有4个,两个供电端口:VCC和GND,接收端口是Echo,控制端口是Trig。对于本次设计,该模块能够完美兼容STM32F105系列芯片,同时该模块也是常用的超声波测距模块,用途广泛,使用人数多。
通过STM32F105系列来驱动直流电机,从而达到控制小车前后左右行进的目的;通过基于ESMTM13S25616A-5T芯片和ATHEROSAR9331-AL3A芯片组成的无线模块来传输小车实时运动的视频状态,同时连接手机端对小车进行控制;通过以HC-SR04为基础的超声波模块,测量距离:用L298N芯片模块来达到控制小车电机的目的,整个系统使用2200MAH锂电池进行供电。
(1)驱动模块。本模块主要负责小车的行驶电机驱动;
(2)测距模块。本模块主要负责小车在行驶过程中对障碍物距离的测量;(3)无线模块。本模块主要负责与手机端连接,实现控制小车的行进;(4)控制模块。本模块主要负责小车行径姿态的调整,包括前进、后退、左转、右转、停止等;(5)电源模块。本模块主要负责小车的供电;(6)视频模块。本模块主要负责小车在行驶过程中实时画面的拍摄和传输。
3 系统设计
3.1 系统结构框图
本系统的总体结构如图1所示。
3.2 驱动模块
智能小车的两个直流电机分别与L298N电机驱动模块内的INI,IN2,IN3和IN4相连,其中L298N与小车电机的关联
关系如表1所7K。
表1L298N端口与小车的关联关系根据设计分析,智能小车的逻辑状态如表2所示。表2智能小车逻辑状态,但是在实际的操控过程中,有些小车的状态有所重复,为了防止小车状态出现干扰和重复,达到最佳的控制方式,智能小车的实际运动状态如表3所示。
3.3 控制模块
智能小车控制模块为以STM32F105RBT6芯片为核心的最小系统板,其中通过针脚插合与PWR.AR电源稳压与电机驱动模块相连接,STM32F105端口与L298N端口对应关系如:
通过STM32端口的输出控制,来达到控制L298N端口的输出,同时控制电机的转速、转动方向等,实现控制小车行径的目的,通过设置参数变量,来达到不同运动状态的表述,在实际的控制函数中,只需要调用相关的变量就可以达到实际的操作目的。
3.4 测距模块
超声波测距的原理是通过10口触发测距,给相应的端口至少10叫的高电平信号,然后通过该模块自动发送8个40kHz的方波,产生超声波信号,再检测发出的超声波是否有返回信號,若有返回信号,则通过10口输出一个高电平信号,结合高电平信号持续的和超声波从发射到返回的时间,就可以测出相应的距离,其中测距公式为:
测试距离=(高电平时间×声速)/2超声波测距的时序如图2所示。
3.5 视频模块
由于所使用的摄像头可以通过USB数据线连接,所以下载WmSCP软件,将摄像头和WiH模块连接,可以实现由该软件对于摄像头参数的修改,WmSCP软件的使用如图3所示。
3.6 无线模块
本次设计所购买的WiFi模块,可以通过电脑端设置路由的方式,修改WiH相关参数,参数配置界面如图4所示。
对智能小车的WiH设置配置动作,以此作为手机端和STM32控制端的连接接口,STM32端数据传输协议如表5所示。
3.7 手机端控制
手机端控制逻辑流程如图5所示。
通过手机端的控制,将控制指令经由WiFi模块传递给STM32控制模块,然后再由STM32控制模块,控制小车的运动状态,同时实现小车的实时操作数据的双向传输。
4 结语
通过上述设计,可以在手机端完成以下功能:(1)通过手机终端完成智能小车的前进、后退与左右转弯控制;(2)智能小车上摄像头捕获的图像可以在手机上显示并存储;
(3)智能小车具有避障功能。
[参考文献]
[1]杜静,周琪栋,王晓安,等基于STM32的WiFi视频监控智能小车[J].科学与财富,2016(4):426-427.
[2]周柱.基于STM32的智能小车研究[D].成都..西南交通大学,2011.
[3]李婕.基于STM32的无线视频监控智能小车设计[D].兰州:兰州理工大学,2014.
[4]段英杰,霍新宇,王惠洁,等.WiFi视频传输机器人的设计[J].物联网技术,2016(5):31-32.
[5]朱德良.基于AT91SAM9G25的Linux下RTC设备驱动的设计与实现[J].自动化与仪器仪表,2014(1):98-101.
[6]王庆伟.51单片机I2C总线应用工作原理[J].中国新通信,2012(17):93-94.
[7]何梓滨.智能视觉传感器技术及其在药品自动视觉检测的应用研究[D].天津:天津大学,2008.
[8]朱思敏.自循迹智能小车控制系统的设计与实现[D].杭州:浙江工业大学,2013.
[9]黄海明,杨雷.智能保安巡逻机器人[C].北京:2009全国虚拟仪器大会,2009.
[10]张伟.南斯拉夫机器人事业的发展[J].机器人技术与应用,2000(4):14-15.
[11]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,1991.
[12]谭浩强.C语言程序设计[M].北京:清华大学出版社,1999.
[13]公茂法,黄鹤松,杨学蔚.MCS-51/52单片机原理与实践[M].北京:北京航空航天大学出版社,2009.
[14]ZHOUX?PINGL?JIAL.InstituteofComputingTechnology,ChineseAcademyofSciences[J].JournalofComputerSciences&Technology,2004(4):41-48.
[15JDHARMADASAIM.Advancesinthin-filmsolarcells[M].Stanford:PanStanfordPublishing,2013.endprint