收藏 分享(赏)

基于AVR系统的新型智能.doc

上传人:精品资料 文档编号:7771321 上传时间:2019-05-25 格式:DOC 页数:20 大小:7.28MB
下载 相关 举报
基于AVR系统的新型智能.doc_第1页
第1页 / 共20页
基于AVR系统的新型智能.doc_第2页
第2页 / 共20页
基于AVR系统的新型智能.doc_第3页
第3页 / 共20页
基于AVR系统的新型智能.doc_第4页
第4页 / 共20页
基于AVR系统的新型智能.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、基于 AVR 系统的新型智能感知机械花成员:陈仲乾曹乘榕胡腾黄晨学院: 物理学院指导老师:李茂奎2009 年 6 月基于 AVR 系统的新型智能感知机械花物理学院陈仲乾、曹乘榕、胡腾、黄晨摘要:以 ATmega16 单片机为核心设计新型智能感知机械花,根据光强控制花的开合程度,根据温度控制花的颜色变化,根据湿度控制花的亮度。关键词:AVR 单片机温湿度光强机械花步进电机 3 基色 LED 灯正文:一、系统设计目的,用途,功能现在市面上有一种叫做 flip-flap 的太阳花玩具,因其可爱的造型而大受人们喜爱,在许多汽车中都可以见到。由此可以看到,在现在这样一个快节奏的社会环境下,人们通过接触自

2、然而获得身心放松的时间越来越少,由此产生了人们对能够模仿动植物行为的室内装饰品的巨大市场需求。而我们的新型智能感知机械花就是为了迎合这种需求而设计的。我们知道睡莲在白天开放,晚上闭合。我们通过对光强的探测来控制机械花的开闭来模仿睡莲,并给人们提供光强和时间的信息。在花中还普遍存在花青素,它会随着环境的温、湿度来改变花的颜色。我们通过温度传感器来控制机械花的颜色,当温度适宜时显示绿色,温度较低时显示蓝色,温度较高时显示红色,这符合人们的一般认识。我们通过湿度传感器控制灯亮得盏数,湿度较高时,植物可以从水中获得更多活力,颜色较亮,因此灯亮三盏,湿度一般时亮两盏,湿度较低时亮一盏,以此来控制花的色泽

3、。我们的设计全面突破了原有机械花的设计,给人以对自然环境的全面感受,使人通过感官更充分得获得环境信息,调整身体机能,并产生认同感、舒适感和愉悦感。我们的作品可以作为一个不可多得的多功能居家室内装饰品、玩具和礼品。二、硬件设计思想和电路原理图通过传感器等敏感元件对环境参数的检测,并将数据传输给ATmaga16L 单片机来控制各模块的状态,最终实现机械花的智能感知。我们的硬件设计是按系统来划分的,两个系统相互独立且相互联系,第一个系统是通过光敏电阻感知环境光强来控制步进电机的ATmega16芯片步进电机光敏电阻LED温湿度传感器转动,以此来控制机械花的开闭程度。这个系统要通过计时器中断触发单片机的

4、 AD 转换将光敏电阻上的模拟信号电压转化为数字信号,根据电压值大小来确定步进电机工作状态(转动方向、步进量、转速) ,然后通过单片机将指令输送到步进电机驱动芯片UNL2003 上,由步进电机驱动芯片来控制步进电机的转动。第二个系统是通过 DHT11 温湿度传感器将温湿度信号直接以数字信号的方式通过串口通信传送到单片机,再通过环境温度状况决定三盏RGB(三基色) LED 灯亮的颜色,并通过湿度状况决定三盏 RGB(三基色)LED 灯亮盏数。下图为硬件连接框架图电原理 PCB 图三、硬件单元的使用1、主控模块:我们使用的是 Atmel 公司的 AVR 高速 8 位微控制器ATmega16 。AT

5、mega16 芯片为 40 个引脚, 内部集成了 1K 字节的RAM、512 字节的 EEPROM、16K 字节的 Flash 以及 2 个 UART 串行接口等。由于采用了高性能的 MCU,省掉了大量的外围器件,如外扩 RAM、 ROM 存储器等,使硬件结构大大简化 ,提高了系统的可靠性。ATmega16 芯片具有先进的 RISC 结构,内部集成两个具有独立预分频器和比较器功能的 8 位定时器 / 计数器和一个具有预分频器、比较功能和捕捉功能的 16 位定时器 / 计数器。可通过JTAG 对 MCU 进行程序烧写及仿真。内置晶振,使用方便。ATmega16 芯片的引脚图如下:其中的 PD0

6、即为 RXD 引脚(RXD 是 USART 的数据接收引脚) ,PD1 即为 TXD 引脚(TXD 是 USART 的数据发送引脚) ,引脚 11 即为 GND 接地 。2、监测模块(1)温湿度:用数字式温湿度传感器 DHT11(单线双向)下图为 DHT11 温湿度传感器外观驱动电路图(2)光强:使用光敏电阻 GL3516。光敏电阻外观GL3516 光敏电阻参数:响应时间mS规格 型号最大电压(VDC)最大功耗(mW)环境温度()光谱峰值(nm)亮电阻(10Lux)(K)暗电阻(M)100 10 上升下降照度电阻特性GL3516 100 50-30+70540 5-10 0.6 0.5 30

7、30 23 系列光敏电阻电路图3、电机驱动模块利用驱动芯片将 AVR 单片机 PB0 到 PB3 口输出信号驱动两相步进电机转动一定角度及转动方向,使步进电机改变一定转角,并通过与花瓣相连的传动装置改变花的开放程度。(步进电机采用 UNL2003 芯片驱动,2 相 6 线步进电机,电压 5V) 。4、显示模块RGB LED 参数: 5MM 圆头 RGB 四脚全彩R:波长 630-640nm 亮度 1000-1200MCD 电压 1.8-2.0VG:波长 515-525nm 亮度 3000-5000MCD 电压 3.2-3.4VB:波长 465-475nm 亮度 2000-3000MCD 电压

8、3.2-3.4V2*5*5RGB 四脚全彩R:波长 630-640nm 亮度 300-500MCD 电压 1.8-2.0VG:波长 515-525nm 亮度 1200-1500MCD 电压 3.2-3.4VB:波长 465-475nm 亮度 600-800MCD 电压 3.2-3.4V因考虑红色光强相对其他两种颜色较弱,所以在电路设计中提高了蓝色和绿色串联的电阻,降低这两种颜色的光强,实现个颜色的相对平衡。RGB 三基色 LED四、软件设计思想及软件流程本系统编程部分工作采用 C 语言完成,采用模块化的设计方法,利用各子程序实现各部分功能和过程的入口,完成光和温湿度变化识别,电机驱动、LED

9、灯发光等功能。1、关于驱动步进电机,我们的思路是利用光敏电阻感知光强强弱并且改变其电阻,经过电路部分将电阻的变化变为电压的变化,使每个特定的光强对应一定的电压值,电压信号经 ad 转换变为数字信号,表示电压大小。Ad 转换由计时器 2ms 中断触发,根据电压值大小确定步进电机应该处于的状态,然后将该状态与接收信号之前的状态比较,然后确定步进电机的工作方式(转向及步进量的大小) ,然后用步进电机驱动机械花的开合,使其达到特定的状态.2、关于驱动 led 灯的显示,我们的思路是利用温湿度传感器测得外界温度与湿度,并且实现通信后由主机读取,由温度高低来驱动 led 的颜色显示,由湿度高低来确定 le

10、d 灯所亮的盏数。五、软件功能与调试:一、关于驱动步进电机正常工作的程序是全部程序的一个主要组成部分,之前写的程序主要有逻辑混乱和时序混乱两大方面的错误,另外还有一些语法上的小错误.关于逻辑方面,即我们的设计思路,见论文第四部分。开始光敏电阻转化光信号成电压值计时器中断触发 ADC 将电压模拟量转化成数字量(以电压值 表征光强)判断电压值是否大幅度增加达到一个更高阈值单片机控制步进电机正转一定角度是否判断电压值是否大幅度减小达到一个更小的阈值返回是单片机控制步进电机反转一定角度 否温湿传感器感知环境温度 与湿度通过串口通信将温湿度传给单片机单片机根据温湿度判断并改变LED 的颜色和亮数目关于时

11、序方面,最主要的一点是步进电机八个节拍顺序的排列,我们查阅了多处参考资料,发现多有出入,后来仔细研究了步进电机硬件的接线与结构,逐步确定了节拍顺序,并且为了保证其正常工作,将驱动部分的程序写在在 ad 转换中断里,防止在执行过程中被中断。步进电机正转 8 个节拍:0x01,0x09,0x08,0x0a,0x02,0x06,0x04,0x05(PB0 到 PB3 对应 A,B,A,B)反转八个节拍:0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05(PB0 到 PB3 对应 A,B,A,B)最后我们还发现一个能导致大问题的小错误,就是在定义步进电机状态时用的是字符型数

12、据,但是最后它们相加减赋给整形数据 i,这样导致了 i 只能为正数而不能为负数,使电机只能向一个方向转,最后在多次仿真后发现此问题并改正。二、关于感知温湿度并驱动 3 基色 led 灯显示不能颜色与盏数。这部分程序的大框架已经完成后,还是有一些小的逻辑错误和严重的时序上的问题。小的逻辑问题包括一些无意中造成的死循环等,经过几次检查就已经全部排除。逻辑思路见论文第四部分。但是,这个程序依然不能如愿运行,其根本原因是 dht11 型号的温湿度传感器属于串口通信,输出的数字信号(通过高低电平表示),如图所示:通讯过程:其中的高低电平的时间都是几十 us 而已(也就几十个时钟周期) ,我们在这么短的时

13、间内测得并且运用,一定得非常注意延时的长短,并且由于时序上的偏差容易累积,单纯的使用延时总会使测得前几位准确后几位就不准确了。幸好 cvavr 自带的延时函数延时非常准确,外加经过查阅大量参考资料和请教学长,我们终于摸到了检测的诀窍,写出了运行比较稳定的程序。经过这个程序的编写,我掌握了一般串口通信传感器程序编写的方法,能够熟练地编写与应用 led 灯驱动函数与延时函数,并且我还掌握了一些很经典的检测语句的写法,例如:while(DHT11_DATA_READ);/等待高电平结束等,还有经典的检错语句的写法,例如:u8flag=2;while(DHT11_DATA_READ if(u8flag

14、=1)break;六、系统测试过程及测试数据七、分析相应的指标参数:1、电压(表示光强)花瓣状态小于 2v 闭合;大于 2v 小于 2.5v 半开;大于 2.5v 全开。2、相对湿度 LED 盏数小于 30DB 1;30DB 到 70DB 之间 2;大于 70DB 3;3、温度范围花的颜色小于 11 度蓝色;大于 11 度小于 19 度蓝绿色;大于 19 度小于 25 度绿色;大于 25 度小于 35 度蓝红色;大于 35 度红色。八、设计所需的全部资源:ATmaga16L 单片机/1,实验板/1,5V 电源/1,8.5V 电源/1,步进电机/1,步进电机驱动板/1,DHT11 温湿度传感器/

15、1,光敏电阻/1,圆 RBG LED/1,方 RBG LED/2,电阻若干,导线若干。总花费 60 元左右。九、成员分工和工作情况:曹乘榕主要硬件设计,整体调试,及相关部件采购(占整体 30%) ;黄晨主要整体软件设计调试(占整体 30%) ;胡腾部分软件的设计,及其主体思路分析(占整体 20%) ;陈仲乾主要论文负责,部分软件思路设计(占整体 20%) 。十、参考文献C 语言设计第六版谭浩强清华大学出版社数字电子技术基础简明教程第三版余孟尝高等教育出版社AVR 单片机嵌入式系统原理与应用实践马潮北京航空航天大学出版社模拟电子技术基础第四版童诗白华成英高等教育出版社单片机实验教程李茂奎山东大学出版社ATMEGA16、DHT11 、UNL2003 用户手册另从 Internet 获取大量资源

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报