低压配电网功率因数补偿系统设计(软件)

更新时间:2024-05-02 14:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

在电力系统中,由于大量输变电设备的存在,其在使用过程中产生磁场,形成感性负载。感性负载的存在导致电网功率因数的下降。为了改善和提高电力系统的电压质量,充分发挥输变电设备的效能,就必须就地平衡无功。本装置设计的目的正是利用控制投切电容组数来达到电感平衡。

低压配电网功率因数补偿系统由控制核心电路和补偿执行机构组成。主控电路主要完成采样和数据处理并输出控制信号,执行机构采用继电器控制电容组的投切。其中CPU采用80C196KB作为主控芯片,控制电网无功功率、电压、电流等参数的实时监测;A/D转换采用12位的高性能A/D转换器MAX197;通过MOC3083来控制晶闸管的过零触发导通,从而投切电容器,达到了甚至消除了合闸涌流的目的。显示部分为DMLS字符液晶显示模块。软件部分采用汇编语言及C语言进行编程,主要包括主程序的设计、A/D转换、数据处理、电容器的投切控制等几大部分。

本装置具有响应快,性能稳定,操作方便等特点,具有广阔的应用前景。

关键词:无功补偿;功率因数;晶闸管投切电容器;触发脉冲

1

目 录

第1章 绪 论......................................................................... 错误!未定义书签。 1.1功率因数补偿器的设计............................................................................. 3 第2章 无功补偿装置的芯片选择与分析............................................................. 4

2.1 CPU芯片的选择与应用 ............................................................................ 4 2.2 EPROM 27256 ............................................................................................ 9 2.3A/D转换芯片的选择................................................................................ 10 2.4液晶显示模块(LCD)........................................................................... 14 2.5时钟芯片................................................................................................... 19 第3章 系统软件设计........................................................................................... 24

3.1 系统软件的设计...................................................................................... 24

3.1.1 程序设计语言的选择................................................................... 24 3.1.2 主程序的设计............................................................................... 25 3.1.3 主程序的说明............................................................................... 26 3.2 电容器投切判断及投切控制子程序设计.............................................. 26

参考文献................................................................................................................... 28

2

1.1功率因数补偿器的设计

研究低压配电网智能功率因数补偿器的意义在于通过对无功功率的补偿,来改善和提高电力系统电压质量,充分发挥输变电设备的效能,减少电力损失,保证电网安全经济的运行。其主要设计包括以下几个方面:

1.补偿器的主电路图的设计:主要包括电容器的分组,每组由晶闸管控制,根据电网的无功需求并且在最佳时刻来进行投切。

2.系统的硬件电路图的设计:补偿器的控制芯片采用MCS-96系列单片机80C196KB;A/D转换采用12位的高性能A/D转换器MAX197;通过MOC3083来控制晶闸管的过零触发导通,从而投切电容器;并用时钟芯片DS12887来记录时间并具有掉电保护的功能。

3.系统的软件设计:数据采集及计算部分采用快速傅立叶算法,对一系列的电参量进行分析计算,以及显示电参量。系统的编程采用汇编语言及C语言。

3

第二章 无功补偿装置的芯片选择与分析

自从1976年Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机在国内的三大领域中应用得十分广泛:第一是家用电器业,例如全自动洗衣机、智能玩具;第二是通讯业,包括电话、手机和BP机等等;第三是仪器仪表和计算机外设制造,例如软盘、硬盘、收银机、电表。除了上述传统领域外,汽车、电子工业在国外也是单片机应用十分广泛的一个领域。它成本低、集成度高、功耗低、控制功能多能灵活的组装成各种智能控制装置,由它构成的智能仪表解决了长期以来测量仪器中的误差的修正、线性处理等问题。

所谓单片机,就是把中央处理器CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read Only Memory)、定时器/计数器以及I/O(Input/Output)接口电路等主要计算机部件,继承在一块集成电路芯片上的微型计算机。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。

本设计就是基于单片机80C196KB设计的功率因数补偿装置。补偿器的控制芯片采用MCS-96系列单片机80C196KB;A/D转换采用12位的高性能A/D转换器MAX197;通过MOC3083来控制晶闸管的过零触发导通,从而投切电容器;并用时钟芯片DS12887来记录时间并具有掉电保护的功能。

1.1 CPU芯片的选择与应用

在本装置中采用的CPU芯片为80C196KB,它是Intel公司MCS-96系列中应用最广泛的一种16位单片机,它具有高速处理功能及低功耗等特点。12MHz晶振时,16位加法指令只用0.66us,其基本指令的执行时间为0.5us-1.5us,指令

4

的8098的超集,即8098指令的80C196KB全部可以使用。

1.80C196KB单片机的特点及外围特点

1)80C196KB单片机除了保留8098的基本功能外,还具有以下特点:内部分频电路为2分频而不是3分频,使处理能力提高1.5倍;指令速度更快,特别对变址/间址数据操作;对12MHz时钟,16*16位乘法仅需2.33us,而在8097BH上则需6.25us;更快的中断响应时间(几乎是8098的2倍);低功率和空闲的工作方式;包括长字比较和块传送的6种新指令;8种新中断向量16种新中断源。

2)80C196KB单片机的外围特点

特殊功能寄存器窗口开关允许向只读寄存器中写入数据:定时器2(TIME2)可由外部选择为向上或向下计数;定时器2(TIME2)使用独立的捕捉寄存器;高速输出(HSO)事件存入一个寄存器中;高速输出(HSO)可使用CAM清楚和CAM LOCK命令;串行口可使用新波特率,所以方式都可用高速传输(12MHz晶振时达到3.0MV/S);双缓冲串行口发送寄存器;串行口接受溢出和错误检测;PWM使用2分频脉冲计数器;HOLD/HLDA总线规约;8路10位A/D转换器,A/D转换时间为14.67us。

鉴于以上特点能够从硬件上缩短快速傅立叶变换的运算时间,保证电量测量的实时性。

2.80C196KB单片机的主要引脚功能 下面介绍个引脚功能: VCC:主电源+5V;

VSS:数字电路地(0V),两个Vss引脚都应接地;

CDE:时钟检测使能,为高使能时钟故障检测电路,若XTAL1频率低于指定的限度,则RESET脚变低;

VREF:片内转换器的参考电压(+5V),同时也为A/D转换器模拟部分和读0号口的电路提供电源,因而必须与0号口和A/D相连,要求VREF的稳压精度高于VCC;

ANGND:A/D转换器的参考地.一般情况下必须和VSS同电位;

VPP:从低功率电路返回的定时管脚,将该脚通过一个1uF的电容连到Vss,通过1个1M 欧姆的电阻连到Vcc,若不使用该功能,可把Vpp连到VCC,该引脚也为片内RPROM的编程电压,编程时,接12.75V电压;

XTAL1:晶振反向器和内部时钟发生器的输入; XTAL2:晶振反向器的输出端;

CLKOUT:内部时钟发生器的输出.CLKOUT的频率是二分之一的晶振频率,占空比为50%;

如图4.1所示为80C196KB单片机的引脚图

5

32 31 30 23 22 21 20 19 63 1 37 13 41 65 16 67 66 38 33 39 42 44 15 17 18 9 8 10 11 4 7 5 6 P1.7 AD8 52 P1.6 AD9 51 P1.5 AD10 50 P1.4 AD11 49 P1.3 AD12 48 P1.2 AD13 47 P1.1 AD14 46 P1.0 AD15 45 INST VCC AD0 60 VPP AD1 59 VREF AD2 58 BHEWRH AD3 57 CLOCK AD4 56 RESET AD5 55 AD6 54 53 XTAL1 AD7 XTAL2 NMI 3 P2.7 BUSHIDTH 64 14 P2.6 VSS 36 P2.5 VSS 54 P2.4 VSS P2.3 ANGND 12 2 P2.2 EA P2.1 P2.0 RD 61 40 WR P0.7 ALE 62 P0.6 READY 43 P0.5 35 P0.4 HSO.3 34 P0.3 HSO.2 29 P0.2 HSO.1 28 P0.1 HSO.0 27 P0.0 HIS.3 26 HIS.2 25 HIS.1 24 HIS.0 图4.1 80C196KB的引脚图

RESET:芯片的复位输入.为复位芯片,该输入应保持为低至少4个状态时间,随后的低-->高的转换与CLKOUT重新同步,启动一个10个状态时间的序列,在读序列里,将清除PSW,从2018H单元读一个字节加载CCR,跳转到2080H单元执行,正常情况下输入为高,RESET有一个内部上拉能力;

BUSWIDTH:总线宽度选择输入端,若CCR.1=1,该脚为当前总线周期选择总线宽度,当BUSWIDTH=1时,选择一个16位总线周期,若BUSWIDTH=0则选择8位总线周期,若CCR.1=0,总线周期总是8位;

MNI:不可屏避中断.当次引脚有一个正跳变时,形成一个志向外部存储器203EH单元的中断向量;

INST:在外部存储器读期间输出高,指定这是一个取指令读,输出低指出是一个数据读,INST在真个周期有效,仅在外部存储器存取时激活INST;

EA:存储器选择输入端(外部存取). 当EA=TTL,且为高时将引起读芯片上

ROM/EPROM的2000~3FFFH单元,低将引起读芯片外存储器的这些单元;

ALE:地址锁存允许;

6

RD:对外部存储器的读信号;

WR:写外部存储器;

HIS:高速输入信号端,具有4个HIS输入引脚:HIS.0,HIS.1,HIS.2和HIS.3,两个引脚(HIS.2和HIS.3)与HSO部件共用.这些引脚可用于RPROM型的编程;

HSO:高速输出不见的输出端;

P0口:8位高阻抗输入口.这些引脚可作为数字输入口,也可作为A/D转换器的模拟输入口;

P1口:8位准双向口;

P2口:8位多功能口,它们除了可作为标准I/O口外,还可用作其它特殊功能; P3,P4口:具有漏极开路输出的8位多功能口,这些引脚也可用作地址/数据总线,它们具有很强的上拉作用。

3.80C196KB单片机的时钟信号 1)片内震荡器

80C196KB的片内震荡器电路包含一个晶体控制的正电抗振荡器,如图4.2所示。它与外部晶体的连接方法见图4.3。XTAL1脚是内部反向放大器的输入端,而XTAL2脚是该放大器的输出端。在晶体振荡器中,晶体工作于基本响应模式,它作为一个感抗与外部电容形成并联谐振,使正反馈放大器维持震荡。振荡器的工作受PD信号(掉点方式位)的控制。当PD=0时,图4.2中下面一个N型沟道MOS管处于截止状态,使振荡器停振。

VCC 至内部电路 XTAL1 Rf XTAL2 PD VSS

图4.2片内振荡器电路 7

石英晶体 或陶瓷谐振器 20Pf 20pf VSS 80C196KB XTAL1 XTAL2 至内部电路 Rf 图4.3 外部晶体连接法

XTAL1和XTAL2引脚处都有静电放电保护器件(图中未示出)。如图4.3所示的外接电容值并不十分严格。20pF对于工作于1MHz以上的质量较好的晶体都能获得良好的效果。

2)内部时序

80C196KB的状态周期由振荡器信号2分频后获得,它是芯片工作的基本时间单位。

当采用12MHz晶振时,80C196KB的状态周期为167ns;采用8MHz晶振时,80C196KB的状态周期为250ns,恰与8096芯片采用12MHz晶振时 状态周期相同。因此,采用相同频率的晶振工作时,80C196KB的操作速度至少比8096的速度高1/3。80C196KB的速度比8096高的另一个因素是,前者的大部分指令执行状态周期数略比后者的少。

图4.4 内部时钟节拍

CLKOUT 节拍1 节拍2

时钟发生器产生的2个不重叠的内部节拍,如图4.4所示。CLKOUT信号由节拍1和节拍2的上升沿形成。

8

1.2 EPROM 27256

1.芯片介绍

EPROM作为一种可以多次擦除和重写的ROM,克服了掩膜式ROM和EPROM灵活性差的缺点,故本设计中采用27256作为程序存储器。

27256是Intel公司采用HMOS工艺生产的。它是用5V供电、262144位紫外线可擦除、可电编程的只读存储器(EPROM)。结构是32K×8位,单个字节的存取时间小于200ns。其双线控制和JEDEC批准的28引脚封装,是所有的Inetl公司高密度EPROM的标准特性,保证它易与高性能的微处理器兼容。

27256具有32K字节的大存储容量,使它具有高密度软件载体的功能。全部操作系统、诊断、高级语言程序和专用软件,直接可驻留在系统存储器总线上的一片27256 RPROM中,这就使得微处理器能立即存取和执行软件,节约了磁盘存取和卸载所需时间。

2.EPROM 27256单片机的主要引脚功能 如图4.5所示为EPROM 27256的引脚图

图4.5 EPROM 27256的引脚图 1 2 3 4 5 6 7 8 9 10 11 12 13 14 VPP VCC A12 A14 A7 A13 A6 A8 A5 A9 A4 A11 A3 OE A2 A10 A1 CE A0 D7 D0 D6 D1 D5 D2 D4 GND D3 28 27 26 25 24 23 22 21 20 19 18 17 16 15

引脚功能 VCC:主电源+5V; VPP:掉点保护电压; A0~A14:地址输入; CE:片选;

9

OE:输出允许控制端; O0~O7:数据输出;

4.3A/D转换芯片的选择

单片机应用的重要领域是自动控制。在自动控制领域的应用中,除数字量之外还会遇到另一种物理量,即模拟量。例如:温度、速度、电压、电流等,它们都连续变化的物理量。

由于计算机只能处理数字量,因此计算机系统中凡遇到有模拟量的地方就要进行数模、模数转换,也就出现了单片机的数/模和模/数转换的接口问题。

现在这些转换器都已集成化,并具有体积小、功能强、可靠性高、误差小、功耗低等特点,能很方便地与单片机进行接口。

A/D转换器输入的是模拟量,经转换后输出的是数字量。 1.芯片介绍

对一个数据采集系统而言,我们可以有若干个方案。每中方案虽然都能达到所期望的结果,但对数据采集系统的精度、性能和可靠性提出了较高的要求时就需要有一种最可行的方案。速度采样速度由模拟信号带宽、数据通道数和每个周期的采样数决定。A/D转换电路是数据采集系统的核心部分。所以选择合适的A/D转换器件是很重要的。MAXIM公司为我们在选择上解决了这一问题。他们设计出了将采集系统所需的程控运放、通道切换、基准源、时钟电路、A/D和电源管理单元集成在单个芯片上的MAX197——多量程可程控并采用单一+5V电源供电的12位A/D转换数据采集系统。

MAX197是一个多量程、12位数据采集系统。该芯片只需单一的+5V电源供电即可工作。但在其模拟输入端可以承受大幅度膏腴电源电压和低于地的信号。其允许最大幅值可达+16.5V且当任一通道发生故障后将不影响其他通道的正常操作。该芯片提供8个模拟输入通道,每一通道均可独立地由软件编程得到多种输入范围:+10V、+5V、0—10V或0—5V。这是的其有效的动态范围增加到14位。并使用户能灵活地把4—20mA及+12V和+15V电源的检测器很方便的与单一的+5V系统相接口。该器件的其它特点还包括具有50Hz带宽的跟踪/保持电路,100Ksps的采样速率,软件可选的内部或外部时钟,可变的采集控制,8+4位并行接口,以及内置4.096V电压基准或可选的外部基准源。

MAX197使用标准的微处理器接口单元,三态数据I/O端口配置成与8位数据总线一起工作。数据存取和总线释放的时序性能指标与大多数通用的微处理器相兼容,所有逻辑输入与输出均是TTL/CMOS 兼容的。在电源管理方面,该器件还提供硬件上的SHDN引脚和可编程的掉电方式(STBYPD、FULLPD),使芯

10

片在两次变换之间能处于低电流的关端状态。在STBYPD方式下,基缓冲器仍保持有效,从而消除了电延迟。

2.MAX197主要特性: 1)12位分辨率,1/2LSB线性度 2)+5V单电源工作

3)软件可选输入范围:+10V、+5V、0~10V或0~5V 4)带鼓掌保护输入多路转换器(+16.5V) 5)8路模拟输入通道

6)6us变换时间,100Ksps采样速率 7)内部或外部采样控制 8)内置4.096V 9)两种掉电保护 10)内部或外部时钟 3.MAX197的引脚说明

1)如图4.6所示为MAX197的引脚图

7 8 9 10 11 12 13 14 4 3 27 6 25 15 28 D7 CS D6 CLK D5 REF D3/D11 INT D2/D10 CH7 D1/D9 CH6 D0/D8 CH5 HBEN CH4 RD CH3 WR CH2 VDD CH1 SHEN CH0 REFADJ AGND DGND 图4.6 MAX197引脚图

2 1 26 24 23 22 21 20 19 18 17 16

2)下面介绍个引脚功能:

CLK(引脚1):时钟输入,在外部适中方式下,用与TTL/CMOS 电平兼容的时钟信号来驱动CLK,在内部时钟方式下,在此引脚与地之间接一电容以设置内部时钟频率,当CCLK=100pF时,FCLK典型值=1.56MHz;

11

:片选端,低电平有效; CS(引脚2)

:写控制输入,若CS为低电平时,WR上升沿锁存接受的数据WR(引脚3)

并启动采集和变换周期。在外部采集方式下,当CS为低电平时,WR的第一个上升沿启动采集,WR的第二个上升沿结束采集系统并开始一个变换周期;

:读控制输入,若CS为低电平时,RD的下降沿将允许数据总RD(引脚4)线上的读操作;

HBNE (引脚5):高字节允许信号,用于转接12位变换结果,当它为高电平时,D8—D11 4个MSB(最高有效位)接至数据总线,当它为低电平时,D0—D7 8个LSB(最低有效位)接至数据总线;

:关断控制。当此引脚为低电平时,器件进入完全掉电SHDN(引脚6)(FULLPD)方式;

D7~D4(引脚7—10):三态数字I/O;

D3~D0/ D11~D8(引脚11—14):三态数字I/O。由HBEN引脚低电平控制,当HBEN引脚为低电平时,选择D3—D0当;当HBEN引脚为高电平时,选择D11—D8;

CH0~CH7(引脚16—23):8路模拟输入通道;

INT(引脚24):输出数据准备好。当变换完成时,该引脚变为低电平,此信号可用作中断请求信号;

REFADJ(引脚25):带隙(Bandgap)电压基准输出/外部调整引脚,用0.01uF电容器旁路到AGND。当REF 引脚使用外部基准源时,连接到VDD;

REF(引脚26):基准缓冲器输出/ADC基准输入。在内部基准方式下,基准缓冲器提供4.096V的额定输出,其值是REFADJ引脚外部可调的。在外部基准方式下,通过把REFADJ引脚连接到VDD来禁止内部缓冲器;

VDD(引脚247):+5V电源。用0. 1uF电容器旁路到AGND; AAGND(引脚15):模拟地; AGND(引脚28):数字地。 4.MAX197 的工作原理

MAX197是美国MAXIM公司向市场推出的12位快速A/D转换器,它采用28引脚双列直插式标准封装,无需外接元器件就可以独立完成A/D转换功能,可将一个模拟信号转换为12位数字输出。MAX197可分为内部采样模式和外部采样模式。采样模式由控制寄存器的D5位决定,在内部采样控制模式(控制位置0),由写脉冲启动采样间隔,经过6个时钟周期的采样间隔,开始A/D转换。在外部采样模式(D5=1),由两个写脉冲分别控制采样和AD转换。第一个写脉冲,写入ACQMOD为1,开始采样间隔;第二个写脉冲,写入控制字ACOMOD为0,MAX197停止采样,开始A/D转换。

12

MAX197的逻辑控制输入信号有HBEN、CS、RD、WR。CS、RD、WR控制读写操作。CS是片选端,是控制芯片启动的输入端。当CS为低电平时,选中MAX197的D0—D7口作为数据线。当CS为高电平时,不能进行写操作,极口变为高阻状态,此时可控制字节送如D0—D7口。控制字格式如表4.1所示。

表4.1 DO~D7口控制字

D7 PD1 D6 PD0 D5 ACQMOD D4 RNG D3 BIP D2 A2 D1 A1 D0 A0

PD1、PD0用于选择时钟模式和节电模式:00表示外部时钟,即用户在CLK引脚端输入100K—200MHz,占空比为45-55%的方波信号;01表示内部时钟;10表示闲置(STBPD)节电模式,每次A/D转换后自动进入节电模式,直到下一次A/D转换后,不带任何延时的响应转换命令;11表示完全(FULLPD)节电模式,当通过率高于1Ksps时,应在下次转换前执行一次闲置节电模式,当通过率低于1Ksps时,就不必执行上操作,直接写控制字。ACQMOD用于选择内外采样模式:ACQMOD为0,内部采样模式;ACQMOD为1,外部采样模式。RNG、BIP决定量程:00表示0—5V,01表示0—10V,10表示5—5V,11表示10—10V。A0、A 1、A 2决定输入的通道号。

当A/D转换结束时,12位数据已经准备好,则INT跳转为低电平,向单片机申请中断,从MAX197的I/O口读取A/D转换结果。读取数据时,CS与RD同时为低电平,当HBEN的低电平时,读低8位数据,当HBEN的高电平时,读高4位数据。

5.MAX197在设计当中的应用

由于MAX197是多量程,有裕度的ADC,它使用逐次逼近和内部输入跟踪/保持电路包模拟信号变成12位的数字输入,且并行的格式易与微处理器接口。因而单个芯片就可以构成一个完整的数据采集系统,使它非常适用与自动测试、仪器仪表等领域。

如图4.7所示为MAX197在本设计中的连接方法:

13

REP8B AD7 7 9 AD6 8 8 AD5 9 7 AD4 10 6 AD3 11 5 AD2 12 4 AD1 13 3 AD0 14 2 1 A9 5 VCC RD 4 WR 3 27 6 C2 C3 25 15 0.1uf D7 CS D6 CLK D5 REF D3/D11 INT D2/D10 CH7 D1/D9 CH6 D0/D8 CH5 HBEN CH4 RD CH3 WR CH2 VDD CH1 SHEN CH0 REFADJ AGND DGND 2 Y3 1 100pf 26 24 23 22 21 20 19 IVGB 18 IVGA 17 VVGB 16 VVGA 图4.7 MAX197外围电路图

在该电路中,在CLK引脚与地之间接一个100pf的小电容以设置内部时钟频率,这时,fCLK 典型值=1.56MHz。CH0—CH3引脚接受电压电流互感器川来的模拟信号,RD、WR实现芯片的读写功能,REFADJ引脚用0.01uF电容器旁路到AGND,D0—D7引脚和单片机的AD0—AD7引脚相接,可以把转换后的数字信号传送给80C196KB,以便对数据进行处理。其中CS引脚接收GAL16V8传送来的地址译码信号,其地址空间是(8800H—8BFFH)。

4.4液晶显示模块(LCD)

1.液晶显示模块(LCD)的介绍

本设计中选用的是MDLS204612型显示液晶模块。该显示模块可显示20列×4行。因其具有体积小、供耗低、显示信息量大的特点,特别是它能显示汉字、曲线及各种图形。因而广泛应用于各种智能化仪器仪表及计算机应用系统中。

2.液晶显示模块(LCD)的特点 LCD主要有以下特点:

5V单电源供电。具有80个单元的显示RAM具有字符发生器ROM,可显示192中字符具有64个单元的自定义字符RAM92种字符模块结构紧凑、轻巧、装配容易;供耗低、寿命长、可靠性高。

3.LCD的引脚说明

1)如图4.8所示为LCD的引脚图

14

14 13 12 11 10 9 DB7 E DB6 R/W DB5 RS DB4 VDD DB3 DB2 VO DB1 DB0 VSS 8 7 6 5 4 2 3 1

图4.8 LCD的引脚排列

2)下面介绍个引脚功能 VSS:电源地; VDD:+5V逻辑电源; V0:液晶驱动电源;

RS:输入状态,寄存器选择功能:1为数据,0为指令; R/W:输入状态,读、写操作选择:1为读,0为写; E:输入状态,使能信号; DB0:三态数据总线(LSB); DB1~DB6:三态数据总线; DB7:三态数据总线(MSB); 5.MDLS系列LCD的指令集

MDLS系列LCD指令系统共有11条,如同一个可编程接口芯片,用户只需对模块写入适当的命令,便可完成清屏、显示、开关光标、地址设置、移动显示、读忙等一系列操作。

表4.2 清屏

RS R/W 0 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 0 1

运行时间(250KHz):1.64ms;

功能:清DDRAM和AC值。如下表4.2所示。

表4.3 归位

15

RS R/W 0 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 1 *

运行时间(250KHz):1.64ms;

功能: AC=0,光标、画面回HOME位。如表4.3所示。

表4.4 输入方式设置

RS R/W 0 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 1 I/D S

运行时间(250KHz):40us;

功能: AC=0,光标、画面移动方式;如表4.4所示。 其中:I/D=1:数据读、写操作后,AC自动增一;

I/D=0:数据读、写操作后,AC自动减一; S=1:数据读、写操作后,画面平移; S=0:数据读、写操作后,画面不动。

表4.5显示开关控制

RS R/W 0 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 D C B

运行时间(250KHz):40us;

功能: 设置显示、光标及闪烁开、关;如表4.5所示。 其中:D表示显示开关:D=1为开,D=0为关; C表示光标开关:C=1为开,C=0为关; B表示闪烁开关:C=1为开,C=0为关。

表4.6 光标、画面位移 RS R/W 0 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 S/C R/L * *

运行时间(250KHz):40us;

功能:光标、画面移动,不影响DDRAM;如表4.6所示。 其中:S/C =1,画面平移一个字符位;

16

S/C =0,光标平移一个字符位;

R/L=1:右移; R/L=0:左移;

表4.7 功能设置

RS R/W 0 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 D/L N F * *

运行时间(250KHz):40us;

功能:工作方式设置(初始化指令);如表4.7所示。 其中:DL=1,8位数据接口;DL=0,4位数据接口;

N=1,两行显示, N=1,一行显示 F=1,5×10点字符,F=0,5×7点字符。

表4.8 CGRAM地址设置 RS R/W 0 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 A5 A4 A3 A2 A1 A0

运行时间(250KHz):40us;

功能:设置CGRAM地址。A5~A1=0~3FH。如表4.8所示。

表4.9 DDRAM地址设置

RS R/W 0 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 A6 A5 A4 A3 A2 A1 A0

运行时间(250KHz):40us;

功能:设置DDRAM地址。如表4.9所示。

N=0,一行显示A6~A0=0~4FH;

N=1,二行显示,首行A6~A0=00H~2FH; 次行A6~A0=40H~67H。

表4.10 读BF及AC值

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 17

0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0

功能:读BF值和地址计数器AC值;

其中:BF=1,忙;BF=0,准备好;此时,AC值意义为最近一次地址设置(CGRAM或DDRAM)定义。如表4.10所示。

表4.11 写数据 RS R/W 1 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 数 据

运行时间(250KHz):40us;

功能:根据最近设置地址性质,数据写入DDRAM或CGRAM内。如表4.11所示。

表4.12 读数据

RS R/W 1 1 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 数 据

运行时间(250KHz):40us;

功能:根据最近设置地址性质,从DDRAM或CGRAM数据读出。如表4.12所示。

如图4.9所示为LCD外围电路图

AD7 AD6 AD5 AD4 AD3 AD2 DB7 E DB6 R/W DB5 RS DB4 VDD DB3 DB2 VO AD1 8 DB1 DB0 14 13 12 11 10 9 6 Y2 5 A0 4 A1 2 3 1 VCC R2 10K R1 10K 图4.9 LCD外围电路图

为LCD在本电路中的接法。其中,VCC接+5V电源,在该电路中,其DB0~DB7引脚和74HC245的B0~B7引脚相接,同时也与外部数据存储器相连,当它接受到CPU发出的显示命令的时候,就把从数据存储器传来的数据在液晶显示模

18

块上显示出来,用RS和R/W来设置LCD的工作模式,在本次设计中设定:2行、8位、5*7点阵显示,内容自动加1,全屏右移,开显示,但是不显示光标。E引脚接受GAL16V8传送的译码信号,其地址范围是(8400H~87FFH)。

4.5时钟芯片

1.芯片介绍

在自动测控系统中,特别是长时间无人值守的测控系统中,经常需要进行长达几小时的定时操作。若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且某些测控系统可能不允许。而在系统中采用DS12C887则正好满足上述要求。

DS12887是美国达拉斯半导体公司(Dallas)生产的并行接口实时时钟/日历芯片,它内置晶振和锂电池,外围接口简单,具有精度高,工作稳定可靠等优点,可广泛应用于各种需要较高精度的实时时钟系统。

2.DS12887的主要特性

DS12887 实时时钟/日历芯片采用CMOS技术制成,该芯片带有内部晶体振荡器并内置有锂电池,因此断电后仍可运行十年以上且不丢失数据。同时具有计秒、分、时、星期、日、月、年,并有闰年补偿功能。时间、日历和定闹具有二进制码和BCD码两种形式,并可设定12小时或24小时制式以及Motorola和Intel总线时序。DS12887内含128字节RAM,其中有10个时钟寄存器、4个控制寄存器和114字节通用RAM,所有RAM单元都具有掉电保护功能,因此可被用作非易失性RAM。 DS12887内部具有定闹中断、周期性中断、时钟更新周期结束中断等,且三个中断源可分别由软件屏蔽。

3.原理及管脚说明

DS12887内部由震荡电路,分频电路,周期中断/方波选择电路组成。 DS12C887内部的存储器分配如下:共有128字节RAM空间,其中:15字节用于时间和控制寄存器,113字节用于普通用途00H~09H存储的是时间和年月日以及闹钟设定的时间;0AH~0CH是四个设置寄存器,用来设定DS12C887的工作状态;32H用来存储世纪数据;其他的寄存器可以提供给用户自由使用。

1)如图4.10所示为DS12C887的引脚图

19

11 10 9 8 7 6 5 4 19 15 17 13 14 1 12 AD7 VCC AD6 AD5 AD4 AD3 AD2 AD1 SQW AD0 IQR RESET R/W NC DS NC CS NC AS NC NC MOT GND NC 24 23 2 3 16 20 21 22 图4.10 DS12C887的引脚图

2)下面介绍个引脚功能:

GND、VCC:直流电源+5V电压。当5V电压在正常范围内时,数据可读写;当VCC低于4.25V时,读写被禁止,计时功能仍继续;当VCC下降到3V以下时,RAM和计时器供电被切换到内部锂电池;

MOT(模式选择):MOT管脚接到VCC时,选择Motorola时序,当接到GND时,选择 Intel时序;

SQW(方波输出信号):SQW管脚能从实时时钟内部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对寄存器A编程改变。

AD0~AD7(双向地址/数据复用线):总线接口,可与Motorola微机系列和 Intel微机系列接口;

AS(地址选通输入):用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887;

DS(数据选通或读输入):DS/RD管脚有两种操作模式,取决于MOT管脚的电压选择,当使用Motorola时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总线的时刻;在写周期,DS的后沿使DS12887锁存写数据。选择 Intel时序时,DS称作(RD),RD与典型存储器的允许信号(OE)的定义相同;

R/W(读/写输入):R/W管脚也有两种操作模式。选Motorola时序时,R/W的低电平信号,指示当前周期是读或写周期,DS 为高电平时,R/W高电平知识读周期,R/W信号是一低电平,成为WR。在次模式下,R/W管脚与通用RAM的写允许信号(WE)的含义相同;

20

:在访问DS12887的总线周期内,片选信号必须保持为低; CS(片选输入)

:低电平有效,可做微处理的中断输入,没有中断的条IRQ(中断申请输入)

件满足时,IRQ处于高阻态。IRQ线是漏极开中输入,要求外接上接电阻;

:当该脚保持低电平时间大于200ms,保证DS12887有RESET(复位输出)效复位。

4.内部功能

1)地址分配图如图4.11所示。

DS12887

地址由114字节的用户RAM、10字节的存放实时时钟时间、日历

和定闹RAM及用于控制和状态的4字节特殊寄存器组成。几乎所有的128个字节可直接读写。

2)非易失RAM

在DS12887中,114字节通用非易失RAM不专用于任何特殊功能,它们可被处理器程序用作非易失内存,。在更新周期也可访问。

3)中断

RTC实时时钟加RAM向处理器提供三个独立的、自动的中断源。定闹中断

的发生率可编程,从每秒一次到每天一次,周期性中断的发生率可从500ms到122μs选择。更新结束中断用于向程序指示一个更新周期完成。

4)晶振控制位

DS12887出厂时,其内部晶振被关掉,以防止锂电池在芯片装入系统前被消耗。寄存器A的BIT4~BIT6为010时打开晶振,分频链复位,BIT4~BIT6的其它组合都是使晶振关闭。

5)方波输出选择

15级分步抽着中的13个可用于15选1选择器,选择分频器抽头的目的是在SQW管脚产生一个方波信号,其频率由寄存器A的RS0~RS3位设置。SQW频率选择与周期中断发生器共离15选1选择器,一旦频率选择好,通过用程序控制方波输出允许位SWQE来控制SQW管脚输出的开关。 6)周期中断选择

周期中断可在IRQ脚产生500ms一次到每122μs一次的中断,中断频率同样由寄存A确定,它的控制位为寄存器B中的PIE位。

7)更新周期

DS12887每秒执行一次更新周期还比较每一定闹字节与相应的时间字节,如果匹配或三个字节都是不关心码,则产生一次定闹中断。

5.状态控制寄存器

DS12887有4个控制寄存器,它们在任何时间都可访问,即使更新周期也不例外。

21

1)寄存器A

UIP:更新周期正在进行位。当UIP为1,更新转换将很快发生,当UIP为0,更新转换至少在244μs内不会发生。DV0,DV1,DV2:用于开关晶振和复位分频链。这些位的010唯一组合将打开晶振并允许RTC计时。

RS3,RS2,RS1, RS0:频率选择位,从

15级频率器13个抽头中选一个,

或禁止分频器输入,选择好的抽头用于产生方波(SQW管脚)输出和周期中断,用户可以:

(1)用PIE位允许中断;

(2)用SQWE位允许SQAW输出并相同的频率; 2)寄存器B

SET:SET为0,时间更新正常进行,每秒计数走时一次,当SET位写入1,时间更新被禁止,程序可初始化时间和日历字节。

PIE:周期中断劲旅位,PIE为1,则允许以选定的频率拉低IRQ管脚,产和不足齿数民:PIE为0,则禁止中断。

AIE:定闹中断允许位,PIE为1,允许中断,否则禁止中断。

SQWE:方波允许位,置1选定频率方波从SQW脚输出;为0时,SQW脚为低。

DM:数据模式位,DM为1表示为十进制数据,而0表明是BCD码的数据。 24/12:小时格式位,1表明24小时械,而0表明12小时械。

DSE:P夏令时允许位,当DSE置1时允许两个特殊的更新,在四月份的第一时期日、时间从1:59:59AM时改变为1:00:00AM,当DSE位为0,这种特殊修正不发生。

3)寄存器C

IRQF:中断申请标志位。当下列表达式中一个或多个为真时,置1。 PF=PIE=1;AF=AIE=1;UF=UIE=1; 即:IRQF=PF·PIE+AF·AIE+UF·UIE

只要IRQF为1,IRQ管脚输出低 ,程序读寄存器C以后或RESET管脚为低后,所有标志位清零。

AF:定闹中断标志位,只读,AF为1表明现在时间与定闹时间匹配。 VF:更新周期结束标志位。VF为1表明更新周期结束。 BIAT0~BIT3:未用状态位,读出总为0,不能写入。 4)寄存器D

VRT:内部锂电池状态位,平时应总读出1,如出现0,表明内部锂电池耗尽。 BIT0~BIT6:未用状态位,读出总为0,不能写入。

如图4.11所示为DS12887的外围电路图。

22

AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 11 10 9 8 7 6 5 4 19 WR 15 RD 17 Y1 13 ALE 14 1 12 AD7 VCC AD6 AD5 AD4 AD3 AD2 AD1 SQW AD0 IQR RESET R/W NC DS NC CS NC AS NC OT NC GND NC vcc 24 R3 10k 23 18 2 3 16 20 21 22 图4.11 DS12887的连接图

该电路图中VCC接直流电源+5V电压,并且与0.1uf的小电容相串联并且与地相接,以免引入干扰信号。MOT接到地,选择INTEL时序,AD0~AD7引脚与74H245的B0~B7引脚相连,通过这些引脚和单片机相连。RD、WR实现读、写选通功能。AS引脚用于实现信号分离,在AD/ALE的下降沿把地址锁入DS12887。Y1是GAL16V8送来的地址译码信号,其地址空间是(8000H~83FFH)。

23

第三章 系统软件设计

在该设计中,当硬件设计完成后,接下来的工作便是通过编写程序,使硬件的各功能芯片更好的协调工作,以达到最理想的工作状态。这两部分是协同工作,密不可分的。

1.3 系统软件的设计

1.3.1 程序设计语言的选择

本设计采用汇编语言和C语言进行程序设计。

汇编语言是面向机器的语言,且用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能直接利用CPU的硬件特性进行程序设计,得到质量较高的程序。同时,汇编语言用来编制系统软件和过程控制软件,起目的程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

C语言是一种结构化程序设计语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护等特点。C语言的表现能力和处理能力极强,且易于理解。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构;它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。

1.3.2 主程序的设计

程序采用模块化结构设计,每一模块都能完成相应的功能;且模块之间也可相互嵌套使用;这样出现问题时,可进行局部处理,减少了检测时间,提高了发现问题的效率。

在本设计中控制器程序设计包括以下几个部分:主程序模块设计、数据采集模块设计、数据处理模块设计、控制输出模块设计、键盘处理和软件定时处理模块设计。

总体的程序流程图如图5.1所示。

24

初始化 软件定时器及HIS中断 开中断 是否有键入? 键盘处理 A/D转换 FFT变换 投切逻辑及组态判断 是否投切电容 投切电容数据显示

返回 图5.1 总体程序流程图

1.3.3 主程序的说明

1.系统初始化

芯片配置寄存器(CCR)的置数,中断允许和禁止的设定,复用引脚的功能选择以及置一些变化的初值等。

2.数据的采集

25

本装置只对4路模拟量的数据进行采集,包括线电压和线电流。这4组数据的采集采用汇编语言以及C语言进行编程,通过对每一条语句运行时间的准确计算和自适应采样间隔调整,使得对输入信号的每个周波等间隔采样32点,采样间隔可精确带一个T状态。

1)数据处理模块

在数据处理模块中,将对每个周波采样32点进行傅立叶变换,计算出1-15次谐波的实部和虚部,进而得到个次谐波分量的幅值和相角。从而计算出基波电压、电流的有效值及有功、无功功率等电网参数数据。

2)显示数据

显示程序对所有测量得到的电量就地显示,以保证本装置单端运行的需要和对实时现状的监测,实现对电网有效的控制,确保电网安全和可靠的运行。

1.4 电容器投切判断及投切控制子程序设计

电容器组自动循环投切子程序是系统调用比较频繁的子程序,也是电容器投切控制程序的核心部分。所以编写了能控制任意多组电容器自动投切的子程序。

根据测出的参量,判断系统是容性还是感性。感性负载时将电容投并上,容性负载使将电容切除。为了确保无过渡过程投入电容器组,在每组电容器投入前必须经过零过渡过程检测。当满足零过渡过程条件时,产生一个触发脉冲,驱动触发电路,使晶闸管导通不产生过渡过程。由于电容是储能元件,在每次被切除后,会保持一定的残余电压,其最大值可达交流电压峰值,而只有在晶闸管承受正向阳极电压时才能导通并将电容器接入电网,显然投切控制的最佳时机是当网电压等于残余电压时,在理论上不会产生暂态过程,避免产生叫大的“合闸涌流” 这不仅保证晶闸管的安全,也可减小对电容器的损伤。所以控制器必须实时监测电容器残余电压。

该子程序的电容器组数和单组容量参数由用户通过键盘可自行设定,可以控制任意S组电容器进行投切。在系统保护方面,在程序中进行过流、过压判断和保护。电容器投切采用先投切,循环投切的策略。均衡各电容器投切次数以延长电容器总体寿命。软件采用FFT变换进行数字滤波提高抗干扰能力;针对电网频率变化,采样转换采用频率自适应调整,提高检测精度。

子程序投切流程图如下5.2所示。

26

Q计算 Q>=0? Q>=Q0? Q1.05U0? 重新计算投入组态 循环投切 重新计算切除组态 循环切除 返回

图5.2 电容器投切判断 Q:无功功率;U:;U0

27

参考文献

[1] 韩祯祥.电力系统稳定.北京:中国电力出版社,1995 [2] 李青.自动化与仪器仪表,1998第一期 [3] 8XC196KB User’Manual Intel Corporation.1992

[4] 李晓明,刘会金.低压配电网动态无功补偿装置的研制. 武汉:武汉水利电力

大学学报,1998

[5] 牛迎水,李国立.城市配电网中低压无功补偿的实施.北京:电测与仪表,2000 [6] 王洪斌.一种智能型无功动态补偿装置.河北:能源工程,1999 [7] 何迎赞,温增银.电力系统分析.四川:华中理工出版社,1984 [8] 孙涵芳.Intel16位单片机.北京:北京航空航天大学出版社,1998

[9] 陈力军,刘英.单片机高级程序设计语言PL/M51与PL/M96.西安: 西安电子科

技大学出版社,1994年

[10] 严克宽.电气工程和电力电子技术. 北京:化学工业出版社,2002 [11] 靳龙章.电网无功补偿实用技术. 北京:中国水利水电出版社,1997 [12] 何立民.单片机高级教程.北京:北京航空航天大学出版社,1999

[13] 王晓蔚,张翌辉等.MAX197在数据采集系统中的应用.武汉: 武汉大学电力工

程学院,1997

[14] 冷增祥.电力电子学基础. 南京:东南大学出版社,1993 [15] 程配青.数字信号处理教程.北京:清华大学出版社,2001

[16] T.Hamajima, S. Hanai, etal. SMES Coil configurations with Reduced Stray Field,

IEEE Trans. On App.Superconductivity,1999,9(2)

[17] 求是科技.单片机典型模块设计实例导航.北京:人民邮电出版社,2004 [18] 赵亮,侯国锐.单片机C语言编程与实例.北京:人民邮电出版社,2003

28

本文来源:https://www.bwwdw.com/article/lm1g.html

Top