电流电压双闭环PID控制以及C语言实现

这篇具有很好参考价值的文章主要介绍了电流电压双闭环PID控制以及C语言实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对于电流电压双闭环PID控制,我们需要先了解一下PID控制的原理。PID控制器是由比例(P),积分(I)和微分(D)三个部分组成的控制器,用于控制具有惯性和滞后响应的过程。PID控制器需要通过测量误差,计算出控制输出,以便实现系统稳定。

在电流电压双闭环PID控制中,控制器需要同时控制电流和电压,在实际应用中,可以采用电压调节器来控制电压,并通过电流反馈控制电流。下面,我们来看一下如何实现电流电压双闭环PID控制的C语言程序:

// pid控制参数定义
#define Kp 0.5
#define Ki 0.2
#define Kd 0.1

// 采样周期
#define Ts 0.01

// 目标电压值
#define Vd 10

// 反馈电压值
volatile float Vf;

// 目标电流值
volatile float Id;

// 反馈电流值
volatile float If;

// 比例误差
volatile float Ep;

// 积分误差
volatile float Ei;

// 微分误差
volatile float Ed;

// PID控制器输出
volatile float Out;

// PID控制器
void pid_control()
{
    // 计算比例误差
    Ep = Vd - Vf;
    
    // 计算积分误差
    Ei = Ei + Ep * Ts;

    // 计算微分误差
    Ed = (Ep - Ed) / Ts;

    // 计算PID控制器输出
    Out = Kp * Ep + Ki * Ei + Kd * Ed;

    // 限幅控制
    if (Out > 10) Out = 10;
    if (Out < -10) Out = -10;

    // 输出PID控制器输出
    SetOutput(Out);
}

// 电压调节器
void voltage_regulator()
{
    // 获取电压反馈值
    Vf = GetFeedback();
    
    // 调用PID控制器进行控制
    pid_control();
}

// 电流控制器
void current_controller()
{
    // 获取电流反馈值
    If = GetCurrentFeedback();

    // 计算电压目标值
    Vd = Id * ResistorValue;

    // 调用电压调节器进行控制
    voltage_regulator();
}

// 主函数
int main()
{
    // 初始化控制器
    InitController();

    // 设置电流目标值
    Id = 2;

    // 循环调用电流控制器
    while(1)
    {
        current_controller();
        delay(Ts);
    }

    return 0;
}

上面的C语言程序中,利用宏定义定义了PID控制参数、采样周期和目标电压值等。在pid_control()函数中,计算出比例误差、积分误差和微分误差,并使用PID控制器计算出输出值Out。还加入了限幅控制,以防止输出值超出控制范围。

在voltage_regulator()函数中,获取电压反馈值,并调用pid_control()函数进行电压调节控制。在current_controller()函数中,获取电流反馈值,并计算出目标电压值Vd,然后调用voltage_regulator()函数进行电流控制。

在主函数中,初始化控制器,设置电流目标值Id,并循环调用current_controller()函数控制电流。在循环中,使用delay(Ts)函数来等待采样周期,以确保控制器正常工作。

当然,实际应用中,还需要考虑许多因素,比如采样频率等。

【最后一个bug】多平台都有更新和发布,大家可以一键三连,关注+星标,不错过精彩内容~
电压电流双闭环,嵌入式C语言,主流单片机开发(MCU),算法,单片机,c语言,嵌入式硬件文章来源地址https://www.toymoban.com/news/detail-525100.html

到了这里,关于电流电压双闭环PID控制以及C语言实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(3)--调制方法

    在之前写的文章中,介绍了三相逆变器的控制方法和数学模型,如果忘记了可以回顾一下。 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(1)--数学模型 基于PI双闭环解耦控制的三相SVPWM电压型逆变器(2)--控制器设计 下面介绍一下调制方法。 为什么需要调制方法呢?在之前的控

    2024年02月16日
    浏览(38)
  • 提升稳定性与动态响应,深入探究PID串级多闭环控制的应用价值

    引言: PID(比例-积分-微分)控制作为自动控制系统中常用的控制算法,可以通过对系统的反馈进行调整,实现目标状态的稳定控制。而PID串级多闭环控制是在基本PID控制的基础上,引入多个PID控制器,形成层次化的控制结构,以进一步提高系统的稳定性和性能。本文将详细

    2024年02月14日
    浏览(38)
  • 反激式开关电源输出电压的PID控制之MATLAB仿真

    反激 是开关电源中最常见的电路之一。像手机充电器、笔记本电脑的电源适配器,电动车充电器大都采用该电路。基本作用就是将高压直流将至低压直流。 反激电路的特点表现在结构简单,体积小。缺点是输出功率很难做到很大,一般只适用于150W以下的情况。 其基本电路如

    2024年01月17日
    浏览(31)
  • PID控制算法,带C语言源码实现

    PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。PID控制算法是结合比例、积分和微分三种环节于一体的控制算法。PID算法是连续系统中技术最为成熟、应用最为广泛的一种控制算法。 PID控制算法出现于20世纪30至40年代,适用于对被控对象模型了解不清

    2024年04月29日
    浏览(28)
  • simulink与modelsim联合仿真buck闭环设计 主电路用simulink搭建,控制电路完全有verilog语言实现

    simulink与modelsim联合仿真buck闭环设计  主电路用simulink搭建,控制电路完全有verilog语言实现(包括DPWM,PI补偿器) 适用于验证基于fpga的电力电子变换器控制,由于控制回路完全由verilog语言编写,因此仿真验证通过,可直接下载进fpga板子,极大缩短了开发数字电源的研发周期。

    2024年01月16日
    浏览(32)
  • 单相逆变电路实战!(基于STM32F103C8T6的单相逆变电路,PID控制输出额定电压)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 我建了一个群,分享我个人做项目的经历和资源,纯个人爱好,一切免费,看自己空闲时间答疑,有想法的可以加QQ群280730348 本篇文章是对单相逆变电路进行实战演练的一次项目,主要实现功能为: 直

    2023年04月08日
    浏览(60)
  • 怎么理解电流超前电压、电压超前电流?

    电容和电感,电压超前电流,电流超前电压都是我们经常听到的。作为非专业人士,这些听起来确实有点摸不着头脑,今天特别查了下电容、电感、电压电流相关资料,总算是弄明白了,在此特地记录下! 什么是电容呢?其实它的构成很简单,就是由两块金属电极之间夹一块

    2024年02月07日
    浏览(24)
  • 永磁同步电机转速电流双闭环PI参数整定

            为实现,的完全解耦,将耦合造成的影响降到最低,需要给电流环增加前馈补偿环节。目前传统的矢量控制常见的方法有控制和最大转矩电流比控制,前者主要适用于表贴式三相永磁同步电机,后者主要用于内置式三相永磁同步电机。值得说明的是,对于表贴式三

    2023年04月08日
    浏览(33)
  • 运放电路采集电流、电压

    当我们利用单片机ADC采样功能,采集电流电压信号时,单片机的IO口输入 电压范围是0~3.3V ,所以为了保证安全,需要把测量电压保持在这个范围之内。 设计目标:         采集电流范围:0~1A ·       采集电压范围:0~15V         实物:基于STM32F103C8T6的电流电压采样,通过

    2024年02月09日
    浏览(24)
  • 电压调整率--电流调整率--纹波电压--电源效率--功率因素

    电压调整率 电流调整率 输出纹波电压–电源效率–功率因素

    2024年02月15日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包