单相变频电源设计 - 原版 - 图文 联系客服

发布时间 : 星期五 文章单相变频电源设计 - 原版 - 图文更新完毕开始阅读

第5章 微机控制系统设计

情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。

单片机最小系统如图5-2所示。

图5-2 单片机最小系统电路

5.1.2 温度传感器的设计

温度传感器选择DS18B20,其主要特性是适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。测量结果直接输出数字温度信号,以\一线总线\串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。DS18B20数字温度计提供9位(二进制)温度读数指示器件的温度信息,经过单线接口送 入DS18B20或从DS18B20送出。温度敏感器件DS18B20的测量范围从-55到+125增量值为0.5可在l s(典型值)内把温度变换成数字。下面是温度传感器的设计原理图和对温度传感器电路作的简要分析。

温度传感器电路如图5-3所示。

31

电子科技大学成都学院本科毕业设计论文

图5-3 温度传感器电路

温度传感器电路分析:

DS18B20共三个引脚,Vcc接+5V电源,GND接地,DQ接C51单片机的P0.0口。Protues仿真软件可仿真此芯片,按下图中的上下箭头即可改变其温度的大小。当温度发生变化时,单片机可以采集到此信息,通过设置不同温度的范围输出与之相对应的数字信号,就可以通过数模转换即可输出相应大小的电压(例如当温度为32度时,输出电压则为4.5V)以达到变频的效果。 5.1.3 数模转换器设计

此次数模转换器选择DAC0832,采样频率为8位的D/A转换芯片,1位可精确到19.5mV(5V/256)。此次电路选用直通方式,即WR1,WR2,XFER,CS均接地,ILE接高电平,此方式适用于连续反馈控制线路。

D/A转换结果采用电流形式输出,需输出相应的模拟电压,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过RFB端引用片内固有电阻,还可以外接。下面是电路设计的原理图和对原理图的简要分析。

数模转换器电路如图5-4所示。

32

第5章 微机控制系统设计

图5-4 数模转换器电路

数模转换器电路分析:

数模转换器的数据输入端D0~D7分别接单片机P20~P27口;WR1、WR2、XFER、CS均接地,ILE接高电平;当数据输入端D0~D7全部为“1”时,输出Iout1最大,当D0~D7全部为“0”时,Iout1为零;而P2口输出的数据,都是通过运算放大器应该输出的电压值而通过仿真测试得到的。

具体计算方法举例:假设温度传感器采集到温度为32度时,单片机控制引脚P2口输出数据0xb2;此时数模转换器输入数据换算成二进制10110010,换算成十进制数字为178,由于反馈电压为6.49V,电压精度=反馈电压/256=2.535mV,及输出电压可计算Vout=178*2.535mV=4.5V,而EG8010频率调节是与该频率调节引脚的电压成线性关系的,所以此时输出电压的频率应为90HZ。

5.2 软件设计

软件系统有以下几个部分组成:DS18B20的初始化、写数据到DS18B20、读数据、读温度、通过从DS18B20读到的数据自动控制P2口的数据输出。

首先是初始化。包括调用头文件#include、宏定义#define uchar unsigned char #define uint unsigned int、位定义sbit DQ=P0^0等。开始初始化,根据数据手册,先定义一个返回值n,拉高总线并产生延时8us;然后释放总线延时80微秒,产生复位脉冲;在拉高并延时8us,对数据脚采样n=DQ。根据n的值可知

33

电子科技大学成都学院本科毕业设计论文

DS1820是否存在或损坏,可加声音告警提示DS1820故障。

然后是写数据到DS18B20。定义函数void write_byte(uchar dat)采用8位循环移位处理,先拉低总线,产生写信号;紧接着发送1位数据DQ=dat&0x01并产生延时;释放总线,等待总线恢复;准备下一位数据的传送。

从DS18B20读出数据。定义函数uchar read_byte(void)同样采用8位循环移位处理,先拉低总线,产生读信号;紧接着释放总线,准备读数据;if(DQ) value=value|0x80(从低位开始读);延时;返回读到的数据。

读温度。定义函数uchar readtemperature(void),首先是初始化DS18B20;跳过ROM写数据0xcc;启动温度测量写数据0x44;延时300us;初始化DS18B20;跳过ROM写数据0xcc;读DS1820温度暂存器命令写数据0xbe;然后读数据;最后采集温度。

通过从DS18B20读到的数据自动控制P2口的数据输出。当读到温度小于10度时,P2口输出0x00;当读到温度在10~19度时,P2口输出0x28;当读到温度在20~21度时,P2口输出0x3b;当读到温度在22~23度时,P2口输出0x4f;当读到温度在24~25度时,P2口输出0x63;当读到温度在26~27度时,P2口输出0x77;当读到温度在28~29度时,P2口输出0x8b;当读到温度在30~31度时,P2口输出0x9e;当读到温度在32~33度时,P2口输出0xb2;当读到温度在34~35度时,P2口输出0xc5。由于反馈电压不同所以输出P2=0xc5与0xff电压近似相同。

软件设计应用集成开发环境keil uvision 4,详细代码见附录1。

5.3 微机控制系统仿真与调试

运行状态分析如下:

当单机片检测传感器温度在9℃以下,停机不输出;

当温度在10~19℃时,输出1V/20HZ; 当温度在20~21℃时,输出1.5V/30HZ; 当温度在22~23℃时,输出2V/40HZ; 当温度在24~25℃时,输出2.5V/50HZ;

34