继电器控制器(开关控制器)原理与设计

本文介绍继电器控制器(开关控制器)原理与设计。

继电器控制器也称开关控制器(或bang-bang控制器),是一种简单的非线性控制器。它的输出只有开与关。一般家用热水器,空调,电冰箱的温度控制用的就是继电器控制器。

1.原理

继电器控制器原理非常简单,以空调温度控制为例,当环境温度高于设定温度时,打开压缩机制冷,当环境温度低于设定温度时,关闭压缩机。当然,实际的控制器不会这样设计,因为这会导致压缩机频繁的开关,长时间会损坏压缩机。

在继电器控制器里,可以用滞回来调整控制动作。以空调温度控制为例,加入滞回和不加滞回控制效果如下图所示。

加入滞回,空调温度稍微高于设定值才会开启压缩机,温度略低于设定值才会关闭压缩机,这样压缩机就不会持续,频繁的开启和关闭。如果没有滞回作用,控制器会努力把温度控制在设定值上,这样就会频繁的切换压缩机,从而影响压缩机使用寿命。

空调温度控制器控制流程图,如下图所示。

继电器控制器控制方式虽然简单,但它却是一个稳定的控制器(对于闭环控制器稳定性尤为重要)。其控制效果主要由控制器循环周期(采样时间)滞回值决定。

采样时间足够短才能避免系统过多的超调或欠调,采样时间一定下,滞回值对控制输出(控制精度)起决定作用,下图显示了采样时间和滞回值如何影响系统的控制。

2.设计

继电器控制器设计比较简单,参考C代码如下:

typedef struct _BANG_BANG_CONTROLLER
{
    uint32_t SetPoint;
    uint32_t Threshold;   
}BANG_BANG_CONTROLLER;

static BANG_BANG_CONTROLLER BangBangController;

static void InitBangBangController(BANG_BANG_CONTROLLER *pBangBangController)
{
    pBangBangController->SetPoint = 25;
    pBangBangController->Threshold = 1;
}

static void BangBangController(BANG_BANG_CONTROLLER *pBangBangController, uint32_t curValue)
{
    if (curValue > pBangBangController->SetPoint + pBangBangController->Threshold)
    {
        On();
    }
    else if (curValue < pBangBangController->SetPoint - pBangBangController->Threshold)
    {
        Off();
    }    
}

int main(void)
{
    uint32_t curValue = 0;

    InitBangBangController();    

    while (1)
    {
        curValue = GetCurValue();
        BangBangController(&BangBangController, curValue);
        Sleep(60000); //1min
    }

    return 0;      
}

总结,本文介绍了继电器控制器(开关控制器)原理与设计。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值