智能监控机器人是近年来机器人使用工程中一项前沿性的标题,智能化勘探小车是智能行走机器人的一种。智能监控机器小车便是针对上述情况,在参阅了现在大多数智能机器人的根底上,以降低成本为准则规划的。小车具有温湿度和环境监测、无线通信、逃避障碍物以及无线遥控等功用。此智能监控机器小车与现在已有的同类规划比较,有性价比高、操作便利、可靠性好、功耗小等长处。
1 体系结构及硬件规划
整个体系由发送端(智能小车部分)和接纳端(操控台:操控和显现部分)组成,如图1所示。体系由传感器体系、动力及转向体系、CCD图画传感器模块、LCD显现、温度和湿度丈量电路和供电体系等组成,整个体系的操控中心以2片Altera公司的EP2C20F484为中心,在Altera公司的QuartusⅡ和SoPC Builder开发环境中完结。依据体系硬件结构增加所需求的外围模块并生成NiosⅡCPU。
1.1 供电体系
小车安装了两块充电电池,别离为FPGA开发板(FPGA操控电路)和小车运动供给能量,电池置于车身底部。
1.2 传感器体系
体系选用了6个红外对射传感器,经过FPGA装备的NiosⅡCPU来检测传感器信号完结小车逃避障碍物的功用。漫反射型红外对射传感器也称光电开关,是一种集发射器和接纳器于一体的传感器,多用于检测障碍物。原理是由光电开关辐射出来的调制红外光束被检测物体反射回来,红外线经同步选通接纳,由电子开关线路驱动回路,从而来检测物体的有或无。当被检测物体的外表亮光或其反光率极高时,漫反射式的光电开关是首选的检测形式。这种电路模块体积小,信号简略转化为规范电平。
1.3 动力及转向体系
本小车有左右轮两个电机及龟机驱动。驱动电路选用了CT Microelecttonics公司的大功率直流电机驱动芯片L298,最高支撑50 V电压,最大电流为5 A,满意大功率电动机的要求,外围电路简略,一起,因为该芯片为双路结构,别离操控左右电动机,增加了电路的可靠性,减少了复杂性。电机操控选用PWM脉冲宽度调制办法来操控轿车的跋涉速度。由NiosⅡCPU写入操控字,可得到不同占空比的PWM驱动信号,此PWM信号送入电机驱动芯片的操控端来调理速度。
1.4 小车主动避障体系
小车主动避障体系选用Verilog HDL言语编写驱动电路。该模块(见图2中的MOTOR)和一个数据选择器(见图2中的select_2)相连来完结主动避障与人工遥控之间的切换。当小车上NiosⅡCPU的SEL管脚输出低电平时,数据选择器将把该模块的输出作为电机的操控指令。这样规划的长处在于规划具有呼应敏捷,不需求NiosⅡ CPU参加,提高了CPU处理湿度、温度数据并操控无线模块收发数据的功率。该逻辑电路的作业原理是依据红外传感器发回来的数据,经过逻辑判别来操控电机的作业状况。
1.5 小车的人工操控
小车的人工操控和主动避障之间的转化由一个数据选择器操控,当小车上NiosⅡCPU的SEL管脚输出高电平时,数据选择器将把无线模块所发送过来的指令作为电机的操控指令,完结了对小车的无线操控。
1.6 温度和湿度丈量
在温度丈量体系中,选用抗干扰才能强的新式数字温度传感器DS18B20,该体系规划中将DS18B20的1,3引脚别离接于FPGA板的GND 和+3.3 V管脚,2引脚接FPGA的I/O脚,传输操控及数据信号。DS18B20最高可用12位表明温度值,最高5位为符号位。
选用HS1101湿度传感器,具有呼应速度快,作业温区宽(-40~+100℃),丈量规模大(0%~100%RH),可靠性高,稳定性好,功耗低,外围电路简略等长处。
作业原理为:用HS1101传感器与TLC555构成多谐振荡器,HS1101传感器内部%&&&&&%会随湿度的改变而改变,从而使输出频率发生改变。编写VHDL程序在FPGA规划一个频率计可精确的测出频率值,经过输出频率与湿度的联系便可得到湿度值。
1.7 无线收发体系
体系选用PTR4000无线嵌入式模块,作业频率为2.4 GHz,最高作业速率可达1 Mb/s,高效GMSK调制,且有CRC检错功用。具有低功耗,抗干扰才能强,体积小等长处。首要有三种作业形式,别离为:装备形式、 ShockBurst发送形式和ShockBurst接纳形式。
2 软件规划和调试
选用NiosⅡ进行C言语编程。NiosⅡ集成开发环境(IDE)是NlosⅡ系列嵌入式处理器的根本软件开发工具。一切软件开发使命都能够在Nios ⅡIDE下完结,包括修改、编译和调试程序。NiosⅡIDE是根据开放式的、可扩展Eclipse IDE project工程以及EclipseC/C++开发工具(CDT)工程,NiosⅡIDE为GCC编译器供给了一个图形化用户界面,能够支撑规范C。 NiosⅡIDE编译环境主动地生成一个根据用户特定体系装备(SoPC Builder生成的SoPC文件)的makefile,有利于程序的开发。
NiosⅡIDE包括一个强壮的、在GNU调试器根底之上的软件调试器——GDB。完结软件代码的编写后,能够对代码进行仿真和调试。Nios-Ⅱ IDE供给了一个便利的闪存编程办法。任何连接到FPGA的兼容通用闪存接口(CFI)的闪存器材都能够经过NiosⅡIDE闪存编程器来烧结。针对本规划及使用,编写了体系操控程序和LCD显现程序。流程图如图3所示。
3 体系调试
小车体系需求测验能否精确接纳操控台发送的指令并操控小车运动或中止,以及向前、后、左、右转向。还要测验主控机能否精确接纳小车收集到的温度以及湿度信息,能否正确显现。经过屡次测验,发现因为体系程序是选用收发循环转化的形式,为了让两个体系能够收到对方发的信息,对小车的遥控与主动部分进行简略的分解。主动情况下,操控台为首要接纳端,小车为首要发送端,一般情况下小车发送数据到操控台,需求主动到遥控的转化时,经过在延时时刻内进行中止来实施从主动到遥控的转化;在遥控状况下,操控台为首要发射端,小车为接纳端,一般情况下操控台发送小车跋涉指令到小车,需求收集数据时,经过温度、湿度收集按键来对小车进行收发转化,一起小车宣布收集数据指令,之后再次转为接纳形式。这样做之后使小车与操控台的软件部分明晰明晰,小车的跋涉以及收集显现数据能够实时的进行。
湿度丈量体系需求测验是否能够精准输出频率值。选用芯片LM555手册上引荐的电路,因为元件的差错,使输出的频率并不精确,经过与规范的湿度仪进行比对,经过参数调整,用直线做近似,最终得到的频率值差错在几赫兹(频率规模是6 008~7 314Hz),经过预算得到很精确的湿度值。开端求湿度值时用的是解一元三次方程的办法,因为核算量大,对小车的跋涉会有很大影响,后来在小车端仅仅把小车收集到的频率值经过红外天线传输到主控端,并将原先的小车主动避障由NiosⅡCPU操控改为由Verilog编写的硬件模块操控,最终在操控台做湿度值的核算。这样的更改既减少了小车NiosⅡCPU的作业量,一起因为小车的主动避障改为由独立的Verilog模块操控,运转起来很流通。
关于无线收发体系,要测验其可靠性以及发送或接纳的信息的精确性。测验办法是独自规划了一个软核下载到SoPC中,并编写一段程序用于测验是否正确写入装备操控字,是否能够进行ShockBurst形式的接纳或发送。问题是对天线各形式时序的掌握,一开端写的程序总是不能正确写入装备字,重复调试,并用数字示波器调查写入装备字的瞬间进程以及各延时的时刻,最终测验成功,并把发送或接纳的状况用LED显现出来,每发送或接纳到一个数据包就让LED闪一下。
4 结语
本规划以FPGA嵌入NiosⅡ软核处理器为中心,辅以必要的外围电路,构成了高度集成化的片上体系。别的,SoPC体系的柔性装备,使得能够根据此体系扩展片外存储器和多路输出。规划的小车具有较强的避障才能,且能经过接纳端对其进行便利的操控,温度和湿度收集均达了较高的精度,并且能完结动态显现,无线收发模块的有用规模最远可达300 m,可使用于较为恶劣的环境,可代替人进行温度和湿度的实地检测。