1、1 硬件 课程设计 总结 报告 题 目: 指导老师: 学 院: 专 业: 姓 名 : 学 号: 课设评价: 课设成绩: 2 摘要 本次 硬件 课程设计要求 利用 8 位 AVR 单片机开发板 Atmel ATxmega128A1 作为核心控制器件,采用红外温度检测元件测量温度 。将温度传感器输出的模拟电压值传递到开发板, 通过 Atmel ATxmega128A1 上的 ADC 模块将 电压 值 量化 ,并根据实际测量的温度电压曲线, 通过 多直线拟合 的方法,模拟出传感器的温度曲线 。通过软件实现的方法 将温度值还原出来。 使用 LCD 显示温度,从而实现 显示测量温度的功能 。测温范围 2
2、0 +70 。 在硬件部分,将放大模块和 LCD 显示模块焊接到 PCB 板上;在软件部分利用 AVR STUDIO 5 开发环境进行 LCD 显示及 AD 模块编写 。软硬件调试成功后进行整合调试,以达到要求的目标。 关键字:温度传感器、 Atmel ATxmega128A1 开发板、 LCD 显示 Abstract The hardware course design requires the use of 8 bit single-chip AVR development board Atmel ATxmega128A1 as the core control device and us
3、ing infrared temperature detecting element for measuring temperature. The temperature sensor output analog voltage value and pass it to the development board, through the Atmel ATxmega128A1ADC module the voltage value quantification, and according to the actual measurement of the temperature voltage
4、 curve, through multiple linear fitting method, simulated sensor temperature curve. Through the software method to return the temperature value. Using LCD to display the temperature, thereby realizing display measurement temperature function. The temperature measurement range of 20 +70 . In the hard
5、ware part, the amplifying module and LCD display module welded to the PCB plate; in the part of the software by using AVR STUDIO 5 development environment for LCD display and AD module to write. After the software and hardware debugging successfully, to debug them together and then will meet the req
6、uirements of the target. Key Words: Temperature sensor, Atmel ATxmega128A1 development board, LCD display 3 目录 1. 项目概述 . 4 1.1 关于 AVR 开发板的简介 . 4 1.2 AVR STUDIO 5 . 4 2项目设计目标描述 . 5 2.1 课程设计题目 . 5 2.2 课程设计基本要求 . 5 2.3 课程设计发挥部分 . 5 2.4 课程设计需求简析 . 6 3.团队组成及任务分工 . 6 4. 系统总体设计 . 6 5.系统硬件设计与实现 . 7 5.1 红外温度
7、传感器的选择与硬件驱动 电路(信息获取电路) . 7 5.2 电压放大模块 . 9 5.3 液晶显示驱动电路模块 . 11 6.系统软件设计与实现 . 12 6.1 LCD1602 模块 . 12 6.1.1 数制转换函数 datachange . 13 6.1.2 写控制命令函数 write_com . 14 6.1.3 写数据命令函数 write_dat . 15 6.1.4 1602LCD 液晶显示器初始化函数 lcd_init() . 16 6.1.5 在确定位置处写一个字符 displayonechar() . 17 6.1.6 从某位开始写一串字符串 displaylistchar
8、() . 18 6.1.7 整数至字符型变换显示函数 uint_uchar_show() . 18 6.1.8 1602LCD 液晶显示测试模块 LCD_test(). 19 6.2 AD 转换模块 . 19 6.2.1 转化选择模块 ADC_CalibrationValues_Load() . 20 6.2.2 取标准值函数 ADC_Offset_Get_Signed() . 20 6.2.3 取结果函数 ADC_ResultCh_GetLowByte() . 21 6.2.4 数值编码与显示函数 getandshow() . 21 6.3 软件模块拼接 . 22 7. 系统的测试与结果分析
9、 . 23 7.1 主要测试仪器仪表 . 23 7.2 调试电路的方法和技巧 . 23 7.3 调试故障,产生原因及故障排除 . 24 8.心得体会与项目总 结 . 25 9.致谢 . 26 10.参考文献 . 26 4 1. 项目概述 1.1 关于 AVR 开发板 的简介 AVR 单片机是 1997 年由 ATMEL 公司研发出的增强型内置 Flash 的RISC(Reduced Instruction Set CPU) 精简指令集高速 8 位单片机。 AVR 的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 1997 年,由 Atmel 公司挪威
10、设计中心的 A 先生和 V 先生,利用Atmel 公司的 Flash 新技术,共同研发出 RISC 精简指令集高速 8 位单片机,简称AVR。 AVR 具有 哈佛结构,具备 1MIPS / MHz 的高速运行处理能力;超功能精简指令集( RISC),具有 32 个通用工作寄存器,克服了如 8051 MCU 采用单一 ACC进行处理造成的瓶颈现象;快速的存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号 FLASH 非常大,特别适用于使用高级语言进行开发;作输出时与 PIC 的 HI/LOW 相同,可输出 40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输
11、入,具备 10mA-20mA 灌电流的能力;片内集成多种频率的 RC 振荡器、上电自动复位、看门狗、启动延时等功能,外围电路更加简单,系统更加稳定可靠; 大部分 AVR 片上资源丰富:带 E2PROM,PWM, RTC, SPI, USART, TWI, ISP, AD, Analog Comparator, WDT 等;大部分AVR 除了有 ISP 功能外,还有 IAP 功能,方便升级或销毁 应用程序 。 AVR 单片机系列齐全,可适用于各种不同场合的要求。 1.2 AVR STUDIO 5 本次实验采用 AVR STUDIO 5 作为软件开发工具 , AVR STUDIO 5 是为 AVR
12、 嵌入式单片机制作的一个集成开发环境。 AVR STUDIO 5 给予我们一个无缝的、易使用的环境来书写、建立、调试 C、 C+和汇编代码。 AVR STUDIO 5 支持所有的 AVR微控制器(包括 8 位和 32 位)。我们可以利用 AVR STUDIO 5,结合之前的 C 语言基础知识,通过所给的例程学习编写适合用于 Atmel ATxmega128A1 单片机的程序。 AVR Studio 5.0 集成了 AVR Software Framework,这是一个带有 400 多个完整应用程序范例的 8 位 AVR XMEGA 和 32 位 AVR UC3 MCU 源代码库,并拥有一整套用
13、于片上外设和外接器件的驱动程序、有线和无线通信协议堆栈、音频解码、图形生成、以及定点和浮点算法库。使用该软件框架中的代码,设计人员可以省去多达 50%的底层源代码编写工作,从而加快新应用产品的开发。 软件工程师需要完整直观的开发工具来启动复杂的嵌入式微控制器设计。Atmel AVR Studio 5 备有全面充分的代码样例,可让软件工程师快速启动新的设计项目,从而简化设计过程。此外,新项目向导带有软件框架和调试器,使得这个开发平台更为完整,非常直观和易于使用。 Atmel AVR Studio 5 可用三个词来描述:直观、易用和高效。 AVR Studio 5 和AVR Software Fr
14、amework,结合 Atmel 调试器和开发工具套件,构成了能够帮助5 设计人员将其理念快速带入市场的真正的完整开发平台。这些平台使用方便,并量身定制以满足 Atmel 客户之 AVR MCU 设计人员的需求 。 AVR Studio 5 能够简化源代码的编辑和调试,具备辅助代码编写功能的编辑器、用于快速创建新项目的向导工具, AVR Software Framework 源代码库、 GNU C/C+编译器、功能强大的模拟器,以及适用于 Atmel 所有 AVR 编程器及在线调试器的前端可视化工具。 AVR Studio 5 支持所有 8 位和 32 位 AVR MCU。此外,Atmel 的
15、 AVR Studio 5 还可集成第三方的嵌入开发工具插件。 2 项目设计目标描述 2.1 课程设计题目 本项目要求设计并实现一个红外温度检测计,利用 8 位 AVR 单片机开发板Atmel ATxmega128A1 作为核心控制器件,采用红外温度检测元件测量温度,使用 LCD 显示温度,从而实现红外温度测量功能。测温范围 20 +70 2.2 课程设计基本要求 熟悉单片机的设计开发环境 AVR STUDIO 5,在此基础上掌握相应的控制软件设计; 学习 8 位 AVR 单片机开发板 Atmel ATxmega128A1 的使用,并熟悉各个模块的功能; 焊接并调试其他扩展的 PCB 板的各个
16、模块。 完成一台由红外温度传感器组成的红外温度检测计,由液晶 LCD 显示当前温度。温度显示精度为 1。 2.3 课程设计发挥部分 具备报警,报警门限通过键盘设置; 具备报警,通过蜂鸣器完成; 温度单位摄氏( )华氏( F)可以自动转换; 能通过 SD 卡或者计算机存储温度数据 6 2.4 课程设计需求简析 本实验的主要部分为 Atmel ATxmega128A1 单片机,需要以此板为中心设计外围电路 并综合软件来实现红外温度检测的功能。 经过小组讨论以及老师的指导,我们确定了最初的设计思路。红外温度传感器输出毫伏级的电压,需要经过放大到伏级(几伏左右)后接入实验板。放大部分采用模拟电路放大器
17、,放大倍数为 200+,为了保证放大质量采用两级放大电路。放大后的直流电压输入到 AVR 单片机,通过软件编程实现 ADC,得到此电压的数字信号。通过软件的显示模块输出转换后的实际温度到液晶显示屏上。 总体来说分为软件和硬件两部分,硬件部分需设计模拟放大电路和液晶显示屏外围接口并焊接到 PCB 版上。软件部分为 ADC 转换后驱动液晶显示器显示所需显示的温度。 我们打算 软硬件分工,同时进行设计,软硬件综合测试且要求分别测试成功后,再进行软硬件的整合,修改其中出现的错误,以达到预期的结果。 3.团队组成及任务分工 本小组由组长 xx,小组成员 xxx, xxx 组成,为了使设计实现过程更快的进
18、行,将本次课程设计实验分成了三个阶段: 1,基础知识整理获取阶段, 2,方案获取与模块是现阶段, 3,组装与调试阶段。在基础知识整理与获取阶段,每位小组成员通过大量阅读有关书籍及相关文档深入了解系统所需硬件电路及 AVR单片机工作控制机理。在方案获取与模块是现阶段,为了提高实现过程的并行性,根据每位组 员特长与兴趣,讨论分析得出系统模块划分结果,由 xx 负责 AVR 单片机软件编程平台的搭建及软件编程, xxx 负责硬件电路设计,元器件购买, xxx实现硬件电路的焊接电路。在组合调试阶段,综合软硬件调试,运行程序,通过测量硬件电路各端点处电平时序等特性分析系统运行的状况,出现错误的原因及假设
19、,验证假设方法及消除错误方案等。 4. 系统 总体设计 本实验用到的 8位 AVR单片机开发板 Atmel ATxmega128A1工作在 32Mhz上,两个八通道, 12-bit, 2 Msps 模拟数字转换器,提供多达 10 个八端口 IO 端口 ,功能强大,其中 PA,PC,PD,PF,可供外电路使用,具有功耗小性能强等众多有点,通过小组讨论得到了如下的实验实现模块方框图,其中蓝方框表示 硬件电路实现的功能,黑色方框由 芯片配合软件实现。并可将其按上下分成两个模块 AD转换模块与 LCD 显示模块。可以通过逐个模块功能实现最后拼接实现目标 : 7 5.系统 硬件设计与实现 5.1 红外温
20、度传感器的选择与硬件驱动电路(信息获取电路) 目前市场上红外温度传感器的种类很多,其中主流的包括 MLX90615ESG 系列, MELEXIS MLX90614ESF-ACF 系列, OPT-538 系列, TS118 系列等。出于系统成本,功耗高低,与 AVR 单片机 IO 端口接收电平匹配程度及输出线性度,输出稳定性等因素考虑,决定选择使用 OPT-538 系列中的 OPT-538U,这是一款非接触式的红外温度传感器, otp-538u 是一个热电堆传感器 ,具 116 种热电偶元素,传感器芯片经由微细加工,可快速反应环境里的温度改变,导致输出端电压响应,OPT-538U 非接触式的红外
21、温度传感器 的温度电压输出特性曲线如下图所示,通过观察其特性曲线可以观察到:在 025C 时输出为负电压范围是 -0.80C,在25100C 时,输出正电压范围是 03.8mv,线性度较好,粗略测量时可以拟和为一条直线,精细测量时,可以用若干个分段函数来实现曲线的模拟。其实际温度 -电压特性曲线如下: 8 非接触式 红外温度传感器 OPT-538U 有四个端口,其中 13 为输出端口, 24为输入端口, 为了让 非接触式 红外温度传感器 OPT-538U 正常工作,输出正确的电压,需要研究其电学特性。下表为 非接触式 红外温度传感器 OPT-538U 阻抗随温度变化特性: 根据上表不难得出 非
22、接触式 红外温度传感器 OPT-538U 驱动电路如下图所示,驱动电路也叫信号获取电路,不仅需要 非接触式 红外温度传感器 OPT-538U,还需要阻抗分别为 1K,10K 的电阻,还需要 47uf 的电容。其中 10K 电阻用来分压,保持电压稳定, 1K 电阻分流防止输入非接触式 红外温度传感器 OPT-538U的电流过大, 47uf 电容的作用是消除噪声信等交流信号对非接触式 红外温度传感器 OPT-538U 工作状态的影响。传感器驱动电路如下: 9 5.2 电压放大模块 由于 非接触式 红外温度传感器 OPT-538U 即使在 100C 时输出电压也只有3.8mv,对于 AVR 单片机
23、IO 端口而言其电平太低,无法进行有效的识别,由于变化区间太小更难实现进行准确的编码。为此我们需要在非接触式 红外温度传感器 OPT-538U 的输出输入到 AVR 单片机的输入端口之前进行放大,由于单片机内部可以提供一个 1V 的标准电压可被选择控制,所以可以用其作为满量程的标准电压,这样的话可以将 100C 是对应输出的 3.8mv 电压放大到 1V 以内,1000/3.8=263,可以选择通过两级放大电路,每级放大 16 被,总放大倍数为16*16=256 能够使编码点评对应的电压放达到最都理想的状态。10 由于为了实现新片一体化,上图所示为选择单极性正向放大的 358 放大芯片,其中一个 358 芯片正好有两个放大模块对应两级放大。根据以上分析可以将放大模块与 5.1 中的信号收集模块结合起来产生去下图所示发达输入电路:图中每一级放大倍数为( 15+1) /1=16 倍满足分析的数值,两极之间的 47uf 电容是用来将电路中的交变噪声信号滤除,增强系统的抗噪性,使系统工作时更加健康稳定。根据 AVR 单片机 AD转换功能的输入端只能在 PA0PA7 这 8 个端口之中一个输入进来,所以本次课程设计实验中选择 PA0 作为输入,也就是 ACD0。具体 如何进行使能选择将有软件实现。