您现在所在的是:

单片机论坛

回帖:0个,阅读:646 [上一页] [1] [下一页]
896
gdmjzn
文章数:-5
年度积分:50
历史总积分:896
注册时间:2008/8/6
发站内信
发表于:2008/8/7 23:40:00
#0楼
佛山市南海区黄岐迪赛唯数控系统配件商行(www.disaiwei.com)
     介绍以80c198单片机为核心采集4路压力信号和经数据处理与模糊控制算法调节后,对多回路压力精确测量与控制的系统。文中给出了详细的硬件原理电路和软件设计。
   
1 硬件电路设计
1.1 80c198单片机应用系统设计
  80c198单片机采用hcmos设计,具有功耗低、速度快、资源丰富、抗干扰能力强等特点。以80c198单片机作为压力测控器,可充分利用其硬件资 源中的a/d部件和hso部件作为信号的采集通道和输出控制通道,硬件电路大大简化,系统的可靠性和抗干扰能力也大大提高。
   80c198单片机应用系统原理电路如图1所示。
 本系统以80c198单片机为核心,利用其片内232字节的寄存器作为数据采集和中间计算结果的存储单元,仅外扩程序存储器,组成了压力测控系统的测控核心。
 根据对测控数据实时记录和掉电保护的要求,系统中扩展了实时时钟芯片ds12887。该芯片能够提供实时日历/时钟。在断电情况下运行十年以上不丢失数据,并且具有114字节的通用ram,可用于参数的掉电保护。
 为提高系统的可靠性和抗电源干扰的能力,系统采用max1232芯片设计了电源电压检测和“看门狗”电路。
 为提高对压力信号的检测精度,系统采用基准电压源ad584为/d部件提供基准电压。
1.2 键盘/显示器接口电路设计  
   系统通过可编程键盘/显示器接口器件8279实现对键盘和数据显示器的管理,用于系统测控功能选择、参数在线修改和显示等。
1 .3 压力信号检测处理电路  
   压力传感器、变送器输出的信号通常为0~10ma或4~20ma的模拟电流信号,压力检测处理电路对其进行i/v变换、限幅、滤波等处理,转换成0~5v的模拟电压信号,将该信号送80c198的a/d部件,实现对压力信号的检测。压力信号检测处理电路如图2所示。
1.4 输出控制电路
  80c198单片机的hso部件具有六路hso输出通道,通过编程输出周期可调的脉宽调制波(pwm),脉宽调制精度最大可达16位。因此,由hso部 件输出pwm信号,再经过v/i变换,可输出0~10ma或4~20ma的控制信号到执行机构,在实现对压力的精确控制。
   输出控制电路如图3所示。
2 软件设计
 测控系统的软件部分用于完成对压力信号的采集、处理、显示、控制调节和pwm输出等。
  测控系统动态性能的好坏、稳态控制精度的高低、自适应能力的大小,在很大程度上取决于控制算法的设计。由于流体压力的变化具有纯滞后、大惯性和影响因素 多等特点,因此传统的pid等控制算法很难达到理想的控制效果。本文设计的测控系统采用模糊控制技术实现了对压力信号的高精度、自适应控制。
  模糊控制的基本方法是:将压力误差、误差变化率和为消除误差所需要调节的控制量用e、r、c来表示,将e、r、c的语言值定义为:正大、正中、正小、零、 负小、负中、负大,它们分别量化为3、2、1、0、-1、-2、-3。模拟人的思维活动,并根据专家控制经验,将由输入变量e、r推理得到输出变量c 的过程用表1的规则来描述。在实际应用中,根据压力信号的变化特点和影响因素,以表1为基础乘以适当系数来调节pwm的脉宽。实际应用证明,采用模糊控制 算法与采用pid控制算法相比,系统控制精度更高,动态性能更好、抗干扰能力更强
3 结束语
 本文设计的压力测控系统可组成一个低成本、高性能的智能压力测控仪,也可组成一个较大规模的压力测控系统;
 测控系统充分利用了80c198单片机的软硬件资源,使设计的系统结构简单、可靠性高、抗干扰能力强;
 系统通过hso部件产生pwm信号,并经v/i变换输出控制电流信号,输出精度高、线性度好、调整方便;
 系统采用模糊控制算法,控制精度高,自适应能力强。
                                                      佛山市南海区黄岐迪赛唯数控系统配件商行
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=57141&Name=disaiwei

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003