基于ATmegal28L的智能探测车的设计与实现
1 引言
智能探测车能根据任务及环境信息做出全局路径规划,可在行进中不断感知局部环境信息并做出决策,从而能够安全行驶并到达目标。本文以ATmegal28L单片机为核心介绍了一种智能探路车的设计雏形,该系统利用各种传感器获取周围环境信息,采用多传感器信息融合技术对接收到的信息进行处理与判断,从而自动绕开障碍物:能与计算机实现无线通讯;具有预先设定路线的功能;通过JTAG接口可以方便地在线调试程序或下载程序。
美国Atmel公司推出的ATmegal28L是基于AVR RISC的低功耗8位单片机,最高工作频率可达16 MHz,具有128 KB Flash内部存储器、4 KBEEPROM和4 KB SRAM数据存储空间,并且采用了JTAG技术。它具有很高的性价比,并有超低的功耗和丰富的片上外围资源,很适合作为移动设备的微控制器。
2 硬件结构
ATmegal28L内含128 KB写操作可读在系统可编程Flash、53个通用I/O口、32个通用工作寄存器、实时计数器(RTC)、4个具有比较模式和PWM的定时器/计数器、2个UART、2线(I2C)串行接口、一个带内部振荡器的可编程看门狗定时器、一个SPI口、一个符合IEEE Std的JTAG等。ATmegal28L主要
对超声波和红外传感器测得的信息进行处理,产生两路PWM信号来控制直流电机,通过I/O控制步进电机。同时,ATmegal28L引出JTAG接口进行在线调试程序或下载程序。另外。系统通过键盘与显示电路来实现人机对话;选用电机驱动器件1298N来驱动直流电机;超声波测物模块和红外避障测量模块用来获取环境信息;利用无线模块nRF401与:PC机端口的无线模块进行通讯。系统的路线设置功能主要由软件实现,硬件选取24C02用于存放路线。图l所示为其系统框图。
2.1 键盘与显示电路
为了方便人机对话和功能选择,本系统设计了 5个按键和液晶显示模块。5个按键分别是:单片机复位按键,小车自动行走按键(接A15(PC7))、超声波测物按键(接A14(PC6))、无线发射按键(接A13(PC5))和小车设置路线按键(接A12(PC4))。
采用液晶模块LCM103显示按键的选择和执行结果。LCM103为10位多功能通用型8段式液晶显示模块,内置显示RAM,可显示任意字段笔划,3-4线串行接口,可与任何单片机接口。由于LCM130与MCU的工作电压相同,因此LCM103与MCU直接连接。其中WR直接与ATmegal28L的WR连接.DATA端与ATmegal28L的AD4(PA4)连接,CS与ATmegal28L的A12(PC4)连接。
2.2 JTAG接口电路
在设计系统中,引出ATmegal28L的JTAG接口进行在线编程和下载,以方便调试和程序更新。对AVR器件进行编程是由JTAG端口的TCK、TMS、TDI和TDO实现的。通过JTAG可以实现如下的编程功能:
(1)Flash编程及校验;
(2)EEPROM编程及校验;
(3)熔丝位编程及校验;
(4)锁定位编程及校验。
电路如图2所示。
2.3 电机驱动电路
系统采用直流电机驱动两个前轮实现小车的前进、后退、左转、右转。ATmega128L具有2个带预分频器和比较模式的8位定时/计数器、2个扩充的带预分频器和比较/捕获模式的16位定时/计数器、2通道8位PWM、6通道2~16位精度:PWM。这里采用ATmegal281。的16位定时/计数器l来产生两路PWM信号,分别接1298N的EN A和EN B,用于控制两个电机的起停、转向及速度。它工作在相位和频率修正PWM模式下,该工作模式可以产生高精度、相位与频率都准确的PWM波形。通常用OCRnA作为TOP值。改变TOP值即可改变PWM信号的占空比,从而改变电机转速。
L1298N是SGS公司生产的恒压恒流桥式2 A驱动器件,内部包含4通道逻辑驱动电路。1298N与单片机的连接如图3所示。
系统采用了步进电机来控制超声波旋转平台的上下左右运动,驱动电路与此类似。
2.4 超声波测物电路和红外测障电路
系统采用一组超声波传感器和五组红外传感器感知环境信息。超声波通过一个可以上下左右旋转的平台安装在小车的正前方,用来测量物体的大小。在普通行车中,超声波传感器的用途和红外传感器一样。红外传感器分别安装在小车的左前方、右前方、左侧、右侧和后面。本系统利用ATmegal28I。产生40 kHz的脉冲信号,驱动发射电路发送超声波。红外传感器测量小车在五个方向的一定距离内(本系统为30 cm)是否有障碍物,辅助小车避开障碍物。
2.5 无线发射接收电路
本系统选用集成度较高的无线数据传输产品nRF401来实现PC与小车的无线通信。 nRF40l收发模块的主要特点:工作频段为433MHz;采用FSK调制,抗干扰能力强:频率稳定性好;灵敏度高,功耗小;具有多频段切换功能。
通过ATmega128L的PA5(AD5)控制PWR UP。当PWR-UP="l"时,表示进入正常工作模式:当PWR-UP="0"时,表示进入接收待机模式。PANAD6) CS="1"时,表示中心频率为434.32 MHz,当CS="0"时,表示中心频率为433.92
ATmegal28L 智能探测车 EEPROM 相关文章:
- 基于无线传感器网络的煤矿安全监控系统的研究(12-01)
- 嵌入式软件代码保护系统设计(05-08)
- 高密度SPI EEPROM——SA25C020的DSP引导(10-22)
- 提高MSP430G系列单片机的Flash 擦写寿命的方法(11-05)
- 实战经验吐血推荐:怎样在Linux环境下轻松实现基于I2C总线的EEPROM驱动程序(07-25)
- STM8S EEPROM 读写字节操作(12-03)