基于ATmega16的智能小车控制系统设计

时间:2022-07-14 02:56:10

基于ATmega16的智能小车控制系统设计

摘 要:当前的电动小车基本上采取的是基于纯硬件电路的一种开环控制方法,具有直线行驶、前进、后退、转弯、停车等基本功能,但在某些特殊场合下却不能采集到有用信息。文章正是在这种需要之下,以ATmega16单片机为控制核心,用RF2401无线收发模块进行遥控通信,用DS18B20进行温度检测,同时采用超声波等传感器材检测信号和障碍物,最后充分利用单片机的串口资源和运算、处理能力,开发设计了一种智能控制系统,从而实现了小车的测温、躲避障碍物等功能。

关键词:ATmega16;无线模块;RF2401;智能小车

中图分类号:TP242.6 文献标识码:A 文章编号:2095-1302(2013)04-0073-03

0 引 言

当前的电动小车基本上采取的是基于纯硬件电路的一种开环控制方法,这种电动小车虽然也具有直线行驶、前进、后退、转弯、停车等基本功能,但在某些特殊场合,电动小车却无法采集到自动化控制领域的有用信息。在这种情况下,就需要开发用于自动化控制领域的智能小车。为此,本文以ATmega16单片机为控制核心,用RF2401无线收发模块进行遥控通信,同时用DS18B20进行温度检测,并采用超声波等传感器材来检测信号和障碍物,最后利用单片机的串口资源和运算、处理能力,开发设计了一种智能控制系统,从而实现了小车的测温、躲避障碍物等功能。

1 总体方案及器件的选取

1.1 总体方案

本系统以单片机为核心,增添其他设备,如双电源模块、超声波探测器、显示模块、无线收发模块等,以两个直流电机经过减速箱作为驱动,通过主控单元来处理传感器上信号,处理数据后完成相应的操作,以实现相应的功能。小车总体设计方案。

1.2 器件的选取

本设计的车体设计由笔者制作。主控芯片采用Atmel公司推出的高性能、高速度、低功耗的ATmega16 AVR单片机作为电动车的主控制芯片;电机选择使用控制方法较为简单的直流减速电机作为电动车的驱动电机;电机驱动选择可直接对电机进行控制,而无须隔离电路的L298N作为电机驱动芯片。

系统无线收发模块采用Nordic公司能满足较大传输速率无线通信需求的NRF24L01芯片;对于电源的处理,本设计采用2节锂电池12 V来驱动电机芯片,然后用7805稳压管来形成5 V电压给单片机供电,无线传感器NRF24L01的电源用3.3 V电压提供。

2 硬件实现

2.1 ATmega16单片机

AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。而ATmega系列是AVR单片机中的高端产品。单周期可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用6~16 MHz,故最短指令执行时间为250~125 ns。还有I/O第二功能,内部有时钟电路、10 Bit AD功能,片内资源很丰富。

2.2 ATmega16最小系统图

ATmega16单片机的最小系统如图2所示。最小系统主要包括晶振电路、电源电路、复位电路等。

2.3 电机驱动部分

该模块主要由L298芯片来控制两个电机的正反转,以及改变电机的转速。L298 芯片是一种高压、大电流双全桥式驱动器。其中,SENSEA、SENSEB分别为两个H桥的电流反馈脚,不用时可以直接接地。VCC、VS接电源引脚,电压范围分别是4.5~7 V、2.5~46 V,设计中VCC端与单片机电源端共用5 V工作电源,VS端独立地接9 V电源。ENA、ENB为使能端,低电平禁止输出。IN1、IN2、IN3、IN4为数据输入引脚,OUT1、OUT2、OUT3、OUT4为数据输出引脚。根据L298N的引脚和输出引脚的逻辑关系,将IN1、IN2经过非门连接,IN3、IN4经过非门连接,即IN1和IN2永远是相反的,一高一低,IN3、IN4也一样,通过改变ENA、ENB就能分别改变左右轮的速度。

在SENSEA、SENSEB端输出采集电压信号,再经过LM358运放放大,送给ADC处理,即可得到电机的工作电流,具有过流保护功能。图3所示为系统电机驱动电路和电流检测电路。

2.4 稳压电源部分和外接传感器部分

设计时,可采用7805稳压芯片为电路提供稳定的5 V电压,1117芯片为电路提供3.3 V电压。由于本系统的电源电路比较简单,而且应用也比较广泛,所以本文就不详细介绍了。

系统中的传感器包括温度传感器DS18B20、霍尔元件速度传感器等,其电路都比较简单。因此,只需在电路板上预留3线接口,即电源、接地、数据。

2.5 显示部分

本系统使用LCD12864作为电路显示元件,LCD12864有20个引脚,图4所示是LCD12864的驱动电路图。

本设计采用8位数据线并行口方式驱动,三根控制线为RS(命令/数据选择)、R/W(读/写控制)、EN(使能端),背光通过三极管驱动,采用PWM来控制背光亮度。

3 小车程序设计

小车程序设计时,首先进行端口初始化,然后进行PWM初始化,再NRF24L01初始化,将NRF24L01设为接收状态。收到命令,则执行小车的相应函数,否则,采集传感器数据。然后设置NRF24L01为发射状态,以发送数据。发送完毕,再将NRF24L01设置为接收状态。图5所示是其系统主程序流程图。

4 结 语

目前,市面上寻迹的、避障的,多传感器数据融合等基于单片机编程的智能小车已经发展开了,用于玩具、大学生实践比赛、工业数据检测,以及用于生活的智能电动小汽车也已有了一定发展,在充满环保、节能、科技的未来社会,智能小车的应用将无处不在。

本课题主要研究了多功能智能小车的技术,多功能智能小车的研制课题涉及到机械电子、传感器技术、驱动控制技术、人工智能等多个领域的研究及技术融合。本课题研制的演示系统高度的智能化、人性化,并且具备良好的安全性和环保性。

参 考 文 献

[1] 黄智伟.全国大学生电子设计竞赛系统设计[M].北京:北京航天航空大学出社,2006.

[2] 周立功.深入浅出ARM7-LPC213X/214X[M].北京:北京航天航空大学出版社,2005.

[3] 吴震洲,梁俊.单片机实现智能小汽车的速度和方向控制[J].实验室科学,2004(2):111-113.

[4] 陈懂.智能小车运动控制系统的研究与实现[D].南京:东南大学,2005.

[5] 缪晓中.一种基于lnte18253与L298N的电机PWM调速方法[J].国外电子元器件,2005(12):26-28.

[6] 刘纪红.一种基于SPCE061A的机器人语音交互系统的设计与实现[J].重庆大学学报,2004,27(9):41-43.

[7] 窦振中.模糊逻辑控制技术及应用[M].北京:北京航空航天大学出版社,1995.

上一篇:浅谈工程施工规划中的四大管理 下一篇:员工离职密度与职业成长相关性实证研究