基于单片机的高精度水位监控仪的设计Word文档下载推荐.docx
《基于单片机的高精度水位监控仪的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的高精度水位监控仪的设计Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
![基于单片机的高精度水位监控仪的设计Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/25/5941f332-8ef6-4dd7-bb34-a710e3c444ac/5941f332-8ef6-4dd7-bb34-a710e3c444ac1.gif)
AD7705是AD公司推出的16位,电荷平衡式A/D转换器’他包括由缓冲器和增益可编程放大器PGA"
组成的前端模拟调节电路,调制器及可编程数字滤波器等$能直接对来自传感器的微弱信号进行A/D转换’此外他还具有高分辨率(宽动态范围(自校准(低功耗及优良的抗噪声性能.因此非常适用于仪表测量和工业控制等领域.
AD7705的基本特性为:
16位无丢失代码0.003%的非线性度,PGA可选择1.2.4.8.16.32.64.128.8种增益输出数据更新速率可编程,具有自校准和系统校准功能&
三线串行接口,可缓冲模拟输入,低功耗’
SCLK:
串行时钟输入.
MCLKIN:
主时钟输入时钟频率为500kHz到5MHz。
Mclkout主时钟输出
CS(非)。
片选,低电平有效。
Reset(非)。
复位、该端口为低电平时$可以将控制逻辑,接口逻辑。
校准系数以及数字滤波器等复位为上电状态’
AIN2(+)AIN2(-).分别为差分模拟输入通道2的正.负输入端.
AIN1(+)AIN1(-).分别为差分模拟输入通道1的正.负输入端.
REFIN(+),REFIN(-)分别为参考电压的正,负端
RDDY(非)。
逻辑输出.低电平表示可以读取新的数据转换.高电平时不可读取数据
DIN,DOUT:
分别为串行数据输入和输出端。
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×
8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;
其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向),
DS1302的控制字节
DS1302的控制字如图2所示。
控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;
位5至位1指示操作单元的地址;
最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下:
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路
直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还
可以在高负载电流并行运行。
ULN2003采用DIP—16或SOP—16塑料封装。
C8051
DigitalPower数字电源
JTAGlogicJTAG逻辑
EmulationHW仿真硬件
Latch锁存器
ExternalOscillatorCircuit外部振荡器电路
UART通用异步收发器
SFR特殊功能寄存器
Clock&
ResetConfiguration时钟和复位配置
C8051F206C8051F220/1/6和C8051F230/1/6使用CYGNAL的专利CIP-51微控制器内核CIP-51与MCS-51TM的指令集完全兼容标准803x/805x的汇编和编译程序可用于软件开发CIP-51内核包含标准8052的外设有3个16位的计数器定时器1个全双工UART256字节的内部RAM可选用的1024字节的XRAM128字节特殊功能寄存器SFR地址空间以及4个字节宽的I/O端口
C8051F206C8051F220/1/6和C8051F230/1/6在CIP-51的内核的内部和外部有几个关键性的改进
提高了总体性能更易用于在最终应用中使用
扩展的中断处理器向CIP-51提供了22个中断源标准8051有7个中断源允许多个模拟数字外
设向控制器请求中断一个中断驱动系统不需MCU过多的干涉却有更高的执行效率在设计一个多任务
实时系统时增加的中断源非常有用
MCU多至六个复位源一个片内VDD监视器一个看门狗定时器一个时钟丢失检测器一个来自比
较器0的电平检测器一个软件强制复位以及一个外部复位引脚/RST引脚是双向的可接外部复位信号
也可允许内部上电的复位信号在/RST引脚上输出上拉MONEN引脚至高数字1时就给了片内VDD监
视器一个使能信号除了VDD监视器和由软件来的复位输入外用户可以禁止其它的每一个复位源在MCU
初始化期间上电复位之后看门狗定时器可以用软件使之永久地被使能
MCU有一个独立的内部时钟发生器它作为复位之后默认的系统时钟若有必要时钟源能在程序运
行过程中切换至外部振荡器以产生系统时钟外部振荡器可以是晶体陶瓷谐振电容阻容或外部时钟
源这一功能在低功耗系统中很有用可以允许MCU
模数转换器
C8051F220/1/6有一个片内8位的SARADCC8051F206有一个12位的SARADC都带有一个可编程
增益放大器PGAADC的最大转换速率是100ksps有两种精度的ADC一个具有1/4LSBINL的真
8位精度一个是具有2LSB的12位精度基准电压可以是电源VDD也可以是外部基准电压VREF
不需使用ADC时系统控制器能将之置于关断模式以降低功耗模拟多路转换器的输出到程控增益放大器
PGAPGA的增益能用软件以2的整数次幂从0.5到16来设置
A/D转换有两种启动方式一种是软件命令一种是定时器2的溢出这种灵活性允许用软件事件去触
发转换的开始或者连续地进行转换转换结束会产生中断或通过软件查询一个状态位以确定转换的结
束在转换结束时所得的8位数据被锁存至特殊功能寄存器中
ADC数据可通过一个可编程的窗口检测器进行连续地监视当数据处于用户程序窗口时检测器会中
断CPU这样ADC就可不必使用CPU资源而以后台方式去监控系统的关键电压
如图
AIN0-31areport0-3pins--anyexternalportpinmaybeconfiguredasananaloginput
AIN0-31是端口03的引脚任意一个外部端口的引脚都能配置为模拟输入
ProgrammableGainAmp可编程增益放大器
Control&
DataSFR'
sSFR的控制和数据。
该系列有标准的8051端口012和3这些端口是一些增强功能的标准8051端口每个端口的引脚都能配置成1个推挽式输出或开漏极输出可将其配置成模拟输入引脚且有其对应的弱上拉禁止功能数字信号源定时器串行外设接口UART系统时钟和比较器由可配置的多路转换器端口发送至对应的I/O引脚而多路转换器的端口可由特殊功能寄存器SFR的置位功能来编程参看14节32个外部端口引脚的任意一个都可以配置成模拟输入或数字量I/O见图1.9这样所有的I/O引脚都具
有双向功能
AnyportpinmaybeconfiguredviasoftwareasananaloginputtotheADC
任意一个引脚都可用软件配置成模拟输入至ADC
。
C8051F220/1/6有一个片内8位的SARADCC8051F206有一个12位的SARADC都带有一个可编程增益放大器PGAADC的最大转换速率是100ksps有两种精度的ADC一个具有1/4LSBINL的真8位精度一个是具有2LSB的12位精度基准电压可以是电源VDD也可以是外部基准电压VREF不需使用ADC时系统控制器能将之置于关断模式以降低功耗模拟多路转换器的输出到程控增益放大器
A/D转换有两种启动方式一种是软件命令一种是定时器2的溢出这种灵活性允许用软件事件去触发转换的开始或者连续地进行转换转换结束会产生中断或通过软件查询一个状态位以确定转换的结束在转换结束时所得的8位数据被锁存至特殊功能寄存器中
ADC数据可通过一个可编程的窗口检测器进行连续地监视当数据处于用户程序窗口时检测器会中断CPU这样ADC就可不必使用CPU资源而以后台方式去监控系统的关键电压。
3系统硬件总体设计
本系统硬件部分主要考虑的功能有:
模拟量的变换:
模拟量的采集;
高精度16位模数转换器AD7705在系统中的应用;
精确时钟芯片DSl302的应用;
四路继电器报警,继电器驱动芯片采用uLN2003;
4~20r11A电流环输出数模转换器AD42l的应用以提供系统检测信号;
用于与上位微机通讯的接口实现。
系统框图如图
在本系统中,我们选用的主控芯片是高集成度MCu芯片
c805lFD21。
c805lF单片机是完全集成的混合信号系统级芯片
(sOc).具有与8051兼容的高速cIP一5l内核和与Mcs一5l完全
兼容的指令集;
片内集成了数据采集和控制系统中常用的模拟、
数字外设及其他功能部件;
内置FLAsH程序存储器、内部m~M;
大部分器件内部还有位于外部数据存储器空间的RAM,即
xRAM;
c8051F单片机具有片内调试电路,通过4脚的JTAG
接口可以进行非侵入式、全速的在线系统调试。
2.1sPI通讯接口设计
在系统设计巾,有两个外部芯片应用了sPI接口方式:
AD7705和AD421.单片机和这两个外围芯片构成了一个SPI总线系统。
其中单片机的NsS端悬空并被片内上拉电阻置为高电平连接,因为AD421是一个4。
20mA输出的数模转换器芯片.所以它与单片机的数据线连接只有主设备输出从设备输入,即MOSI。
水位监控仪中s盯系统的连接如图2所示。
2.2模数转换设计
在本次设计中.我们选用了两种模数转换电路,第一种是电路:
另外一种是片外的高精度模数转换:
芯片AD7705,该芯片的精度达16位,应用于压力传感器通道的数据采集中,下面计算得出具体应用中能达到的精度,在水位监控仪器的设计中,我们忽略模拟电路的前端误差那么可精确到的毫米数可由式计算得出:
计算可得,当测量量程a=10m时,如果采用12位的ADC。
测量精度为2.44mm;
如采用16位ADc,测量精度可达O.153mm。
我们的设计要求为精确到2mm,所以如采用16位的ADc完全能符合我们的设计要求。
在设计中由于可变电阻器法本身测量精度较低所以使其采用了单片机片内的12位ADc。
为尽量提高测量精度,减小测量误差,我们还用单片机的另一通道对可变电阻器的供电电源电压进行了采集,在软件中两者进行了适当融合处理,在此不再详述。
压力传感器通道我们选用了片外的ADC转换芯片AD7705,AD7705芯片正好有两路模拟通道,供我们的两路压力传感器通道使用。
在软件中进行通道的切换。
2.3报警电路设计
本系统中四路报警电路的设
本系统中四路报警电路的设计是采用单片机的I,0口加达
林顿驱动芯片uLN2003实现的,然后将输出接到继电器的控
制端。
uLN2003由7组达林顿晶体管阵列和相应的电阻网络及
钳位二极管网络构成,具有同时驱动7组负载的能力,是单片
双极型大功率高速集成电路。
继电器选用的是G6B一1174P型
号的产品,24v供电电压。
电气内部结构连接示意如图3。
本系统设计巾采用四路继电器信号输出报警,包括高水位一、
高水位二、低水位一、低水位二。
这四个报警水位高度可通过下
位机按键或上位机界面中人为设定和修改。
以高水位一为例进
行说明。
当水位值在高水位一和高水位二之间时,单片机发出
开关量控制信号.使其对应的继电器常开触点接触导通,具体
报警方式可灵活选择,可在外电路中串接报警灯或报警铃,当
该继电器动作时,相应报警开始(表现为灯亮或者铃响)。
2.44—20IrIA电流环输出数模转换电路与时钟电路的设计
在微机工业测控现场中,经常会出现待测模拟电压信号与
测量设备之间有较远的距离的情况.把该待测模拟电压信号直
接通过很长的线路送入测量设备显然是不合理的。
通常采用的
方法是:
在测量现场对待测模拟信号进行放大、滤波等预处理,
再经过变换后进行远距离传送。
在测量设备附近再反变换成电
压信号进行测量。
适合工业测控系统远距离传送的信号一般有
电流源或频率信号。
为了把待测模拟电压信号变换成电流源信
号传送。
常常使用电压,电流变换电路。
本系统采用一种高性能
数字模拟变换器AD421。
变换器输出信号为4~20r|lA电流环。
单片机应用系统中,为了使系统具有实时性,需由一时钟电路给系统提供时钟信号(年、月、日、时、分、秒)。
我们选用了DALI.As公司的Dsl302芯片。
水位监控仪中用的主控芯片c805lF021共有两个串行口,该我们的设计中,一个用于与上位微机的通讯,另一个用于与编码器通讯,因此,在时钟模块与单片机的接口设计中只能采用第二种接口方式,即用普通IO,口模拟工作时序。
该时钟芯片对时序要求非常严格,时序的确定是跟硬件紧密相连的,芯片内部的寄存器、锁存器等都对时序有严格的要求,所以充分体现了在研制过程巾软硬件相结合的重要性。
在程序设计过程中也遇到了因时序问题引起的数据
传输错误,但最终都顺利解决。
2.5串行通讯部分电路的设计
在本次设计巾,下位机与上位微机通信的串行口部分我们
采用了两种通信方式:
第一种采用Rs一232通信方式;
第二种采
用了Rs-485通信方式。
本次设计中RS一232通信电平是用转换芯片MAx202来
实现的。
MAx202适用于噪声严重环境下的Rs一232通信,每个
发送器输出和接收器输人勿需封闭均可抗±
15kV静电放电
(EsD.Electm—staticDischa职e)冲击,MA)
【202有两个驱动器和
两个接收器。
MAx202芯片是为在缺少±
12V电源的情况下进行
Rs一232c与1Truc0Ms电平转换而设计的双向转换芯片,
MAx202的供电电源是+5v,电平转换速度的最大值不小于
120kbps。
MAx202芯片的外围器件很少,只需用4个o.1妒的
电容.因而进一步降低了成本和减小了占用的空间。
在我们的设计中.采用了sN65LBcl84电平转换芯片,
SN65LBcl84是sN5176行业标准范围内的差分数据线收发器,
它带有内置高能量瞬变噪声保护装置,这种设计特点显著提高
了抵抗数据同步传输电缆上的瞬变噪声的可靠性。
差分驱动器
设计集成_r由转换率控制(slew—mte—controued)的输出端,足可
以250kbps的速率传送数据,转换率控制比之不受控制可允许
更长的无终止电缆运转和来自主干线的更长的短截线长度以
及更快的电压转变速度。
独有的接收器设计可在输入端处于漂
浮(开路)时提供高电平输出失效保护,SN65LBcl84接收器包括
一个高输入电阻,该电阻等效于l/4单位的负载,允许在总线上
挂接最多128个类似器件。
sN65LBcl84的工作温度为—40℃
至+85℃.因此足可以满足工作温度环境要求。
为了防止上位机和下位机的之间互相的干扰,采用光电隔
离器件是一种简单而有效的方法。
在Rs-485的接口电路中我
们选用的也是高速光电耦合器6N136。
连接电路如图4所示,
其中图中电源标号+5
(2)表示从DC—Dc模块输出的+5V电源。
制A/D模块的工作,寄存器的上点位复位值是00H,末用位在执行的时候操作为0.,其他位都可以为可读写。
A/D控制。
.
3水位监控仪系统的软件设计。
在我们本次水位监控仪设计中,所选用的软件环境的CYGNALIDE.它是为C8051系列微控制器量身定制的集成开发环境。
我们将Kei18051编译环境的工具集成到CYGNALIDE中,从而形成了一个集成编译下载代码,在线调试等一系列功能的开放环境,很方便单片机程序的开发。
在我们的系统中将整体程序设计分为2个大模块:
初始化模块和循环执行模块,相应的子程序为,系统初始化子程序和循环子程序,在主程序调用了这2个子程序。
系统初始化子程序中对I/O,外部振荡器,AD/DA,定时器,SPI,以及中断系统都做了初始化的工作。
循环子程序是一个死循环,它包块了对显示部分的初始化和循环体内容,在循环体我们不但完成显示部分的功能,还做了一些系统应该一直查询的信号量,比如按键通道对应的中断使能切换,继电器输出信号的控制处理等。
结束语
本装置对需要温湿度实时控制的工作场合是非常必要的,并且具有较大的应用价值,由于采用了一线数字温度传感器DS1820来实现多点温度采样,所以可以实现多点温度采样的集中控制,配置的RS-232接口可以使多个这样的装置方便地与上位机联机。
以实现温湿度的测控。
参考文献
1刘文涛单片机应用开发实例,清华大学出版社2005
2付晓光单片机原理与实用技术清华大学出版社2007
3王丽娟单片机在锅炉湿度控制系统中的应用,微计算机信息
2007.1.2122-123