首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

单片机模糊PID自整定控制算法的实现及仿真 1

单片机模糊PID自整定控制算法的实现及仿真 1

单片机模糊PID自整定控制算法的实现及仿真 1
由于液压伺服系统的固有特性(如死区、泄漏、阻尼系数的时变性以及负载干扰的存在),系统往往会呈现典型的不确定性和非线性特性。这类系统一般很难精确描述控制对象的传递函数或状态方程,而常规的PID控制又难以取得良好的控制效果。另外,单一的模糊控制虽不需要精确的数学模型,但是却极易在平衡点附近产生小振幅振荡,从而使整个控制系统不能拥有良好的动态品质。
  
本文针对这两种控制的优缺点并结合模糊控制技术,探讨了液压伺服系统的模糊自整定PID控制方法,同时利用MATLAB软件提供的Simulink和Fuzzy工具箱对液压伺服调节系统的模糊自整定PID控制系统进行仿真,并与常规PID控制进行了比较。此外,本文还尝试将控制系统通过单片机的数字化处理,并在电液伺服实验台上进行了测试,测试证明:该方法能使系统的结构简单化,操作灵活化,并可增强可靠性和适应性,提高控制精度和鲁棒性,特别容易实现非线性化控制。
  
1 模糊PID自整定控制器的设计
  
本控制系统主要完成数据采集、速度显示和速度控制等功能。其中智能模糊控制由单片机完成,并采用规则自整定PID控制算法进行过程控制。整个系统的核心是模糊控制器,AT89C51单片机是控制器的主体模块。电液伺服系统输出的速度信号经传感器和A/D转换之后进入单片机,单片机则根据输入的各种命令,并通过模糊控制算法计算控制量,然后将输出信号通过D/A转换送给液压伺服系统,从而控制系统的速度。该模糊控制器的硬件框图如图1所示。

模糊控制器的主程序包括初始化、键盘管理及控制模块和显示模块的调用等。温度信号的采集、标度变换、控制算法以及速度显示等功能的实现可由各子程序完成。软件的主要流程是:利用AT89C51单片机调A/D转换、标度转换模块以得到速度的反馈信号,然后根据偏差和偏差的变化率计算输入量,再由模糊PID自整定控制算法得出输出控制量。启动、停止可通过键盘并利用外部中断产生,有按键输入则调用中断服务程序。该程序的流程图如图2所示。
返回列表