崔海霞
【摘 要】本设计实现了一种基于51单片机的按键操作控制和温度检测显示系统,通过温度传感器采集温度数据并且通过显示模块显示出来,通过对按键的操作,自动控制转向电机转向,改变行驶方向。
【关键词】智能小车;单片机
一、总体设计方案
本设计采用直流电机,电机专用驱动芯片L298N进行电机驱动控制,主控芯片为STC89C52,控制器部分采用简单按键,温度数据的采集采用DS18B20温度传感器模块,显示部分采用1602液晶。智能小车是一个运用传感器、单片机、信号处理、电机驱动及自动控制等技术来实现环境感和自动行驶为一体的高新技术综合体,它在军事、民用和科学研究等方面已获得了应用。
(一)方案论证
1.小车驱动部分
方案一:小车的电机驱动部分采用自己搭建的9012三极管电路来实行小车的驱动,9012三极管电路具有电路简单,操作方便的等特点。
方案二:小车的电机驱动部分采用L298N芯片直流电机驱动模块,该模块具有较大的驱动带载能力,驱动部分端子供电范围Vs:+5V~+35V,并且另外自带了5V、3V的输出端口。
方案论证:本设计为2轮驱动的小车,对于小车驱动部分要求能够有较大的帯载能力,并且在小车的实际设计过程中,需要不同的输出电压来提供给小车的各个模块。因此综上所述采用方案二,小车的电机驱动部分使用L298N芯片直流电机驱动模块。
2.温度显示部分
方案一:温度的显示通过数码管显示,数码管驱动简单,但是所能显示的字符数量有限有局限性。
方案二:用液晶来显示温度传感器采集到的温度,虽然操作比数码管要复杂一点,但是功能比数码管要强大很多,能够显示各种各样的字符。
方案论证:本设计是要显示温度,并且要显示需要显示英文字符,数码管无法满足要求,因此采用1602液晶来做显示模块。
二、系统硬件构成
(一)系统硬件组成
小车部分由电源电路,单片机最小系统,显示电路,无线电木块,报警电路,超声波电路等电路模块组成。
(二)STC89C52RC简介
设计采用最常用的STC89C52单片机,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的STC89C52是一种高效微控制器。STC89C52单片机为很多嵌入式系统提供了一种灵活性高且价廉的方案。
(三)液晶显示电路
该设计的显示部分采用LCD1602来显示超声波测距模块测得的距离。对于现实电路我们可以采用数码管,也可以采用液晶显示。液晶显示相对于数码管显示电路更简洁,显示更明了,故我们采用液晶显示电路。液晶又分字符型和点阵型,我们使用的液晶是字符型液晶。LCD1602自带字符库,不需要查找代码,英文字符可直接使用。液晶电路使用时,如果发现液晶不亮可以调节连接液晶的电位器,调节液晶的亮度。
(四)L298N芯片直流电机驱动模块
该模块由L298N作为双H桥直流电机驱动芯片,驱动部分端子供电范围Vs:+5V~+35V。如果在模块上取电压供电,则模块供电范围为Vs:+7V~+35V。模块的驱动不封峰值电流Io为2A。
(五)遥控部分独立按键电路
遥控部分的独立按键与单片机的接口设置为P1.2、P1.3、P1.4、P1.5,分别控制小车的前进、后退、左转弯、右转弯。独立按键采用低电平触发,即当按下按键时给单片机一个低电平信号,单片机随后做出相应的处理,当按键松开时,单片机接收到一个高电平信号,单片机随后继续做出相应处理。控制部分的独立按键电路如图1所示。
三、软件的设计与说明
(一)软件设计
遥控部分主程序流程图如图2所示。程序从主函数开始执行,独立按键模块初始化,同时在主函数中定义单片机口对应的按键按下时所发出的函数值。接下来判断是否有按键按下,如果有按键按下,则发送相应的按键对应的函数值,接着判断是否又有按键按下。如果未发现按键按下则在主函数中循环判断是否有按键按下。
(二)温度检测显示部分主程序流程图
小车部分主程序流程图如图3所示。程序从主函数开始执行,液晶显示模块初始化,按键模块初始化。各个模块初始化完毕后,单片机判断是否接受到了DS18B20采集的数据信号,如果接收到信号,处理相应的数值,如果没有接收到新的数值则返回继续判断是否接受到新的信号。接收到信号后,单片机对应的对液晶的读写进行命令。
四、总结
通过合理的硬件设计和软件编程实现了小车的智能控制,此款小车具有按键控制前后左右的功能,温度采集功能,液晶显示功能。
【参考文献】
[1] 党宏社.智能车辆系统发展及其关键技术概述[J].公路交通科技,2002.(4)
[2] 林敏.简易数字化语音存储与回放系统[J].仪表技术,2008,28(9):13-18.
[3] 余祖俊.微机监测与控制应用系统设计, 北方交通大学出版社,2001.12
[4] 温志明.运动控制系统分析与应用[J],国防工业出版社,2008.2
[5] 鲍丽星,陈晓争.一種高精度信号源的设计[J].南京航空航天大学,2008,16(4):588-590.