SOPC之NIOS Ⅱ实现电机转速PID控制

        通过FPGA开发板上的NIOS Ⅱ搭建电机控制的硬件平台,包括电机正反转、编码器的读取,再通过软件部分实现PID算法对电机速度进行控制,使其能够渐近设定的编码器目标值。

一、PID算法

        PID算法(Proportional-Integral-Derivative Algorithm)是一种经典的控制算法,用于实现闭环控制系统中的自动控制,旨在使被控制系统的输出尽可能接近期望值。

        PID算法由三个部分组成:比例(Proportional)、积分(Integral)和微分(Derivative)。这三个部分分别对应了误差的当前值、累积值和变化率。PID算法根据这些部分的加权和来计算控制输出,以实现对系统的稳定、快速、精确的控制。

 U(t)=kp(err(t)+\frac{1}{T_{I}}\int err(t)dt+\frac{T_{D}derr(t)}{dt}

  • 比例(P)部分:比例控制是根据当前的误差值来调整控制输出。如果误差较大,比例部分的输出也会较大,从而更快地减小误差。这有助于系统快速接近期望值,但可能导致震荡和过冲。
  • 积分(I)部分:积分控制用于消除系统存在的稳态误差。它考虑误差的累积值,如果误差持续存在,积分部分的输出会逐渐增加,从而逐步减小稳态误差。然而,过大的积分作用可能导致系统响应过于缓慢或产生震荡。
  • 微分(D)部分:微分控制用于预测误差的未来变化趋势。通过考虑误差的变化率,微分部分可以抑制系统的过冲和震荡。但过大的微分作用可能引起噪音的放大。

        PID算法的参数调节是一个复杂的过程,需要根据被控制系统的特性和性能要求进行调试。不同的应用和系统可能需要不同的PID参数配置,以达到最佳的控制效果。

PID算法详细内容和调试方法可参考:
PID参数解析+调参经验笔记(经验法)_pid调参_Xuan-ZY的博客-优快云博客

二、硬件设计

硬件部分主要由两部分组成,卡尔曼滤波和NIOS Ⅱ系统

2.1 卡尔曼滤波

卡尔曼滤波主要是为了对霍尔传感器输出的方波进行滤波操作

reg     [15:0]          filterClockDivider;  // 过滤器时钟分频器
reg                     filterClock;         // 过滤器时钟信号

// 时钟设置
parameter               ClockFrequency  = 50000000;   // 时钟频率50MHz
parameter               FilterFrequency = 15000;      // 滤波器频率15KHz

/   过滤器时钟   
always @(posedge Clock or negedge Reset)
begin
    if (!Reset)
    begin
        filterClock        <= 0;     // 复位时,过滤器时钟为低电平
        filterClockDivider <= 0;     // 复位时,分频器清零
    end
    else
    begin
        if (filterClockDivider < (ClockFrequency / FilterFrequency / 8))
            filterClockDivider <= filterClockDivider + 1;  // 分频计数增加
        else
        begin
            filterClockDivider <= 0;    			  // 分频计数清零
            filterClock        <= ~filterClock;   // 过滤器时钟翻转
        end
    end
end

always @(posedge filterClock or negedge Reset)
begin
    if (!Reset)
    begin
        Output_A <= 0;     // 复位时,输
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值