1、基于单片机的智能机器人的课程设计班级:自动化092班姓名:学号:10摘 要随着数字技术的快速发展,数字技术被广泛应用于智能控制的领域中。单片机以体积小、功能全、价格低廉、开发方便的优势得到了许多电子系统设计者的青睐.它适合于实时控制,可构成工业控制器、智能仪表、智能接口、智能武器装置以及通用测控单元等。本文以STC89C52单片机为核心设计了智能机器人系统,本机器人实现了能在人一区域内沿引导线行走,自动绕鄣,在有光源引导的条件下能沿光源行走。同时,能检测埋在地下的金属片,发出声光知识信息,并能实时储存,显示检测到的断点数目以及各断点至起跑线间的距离,最后能停在指定地点,显示整个运行的时间。关键
2、词单片机 传感器 L298 A/D LCD12864AbstractWith the development of the digital technology, digital technology has been widely applied in the field of intelligent control。 MCU with small volume, complete functions, low price, convenient development advantage by many electronic system designers favor。 It is su
3、itable for realtime control, can form industrial controllers, intelligent instruments, intelligent interface, intelligent weapon device and universal measurement and control unit。To STC89C52 microcontroller as the core design of intelligent robot system, this robot can walk in a region along the gui
4、de line, automatic winding Zhang, walking along the light conditions of a light guide. Able to detect buried in the underground metal sheets, audible and visual knowledge and information, and realtime storage, display the number of breakpoints detected and the distance between each breakpoint to the
5、 starting line, the final stop at the designated locations, to show the entire run time。Key wordsSinglechipmicrocomputer Sensor L298 A/D LCD12864目录摘要2第1章绪论51.1 课题研发背景51。2 设计的目的和意义5第2章方案设计6第3章硬件设计73.1单片机型号方案选择73.2液晶显示方案选择73。3信号处理电路方案选择73.5单片机最小系统电路分析83。6液晶显示电路设计与分析8第4章软件设计9结论10参考文献11附录112附录215附录316第1
6、章 绪论1。1 课题研发背景随着控制技术、计算机技术、信息处理技术和传感器技术的发展,智能机器人无论是在工业领域还是消费电子领域都已经扮演了非常重要的角色,已成为人工智能研究和发展的热点之一。在语音控制机器人领域,有研究表明已成功地将连续隐马尔可夫模型(CHMM,Centrifugal Pump based onContinuous Hidden Markov Model)模型应用于定点数字信号处理器(DSP, Digital Signal Processor)上,并实现了对机器人的语音控制。关于传感测距方面,使用多传感器快速测量智能机器人与障碍物之间距离的方法,使机器人不仅具备语音识别功能,
7、而且能实现智能避障。而关于家用室内机器人的应用也有相关研究,文献4探究了一种通用并有效的智能移动机器人嵌入式控制平台,并设计了一套能满足要求的低成本的机器人定位系统以及自动充电系统。这里设计的移动音乐机器人即属于智能机器人范畴,该音乐机器人集多种功能于一体,不但有陪人玩耍的娱乐功能还有保护家庭安全的安防功能.1。2 设计的目的和意义随着数字技术的快速发展,数字技术被广泛应用于智能控制的领域中.单片机以体积小、功能全、价格低廉、开发方便的优势得到了许多电子系统设计者的青睐。它适合于实时控制,可构成工业控制器、智能仪表、智能接口、智能武器装置以及通用测控单元等。本作品以STC98C52单片机为核心
8、,利用传感器作为机器人的眼睛;单片进行处理判断,然后驱动直流减速电机进行相应的动作,并采用12864液晶显示记录一些有用的信息;本设计全部采用通用器件,在达到指标要求的前提下降低了功耗和成本。第2章 方案设计本设计STC98C52单片机为核心,利用传感器作为机器人的眼睛;单片进行处理判断,然后驱动直流减速电机进行相应的动作,并采用12864液晶显示记录一些有用的信息.单片机红外对管光电开关EEPROM霍尔传感器声光报警直流减速电机驱动金属接近开关A/D光敏电阻图2。1方案原理图2。1循迹方案设计 当循迹模块寻到黑线时输出低电平,否则输出高电平,由此驱动电机动作,逻辑功能表如下循迹电路功能表传感
9、器循迹电路输出(低电平动作)待执行命令左信号右信号左右右转左右左转左右前进注解:“0表示黑线,“1表示白线表2.1循迹电路功能表2。2寻光方案设计 寻光电路由三个光敏电阻组成分别位于机器人的、中、右,并通过A/D采集光强同时比较出哪一方向上的光照最强,并作出相应的动作,逻辑表如下所示寻光电路功能表传感器A/D采集数据比较结果待执行命令左信号中信号右信号左中右右转左中右左转左中右右转左中右前进注解: “1”表示光最强表2。1循迹电路功能表2。3机器人按键设计洗衣机面板上有2个按钮K1、K2、K2(1)K1是电源的总开关按键。(2)K2 进入循迹工作模式。(3)K3 进入寻光工作模式。第3章硬件设
10、计3。1单片机型号方案选择方案 1:采用 ATmeg16单片机对信号处理,优点速度快,功能强大,但价格贵,操作较复杂,不适合初学者方案 2:采用 AT89c51单片机对信号处理,优点操作简单,接口方便,具备所有单片机的基本功能,容易学,价格便宜。经过两个方案对比,应选择方案2,采用简单易学的STC89C52作为本机器人的控制核心。3。2 显示方案的的选择方案 1:采用1602液晶显示,优点操作简单,电路简单,小巧,缺点不能显示汉字。方案 2:采用12864液晶显示,优点可以串行通信显示,节省I/Ok口,操作简单,电路简单,自带字库,能显示汉字,缺点体积较大。经过两个方案对比,应选择方案2,采用
11、可显示汉字的12864液晶进行显示。3。3循迹传感器方案的选择方案 1:利用红外发射管和红外一体化接收头做循迹装置,优点距离远,抗干扰强,电路简单,缺点驱动复杂,发射管需要38KHz脉冲驱动,操作复杂。方案 2:电子竞赛专用RPR220 反射型光电探测器,灵敏度高,使用方便,缺点电路较复杂。经过两个方案对比,应选择方案2,使用电子竞赛专用RPR220 反射型光电探测器作为循迹传感器.图3。3循迹传感器3.4避障传感器方案的选择方案 1:采用超声波模块避障,优点避障距离精确,操作复杂,实现较困难。方案 2:采用光电开关模块,优点操作简单,电路简单,缺点避障距离需要手动调节。经过两个方案对比,应选
12、择方案2,采用光电开关模块实现避障、绕障.3.5金属检测方案的选择方案 1:采用自制电涡流传感器,可实现金属检测,电路复杂,供电需要交流电源,实现较困难.方案 2:采用金属检测开关,优点操作简单,电路简单。经过两个方案对比,应选择方案2,采用金属检测开关实现金属检测.3。6寻光电路方案的选择方案 1:采用由光敏电阻和三极管组成的开关型寻光电路,优点电路简单,缺点只有开光量输出,没有明显的光强比较.图3。6。1寻光开关电路方案 2:采用半臂测量电路,用A/D进行采集,优点有明显的光强比较,缺点电路较复杂.经过两个方案对比,应选择方案2,半臂A/D采集光强.图3。6。2半臂A/D采集光强3。7A/
13、D方案的选择方案 1:采用ADC0809,八通道8位A/D,并行传输数据,操作简单,但需要大量I/O口。方案 2:采用ADC0834,四通道8位串行A/D,可串行通信,节省I/O口资源。经过两个方案对比,应选择方案2,采用ADC0834进行A/D转换。3。8电机方案的选择方案 1:采用步进电机,定位准确,可以快速急停,缺点电路复杂,控制较难。方案 2:直流减速电机,控制方便,容易实现。经过两个方案对比,应选择方案2,采用直流减速电机。3。9机器人里程测量方案方案 1:采用光电码盘,计算轮子的圈数,优点计算精确,缺点程序算法复杂,安装不方便。方案 2:采用霍尔传感器,计算轮子的圈数,优点操作简单
14、,电路容易实现,缺点只能记车轮的整圈数.经过两个方案对比,应选择方案2,采用霍尔传感器测量里程,虽然只能计算整全数,但对于本设记,精度已经足够了。3.10单片机最小系统电路分析通过AVR单片机对数据处理,为了单片机工作最优状态,复位电路、震荡电路、ISP下载电路选择该公司给出的标准接法。连接电路如图 3.2所示。图3.10单片机最小系统电路图3。11液晶显示电路设计与分析通过12864液晶显示数据,使用串行通信方式控制12864。连接电路如图 3.9所示。图3。11液晶显示电路图3。12 报警电路本设计采用无源蜂鸣器,单片机必须输出固定频率的方波信号,其工作电压范围宽412V,需要外围元件少。
15、通过单片机输出高电平来控制蜂鸣器报警.具体电路如图所示:图312 蜂鸣器报警电路3。13 电机驱动电路采用集成芯片L298驱动电路电路控制电机,简单方便,如图所示。第4章软件设计程序设计使用中断方式对数据进行显示,实现简单,方便快捷。总体设计流程如图4。1所示。液晶初始化显示画面初始化ADAD转换显示质量图4.1程序流程图结 论随着集成电路和计算机技术的迅速发展,使电子仪器的整体水平发生巨大变化,传统的仪器逐步的被智能仪器所取代。智能仪器的核心部件是单片机,因其极高的性价比得到广泛的应用与发展,从而加快了智能仪器的发展.而传感器作为测控系统中对象信息的入口,越来越受到人们的关注。传感器好比人体
16、“五官”的工程模拟物,它是一种能将特定的被测量信息(物理量、化学量、生物量等)按一定规律转换成某种可用信号输出的器件或装置本次设计中的半桥电子称就是在以上仪器的基础上设计而成的。因此,只有充分了解有关智能仪器、单片机、传感器以及各部分之间的关系才能达到要求.参考文献1 李勋 单片机微型计算机大学读本。M北京:北京航空航天大学出版社,20023 王治刚单片机应用技术与实训.M北京:清华大学出版社,20044 张积东等. 单片机51/98开发与应用.M 北京:电子工业出版社,20045 周航慈等. 单片机程序设计基础。 M北京:北京航空航天大学出版社,19976 彭为。 单片机典型系统设计实例精讲
17、。 北京:电子工业出版社,20067 何立民等。 单片机高级教程。 北京:北京航空航天大学出版社,20008 卢艳军。 单片机基本原理及应用系统。 北京:机械工业出版社,20059 周美娟等. 单片机技术及系统设计。 北京:清华大学出版社,200710 严蔚敏,吴伟民. 数据结构(C语言版)M。 北京:清华大学出版社,200211 黄俊,王兆安。电力电子变流技术。西安交通大学 机械工业出版社 12 陈伯时。电力拖动自动控制系统(第二版)。北京:机械工业出版社199713 李忠文,安生辉.实用电机控制电路。化学工业出版社14 丁道宏。电力电子技术。机械工业出版社,1990附录1软件主程序incl
18、udeiom16v。h include macros。hdefine uchar unsigned char #define uint unsigned int define RS_CLR PORTB&=BIT(5)#define RS_SET PORTB=BIT(5)define RW_CLR PORTB=BIT(6)define RW_SET PORTB|=BIT(6) define EN_CLR PORTB&=BIT(7)define EN_SET PORTB=BIT(7)uint wendu,set_warm;char table;char table19; void LCD_writ
19、e_com(unsignedchar com) RS_CLR; RW_CLR; EN_SET; PORTD= com; delay_ms(10); EN_CLR; void LCD_write_Data(unsignedchar Data) RS_SET; RW_CLR; EN_SET; PORTD = Data; delay_ms(1); EN_CLR; void LCD_clear(void) LCD_write_com(0x01); delay_ms(10); void LCD_init(void) LCD_write_com(0x38); delay_ms(10); LCD_write
20、_com(0x38); delay_ms(10); LCD_write_com(0x38); delay_ms(10); LCD_write_com(0x38); LCD_write_com(0x08); LCD_write_com(0x01); LCD_write_com(0x06); delay_ms(10); LCD_write_com(0x0C); adc_init() DDRA=BIT(0); PORTA&=BIT(0); ADMUX=0x40; ADCSRA=0XE0; SFIOR=0X00; SREG=BIT(7); void data_pro(uint temp_l,uint
21、temp_h) uint temp1,temp2,bb,i;temp1=temp_h256;temp2=temp1+temp_l;temp2=(temp246-1700)/10;if(temp250)temp2=0;if(temp25000)temp2=0;table3=temp2/1000;temp1=temp21000;table2=temp1/100;temp2=temp1%100;table1=temp2/10;table0=temp210; void delay_ms(uchar z) uchar x,y; for(x=z;x0;x-) for(y=1000;y0;y);void m
22、ain() DDRC=0XFF; DDRA=0XFF; DDRB=0XFF; DDRD=0XFF; LCD_init(); adc_init(); while(1) uint adc_l,adc_h; adc_l=ADCL; adc_h=ADCH; data_pro(adc_l,adc_h); LCD_write_com(0x84); LCD_write_Data(0x30+table3); LCD_write_Data(0x2e); LCD_write_Data(0x30+table2); LCD_write_Data(0x30+table1); LCD_write_Data(0x20);LCD_write_Data(0x4b);LCD_write_Data(0x67); delay_ms(200); 附录2总硬件电路图附录3实物图