计算机测控原理Word格式.docx
- 文档编号:13659932
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:17
- 大小:137.92KB
计算机测控原理Word格式.docx
《计算机测控原理Word格式.docx》由会员分享,可在线阅读,更多相关《计算机测控原理Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
(4)设计APD偏压温度补偿系统的软件程序如AD和DA转换程序、显示程序、按键改变设定电压程序等。
2APD偏压温度补偿系统总体方案
STC90C51单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:
中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要外接温度采集电路、升压电路、AD和DA转换电路、显示电路、按键电路就可以实现本次设计的需求。
2.1系统的整体结构
通过对APD进行一定了解,本次设计的系统的整体框图如下图2-1所示。
图2-1系统框图
整体的系统框架搭建好后,就可以进行硬件电路的搭建,软件的相应编程来实现最终的功能。
3系统硬件设计
3.1硬件设计方案
根据APD的特点,设计了APD最佳偏压温度控制系统的硬件搭建。
主要包括温度的检测、A/D和D/A转换、升压电路、显示和报警等。
以STC90C51单片机为核心进行相应控制,使电压随温度的变化而变化,且当电压超过设定值时蜂鸣器会报警。
系统的硬件设计方案如下图4-1所示:
图4-1硬件设计框图
3.2元件选型
(1)升压芯片选型
在此设计中选用的升压芯片是MAX5026。
MAX5026是固定频率、脉冲宽度可调的升压DC-DC变换器,其工作电压最低为3V,转换频率为500KHZ。
具有低噪音、输出电压高等特点。
所以选择MAX5026。
(2)温度传感器的选择
此系统选择的温度传感器为AD590,它的测温范围为-50oC~+150oC,满刻度范围误差为±
0.3oC,工作电压范围4~30V,电流温度灵敏度为1μA/K,线性度良好,性能稳定,抗干扰能力强。
所以选择AD590。
4系统软件设计
硬件电路确定之后,系统所有的智能功能要由软件来完成。
软件是整个控制系统设计的核心,它具有充分的灵活性,可以根据系统的要求而变化,对于同样的硬件系统,配以不同的软件系统,所实现的功能也就不一样,而且有些硬件电路的功能都可以用软件来实现。
所以对于一个系统设计来说,软件系统常常比硬件系统需要更多的工作量。
4.1软件概述
软件设计的方法有结构化设计、由项向下设计、模块化设计和层次化设计等。
本系统软件设计采用面向对象的模块化程序设计方法。
所谓“模块”,实质上就是具有一定功能、相对独立的程序段。
其基本思路是将整个控制系统的功能分解为几个相对独立的标准模块,使其中的每一个程序模块完成某一特定的控制功能,并且分别只有一个入口和出口,这样就可以对每一个程序分别定义无歧义性的输入变量和输出变量,使它们的运行相对地不受其它程序的影响,从而增强了系统的可靠性。
模块设计的主要特点是:
(1)单模块比一个完整的程序容易编写、查错和测试;
(2)有利于整体工序设计任务的划分。
可以将程序分成不同的功能模块进行编写;
(3)模快可以实现共享,一个模块可被多个任务在不同的条件下调用;
(4)可以建立一个模块来把用户接口要素独立起来。
这样不会影响程序其它部分,就可以进行改进;
(5)把输入/输出封装起来,可以使程序其余部分免受经常变动;
(6)输入/输出放入模块使得程序很容易适应输入/输出设备的变动。
这样的设计有利于程序代码的优化,而且便于设计、调试和维护。
软件结构采用模块化设计方法,将控制器所要完成的功能分别编写和调试,所有模块调试成功以后,将各个模块连接构成单片机软件系统。
目前存在有4种编程语言支持单片机,即汇编语言、PL/M语言、C语言和BASIC语言。
其中汇编语言和C语言应用的较多,C语言既具有高级语言的优点,又具有低级语言的许多特点。
因此,结合本系统,本文选用功能强、效率高的C51语言。
4.2系统软件整体结构
根据APD偏压温度补偿系统工作流程可以得到系统的温度采集转换程序、数码管显示程序、输出电压转换机控制电压转换程序以及按键改变设定电压程序等。
研究的核心是温度、电压的转换及用简单算法控制偏压。
本次设计的APD偏压温度补偿系统软件整体框图如图4-1所示:
图4-1系统程序框图
4.3主程序模块
图4-2主程序流程图
对应于系统程序框图可以得到系统主程序的流程。
系统工作的流程为:
系统上电后温度传感器AD590采集温度通过相应电路处理后经AD0832进行转换,然后通过数码管进行显示;
同时升压电路的输出电压也通过AD0832进行转换,并有数码管显示;
CPU由输出电压计算出控制电压,经DA转换后显示;
如果输出电压大于设定值,蜂鸣器会报警。
此外,可通过按键改变设定的初始电压。
其主程序流程图如图4-2所示。
主要程序代码如下:
main()
{
unsignedchartemp1,temp2;
//ADC转换值
unsignedintb,c,d,m,n;
outside_init();
Init_Timer0();
DelayMs(20);
while
(1)//主循环
{
if(ReadADFlag)
{
ReadADFlag=0;
temp1=ADC0832_Read(0);
//转换通道0
b=temp1*500/256;
//测得的温度值放大十倍显示
TempData[0]=dofly_DuanMa[b/100];
TempData[1]=dofly_DuanMa[(b%100)/10]|0x80;
TempData[2]=dofly_DuanMa[(b%100)%10];
temp2=ADC0832_Read
(1);
//转换通道1
c=temp2*250/256*5;
//输出电压值
TempData[6]=dofly_DuanMa[c/100];
TempData[7]=dofly_DuanMa[(c%100)/10];
DelayMs(50);
if(b>
20)//d为根据温度计算出的输出电压值
d=(11*b+40000)/100;
else
d=(14*b+39000)/100;
m=(710-d)*100/186;
//m根据输出电压计算控制电压
n=m*256/500;
WriteDAC(n);
TempData[3]=dofly_DuanMa[m/100]|0x80;
TempData[4]=dofly_DuanMa[(m%100)/10];
TempData[5]=dofly_DuanMa[(m%100)%10];
if(c/10>
Num)
{
Beep_ON();
}
}
}
}
4.4AD转换模块
本次设计所用的AD为AD0832,它为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。
主要对温度和电压进行转换。
4.4.1AD0832工作原理
此系统中,CH0用于温度转换,CH1用于电压转换。
其相应电路如图4-3所示。
当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。
当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。
此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。
在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。
在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。
图4-3温度采集及转换电路
4.4.2转换流程
根据以上介绍的AD0832,设计温度和电压的转换。
其转换的流程图如图4-4所示。
图4-4AD转换流程图
4.5DA转换模块
此系统的DA转换主要用PCF8591来实现,而PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
设计中要将控制电压转换成模拟量再送入升压电路的输入端,从而实现对输出电压的控制。
4.5.1DA转换—PCF8591
PCF8591是一个单片集成、单独供电、低功耗、8-bitCMOS数据获取器件。
PCF8591的3个地址引脚A0,A1和A2可用于硬件地址编程。
此系统中用其来实现电压的DA转换,所用电路图如图4-5所示。
图4-5DA转换电路
4.5.2I2C总线工作原理
I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。
各种被控制电路均并联在这条总线上,每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器)这取决于它所要完成的功能。
CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;
控制量决定该调整的类别及需要调整的量。
I2C总线在传送数据过程中共有三种类型信号,它们分别是:
开始信号、结束信号和应答信号。
开始信号:
SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据,如图4-6(a)所示;
结束信号:
SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据如图4-6(b)所示;
应答信号:
接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。
CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况做出是否继续传递信号的判断。
若未收到应答信号,由判断为受控单元出现故障。
图4-6(a)开始信号图4-6(b)结束信号
I2C总线传输的特点:
(1)I2C总线按字节传输,即每次传输8bits二进制数据;
(2)传输完毕后等待接收端的应答信号ACK,收到应答信号后再传输下一字节;
(3)等不到ACK信号后,传输终止;
(4)空闲情况下,SCL和SDA都处于高电平状态。
I2C总线写操作时,PCF8591进行DA转换。
写字节操作的流程图如图4-7所示。
4.6按键改变设定电压模块
本次设计可以用按键对设定电压的初始值进行改变,当KEY键按下后进入外部中断,KEY_END按下后进行相应处理,由KEY_AD和DKEY_DEC按键对设定电压进行加减。
其程序流程如图4-8所示。
图4-7I2C对PCF8591进行字节写操作流程图图4-8按键改变设定电压程序流程图
5结论
5.1总结
本文设计的APD偏压温度补偿系统的软件程序包括温度采集转换程序、数码管显示程序、输出电压转换和控制电压转换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 测控 原理