一种基于74HC245D的管道机器人的控制系统
2018-09-26赵玮代军郭雷
赵玮 代军 郭雷
摘要:本文设计了一种管道机器人的控制系统。该系统以STM32F103C8T6单片机为主控制器,采用NRF24L01芯片通信,然后通过74HC245D芯片增加单片机的驱动能力,驱动直流电机来控制管道机器人的行动。该系统成本低,性能稳定,适用于小型的管道机器人控制系统。
关键词:管道机器人;控制系统;74HC245D;直流电机
中图分类号:TP242 文献标识码:A 文章编号:1007-9416(2018)05-0001-03
在城市建设和发展的过程中,管道是一种重要的基础设施,为人们的生活提供便利。但是由于管道本身特殊的条件,当管道的内部出现例如灰尘堆积、管道内壁损坏、管道内存在异物等情况时,维修人员无法进行管道内的人工作业,这时候管道的日常保养和维修就成为了相关部门的一大难题[1]。而管道机器人的出现能够在很大程度上解决此类问题,因为管道机器人可以携带各种清理、维修设备进入管道内进行作业,对管道内部的情况进行检测、清理以及维修[2]。
本文设计了一种履带式管道机器人的控制系统,它由直流电机进行控制。工作人员可以通过控制机器人控制器来控制继电器的通断进而控制直流电机的启停,達到控制管道机器人的目的。
1 系统总体框架
履带式管道机器人在管道中行走时,需要用电机控制其行走机构,因此就需要有电机的驱动部分来驱动电机。但是由于单片机的I/O驱动能力有限,因此需要在单片机和电机之间增加驱动模块。整个系统工作时,由机器人控制器发出控制命令传送到无线通信模块,然后由单片机产生驱动信号,经过驱动电路将电流提升到能够驱动电机的电流,然后驱动电机工作来带动履带式管道机器人在管道中行走。系统总体框架如图1所示。
2 硬件系统
本文设计的控制系统硬件部分分为电源模块、单片机模块、电机驱动模块与无线通信模块。硬件电路采用Altium Designer绘图软件进行原理图与PCB板的绘制。
2.1 电源模块
由于本系统采用的芯片为5V和3.3V供电,因此系统采用24V电池组为供电电源,在系统中选用F2405S-2WR2(24V转5V)芯片与AMS1117(+5V转+3.3V)芯片[3]来进行电压转换。电源模块原理图如图2所示。
2.2 单片机模块
由于管道机器人在管道内部行走时,需要与外界进行稳定的通讯,因此本系统采用了STM32F103C8T6单片机。STM32主控芯片是意法半导体公司推出的一款以ARM Cortex-M3为内核处理器的高速、低功耗的芯片,它在整个系统中起到了接受外部信号,发送控制指令的功能。当单片机模块接收到无线通信模块传递来的信息,它会根据信息的种类来输出相应的驱动信号。假设机器人控制器上的摇杆向前扳动,则无线通信模块会发送给单片机一个相应的指示信号,单片机就会输出驱动信号来控制向前移动的电机来启动,使得管道机器人在管道内部向前移动。
2.3 电机驱动模块
电机驱动模块是整个控制系统的重要组成部分,它由两部分组成:一个三态八路输出的收发器74HC245D和12个继电器。电机驱动模块的电路图如图3所示。
(1)74HC245D。74HC245D是兼容TTL器件引脚的高速CMOS总线收发器[4],是典型的CMOS型三态缓冲门电路,八路信号收发器,在单片机的I/O口驱动能力有限的情况下,增加该器件可以使得驱动电路的驱动能力增强。其中DIP为方向引脚,当DIP为1时,信号由A端输入,B端输出;当DIP为0时,信号由B端输入,A端输出。第2~9引脚和11~18引脚均为信号的输入输出端,输入输出类型由DIP引脚控制。第19引脚为信号使能端,当OE引脚为1时,A/B端信号截止,无法导通;当OE引脚为0时,A/B端信号可以导通,该引脚起到了开关的作用。74HC245D的真值表如表1所示。
(2)继电器。整个系统是通过控制继电器的闭合和断开来控制直流电机的转动与停止,达到控制小车行进与停止的目的。本套控制系统采用HRS1H-S-DC5V型号的电磁继电器,只要在继电器线圈的两端加上一定的电压,线圈中就会通过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电的时候,电磁力消失,使得动触点与原来的静触点(常闭触电)吸合。这样由开到闭,可以使得电路的状态由导通到断开,从而控制电机的转动与停止。HRS1H-S-DC5V电磁继电器的内部原理图如图4所示。
其中2脚和5脚是线圈的两端,其中一个接74HC245D的输入端,也就是控制端,另一个接高电平。通过控制端的高低电平改变来控制继电器,从而达到控制电机的目的。
2.4 无线通信模块
为了使管道机器人在管道内能够接收到机器人控制器发来的控制信号,必须要在控制电路中增加无线通信模块。无线通信模块选择NRF24L01芯片为主芯片[5],它是一款能够工作在2.4-2.5GHz的单片收发芯片,支持六路通道的数据接收,能够在1.9-3.6V的低电压下工作,并且当芯片工作在应答模式通讯时,它的空中传输及启动时间很快,大大降低了电流的消耗。
当发送数据时,首先要将NRF24L01芯片配置为发送模式,然后将CE管脚置高并且保持至少10us,然后延迟130us发送数据。如果开启自动应答模式,则收到应答后,就认为此次通信成功;若未收到应答,则重新发送数据。最后发送成功时,若CE为低电平,则芯片自动进入空闲模式;若CE为高电平,代表发送堆栈中有数据未发送成功,进行下一次发送。
当接收数据时,首先要将NRF24L01芯片配置为接收模式,接着延迟130us等待数据的到来。当接收到有效的地址和校验后,将数据暂时存在RXFIFO中,并且产生中断,等到单片机去取数据。若自动应答开启,则芯片进入发送状态,并且回传应答信号,代表接收成功。
3 软件设计
该系统采用STM322F103C8T6单片机为主控制器,实验程序在keil uvision5编程环境下由C语言编写[6]。
系统上电后,单片机首先要对各I/O口进行初始化,然后等待无线通信模块的指令。当接收到机器人控制器发出控制信号后,单片机产生中断,来控制驱动模块产生相应的驱动信号来驱动直流电机控制行走机构。软件流程图如图5所示。
4 结语
本文从实际出发,分析了目前管道内保养和维护出现的问题,提出了管道机器人控制系统的总体框架,用单片机技术对管道机器人控制系统进行了设计。该系统主要包括单片机模块、电机驱动模块与无线通信模块。通过该系统,工作人员可以在管道外对管道内的机器人进行自由控制,实现管道机器人对管道的日常清理和维护。该系统体积小、成本低、控制简单灵活、操作方便,能够实现机器人行走装置的自动控制,较好的适应了管道内的作业要求,具有很高的推广应用价值。
参考文献
[1]邵琦,谢哲东.管道机器人的发展与展望[J].农业与技术,2016,36(05):173-175.
[2]侯宪伦,葛兆斌,李向东,等.履带式机器人的设计[J].机械制造,2009,47(9):41-43.
[3] 郑晓庆,杨日杰,杨立永,等.多路输出DC-DC电路设计[J]. 国外电子测量技术,2012, 31(9):31-33.
[4]王力,薛红喜.多路开关状态检测[J].电子设计工程,2011,19(14):111-113.
[5]李探元.基于STM32和nRF24L01的Web监控系统设计[J].国外电子测量技术,2018,37(01):93-96.
[6]张非凡,周志宾.基于单片机控制的电子秤设计[J].数字技术与应用,2018,36(01):15-16.