您当前的位置:五五电子网电子知识电子知识资料机器人-智能车基于AVR的智能教学无人车控制系统解析 正文
基于AVR的智能教学无人车控制系统解析

基于AVR的智能教学无人车控制系统解析

点击数:7634 次   录入时间:03-04 11:53:39   整理:http://www.55dianzi.com   机器人-智能车

      内容摘要:针对市场上大多数教学无人车设计采用单片机单一控制导致其功能扩展性弱、灵活度低等问题,设计了一种基于Atmega128单片机和无线通信的智能教学无人车控制系统,该系统包括PC机控制部分和无人车控制部分,通过PC控制端软件可以经无线通信模块实现对无人车的准确运动控制。实验结果表明,系统工作稳定,无人车在遇到干扰的情况下顺利完成货物运输、环境勘察、敌我识别、打击等功能,控制效果理想。
关键词:教学无人车;控制系统;无线通信;单片机

    智能教学无人车是一种履带式移动机器人,目前市场上的无人车大多采用单片机对其进行控制,其优点是体积小,成本低,结构简单,但仅仅依靠单片机远不能使无人车在复杂多变的工作环境中进行及时调整,并且极大地限制了其功能的扩展。基于此不足,本设计主要利用PC机与无人车的无线通信,使无人车在PC机无线指令下完成前进、后退、转弯、打击、生命值显示、调速和自动行驶等功能,并通过车载摄像头实时获取无人车所处环境信息,实现了远程监控。在执行任务时,如遭遇敌方车辆干扰通信,无人车在抵御干扰信号同时进行敌我识别,适时作出反击。

1 设计原理
   
教学无人车控制系统由上位机(PC)控制部分和下位机(教学无人车)控制部分组成。系统结构框图如图1所示。

a.jpg

   
    系统工作原理为:打开教学无人车电源时,Atmega128单片机通过语音模块使扬声器发出启动提示。当上位机无线控制台及PC端软件准备好后,PC端控制软件通过USB口向无线控制台单片机发出指令,使其配置无线模块相关寄存器,芯片进入指令发射模式;下位机由Atmega128单片机控制,在接收到上位机的指令后通过其集成的PWM外设模块产生2路PWM波和4条转向控制线经电机驱动模块增大驱动能力后控制左右2个电机产生相应的动作。例如,当PC端发出“左转”的指令时,下位机的无线模块接受成功后会自动返回接受成功应答信号。接着Atmega128单片机通过PA口控制L298P,使左侧电机反向转动,右侧电机正向转动,从而实现左转的功能;当PC端发出“打击”指令时,Atmega128则通过PE5口使红外发射管发出相应码制的红外进攻信号;当PC端发出“自动行驶”指令时,Atmega128结合接收霍尔传感器采集回来的数据,通过相应算法来协调左右两侧的电机,使坦克完成直线行走、转过固定角度,行驶固定距离等功能。教学无人车通过连接到PE5口的红外传感器感应对方无人车的攻击信号。如果接收到红外信号,PE5口会输入固定码制的信号,此时主控芯片会将生命参数减一并熄灭一个LED灯,当所有LED灯都被熄灭后,主控模块会通知语音芯片发出阵亡提示,无人车停止一切动作。

2 硬件电路设计
   
教学无人车控制系统硬件电路设计包括PC端无线控制台部分和下位机无人车控制部分的硬件设计。
2.1 PC端无线控制台部分硬件设计
   
无线控制台部分由PC机、STC12LE5A60S2单片机、NRF24L01无线模块及PL2303组成。PC端控制台软件通过USB口向STC12LE5A60S2发出指令,使其通过SPI串行通信协议配置NRF24L01的相关寄存器,随后芯片进入发射模式,将上位机指令转发给下位机。其设计电路图如图2所示。

b.jpg

   
2.2 下位机无人车控制部分硬件设计
   
下位机硬件由MCU模块、电机驱动模块、传感器模块、无线模块、语音模块、LED生命值显示模块以及电源模块组成。
2.2.1 MCU模块
    MCU模块以Atmega128单片机为核心,Atmega128单片机是一款高性能、低功耗的AVR 8位微处理器,处理速度可达1 MIPS/MHz,应用先进的RISC结构,特别是具有I2C、SPI、PWM、RS232串口、ADC、定时器等功能十分全面的外设。该单片机通过SPI串行通讯接口与无线模块连接,通过通用可编程I/O接口与电机驱动模块、语音模块、红外发射管和接收管连接。
2.2.2 电机驱动模块
   
电机驱动模块用于驱动直流电机,采用L298P电机驱动芯片。L298P是SGS公司的产品,为20管脚的专用电机驱动芯片,内含二个H—Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46 V、2 A以下的步进电机和直流电机,具有高电压、高电流的特点。电路设计如图3所示。

c.jpg

   
    Enable控制电机停转,接到单片机的PE3、PFA口上,由这两个I/O口产生PWM波控制电机转动。input1—input4控制电机的正反转,接到单片机的PA0-PA3口上。OUT1、OUT2和OUT3、OUT4之间分别接2个直流电机。
2.2.3 传感器模块
   
传感器模块包括红外模块和霍尔模块两部分。
    红外模块包含接收和发射两个功能模块。红外接收模块由一个红外接收管构成,接收对方车辆发射的红外攻击信号。当系统接收到进攻信号时,PE6引脚上会出现一个高电平,触发一次外部中断,在中断服务程序中处理并判断红外数据。如果确认为进攻信号,则使生命值变量减一,同时熄灭一个LED灯。发射模块由一只红外发射管和一个三极管组成,红外攻击信号经过三极管放大后由红外发射管发出。攻击信号为8位数据,当收到进攻指令时,发射模块将程序中设定好的8位数据按位发出。
    霍尔模块由两只霍尔传感器和四片磁铁组成,用于测速,以实现调速、自动行驶等功能。磁铁正反安放在左右两个电机减速箱的二级齿轮的边缘上。当教学无人车行驶时,电机带动齿轮转动,两片磁铁就会交替从霍尔元件下面经过,由于两片的磁场方向不同,就会使霍尔元件内部的电子发生不同的偏转,这样,二级齿轮每转过一周就会使霍尔元件产生一个脉冲信号,构成闭环系统。主控芯片接收脉冲信息,通过不同算法可控制两电机完成不同的控制要求。
2.2.4 语音模块
   
语音模块由WT588D语音芯片和SPI寻址的8M ROM芯片及其外围电路组成。使用前将需要播放的语音烧写在ROM芯片中。语音模块使用三线串口控制模式,这种控制模式由CS,DATA,CLK 3条通信线组成,分别连接到Atmega128的PC0、PC1、PC2 3个I/O口。控制时序根据标准SPI通信方式。
2.2.5 无线模块
   
无线模块主要包括NRF24L01和Atmega128。NRF24L01采用FSK调制,内部集成NORDIC公司自家的Enhanced Short Burst协议,可实现点对点或是1对6的无线通信,无线通信速度可达2.4 Gbps,并可以通过配置其寄存器实现调频传输。主控芯片通过SPI协议配置NRF24L01的相关寄存器来完成对无线模块的初始化和数据的传输。无线模块的SPI信号线对应的接到Atmega128的PB0-PB3 4个I/O口上,CE端接到PE2,利用Atmega128内部集成的SPI功能进行通信。无线模块电路设计如图4所示。

d.jpg

   

3 软件设计
   
软件设计包括控制端软件的设计和终端软件的设计。
3.1 控制端软件设计
   
无人车控制台的主控软件将键盘指令转化为控制码发往下位机,控制小车的动作并显示下位机发来的状态信息???。该软件利用Labview串口通讯将键盘指令转化为二进制字符串送到上位机。利用模拟SPI的方式,通过STC12LESA60S2配置NRF24L01的寄存器使其处于发射模式。当收到PC串口发送的数据时,NRF24L01在单片机的控制下将数据逐位发出。设计的控制端软件如图5所示。

f.jpg

   
3.2 终端软件设计
   
教学无人车的终端软件主要包括无线接收程序、驱动控制程序等。程序中定义变量Life为生命值标识,定义Date为小车的控制标识,定义函数Motor()为电机控制函数。流程图如图6所示,主要分为以下步骤:

e.jpg

   
    1)小车启动后,首先初始化各I/O口、系统中断、SPI接口以及NRF24L01的相关寄存器。小车的无线模块配置为接收模式。

[1] [2]  下一页


本文关键字:智能  控制系统  教学  无人车  机器人-智能车电子知识资料 - 机器人-智能车