欢迎来到天天文库
浏览记录
ID:31937324
大小:484.50 KB
页数:10页
时间:2019-01-29
《fpga.verilog.pid控制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、可编辑版PID算法及其FPGA实现PID控制器结构清晰,参数可调,适用于各种控制对象,PID控制器的核心思想是针对控制对象的控制需求,建立描述对象动态特性的数学模型,通过PID参数整定实现在比例,微分,积分三个方面参数调整的控制策略来达到最佳系统响应和控制效果,式子如下:在数字控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当时,用求和代替积分、用后向差分代替微分,使模拟PID离散化变为差分方程。式子3.8就是我们的位置式PID算法:下面就是我们要实现上式PID算法。PID的FPGA实现:Word完美格式可编辑版得到:Verilog实
2、现:viewplaincopytoclipboardprint?.`timescale 1ns / 1ps .////////////////////////////////////////////////////////////////////////////////// .// Company: .// Engineer: .// .// Create Date: 21:02:51 05/14/2014 .// Design Name: .// Module Name: pid .// Project Nam
3、e: .// Target Devices: .// Tool versions: .// Description: .// .// Dependencies: .// .// Revision: .// Revision 0.01 - File Created .// Additional Comments: .// .////////////////////////////////////////////////////////////////////////////////// .module pid( .
4、 input clk, Word完美格式可编辑版. input rst_n, . input [8:0] error, . output reg [16:0] uk . ); . .//reg [16:0]uk; .wire [16:0]uk_wire; .reg [8:0]error_1,error_2; .parameter k0=5; .parameter k1=1; .parameter k2=1; .always @(posedge clk) .begin . if(
5、!rst_n) . begin . error_1<=0; . error_2<=0; . end . else . begin . error_1<=error; . error_2<=error_1; . end .end . .// .reg [14:0]uk1; .always @(posedge clk) .begin . if(!rst_n) .
6、 begin . uk<=0; . uk1<=0; . end . else . begin . if((uk_wire>17'd15000)&&(uk_wire<17'b1000_0000_0000_00000)) . begin . uk<=17'd15000; . end . else .
7、 begin . uk1<=uk[14:0]; . uk<=uk_wire; Word完美格式可编辑版. end . end .end . .wire [14:0] p0; .mult u1 ( . .b ( k0 ), . .a ( error ),
8、 . .p ( p0 ), .
此文档下载收益归作者所有