智能仪器课程设计报告金旭

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能仪器课程设计报告
金旭
Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】
智能仪器课程设计
( 2009届)
分院: 电子信息分院
专业: 电子信息工程
班级: 电子05201班
姓名: 金旭
学号: 01
指导老师: 李正勤
智能仪器课程设计
1. 设计内容
设计单通道温度测量控制系统,并在DP-51PROC实验箱上实现。

2. 设计要求
1.阅读DS18B20的资料,了解单总线协议,编写采用DS18B20进行单点温度测量的程序。

2.阅读步进电机资料,了解步进电机驱动原理,编写步进电机正反转驱动程序。

3.阅读ZLG7290资料,了解ZLG7290工作原理,掌握ZLG7290与单片机数据通信方法。

编写温度显示和键盘控制程序。

4.根据D3红外遥控区的电路原理,采用单片机设计相应的红外遥控发射器,编写相应的软件。

5.连接上述程序块,联合调试,完成多通道温度测量控制系统软件设计。

3. 硬件原理构成
硬件采用DP-51PROC实验箱,将四个独立的实验区连接起来,并加上部分外部电路,构成多通道温度测量控制系统,具有单通道温度测量、温度显示、温度上下限设定、温度控制的功能。

1.B4 温度采集区。

该区有一个集成单总线温度传感器DS18B20,用于温度测量。

DS18B20的数据总线是DQ端。

多通道温度测量的功能可以借助两台或两台实验箱验证。

2.D5 I2C 实验区。

该区包含8个数码管、16个按键及数码管显示和键盘扫描管理芯片ZLG7290,用于实现温度显示和通过键盘实现温度上下限设定的功能。

ZLG7290与单片机通过I2C方式实现数据通信,时钟线为SCL,数据线SDA;ZLG7290键盘中断接口为INT_KEY;ZLG7290的复位控制端为RST_L。

3.C8 步进电机区。

该区包含一个四相步进电机及其驱动电路,用于模拟温度的控制。

四相步进电机的四个驱动端子分别是BA、BB、BC、BD。

4.根据键盘的电路原理,采用单片机设计相应的键盘控制电路,编写相应的软件。

4. 硬件原理分析
温度传感器DS18B20
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU 只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

以上特点使DS18B20非常适用于远距离多点温度检测系统。

其电路图如图1所示。

图1 DS18B20原理图
步进电机原理
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

通过控制IN1、IN3、IN5、IN7输入有序的矩形脉冲控制ULN2003A输出有序矩形脉冲控制电机转动。

如IN1IN2——IN2IN3——IN3IN4——
IN4IN1。

如图2所示。

图2步进电机电路图
ZLG7290原理
ZLG7290是一种多位LED显示及键盘管理器件,采用流行的I2C总线接口,可与各种带I2C总线的单片机方便接口,并可同时驱动8位LED。

其内部具有15×8 RAM的功能控制寄存器,可方便寻址。

对每位数字可单独控制、刷新。

显示亮度可数字控制,每位都具有闪烁使能控制功能。

无需任何外部元件便可多路复用自动扫描。

其ZLG7290如图3所示。

ZLG7290的特点有:采用I2C串行接口;提供键盘中断信号,方便与处理器接口;可驱动8位共阴数码管或64只独立的LED和64个按键:可控制扫描位数,可控制任意数码管的闪烁:提供数据译码和循环移位段寻址等控制;8个功能键均可检测任意键的连击次数;无需外接元件即直接驱动LED,可扩展驱动电流和驱动电压。

图3为ZLG7290的连接图
5. 软件设计
单通道温度测量控制系统实现的温度采集和显示的功能,并且当采集的温度超过上限或下限时控制步进电极正转或反转,同时还加入按键控制,其中包括功能键、上下限值切换、加减键。

由于单通道温度测量控制系统有4个块组成,所以在软件的设计上也分成4个部分,包括步进电机驱动程序、温度读取程序、按键控制程序、LED显示电路。

主流程图
软件采用汇编语言编写,程序编写采取模块化、结构化设计。

各个器件都有其独立的驱动程序,方便读者理解。

当开始执行程序时首先判断有没有按键输入,如果有按键输入信号就先进行按键处理,如果没按键输入就从DS18B20读取测得的温度,然后把测得的温度转换成10进制数,并保存到指定寄存器中。

然后把转换后的数据送到LED中显示,最后回到最初的按键判断。

其主程序工作流程如图4所示。

图4 主流程图
温度读取流程
DS18B20的访问协议必须遵循以下顺序:初始化(复位)、ROM
操作命令、暂存器操作命令。

读经过DS18B20转换的温度首先要把DQ 置1然后初始化DS18B20,初始化成功后,向DS18B20送0CCH
即直接向 DS1820 发温度变换命令,然后向
DS18B20送44H 发出温度转换指令,延时等待转换结束,再初始化DS18B20,成功后向DS18B20送0BEH 发出读温度指令,最后把读到的温度放到指定的寄存器中。

程序流程如图5所示。

.进步电机驱动程序
步进电机是一种将电脉冲转换为角位移的数据控制电机,即给它一个脉冲信号,它
就按设定的方向转动一个固定的角度。

用户可以通过控制脉冲的个数来控制角位移量,
从而实现准确的定位操作;另外,通过控制脉冲频率来控制电机转动的速度和加速度,
从而达到调速的目的。

当然,对于步进电机各相绕组(即内部线圈)的控制脉冲要有一定
的顺序,否则电机无法正常旋转。

实验箱上的步进电机为四相步进电机,电机步距角为度。

单片机GPIO驱动能力有
限,必须通过ULN2003 达林顿集成驱动芯片驱动步进电机,在步进电机和驱动电路之间
连接了电阻,防止控制紊乱造成电机的损坏。

在系统中进步电机的作用是报警,当温度超过限值时进步电机才转动。

首先,控制
单片机工作在定时1状态,并且定时20MS,然后向P1口循环输出,每输出一次都定时
20MS。

如图6.
图6进步电机驱动程序流程图
按键控制程序
盘处理子程序主要完成的是通过特定的设置按键端口的状态,并对端口状态进行检测,然后为按键设置特定的值,为主程序提供执行判决。

需考虑多键按下和去抖动的问题。

按键程序主要实现的功能是功能键、上下限值切换、加减键、个十位切换键。

首先,判断是否有按键输入,如果有按键输入就读取键值,然后将键值与各个按键值比较,找到输入键对应的功能。

如上下限值切换,先设一个标志位,标志位为0时切上限值,并把标志位置1,再按按键切下限值,把标志位清0;个十位切换,同样设置标志位,先置位为0,把地址指向个位,按键后把标志位置1,把地址指向十位;加减键,
把要操作的数据放到寄存器A中,对其进行加1或者减1,然后把值送回并显示。

显示
按键盘控制图如7。

图7是按键控制流程图
显示控制程序
系统硬件选择的是四段共阴极 LED动态显示,LED显示子程序主要是完成对设定的LED段,并通过查七段码表,使它显示制定的图样。

图8中描述的是通过选定一段数码管,显示数据的程序流程图8。

6.软件调试
在调试程序的过程中遇到了很多问题,最终能够顺利的完成调试,颇感欣慰,下面就调试过程中出现的问题及解决方法作一回顾总结。

首先由于这个系统所涉及的程序比较复杂而且量比较大,其中包括程序和各个子程序,在调试过程中经常发生问题,这个就要通过设置断点来调试。

其次由于实验机老化等硬件问题,使的在调试过程中经常遇到按键盘不能很好的控制温度调节。

最后是对于程序的掌握不熟悉,导致调试的失败。

但是通过本次的设计能更好的掌握汇编语言的程序设计。

7.心得
我刚刚开始做实验的时候,别人怎么说我就怎么做。

参考别人的程序来实施操作。

后来看对程序的仔细研究和探讨之后对与程序能很好的理解很编程;但是对于硬件方面还是了解的比较少,所以这样就影响到了直接对程序的了解,不过这样也让我了解到了对硬件了解的重要性质。

但是以后做实验我要准备以下几点:1.准备越充分,实验越顺利;
2.交流是最好的老师;
3.一半时间做实验,一半时间看文献;
4.记录真实详尽;
5.把握心理优势。

相关文档
最新文档