基于混合最优算法的高精度数控直流电源设计

发布者:自由探索最新更新时间:2012-04-10 来源: 维库开发网 关键字:数控直流电源  Atmega128  双闭环反馈 手机看文章 扫描二维码
随时随地手机看文章

1 设计任务

设计并制作数控直流电流源。输入交流200~240V,50Hz;输出直流电压≤10V。

要求:输出电流范围:200mA~2000mA;可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值≤给定值的1%+10mA;具有步进调整功能,步进≤10mA;纹波电流≤2mA;改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对值≤输出电流值的1%+10mA。

2 系统设计方案

鉴于目前数控直流源一般采取运放构成的电流-电压转换电路与单片机结合,设计方案大多为开环系统,主控制器仅用于数字给定及显示,没有对输出电流进行检测和控制。本文在传统电路设计的基础上,利用控制系统中反馈与控制原理,引入电流负反馈,在采样电阻上获取和电流成正比的采样电压,并接人运算放大器的反向输入端,实现负反馈,形成恒流输出的闭环控制系统;软件方面,将具有全局寻优能力但收敛速度慢的遗传算法和具有收敛速度快且局部寻优能力强的直接搜索法结合在一起,设计基于遗传算法和直接搜索策略的混合优化算法,充分利用了遗传算法的全局搜索能力并以此作为优化过程的“粗调”,同时利用直接搜索法良好的局部搜索能力作为优化过程的“微调”,集中了两者的优点,而克服了两者的弱点,得到的目标函数值较遗传退火策略更优,而且一致性更好,用于PID参数整定是具有整定速度快,调节时间短,稳态误差小等优点。同时结合PID算法,形成软件闭环,实现对输出电流的精确控制。

系统工作原理如下:由键盘预置电流值,输入到单片机;采样电阻采集的电流信号经A/D转换器送入单片机,当两值之差绝对值为零或不大于设定值时,不作任何调整;当两值之差大于设定值时,运用PID算法进行调整,送人D/A转换,调整输出电流,直到差值在允许的范围内。单片机控制液晶显示电流的设定值、实际输出值和电流步进值。

3 硬件电路设计

数控直流电流源由自制电源电路、键盘输入电路、显示电路、单片机最小系统、D/A转换电路、恒定电流源电路、A/D转换电路和输出电流采集等模块电路组成。

3.1 采用比较适合的新型的Atmega128单片机

目前大多数控恒流源设计方案是以51系列单片机作为电流源控制器,该系列单片机性价比高,接口电路开发成熟,应用广泛。但其执行速度慢,集成的电路稳定性差,且容易受干扰,内部没有看门狗电路,容易死机,没有集成A/D、D/A转换芯片。与51系列单片机相比,ATmega128具有高速运行处理能力,电路稳定性好,内部有可编程带内部振荡器的看门狗定时器,带有8通道单端或差分输入的10位A/D转换芯片。本系统选用ATmega128作为电流源控制器,使用高精度、具有比较匹配中断功能的定时器,实现高精度的PID算法。

控制器主要实现以下功能:(1)控制键盘输入电流设定值;(2)控制A/D转换电路把实测电流值转换成数字量;(3)比较电流设定值与实测值的大小,根据比较结果,用PID算法进行调整;(4)控制D/A转换电路把调整好的数字电流量转换为模拟电压量;(5)显示设定电流值、实测电流值和步进电流值;(6)记录故障持续时间。

3.2 恒定电流源设计

本设计采用集成有运放的线性恒流源。电路由两个低漂移运放LM358、晶体管TIP41C、负载电阻R、限流电阻R3和直径为1mm康铜丝绕制成的电流反馈采样电阻Rf组成。

采样电阻Rf将电流信号以电压的形式加到运放的输入端,构成电流并联负反馈电路,减轻后级电路对D/A的影响,同时可以得到恒流输出,使电流源具有较好的稳定性。TIP41C是大功率晶体管,工作在线性放大区时,最大集电极电流为4 A,放大倍数为20~70倍。

负载电流仅由输入电压决定,而与负载R的大小无关。由于运放电源的限制,负载只能在一定范围内变化。当输入电压不变时,负载电阻在一定范围内变化,输出电流将保持不变,构成恒流源电路。

本方案的另外一个特色是,采用康铜丝组成采样电阻,康铜丝的温度系数为5ppm/℃,通过电流时引导起的温度升高对其电阻阻值并不会有太大影响,温度特性好,同时采用反向对称绕法把其绕制成空心绕线电阻,以减少绕制电阻时产生附加的电感,达到减少纹波电流的目的。为保证足够的V-I转换精度,电路中各电阻应选用精密电阻。

3.3 A/D转换器设计

本系统的电流测量部分由12位A/D芯片TLC2543构成,该芯片是一种12位开关电容逐次逼近A/D转换器,芯片共有11个模拟输入通道。芯片的串行三态输出数据端、输人数据端、输入/输出时钟3个控制端能形成与微处理器之间数据传输较快和较为有效的串行外设接口。12位A/D可以达到该系统的1%+1mA的精度要求。

3.4 声光报警电路

数控直流电流源有过流保护功能,即当实际电流输出超4000mA,可实现报警,并使输出电流降为0mA。

3.5 自制电源模块设计

本设计需要12V及5V直流电压。整个系统的电压外接220 V交流电压,将外接电压通过整流变压器得到15 V左右交流电压,再经过电桥整流得到直流电压,15 V直流电压经过电容的滤波,然后再通过三端稳压块7805转换得到5 V电压,通过三端稳压块7812得到12 V电压。

3.6 人机交互界面

与数码管相比,液晶显示屏具有功耗低、可视面积大,分辨率高,抗干扰能力强,字符操作方便等特点,并且编程容易,占用控制器的资源不多等优点。本设计采用LCD1602显示0~2300mA电流,发光二极管LED1、LED2指示电流测量方式和电流设定方式,当二者交替点亮表示当前为交替显示电流的给定值和实测值,LED3、LED4、LED5分别指示3种步长(1mA、10mA、100mA)。

因编码键盘扫描采用中断方式,具有占用I/O口较少的优势,本设计采用2×8编码键盘,共16个按键。编码键盘采用硬件电路代替软件判断按键编号的方式,当按键按下时,键盘通过优先编码器进行编码,编码器同时向单片机发出中断信号,单片机读取键号,调用按键子程序进行相应处理。[page]

3.7 D/A转换器设计

为实现输出电流范围10mA~4000mA、步进1mA的要求,应选用分辨率高的DAC,本设计采用MAX538为D/A转换电路的核心器件。

MAX538是12位串行数模转换器,具有转换速度快、精度高、功耗低等特点。本芯片为8脚串口数据输入D/A转换芯片,占用单片机引脚资源少,程序编辑方便,外围电路扩展简单。由于MAX538具有内部基准电压为4.096V,由公式()可得MAX538输出电压精度为1(mV),加在阻值为1Ω的康铜丝电阻两端可使其产生1(mA)电流(即步进1mA),试验显示能达到指标。

3.8 系统的组成

(1)控制器件:ATmega128单片机;

(2)键盘输入电路:2 × 8编码键盘;

(3)显示电路:LCD1602;

(4)恒定电流源电路:LM358、TIP41C、采样电阻Rf;

(5)声光报警电路:发光二极管和蜂鸣器;

(6)记录故障时间:ATmega128单片机内置的定时器/计数器;

(7)A/D转换器:TLC2543;

(8)D/A转换器:MAX538;

(9)自制电源模块:整流变压器、整流桥、电容、三端稳压块7812及7805

4 软件设计

在数控恒流源闭环控制系统中,为保持负载电流恒定,并且负载电流随设定值变化时没有超调,同时又希望系统有较好的抗扰动性能,本设计采用PID控制器来改善系统的性能。具体控制过程为:ATmega128经A/D转换器读取实际输出电流I,然后和设定的电流IS相比较,得出差值Ek=IS-I,主控制器根据Ek的正负大小,调节PID控制器,计算出本次电流调节的增量△Ik,然后根据前一次D/A芯片输出的电流Iq-1,计算本次的输出电流。PID控制器的参数由自行设计的混合最优算法确定。

4.1 混合最优算法设计

鉴于遗传算法收敛慢,易早熟,且对参数依赖性大,而直接搜索法在局部有很好的搜索能力。本设计综合利用两种算法的优良性能,克服各自的缺点,先用遗传算法在给定的区域上作“全局粗略”搜索,然后用直接搜索法对其中部分较优个体在这些个体所在极小区域作“局部精绌”搜索,找出它的极小值,反复进行,可以比较迅速地找出PID算法参数的全局最优解。

控制器ATmega128主要用来实现遗传算法参数自整定,数据存储器存储一些专家经验,用来初步确定整定目标域,同时也存储遗传算法的每代样本数据及控制参数。

严格地说,遗传算法的迭代何时停止,在理论上尚无定论。在许多应用实例中,若发现群体中个体的进化已趋于稳定状态,则迭代终止。对于PID参数自整定,调节过程进入相对稳定状态,则终止迭代算法。所以把迭代次数等于最大迭代数目M或者精度调节变化量小于某个预设值作为算法终止的条件,

4.2 软件实现

基于模块化思想,系统软件设计部分由C语言和汇编语言混合编写而成,发挥了C语言高效运算和快速开发以及汇编语言的灵活的特点。系统软件主要完成输出设定、电流调整等功能。包括主程序、A/D采样子程序、D/A输出电流给定值及按键控制、PID算法子程序、混合最优算法子程序、LCD显示等其他子程序。

5 系统功能测试

(1)系统输出电流范围为10mA~4000mA;

(2)具有3种步长可选的电流步进功能,可通过“+”、“-”按键方便地进行正负步进调整;

(3)可交替显示电流的给定值和实测值,实际测量输出电流误差的绝对值≤测量值的0.1%+1mA;

(4)改变负载电阻,输出电压在10V以内变化时,输出电流的绝对值≤输出电流值的0.1%+1mA;

(5)纹波≤0.15Ma

6 结论

本数控直流电流源系统以Atmega128为主控制器,采用软硬件双闭环反馈方法,使电源的稳定性和输出精度得到保证,并有普通稳压源实现了稳流输出。通过按键来设置电流源的输出电流,设置步进级可选。在系统设计过程中,力求硬件电路参数合理,线路简单,发挥软件编程灵活的特点,通过多次调试,不断提高系统的精度和电流的稳定性,以满足系统的设计要求。

关键字:数控直流电源  Atmega128  双闭环反馈 引用地址:基于混合最优算法的高精度数控直流电源设计

上一篇:无线传感器网络节点低功耗系统设计
下一篇:基于SPI的MAX7221与MCU连接

推荐阅读最新更新时间:2024-03-16 12:57

ATmega128的16路遥控单元电路分析
简介:该装置通过RS485($49.9800) 总线与上位机相连,作为远程继电器输出模块,用于接收计算机指令,执行系统的遥控操作或自动控制,继电器输出共16 路,装置拥有1600 组操作事件记录,带GPS 校时功能,在外部电源掉电后可以保证SOE 事件记录一个月内不丢失 本文介绍一款具有16 路遥控接点输出的ARTU-J16,该装置通过RS485($49.9800)总线与上位机相连,作为远程继电器输出模块,用于接收计算机指令,执行系统的遥控操作或自动控制,继电器输出共16 路,装置拥有1600 组操作事件记录,带GPS 校时功能,在外部电源掉电后可以保证SOE 事件记录一个月内不丢失,相对以往控制方式,本设计在简化控制网络结构
[单片机]
<font color='red'>ATmega128</font>的16路遥控单元电路分析
基于ATmega128的安全工器具监控系统设计
众所周知,安全是电力企业一个永恒的主题,而安全工器具的好坏,将直接影响着电力企业在生产过程中的人身和设备安全。笔者提出了一种基于AVR单片机的安全工器具监控系统的设计方案,主要是对安全工器具的离就位状态信息、有效使用期限和安全工器具柜内的温湿度状况等进行监控,可以根据实现安全工器具柜内温湿度的自动调节,能够自动记录安全工器具的相关信息。本文首先阐述了系统的总体结构,然后详细论述了系统的硬件设计和软件设计。 1 安全工器具监控系统的总体结构 1.1 系统结构 本文所设计的安全工器具监控系统主要分为下位机数据采集和上位机数据管理两个部分,两者之间通过网络进行通信。 系统首先通过数据采集板对安全工器具柜的相关量进行采集,然后将采
[单片机]
基于<font color='red'>ATmega128</font>的安全工器具监控系统设计
基于混合最优算法的高精度数控直流电源设计
1 设计任务 设计并制作数控直流电流源。输入交流200~240V,50Hz;输出直流电压≤10V。原理框图如1所示。 要求:输出电流范围:200mA~2000mA;可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值≤给定值的1%+10mA;具有步进调整功能,步进≤10mA;纹波电流≤2mA;改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对值≤输出电流值的1%+10mA。 2 系统设计方案 鉴于目前数控直流源一般采取运放构成的电流-电压转换电路与单片机结合,设计方案大多为开环系统,主控制器仅用于数字给定及显示,没有对输出电流进行检测和控制。本文在传统电路设计的基础上,利用控制系统中反馈与控制
[嵌入式]
基于Atmega128单片机和GPRS的矿区铁路道口监测系统
1 引言   矿区铁路是衔接国家铁路与矿区的中间环节,是铁路运输网的重要组成部分。据有关资料统计,目前国内矿区铁路超过2万公里且其沿线附近通常分布着多个道口。由于道口大多分布在远离市区的矿山企业内部,并且其数量多、分散以及道口之间的距离长,加上矿区内各种运输工具的交叉作业及车辆、人员的不固定的流动,使矿区铁路道口的安全管理成为十分突出的问题。为使各级矿区管理部门能及时、准确掌握各个道口的的安全情况,本文以 Atmega128和MC55为核心,设计一套铁路道口监测系统,实现对铁路道口监测管理的自动化、数字化和网络化。这对保证矿区正常生产、提高矿山企业经济效益和通过道口车辆、行人安全具有重要意义。 2 系统组成
[单片机]
基于<font color='red'>Atmega128</font>单片机和GPRS的矿区铁路道口监测系统
ATmega128学习(MOdbus串口通信)
//ATmega128 AU USART1,波特率9600,modbus协议,单速,1停止位,CRC校验 //编译器 :ICC7.22 //晶振:11.0592MHZ,,外部高频石英震荡器,启动时间4.1ms //熔丝:扩展位:0xff, 0x19af,加密位:0xff //*********************************************************************** // 初始化去,参数定义区 //*********************************************************************** #include #inclu
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved