• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 其它相关 > 正文

    基于AVR单片机的数字PID调节器设计

    来源:六七范文网 时间:2023-06-11 01:05:06 点击:

    摘 要:数字PID调节器具有操作简单,控制精度准确,安全可靠性高等优点,广泛应用于工业生产过程中。提出一种以AVR单片机ATmega16为核心的数字PID调节器,该调节器充分利用了高性能AVR单片机的片内资源及外围扩展电路,能够接收多种类型的测量信号,具有较强的在线修改和丰富的控制功能,并且采取硬件和软件双重抗干扰措施提高了调节器的可靠性。

    关键词:数字PID调节器;AVR单片机;ATmega16;手/自动无扰切换

    中图分类号:TP274 文献标识码:B

    文章编号:1004-373X(2010)03-140-03

    Design of Digital PID Regulator Based on AVR Single Chip Microcomputer

    SHAO Lianhe,XU Hongbing

    (Baoding Electric Power Vocational & Technical Collge,Baoding,071051,China)

    Abstract:A digital PID regulator has many advantages such as simple operation, accurate control,high security and reliability. It is widely used in industrial production process. The design of a digital regulator is introduced. The regulator is based on AVR single chip microcomputer ATmegal 16.It makes full use of high-performance AVR microcontroller chip resources and external expansion of the circuit. It can receive various types of measurement signals. It has a strong online modification and abundant control functions. The reliability of the regulator is improved by hardware and software anti-jamming means.

    Keywords:digital PID regulator;AVR single chip microcomputer;ATmega16;manual/automatic non-disturbance switching

    0 引 言

    在连续生产过程控制中,按偏差的比例(P)、积分(I)、微分(D)进行控制的PID调节器[1]是应用最为广泛的一种自动控制器。它具有原理简单、易于实现、适用面广等优点。在计算机用于生产过程控制之前,模拟PID控制器一直占主导地位。单片机的出现,使以单片机为核心的数字PID调节器迅速成为应用最广泛的自动控制器。

    本文设计了一种基于AVR ATmega16[2-4]单片机的数字PID调节器,其实现的主要功能有:

    (1) 无跳线技术,可随意改变输入信号类型,有多种显示方式;

    (2) 控制方式为增量式PID控制,控制输出为4~20 mA电流;

    (3) 可进行零点、量程的调整,可进行全数字化冷端补偿;

    (4) 设定参数断电永久保留及参数密码锁定;

    (5) 调节器具有参数上、下限越限报警和报警触点输出功能;

    (6) 可实现通信和打印功能。

    1 数字调节器前面板设计

    设计的数字调节器的前面板包括:液晶显示器[5],显示状态信息、参数设置信息、时间等;6个状态显示发光二极管,分别显示下限报警、上限报警、手/自动状态、电流输入、K型热电偶输入、PT100热电阻输入;上层4个数码管,正常显示测量值,参数类型;下层4个数码管,正常测量时显示设定值,参数设置时显示参数值;5个按键,其中SET键用于选择参数设定模式,或在参数设定时用于选择下一个参数;▼用于减小数值;▲用于增加数值;用于更改要设定的位;M/A用于手/自动切换;复位键用于程序复位。

    2 数字调节器的硬件设计

    该数字调节器的硬件系统原理框图如图1所示。该调节器的硬件电路包括开关电源、输入信号采集与转换电路、参数设置电路、状态显示及报警输出电路、模拟量输出与手/自动切换电路、显示电路、键盘控制电路、打印机接口电路、时钟电路、串行通讯接口电路等。

    数字调节器的控制核心ATmega16是一款基于RISC(精简指令集)的低功耗、高性能的8位单片机,可达到每秒处理百万条指令的运行速度。此外,该芯片还具有比较丰富的片上资源。外扩的数据存储器可以有充裕的空间来处理数据。

    图1 数字调节器硬件结构

    2.1 开关电源电路

    开关电源主要由输入整流电路、集成开关电路、高频变压器、输出整流滤波电路、输出反馈电路等组成。开关电源用于给调节器提供±12 V的直流电源,供采集电路中的运算放大器进行信号转换使用。单片机使用的+5 V电源是由开关电源的+12 V经三端稳压器7805提供的。

    2.2 参数设置电路

    参数设置电路如图2所示。

    图2 数字调节器的参数设置电路

    出于节省I/O口,减少按键数目,缩小调节器的体积、避免误操作等考虑,在调节器的键盘处理上采用“按键复用[6]”方式实现不同参数的设置。在电源断开又重新上电时,所有一级和二级参数保持掉电前的数值。变量CLK为设定参数禁锁,其设定值与对应的说明如表1所示。

    表1 CLK的设定值与对应说明

    符号名称设定范围说明

    CLK设定参数禁锁CLK=00

    CLK=01

    CLK=12

    CLK=132

    CLK=其他按SET可修改一级参数

    按SET+<退出

    按SET+<可修改

    按SET+<可修改二级参数

    禁锁(参数不可修改)

    2.3 输入信号采集与转换电路

    ATmega16单片机有一个10位的逐次逼近型ADC。ADC与一个8通道的模拟多路复用器连接,能对来自端口A 的8 路单端输入电压进行采样。现场来的4~20 mA电流信号、0~50 mV热电偶输入信号、PT100热电阻信号、热敏电阻信号分别经过相应的输入转换电路转换为单片机可接受的0~5 V电压信号后直接接至单片机A口引脚。同时对转换后的数字量进行标度变换、数字滤波等数据处理,增加数据的可信度、提高稳定性和抗干扰能力。

    2.4 数字调节器的输出及手/自动切换电路

    由于ATmega16单片机的PWM输出为电压信号,需要将单片机输出的0~5 V电压转换成4~20 mA电流输出,供执行单元使用。

    在手/自动切换中可以选择手动输出还是自动输出,并实现无扰切换。为了保证正常工作时,手/自动运行状态能够迅速切换,数字调节器的手/自动切换通过外部中断INT0实现,手/自动切换电路如图3所示。

    图3 数字调节器手/自动切换电路

    3 数字调节器的软件设计

    系统软件流程如图4所示。主要包括系统初始化、数据采集及处理、PID控制[7]、手/自动无扰切换、参数设置、状态显示、报警处理等部分。

    图4 系统软件流程图

    在参数设置中,所有涉及到的一级参数、二级参数、信号输入、输出、调节器输入、输出等均采用全局变量传递,各程序模块本身使用到的变量,尽量采用局部变量。设计一级参数设置显示函数、二级参数设置显示函数时,可引进形参,根据参数序号确定参数,进行相应显示。对于各函数之间的公用变量均采用全局变量。

    当自动输出转为手动输出时,输出值是在转变前的基础上手动增或减;而当手动输出转为自动输出时,也为无扰动切换。为保证PID运算的采样周期固定,信号采样及PID处理均在定时中断中完成。

    热电偶冷端补偿时,首先要检测环温[8]值,然后再根据环温值进行冷端补偿计算。对数据进行平滑处理[9,10]

    时可考虑建一个函数,其函数描述如下:

    Float adcx(char adc_input,float n)//adcx:函数名,参数:(通道号,变换值:)

    {float x=0;char i;

    ADCSRA=0x83;//初始化设置

    ADMUX=adc_input〡0x40;

    for(i=0;i<8;i++)

    {

    ADCSRA〡0x40;

    while((ADCSRA & 0x10)==0);

    ADCSRA〡0x10;

    x=x+ADCW;

    }

    x=x/8;//8次采集平均值

    x=x*n/1023;

    return x;

    }

    4 结 语

    本文采用AVR高性能ATmega16单片机设计了一种数字PID调节器,通过实验综合测试和实际应用检验,该调节器具有人机界面友好、操作简便、控制准确、性能稳定、性价比高等优点,能够满足生产过程的要求,具有很好的推广前景。

    参考文献

    [1]程蔚萍.热工自动控制设备[M].北京:中国电力出版社,2007.

    [2]彭同明,徐学勤.单片机原理及应用[M].北京:中国电力出版社,2005.

    [3]李长林.AVR单片机应用设计[M].北京:电子工业出版社,2005.

    [4]胡学海.单片机原理及应用系统设计[M].北京:电子工业出版社,2007.

    [5]傅勤毅,李海浪.单片机与液晶显示器的接口及应用[J].今日电子,2005(6):70-72.

    [6]刘海成.AVR单片机原理及测控工程应用[M].北京:北京航空航天大学出版社,2008.

    [7]刘金琨.先进PID控制及其Matlab仿真[M].北京:电子工业出版社,2003.

    [8]田开坤,徐海霞.基于AVR单片机捕获中断和热敏电阻的温度测量[J].现代电子技术,2008,31(3):138-140.

    [9]马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2007.

    [10]张齐.单片机应用系统设计技术——基于C语言编程[M].北京:电子工业出版社,2004.

    推荐访问:调节器 单片机 数字 设计 AVR