简述关于ATmegal28L的智能探测车的设计与实现

以avr单片机atmega128l为核心,提出了一种智慧探测小车的软硬件设计方案。系统可以预先设定小车的行走路线,能够实现小车与计算机之间的无线通讯,通过超声测物和红外测障电路使小车安全行走。另外,系统通过jtag接口在线调试程序。软件设计中采用神经网络自学习,大大增强了小车
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用于存放路线。
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.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通道逻辑驱动电路。
系统采用了步进电机来控制超声波旋转平台的上下左右运动,驱动电路与此类似。
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 mhz。pa7 (ad7)控制nrf40l的txen端,当txen=“1”时,表示进入发送模式,当txen=“0”时,表示进入接收模式。数据输入端din与atmegal28l的peo(rxd0)相连。数据输出端dout与atmegal28l的pel(txd0)相接。
2.6 充电电路
由于电机启动时瞬间电流很大,且pwm驱动的电动机电流波动较大,导致车载电源电压不稳,从而影响其他电路的正常工作,所以系统采用双电源供电的方法。将电机驱动电源与单片机及传感器电源完全隔离开来,利用耦合器进行连接。
3 软件设计
系统软件的主要功能是:能够根据传感器信息正确避开障碍物:小车与pc的无线通信;预先设定路线;测量物体的大小。为了提高小车避障的智能性,软件设计采用了神经网络自学习。软件设计的重点在于小车的神经网络训练程序和小车与pc机的无线通讯程序。
3.1 神经网络训练程序
bp神经网络应用广泛,具有较好的分类和记忆功能,同时有很强的容错性和鲁棒性。采用两层前向bp网络实现多传感器信息的融合,输入层有6个节点(分别对应6组传感器。其中超声波传感器测得距离在30 cm之内记为1),输出层有4个节点(前进f、左转l、右转r、后退b)。
样本确立后,需要进行网络训练。网络训练就是对网络的连接权系数进行学习和调整,使该网络实现给定的输入输出映射关系。权系数修改按照式
(1)进行:
uij(t+1)=uij(t)+λ[dj(t)-yj(t)xi(t)+α△uij(t-1) (1)
式中:λ表示学习速率(取0.3);α表示学习动量(取0.3);dj(t)和yj(t)分别表示j单元在t时刻的目标输出和实际输出;xi(t)表示单元i在t时刻的输入;△uij(t-1)表示前一次迭代中;;单元i和j连接权系数更新增量。
bp网络算法采用c语言编程,训练好的网络权系数存放于flash内存之中。采用的是离线训练方式。
3.2 小车与pc机的无线通讯程序
pc机在小车行驶过程中可以通过无线通讯对小车进行控制。
4 结束语
本文讨论了基于atmega128l的智能探测车的设计思路,对系统中的各个模块接口作了简要描述,利用神经网络来增强小车的智能性,并提出了系统软件的总体设计思想。该电路各部分功能模块化,易于调试,并且容易扩展其他功能。本设计的应用前景广阔,可用于肮脏、危险等不适宜人类工作或者是人类难以到达的环境,可作为特殊应用器材的载体工具,为无线检测、信息传输及远距离控制技术提供了一个很好的应用平台。


首发:周立功教授《嵌入式软件工程方法与实践丛书》在北航正式出版开售
为什么电动车自燃更具危险性
汽车电子车载摄像头感光芯片底部填充胶应用
电子项目外包 物联网项目方案开发 硬件方案开发外包 需要注意哪些地方?
如何使用手机设置路由器
简述关于ATmegal28L的智能探测车的设计与实现
出国旅游语言不通?搜狗s1录音笔是选择之一
如何减少太阳能电池入射光在电池器件中的反射
紫光展锐宣布全球首个基于6nm EUV工艺的5G平台虎贲T7520
美版支付宝进军中国欲分杯羹
英伟达GPU短缺影响AI服务器出货量 台积电加紧扩产
同茂线性马达谈2021年中国社科基金立项名单
市电输入可调光LED照明通用设计方案
PCB在过自动锡炉为什么绝缘绿漆会剥落
什么是退耦电容
英诺激光:皮秒激光制备镁合金超疏水表面的工艺及机理研究
单模光纤收发器指示灯不亮的原因分析
通过Arduino使用ESP-WROOM-32(Bluetooth-BLE连接篇)
新能源汽车PCB用量接近传统燃油车的4倍,单车PCB价格超过1200元
电动牙刷哪个牌子好?适合双十一入手的品牌排行