历史上的今天
返回首页

历史上的今天

今天是:2025年03月04日(星期二)

正在发生

2020年03月04日 | 基于ATmega16的智能小车控制系统纯硬件电路的设计

2020-03-04 来源:eefocus

简介:文章以ATmega16单片机为控制核心,用RF2401无线收发模块进行遥控通信,用DS18B20进行温度检测,同时采用超声波等传感器材检测信号和障碍物,最后充分利用单片机的串口资源和运算、处理能力,开发设计了一种智能控制系统,从而实现了小车的测温、躲避障碍物等功能。


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


0 引 言


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


1 总体方案及器件的选取


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 结 语

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


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

推荐阅读

史海拾趣

东晶(ECEC)公司的发展小趣事

东晶电子自创立以来,始终将技术创新作为公司发展的核心动力。在21世纪初,随着通信技术的迅猛发展,对高性能、高稳定性的石英晶体元器件需求急剧增加。东晶电子凭借其强大的研发团队,成功研发出一系列高精度、高稳定的石英晶体谐振器和振荡器,打破了国外厂商的技术垄断,为中国通信产业提供了关键元器件支持。这一技术突破为公司赢得了市场口碑,也奠定了其在电子行业中的领先地位。

CW Industries公司的发展小趣事

随着全球电子市场的不断扩大,CW Industries也积极拓展其国际业务。公司通过参加各种国际电子展会和交流活动,与全球各地的客户和合作伙伴建立了广泛的联系。这不仅为公司带来了更多的商机,还使得CW Industries能够及时了解国际市场的最新动态和技术趋势。通过这些国际交流活动,CW Industries不断提升其品牌影响力和市场竞争力。

昆泰(CHRONTEL)公司的发展小趣事

1982年,Dennis Gillings博士在美国北卡罗莱纳州创立了Quintiles Transnational Inc.(昆泰)。成立之初,昆泰只是一家为药企提供数据服务的美国本土公司。凭借其独特的数据处理能力和对市场的敏锐洞察,昆泰迅速在行业内树立了良好的口碑。

Handok Co Ltd公司的发展小趣事

进入21世纪后,昆泰的创始人Dr. Gillings不满足于CRO企业的平稳收益和稳定现金流,他开始寻求与药企建立更加紧密的战略合作伙伴关系。为此,昆泰在2000年成立了PharmaBio部门,通过资金、技术和销售团队为客户提供全方位的支持。这一战略转型不仅使昆泰与药企建立了深厚的合作关系,还为其带来了丰厚的回报。

飞翼科技(FEIYI)公司的发展小趣事

1994年4月,昆泰在美国成功上市,募集资金3550万美金。这笔资金为昆泰的后续发展提供了强有力的支持。上市后,昆泰加速了其业务扩张和技术创新的步伐,进一步巩固了其在全球CRO行业的领先地位。

Hitano Enterprise Corp公司的发展小趣事

1987年,昆泰迈出了全球扩张的步伐,在伦敦开设了分支机构,开始服务于欧洲客户。此后,昆泰不断拓宽其业务领域,不仅局限于数据处理,还涉足药物研发、临床试验等多个领域。这一系列的举措使昆泰的业务范围迅速扩大,成为全球CRO行业的领军企业。

问答坊 | AI 解惑

了解模数转换器规格

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 …

查看全部问答>

开关电源自制高频变压器资料

本帖最后由 paulhyde 于 2014-9-15 03:16 编辑 开关电源自制高频变压器资料 希望对大家有点用~~  …

查看全部问答>

Cyclone® III Design Guidelines (PDF)

Introduction The Cyclone® III FPGA family offered by Altera® is a cost-optimized, memory-rich FPGA family. CycloneIII FPGAs are built on Taiwan Semiconductor Manufacturing Company\'s (TSMC) 65-nm low-power (LP) proc ...…

查看全部问答>

上位机与仪表多对多数据采集问题

有个项目为32台带RS485通讯功能的仪表需要采集数据,有三台工控机安装有组态软件。能否通过RS485转以太网服务器模块,使三台工控机能同时监测。有这样的模块吗?什么型号,什么价格?还有什么更好的方案吗(不增加预算的情况下)?…

查看全部问答>

wince启动到FMD::FMD_Init之后,偶尔出现不能继续启动!

wince启动到FMD::FMD_Init之后,偶尔出现不能继续启动! 只是偶尔不能继续启动,有时候又能启动,每次都是这个地方 谢谢了 …

查看全部问答>

各位高手帮忙看一下vmware下vxworks无法启动,至今把网上同类问题的答案试完了,没有一个能解决的,盼高手解决一下,不胜感激(见内)

小弟初学vxworks ,用vmware装了vxworks,始终无法启动起来,老提示有错误,网上搜了很多,也有和我相同的问题,但是所有的答案我都试过了,还是不行,请这里的各位高手帮忙解决一下,不胜感激。 【现象】: (1)vxworks在启动时候,出现以下信 ...…

查看全部问答>

一个关于ldo的问题 (看到了的都进来看下吧)

刚学M3,看到LDO,上面的描述是“为处理器内核及片内外设提供稳定的电源,为处理器内核及片内外设提供稳定的电源”我想问 LDO 输出的电压 是io输出的电压吗? 望各位看到的都帮我一下吧,谢谢了…

查看全部问答>

C672x CSL v3.x API 没有GPIO的函数么????

如题??? 没有找到啊?? 那我想操作整个芯片的所有IO口怎么办?…

查看全部问答>

我的EXP MSP430F5529 IAR调试出错,求解决

如图,这是怎么回事, 来了什么都没干,写了一个点灯的程序 点仿真就这样,说严重错误没发现设备什么的 这是什么回事啊…

查看全部问答>

我用MSP430G2 LANUCHPAD+430BOOST做了跑马灯

昨天参加东莞MSP430 DAY,领了个boost board,用之前TI提供的launchpad做了个跑马灯,嗯,蛮方便的。 #include /* * ======== Grace related declaration ======== */ unsigned char temp; extern void CSL_init(void); /* *   ...…

查看全部问答>