基于P89V51单片机的电力线载波温湿控制系统设计
耦合电路卸载电力线上的DTMF信号,送MT8888解码后经RDR(接收数据寄存器)送单片机。单片机通过中断服务程序,在P1口获取解码后的BCD码信息。通过对比接收到的数据和各终端设备设定数据,判断是否执行操作,并返回操作信息。在整个过程中,任意终端设备均可以了解在整个电力线系统中其他设备的工作状况。 2.4 电力线耦合模块 按照低压电力线通信耦合技术的要求,必须进行强弱电隔离,同时确保较高的载波信号加载效率。为此,本系统采用“电磁耦合”与“阻容耦合”相结合的“复合耦合”[4]。载波接收耦合电路如图2所示,变压器在耦合载波信号的同时使通信电路与强电隔离。二极管D1、D2起限幅作用,用来保护后续电路。其调谐回路的谐振频率应满足: 若将中心频率选在460 kHz,电容取值为22 nF,经计算可得电感L的取值在5.7 nH左右,即通过调节变压器初级绕组电感量来调节中心频率。变压器T1将电力线与耦合电路的其余部分相隔离,从电力线上接收载波信号,滤除来自电力线上的干扰噪声。 发送耦合电路如图3所示,三极管Q1和变压器T1组成调谐功率放大电路。同样变压器在耦合载波信号的同时使通信电路与强电隔离。在Q1和前级运放之间通过一个电阻R1耦合载波信号,同时避免后级电路产生自激振荡,也能相应的增加放大器的负载阻抗。前级运放输出的信号经R1输入到功率放大管Q1,再经Q1和谐振网络组成的单调谐放大器放大耦合到电力线上,实现信号的发送。 3.1 系统软件结构 系统软件采用并行逻辑结构,主要分为主控部分和被控部分。根据各设备在网络中的角色不同,自行切换到相应的模式。系统默认为被控模式,即接收模式。系统程序由初始化程序、中断程序、接收发送程序、温度控制程序及终端人机交互程序等构成。初始化程序包括单片机初始化、MT8888预置模式、按键初始化、显示初始化等。系统上电后执行初始化程序,完成后进入待机状态,等待收发中断信号,从而判断是否主控。当有按键中断产生时,系统进入主控发送模式,通过解析按键信息,执行发送动作,将温湿度调节信号经电力线网络发送。处于被控接收模式的设备,在MT8888收到接收中断后,耦合卸载电力线数据。通过单片机解析收到的数据信息,判断是否是本机需要执行的操作。若是则控制温湿度调节模块执行操作,否则放弃信息。同时,每台设备还间隔2 s将本地状态广播给电力线网络上的其他设备。从而让使用者可以在任一设备了解及控制所有设备。为了增强系统的稳定性和抗干扰能力,单片机通过中断信号唤醒工作,在判断中断信号的合法性后再执行操作,可以避免误操作和毛刺信号等干扰,同时利用看门狗定时器,保证了系统的稳定可靠。系统软件框图如图4所示。 系统将传感器采集的数据与设定值比较,通过PID算法,经单片机发送控制量e(k)=(测量值-设定值),调节温箱温湿度。由于温湿度的测控响应缓慢有滞后性,本文采用增量PID算法[6],并进行简单的调整,以克服超调和振荡。其公式为: 本系统以单片机为核心,以电力线网络作为传输通道,通过PID算法实现对同一网络的各温箱设备的温湿度控制,是集监测、管理、控制于一体的计算机测控设备。实验证明本系统成本低廉,安装调试方便,工作稳定,抗干扰能力强。可增添其他传感器测控模块,适用于需要分散布局的应用环境,有较强的实用性。
3 控制系统的软件设计
3.2 PID控制算法
- 嵌入式实时操作系统μC/OS-II 在P89V51RD2中的移植(04-09)
- 一款基于AD7896的瞬时峰值电压测量仪设计(06-09)
- 基于P89V51RD2单片机LED点阵显示屏的实现(04-27)
- P89V51RD2单片机的时钟电路(11-02)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)