基于单片机的高精度数字直流电流源设计

发布者:泥匠手最新更新时间:2011-12-14 关键字:单片机  数字直流电流源 手机看文章 扫描二维码
随时随地手机看文章
1  引言
直流电流源是一种应用广泛的电子仪器,对于要求输出电流可调的情况,最简单实用的方法是通过软件控制来实现。使用单片机作为主控部件,系统设计简单方便。本文设计的直流电流源是以凌阳61单片机系统[1,2]为核心,采用12位外部扩展MAX531DA和MAX197AD芯片,并在外部电流输出模块中引入PI控制[3],构成电流闭环,有效消除了由于电子器件本身以及外界干扰造成的输出误差,大大提高了电流源的精度。
 
图1  系统结构图
2  系统原理与设计方案
系统主电路采用全桥整流电路作为负载电路电源,并选用大功率三极管[4]串联电路进行电流输出。控制电路使用凌阳61单片机,单片机扫描键盘显示接口,当有键按下时,键值通过83编码器CD4532读给单片机。单片机控制DA转换,转换输出值经过电流源输出模块输出。输出电流经采样放大电路一方面传递给AD转换器转换成数字量信号,经处理后换算成相应的电流值,最终通过液晶显示;另一方面结合模板PI调节器实现电流闭环控制,以保证输出电流值无静差跟踪程控给定电流。整个控制系统采用模块化设计思想,系统结构如图1所示。
3  硬件电路设计
3.1  负载电路电源设计
本设计没有采用开关电源。因为开关电源采用高频斩波电路,虽然可以在输入电压波动比较大的情况下高效保持稳定的直流输出,但高频电路容易产生高频电磁噪声,对采样、控制电路形成干扰。因此,为避免开关电源对控制电路造成干扰、提高控制和输出精度,本系统采用传统的全桥整流电路,作为负载电路电源。
使用输出功率50W、变比220/15的变压器,经全桥整流后加30000μF电容稳压滤波输出21V直流电压,再串入扼流线圈用于减小电流纹波。
本电路还加载了过流保护功能,使用电压比较器检测电阻的电压,当检测电压超过最高设定电压时,电压比较器输出高电平,通过DA的CLR脚使DA清零从而使得负载电流为零,达到过流保护目的。
3.2  电流源输出模块
3.2.1  PI控制
程控12位D/A给定进行1:1比例放大电路反向输出,与电流采样板输出的电流反馈进行比较,形成电流闭环,调节PI控制器的比例放大系数,使DA输出量和实际采样检测值之间保持线性关系。系统电流闭环消除了由运放引起的非线性误差,并有效抑制模拟电路部分的非线性对AD转换电路的干扰,简化了软件部分的设计。实验表明,系统输出电流误差绝对值小于1mA。
 


改变电路中的电阻和电容,可进行积分时间和放大系数的改变。
3.2.2 电流放大输出
从PI控制输出的电流较小,无法满足系统输出电流20mA-2000mA的要求,需附加电流放大电路。为了使电流源带负载能力更强,电流放大电路接一个PNP型大功率三极管MJ2955输出,采用NPN型通用三极管9013驱动MJ2955。考虑到MJ2955的电流比较大,功耗大、发热严重,系统中使用了散热器并强迫风冷,以保证MJ2955不被烧坏。PI调节电路及主电路如图2。
3.2.3  负载电路
电源输出端并联30000μF的大电容稳压后,再串联π型滤波电路滤波,减小电流波动干扰;在负载正极和地之间并联60000μF大电容用于减小电流纹波。
3.2.4  电流采样电路
系统要求电流源输出电流范围为20mA到2000mA。当输出电流为2000mA时,若取采样电阻为0.5欧姆,则采样电阻上产生的功率为2瓦,这将导致采样电阻发热,电阻阻值发生改变,使得电流给定值与实测值之间产生很大误差。康铜丝的电阻温度系数比较小,因此系统选用康铜丝作为采样电阻,用多根较粗的康铜丝并接,同时用风扇给电阻降温,以降低温漂,保持采样电阻阻值恒定。
3.3  AD和DA转换模块的选择
凌阳61单片机自带8个通道的10位AD转换器,其中7个为普通AD转换通道,另一个为语音信号输入通道;61单片机也有两路DA转换。61单片机的10位AD和DA转换分辨精度为1/1024,而系统输出电流的误差绝对值要求小于1mA,因此,应该选用更高位数的AD和DA转换芯片。系统采用12位AD芯片MAX197和12位DA芯片MAX531,基本满足精度要求。
为提高AD和DA的可靠性,增加系统的抗干扰能力,提高转换精度,系统中对AD和DA电源使用π型滤波器再次进行滤波处理,避免干扰信号串入转换电路。在没有加入滤波电路之前,测得纹波电流为8mA;在加入滤波电路后,实际测得的纹波电流下降到0.8mA。
3.4  控制模块
3.4.1  凌阳61单片机最小系统
SPCE061A主要包括输入/输出端口、定时器/计数器、数/模转换、模/数转换、串行设备输入输出、通用异步串行接口、低电压监测和复位等部分,并且内置在线仿真电路ICE接口,较高的处理速度使其能够快速的处理复杂的数字信号。SPCE061A 单片机应用领域非常广泛,例如应用在家用电器控制器、工业控制领域。
3.4.2  单片机与AD、DA转换的接口电路
系统采用单片机作为AD和DA转换的控制模块,只需考虑外部接口电路的设计,即可方便实现控制过程。芯片MAX531,MAX197均采用内电压基准工作模式,单电源+5V供电。MAX531内部给出2.048V基准电压,MAX197内部给出4.096V基准电压。MAX531提供两倍增益,即输出电压从0V到+4.096V。
 

由于凌阳61单片机没有类似于51单片机的控制总线,本系统中对AD、DA的读写等控制信号均采用输出口模拟的方式来提供。AD和DA转换电路如图3和图4。
 

3.4.3  键盘和显示模块
本系统没有采用凌阳61单片机自带的四键键盘,而是用83编码器CD4532扩展了8个键。这样可以分级“+”,“-”调整电流源输出,达到步进1mA,10mA和100mA。系统提供了一个方便的用户操作界面,体现了人性化设计的思想。[page]

由于用数码管显示时接口电路复杂,考虑到更好的人机交互界面和方便的控制,系统使用液晶显示模块OCM4X8C,同时显示电流给定值和实测值。
OCM4X8C液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形;可与CPU直接接口,提供两种界面来连接微处理机,即8位并行和串行两种连接方式;具有多种功能,如光标显示、画面移位、睡眠模式等。
4  软件设计
软件是系统的重要组成部分,在设计软件时,主要从确保系统精确度,提高系统反应速度、稳定性及高效实时控制等几方面出发。系统用C语言编写液晶显示菜单,同时显示给定值与实际输出测量值,液晶显示稳定可靠。键盘扫描程序通过读取不同的键值实现了步进1mA,10mA和100mA分级“+”,“-”可调,实现了系统的精确控制,提高了效率。另外,系统主程序中加入了数字滤波,可以满足测量误差的要求。
 

4.1  软件实现的功能:
(1)完成AD和DA转换
(2)控制液晶显示
(3)读取按键键值
4.2  系统软件工作流程图
(1)主程序和判断程序流程图如图5。
(2)键盘扫描子程序流程图如图6。
(3)DA输出显示子程序流程图如图7。
 


5  系统测试
给定电流在20mA-2000mA内变化时,系统实际输出电流和误差如表一;在负载电阻为4.936Ω时,输出负载纹波电压和纹波电流如表二。
系统测试结果表明:当负载电阻变化时(负载电阻电压小于15V),输出电流恒定不变。系统给定电流在20mA-2000mA范围内变化时,输出电流误差绝对值在1mA以内;通过测量负载电阻上电压交流分量测得的纹波电流小于0.2mA。
6  结论
本文创新之处在于以单片机系统为核心,使用12位的AD和DA芯片,输出模块引入PI控制器,设计出一种高精度数字直流电流源。当需要程控电流在20mA-2000mA内变化时,系统输出电流误差小于1mA,电流纹波小于0.2mA,满足系统高精度的要求。

 

 

关键字:单片机  数字直流电流源 引用地址:基于单片机的高精度数字直流电流源设计

上一篇:单片机的人生
下一篇:单片机控制系统的抗干扰优化设计

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

汽车发动机转速信号模拟器设计
介绍一种简单、便携、多功能的发动机转速信号模拟器,采用PWM信号逼近的方法生成幅值随发动机转速变化的磁电信号,采用输出比较的方式输出霍尔信号。该模拟器可以方便地设定发动机参数和实时在线修改发动机转速,并能够实时显示。实验结果表明,该模拟器具有信号精度高、发动机转速范围大的特点。 随着发动机电控系统的结构和控制策略日趋复杂,电控系统的研发工作难度以及实验工作量大大增加,成本也大幅度提高。V型开发模式已经成为发动机ECU(Electronic Control Unit,电子控制单元)开发流程的主流,其中的硬件在环仿真中,为了配合ECU软件的开发,需要模拟发动机的转速信号来验证软件算法的正确性。 目前已经有很多研发人员已经做了这方面的研
[嵌入式]
单片机外部中断的两种模式
51单片机的外部中断有两种模式:电平触发模式和跳变沿触发模式 第一,选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请求中断。第二,选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测到低电平,即置位中断标志,请求中断。 区别: 电平触发模式时,中断标志寄存器不锁存电平中断请求信号。单片机把每个周期的S5P2采样外部中断口的电平逻辑直接赋值到中断标志寄存器。标志寄存器对于请求信号来说是透明的。这样当中断请求被阻塞而没有得到及时响应时,将被丢失。 换言之,就是要使电平触发的中断被CPU响应并执行,必须保证外部中断源口线的低电平维持到中断被执
[单片机]
AVR单片机的端口位操作方法解析
一、常规方法 AVR单片机的各类教材或编程应用参考资料,对介绍的端口位操作方法不外乎宏定义及整体和某个常量相或、相与来实现某一单个位状态的改变。如: PORT&=-(1《1);等价于:PORTB&=oxfd;作用是PB1清零而其余位不变。与之类似的还有: PORTBl=(1《4);PB4置位,其余位不变。 PORTB=(k《4);PB4翻转,其余位不变。 上述方法,无论是常量值参与还是移位操作,用起来总嫌麻烦,不够直观,且具体常量值还需人工推算,易出错。移位操作生成的目标代码偏大,在大量运用时,占用系统内存或flash空间,执行效率低。 以实际运用效果来看,宏定义比较好。也偏好运用宏定义。C编译器在编译之前会事先进行宏替换
[单片机]
AVR<font color='red'>单片机</font>的端口位操作方法解析
公话网智能家居系统设计方案
分析了智能家居的相关技术现状,提出了一种基于公共交换电话网的智能家居系统的总体方案,阐述了该系统的工作原理及软硬件的设计方法与过程。 该系统利用计算机和红外遥控等技术实现了一个智能化的窗帘机构,采用双音多频信号进行信息的传输,实现了家居的安全防护和家电的远程控制。 经过调试与检测证明,该系统具有性能可靠、功能丰富、易于使用等特点,具有广泛的实用价值。   近年来,计算机技术的不断发展和信息化程度的不断提高,为智能家居系统的研究与开发提供了坚实的技术平台。 通常把智能家居定义为一个整体,即利用先进的计算机技术、网络技术,以及综合布线技术,通过家庭信息管理平台,将与家居生活相关的各个部分有机结合成一个特殊的集成系统。 伴随着
[单片机]
公话网智能家居系统设计方案
如何快速提升单片机编程水平?
“如何快速提升单片机编程水平?” 今天有个兄弟问我,我也不怎么好直接回答他,我就给他简单讲了一下我的一个成长经历。 我是在2018年参加学校电子大赛的时候,开始接触并学习单片机的,在学校学习了2年。 2010刚毕业找工作的时候,虽然在电子大赛中获过奖,但想找一份比较合适的工作,还是非常有压力。 刚毕业,没有实战经验,那个公司会要我呢? 当初比较理想的工作就是单片机工程师助理,但找了将近一个月,大多数面试完之后都让我去做维修,让我从维修做起。 有几个比较大的公司,给的工资也还可以,但是我毅然拒绝了。 随着时间的流逝,1个月过去了,想起又感到后悔,因为没有更好的选择了,自己又似乎放弃了最好的选择。 最终我还是找到了一个比较理想的工
[单片机]
51单片机总线与非总线的程序对比
简介:三总线简称ADC,这总是让我想起ADC的芯片,A是地址总线,D是数据总线,C是控制总线,是控制片外ROM、RAM和I/O的。 #include #include #define uchar unsigned char #define uint unsigned int uchar code table = The distance is ; uchar code table1 = 00.0cm ; sbit shuru=P1^0; sbit yidianling=P1^0; sbit yidianyi=P1^3;//延时 void delay(uint z) { uint x,y;
[单片机]
51<font color='red'>单片机</font>总线与非总线的程序对比
MCU的多元化应用:各路战场显神通
   随着微电子技术的飞速发展, MCU已成为低成本器件,其应用领域更加广泛,已全面渗透到人们的日常生活中。纵观MCU的各应用领域发展状况,计世资讯(CCW Research)研究认为,消费电子用MCU高中低端竞相发展,工业控制用MCU具有广阔的市场发展潜力,汽车用MCU从低端不断向高端演进。目前锁定不同应用的MCU产品不断推陈出新,MCU在各路战场,各显神通,产品的多元化应用使得MCU的发展迎来了前所未有的发展契机。 1. 消费电子用MCU高中低端竞相发展 ?   消费电子产品是中国MCU应用的最大领域,中国消费电子产业发展极为迅速,计世资讯(CCW Research)预计2007年国内消费类电子产品销售额将接
[焦点新闻]
八位微控制器有哪些可以节约代码空间的代码优化技巧?
本文将介绍一些优化技术,帮助设计人员节约多达 10% 的代码空间,从而让容量有限的程序存储器支持更多新特性和补丁。 良好的操作方法 许多程序员在 32 位处理器上学习编写软件,如 Intel 的 Pentium 处理器或某种 ARM 平台。不过,嵌入式领域的软件编写需要不同的思路。在 32 位 CPU 上,存储比特位的最佳方法通常是使用 32 位变量。对 8 位处理器而言,最好的办法就是采用单字节。像增强型 8051s 等某些处理器可能提供特殊的 1 位变量。 嵌入式处理器通常会超出标准的哈佛架构将存储器分散到不同的存储器空间中,有的相互重叠,有的又是相互分离。例如,8051 中常见的存储器空间包括 CODE、XDATA、DA
[单片机]
八位<font color='red'>微控制器</font>有哪些可以节约代码空间的代码优化技巧?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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