一种基于STM32的智能排爆小车的设计
2018-01-26西北民族大学电气工程学院薛乐乐
西北民族大学电气工程学院 薛乐乐
1.STM32单片机
STM32是为了满足高性能、低成本、低功耗等的要求而专门设计的一种ARM Cortex-M3内核。不同于其他系列的单片机,STM32系列的存储器容量更大,这样能够解决后期因需要外部连接硬件模块过多、各模块间通信复杂而导致的代码较长致使编译出错的问题。除此之外,此系列单片机的优化功能较好,性能和引脚数量都能够满足用户需求。在软件编程方面,STM32系列采用库函数调用的方式即可实现相应的功能,使用简单易于上手。
2.小车的组成部分
对于智能排爆小车的设计,可以分为四个部分:移动装置、机械手、其他辅助装置、控制机构。
2.1 移动装置
移动装置,或者我们称之为行走方式,就是使小车能够移动的装置。常见的移动或行走机构有传统轮胎式、履带传动式和混合式。传统的轮胎式在实际应用中又因地形或天气不同有不同的种类和应用,如越野胎、雨胎等,且使用的轮胎的数量也因应用环境不同而存在差异。传统的轮胎式优点是移动速度快、灵敏。
对于履带传动式,它不如传统轮胎那样移动迅速,但是它的应用也非常广泛。通常人们需要排除障碍物或者危险物的作业地点的环境是较为恶劣的,在极端的条件下传统轮胎就失去了用武之地,此时,履带传动可以很好地解决这一问题。对于野外的沙地、山路、阶梯等较复杂的地形,履带都能够顺利通过。
混合式即轮胎外面加装履带,不需要时可将履带拆下。在这里我们采用的是履带式的传动机构。
2.2 机械手
机械手是整个小车的设计中最为重要的部分,它担任着排除障碍物或危险物的角色,正是机械手的作业代替了人类在危险环境中的作业。
机械手有不同的自由度之分,为了使机械手能够更加灵活地运动,在这里我们采用多自由度的机械手。所谓自由度,即机械手各个运动部件在三维空间坐标轴上所具有的独立运动的数量。如一个自由度,指由一个直线运动来构成直线或者由一个旋转运动来构成曲线。两个自由度,指由两个直线运动构成平面,或者由一个直线运动加上另外一个在直线运动所在的平面内的旋转运动构成平面,或者由一个直线运动加上另外一个不在这条直线运动所在的平面内的旋转运动构成圆柱曲面。
为了在空间上到达任意一个点,通常需要3个运动轴,但是为了将一个物件送达指定的目标位置时仍需要3个运动轴。因此,为了同时满足以上两种要求,一个机械手至少都需要6个运动轴,其中3个是位置自由度,另外3个是姿势自由度。
假如用机械手来模拟仿真人类的手的话,那么舵机就相当于支撑着这只手的手臂、胳膊。舵机在各个领域的控制工程中都有很多应用,其最早是出现于航模运动中,通过调节发动机以及各个控制舵面来实现调整航模的运动。除此之外,在船模控制尾舵和车模中转向的控制等都是较为常见的应用。舵机的工作原理为,当控制电路板接收到来自信号线的控制信号时,电机转动,并且此时电机的转动带动一系列的齿轮组,当减速后传送至输出舵盘。
2.3 其他辅助装置
为了使小车的功能更加全面、性能更加完善,并且能够使之更好地在高危险度的环境中作业,在小车顶部我们加装一个摄像头,其作用是用来采集周围环境中的实时图像信息以帮助人类确定障碍物或危险物的准确位置。
对于具体的摄像头模块,采用基于STM32单片机的OV7670摄像头,此摄像头属于CMOS器件并且自身带有标准的SCCB接口。除此之外,此款摄像头能够兼容IIC接口。另外,其内置的器件主要有感光序列、时序发生器、AD转换器、数字信号处理器、模拟信号处理装置等。
摄像头的工作流程为:首先光照射到感光阵列,由感光阵列产生电荷,这些电荷会被送到具体的模拟信号的处理装置或者处理单元中,之后再经由AD转换器将此信号转换为数字信号。因为计算机无法直接对采集到的模拟信号进行相应的处理,所以需要一个转换器用来将模拟信号转换为相对应的计算机能够识别并进行处理的数字信号。然后将数字信号输入进DSP中进行处理,即实现插值到RGB信号,最后再将信号输出到屏幕上。
目前市面上的OV7670模块可分为两种:一种是带FIF0芯片的,另一种是不带FIF0芯片的,其原理图分别如下。
图2.3.1 不带FIFO的摄像头
图2.3.2 带FIF0的摄像头
两种摄像头的适用范围为:
不带FIF0的摄像头的用法相对简单且较直接,但是在实际应用的过程中实现起来可能较困难。主要原因是,大多数的CMOS芯片的时钟速度都可以达到24M,这对于一般的单片机的I/O口速度来说基本上无法达到,其中对于STM32的I/0口速度来说,寄存器要比库函数的速度快。据检测,使用库函数时I/O口的速度为2.5MHz,然而当使用寄存器时I/0口的速度大约为8MHz,很明显速度相差较大。
对于带FIF0的摄像头来说,由于多了这个器件作为数据缓冲的部件,会使得数据采集过程变得更加简便,对用户来说只需要关心数据的读取即可,而不用对采集过程做更深的理解。
2.4 控制机构
控制结构本设计主要采用无线通信的方式,即Wi-Fi模块或者蓝牙模块,在这里我们采用Wi-Fi模块。
2.4.1 无线局域网与Wi-Fi
无线局域网(Wireless LAN),英文缩写为WLAN,指的是在不适用任何的导线或者传输电缆连接的局域网,是使用无线电波作为数据传送的媒介,其传送距离一般只有几十米。无线局域网的主干网路通常使用的是有线电缆,无线局域网用于通过一个或多个无线接取器接入无线局域网。现在的无线局域网普遍采用的是IEEE定义的802.11系列标准。
Wi-Fi是Wi-Fi联盟制造商的商标作为产品的品牌认证,是一个创建于IEEE 802.11标准的无线局域网技术。
2.4.2 Wi-Fi控制方式的实现
本设计采用Wi-Fi来控制小车,即以Wi-Fi作为传输数据信道,可以通过手机、PAD和电脑等具备Wi-Fi的终端进行控制,并且可以将机器人的摄像头采集到的视频显示在控制端屏幕上。
TCP通信的概念:中文释义传输控制协议,英文原义为Transmission Control Protocol,该协议主要是用于在主机间建立一个虚拟连接,以实现高可靠性的数据包交换。该协议传输模式中在将数据包成功发送给目标计算机后,TCP会要求发送一个确认:如果再某个时限内没有收到确认,那么TCP将重新发送数据包。另外,在传输的过程中,如果接收到无序、丢失以及被破坏的数据包,TCP还可以负责恢复。在本设计中使用TCP协议是因为此协议是一种可靠、安全的通信方式。假如在通信过程中出现某些断续传输时,该次传输仍不会丢失数据包,这完全依赖着TCP的安全性。
单片机的概念:单片机系统也属于一种最简单的小电脑系统,但是它的频率很低,不适合进行大数据的运算,它的主要功能是通过控制其输出引脚(I/O口)的电平高低,从而让电机驱动芯片驱动电机正转或者反转,实现机器人的前进、后退。
单片机的引脚的输出电流很小,我们可以使用它点亮LED灯,但是用它驱动较大的车体是不太现实的,所以这里采用一个驱动芯片来增大驱动的功率,进而驱动电机运转,换句话说,单片机是用引脚电平的方式告知驱动模块。若需要机器人进行转弯时,需要控制左右两边的电机的不同转速来实现不同方向的转弯。简而言之,只需要使一边的电机转速快,另一边的转速慢,就可以使小车向转速慢的一边转,同理,可以实现不同方向的转弯。
我们把跑在单片机系统里面的程序称之为下位机,这个程序的作用就是接受来自上位机的指令,并进行解码分析,了解用户发出的是何种动作,然后让单片机芯片的指定引脚进行高低电平的赋值。
Wi-Fi智能小车指令传输的原理图如下:
图 2.4.1 智能小车机器人原理框图
Wi-Fi控制下视频传输的原理:摄像头通过USB数据线和Wi-Fi模块进行连接,Wi-Fi模块又通过Wi-Fi信道与PC端或移动端的设备进行通信,这样就能够实现通过人为地操控PC端或移动端的相关软件,来控制小车的移动或者机械手旋转、夹持、拆除等运动。
3.结语
随着人们对危险环境中作业减少伤亡的需求,智能排爆小车的设计能够较好地符合人们各个方面的要求,因此,本设计有着广阔的应用前景,本设计的开发也具有重要的实际意义。
[1]李锋.反恐排爆机器人遥操作及其智能辅助系统设计[J].上海交通大学,2012(07).
[2]钟国梁.排爆机器人运动控制系统的研究与实现[J].华南理工大学,2009(S2).