历史上的今天
返回首页

历史上的今天

今天是:2025年04月06日(星期日)

2018年04月06日 | 基于单片机控制的数控直流电流源设计

2018-04-06 来源:eefocus

    在现代科学研究和工业生产中,精度高、稳定性好的数控直流电流源得到了十分广泛的应用。以往所采用的电流源多数是利用电位器进行调节,输出电流值无法实现精准步进。有些电流源虽能够实现数控但是往往输出的电流值过小,且所设定的输出电流值是否准确不经测试无法确定,不够直观。为此,结合单片机技术及V/I变换电路,利用闭环反馈调整控制原理设计制作了一种新型的基于单片机控制的高精度数控直流电流源。

    本系统以AT89S52单片机为控制器,通过人机接口(按键和LCD显示屏)来设置输出电流,设置步进等级1 mA,并可同时显示预设电流值和实际输出电流值。本系统由按键设置输出电流值,经单片机计算后通过D/A转换器(TLV5618)输出模拟信号,再经过V/I转换电路转化成电流。单片机通过A/D转换器(MAX187)对采样电阻两端电压进行采样,经单片机处理,换算成电流值后显示在LCD屏幕上,供用户参考。实际测试结果表明,本系统输出电流可在20 mA~1 000 mA范围内任意设定,精度±10 mA,输出电流稳定,可应用于需要高稳定度、小功率恒流源的领域。

    1 系统硬件结构

    1.1 系统原理

    本设计采用模拟闭环控制。采用AT89S52单片机作为主控制器,用D/A转换器输出模拟电压信号,再经V/I转换电路获得电流。V/I转换电路依据电流串联负反馈原理,由运算放大器和大功率三极管组成模拟闭环,使输出电流稳定。

    本系统可分为3个部分:电源部分、控制部分和V/I转换部分。电源不仅要提供±5 V和±12 V供控制部分和V/I转换部分中的模拟器件使用,而且要提供大电压供V/I转换部分使用,且要有大功率输出的能力;控制部分的作用是根据用户设置值输出相应的电压信号;V/I转换部分的作用是把电压信号转化成相应的电流。各部分之间的关系如图1所示。

a.jpg?imageView2/2/w/550

      1.2 工作电源

    使用两个变压器。大功率变压器输出经整流滤波后直接供给V/I转换部分使用。小功率变压器输出经整流滤波后通过78和79系列芯片获得±12 V和±5 V电压。大功率变压器输出经整流滤波后稳压,然后提供给V/I转换电路使用。此方案输出功率可以满足要求,且V/I转换部分电源稳定度可以保证。本电流源输出电压设置在40 V以内,因此最大输出功率为80 W,为留有裕量,大变压器选择双18 V、100 W。使用三端稳压芯片LM338K获得40 V的电压,这样LM338K输入输出压差为6V左右,输出电流2A时耗散功率为12W左右,LM338K最大输出电流达5 A,耗散功率50 W。

    电源部分的电路如图2所示。b.jpg?imageView2/2/w/550


    1.3 D/A转换

    使用12位D/A转换器。采用12位串行D/A转换器MAX531。D/A转换器输出的电压信号加到放大器F5的同相端,F5的输出接到中功率三极管D1266A的基极,D1266A与大功率三极管2N3055组成达林顿形式。RL为负载,它接在+40 V电源和达林顿之间,与之并联的二极管是考虑到负载有可能是电感而加上的,作用是断电时消耗电感负载的能量,保护系统。R为取样电阻,阻值0.33 Ω,功率10 W,取样电阻把电流线性转化成电压信号,经同相放大器后加到放大器F5的反向端。设负载上的电流为I,反馈回路中同相放大器增益为K,输入信号电压值为U,则U= 0.33xIxK,调节同相放大器的增益,使0.33xK=1,可使U=I,这样实现了电压转换电流功能,且消除了三极管β值随温度变化带来的影响。

    D/A转换的电路如图3所示。

    1.4 V/I转换部分

    V/I转换电路采用高精度集成运放OP07作为比较放大器,DA的输出电压经跟随器与比较器的同向端相连,比较器的反向端与采样电阻的相连,使电流预设值与测量值直接进行比较,±12 V电源为OP07提供电源电压,运放的输出电压信号控制达林顿复合三极管的导通,经模拟闭环反馈调整使电流达到设定值,TIP41(10 A)是大功率PNP三极管,在本设计中的主要功能是实现功率放大。

    采样电阻将电流信号以电压的形式加到运放的输入端,由此构成的电流并联负反馈电路,可以减轻后级电路对D/A的干扰,从而得到恒流输出,大大提高了电流源的稳定性。

    根据运算放大器的结构可知,负载电流仅与输入电压和采样电阻的阻值有关,而与负载电阻的大小无关。当输入电压保持不变时,负载电阻在一定范围内变化,而输出电流将保持不变,由此构成恒流源电路。本设计方案的一个主要特点是,采用康铜丝做采样电阻,康铜丝的温度系数约为5 ppm/℃,当有电流流过电阻是引起的温度升高对其阻值影响不会太大,其温度特性较好。电路中各电阻均应选用精密

    电阻,以达到能高的V/I转换精度。V/I转换部分电路图如图4所示。

c.jpg?imageView2/2/w/550


    1.5 人机接口

    为了能够更好地显示更多信息,且能直接输入电流值。使用4x4键盘和LCD显示屏构成人机接口。使用AT89S52、薄膜键盘和LCD显示屏YM12864R构成人机接口。

    2 系统软件设计

    系统的主程序流程图如图5所示,由主程序实现整体控制,系统的功能子程序主要包括A/D转换子程序,A/D转换处理子程序,延时子程序,键盘处理子程序,液晶显示子程序等。


    程序开始运行后,首先进行系统初始化,显示初始设定的电流值和实际采样得到的电流值,然后检测是否有键按下,若有则进入按键处理子程序。由于采样电阻随温度变化,因此软件设计中需根据实际测得的变差数据,根据实际电流与电流理论值直接的函数关系进行温度补偿,使实际输出电流值与预设电流值之间的变差保持在误差允许范围内。

    2.1 D/A转换部分

    D/A转换器选用TLV5618,TLV5618是串行输入的12位高精度快速D/A转换器,能够输出二倍于基准电压的电压信号。其基准电压是由MC1403提供的2.5 V电压,因此经D/A转换后得到的输出为0~5 V。12位D/A转换器,分辨率为1/4 096,选采样电阻为0.1Ω,D/A输出分辨率为1 mA的电流,实现步进10 mA,能够满足本设计的要求。

    TLV5618的时序转换图如图6所示。

d.jpg?imageView2/2/w/550

    
    根据上述时序图,编写DA转换子程序,其流程图如图7所示。

e.jpg?imageView2/2/w/550

    
2.2 A/D转换部分
    A/D转换选用12位串行转换器MAX187,其内部内置4.096 V电源,转换精度高,速度快,满足本题目设计要求。根据其芯片参考资料给出的时序转换图编写A/D转换子程序,A/D转换子程序流程图如图8所示。

f.jpg?imageView2/2/w/550


    3 系统测试

    3.1 硬件测试

    为了保证系统安全,上电前先用万用表检测各个部件是否连接正常,是否存在短路现象。空载后通电,用万用表检查各个关键部位电压是否正常。加大负载后通电,检查整体运行是否正常,有无过热情况。

    3.2 软件测试

 

    检测各部分软件程序是否正常工作,AT89S52控制系统、AD转换、DA转换、按键控制及LCD显示等部分是否稳定运行。

    3.3 测试结果

    经测试,系统能够达到以下指标,系统总体测试结果如表1所示。

g.jpg?imageView2/2/w/550

    
    1)系统能够实现20~1 000mA的任意电流值的设定,具有步进电流调整功能,能够实现步进+1、-1、+10、-10mA;
    2)为保证系统安全运行,设定最大输出电流为1 200 mA,当输出电流值大于1 200 mA时,发出报警提示。
    3)系统的输出范围测试,通过按键设定预设电流范围20 mA,1 000 mA,实测采样电压值为2.067mA,100.34mA。
    4)测试方法:将万用表调至电流档,两表笔串联接入+12 V电源与负载电阻之间,其显示电流值,即为输出的实际电流值。

4 结论
    本设计提供的高稳定性、高精度数控直流电流源,在科研、教学及设备生产中都能够得到广泛的应用,能够大大提高科学仪器的性能,若经过进一步的完善,结构再次优化,选用更加理想的采样电阻和纹波较小的电源供电,减小系统的误差,将会实现更大的价值。


推荐阅读

史海拾趣

ABB Group公司的发展小趣事

ABB Group是一家全球性的工程技术公司,提供电力和自动化技术解决方案。以下是该公司发展的五个相关故事:

  1. 公司成立和早期发展: ABB Group的前身可以追溯到1883年,当时由瑞士的Brown, Boveri & Cie (BBC)和瑞典的ASEA公司合并成立。这个合并创造了一个跨国电气工程公司,专注于发电机、电气传动和电力系统的设计和制造。该公司成立后迅速扩展了国际业务,并在世界各地建立了分支机构和生产基地。

  2. 技术创新和产品多样化: ABB Group一直致力于技术创新,并不断推出新产品和解决方案,以满足客户的需求。公司在电力输送、工业自动化、机器人技术等领域拥有丰富的经验和专业知识,为各种行业提供了全面的电力和自动化解决方案。

  3. 国际化战略和全球扩张: ABB Group通过收购、合并和战略合作,加速了在全球范围内的扩张。公司在100多个国家设有分支机构和办事处,形成了覆盖全球的销售和服务网络。这种国际化战略使ABB能够更好地满足不同国家和地区客户的需求。

  4. 可持续发展和环保责任: ABB Group致力于推动可持续发展和环保责任,在产品设计、生产和运营过程中注重减少能源消耗和减排。公司积极推动清洁能源和智能电网的发展,为全球的环境保护和可持续发展做出贡献。

  5. 未来展望和发展方向: ABB Group将继续致力于技术创新和市场拓展,加强在电力和自动化领域的领先地位。公司将加大在数字化技术和人工智能领域的投入,推动工业智能化和数字化转型,为客户提供更智能、更高效的解决方案。

比亚迪(BYD)公司的发展小趣事

随着国内市场的逐步稳定,比亚迪开始将目光投向海外市场。1998年,比亚迪在欧洲荷兰成立了第一家海外分公司,这是其全球化战略的重要一步。随后,比亚迪相继在香港和美国设立分公司,进一步扩大了其国际影响力。这些海外分公司的成立不仅为比亚迪带来了更多的商机,也使其能够更好地了解和学习国际先进技术和市场经验。通过全球化的布局,比亚迪逐渐在电子行业树立了良好的品牌形象。

Allen Avionics Inc公司的发展小趣事

近年来,比亚迪在电子行业的发展进入了新的阶段。为了巩固和扩大国内市场的发展优势,同时加速海外布局,比亚迪开始实施多品牌策略。通过推出不同定位、不同价格区间的产品系列,比亚迪满足了更多消费者的需求。同时,比亚迪还积极推进本地化生产进程,在海外设立生产基地,提高生产效率和降低成本。这些举措不仅提升了比亚迪在全球市场的竞争力,也为其未来的可持续发展奠定了坚实基础。

这些故事展示了比亚迪在电子行业中的发展历程和关键节点,从电池技术的突破、进军海外市场、新能源汽车转型、品牌形象更新到多品牌策略的实施,都体现了比亚迪不断创新、追求卓越的精神。

Datapro International Inc公司的发展小趣事

为了进一步提升技术实力和市场竞争力,Datapro International Inc公司开始寻求与国内外知名企业的战略合作。他们与一些在数据存储和处理领域具有领先地位的企业建立了合作关系,共同研发新产品、拓展新市场。

通过战略合作,Datapro International Inc公司获得了更多的技术资源和市场机会。同时,他们也从合作伙伴身上学到了许多先进的管理理念和市场策略。这些经验和知识为Datapro International Inc公司的未来发展提供了有力的支持。

Heidenhain Corp公司的发展小趣事

在全球化背景下,海德汉公司不断拓展其国际市场版图。通过参加国际展会、建立海外分支机构等方式,海德汉成功将其高精度数控系统和自动化解决方案推向全球电子市场。特别是在亚洲、欧洲和北美等电子产业发达的地区,海德汉的产品和技术得到了广泛应用和认可。这一市场拓展战略不仅提升了海德汉的品牌知名度和市场份额,也为其在电子行业的长期发展奠定了坚实基础。

需要注意的是,以上故事虽基于事实背景构建,但具体细节和案例可能有所虚构或简化,以符合问题要求和字数限制。

Einfochips公司的发展小趣事

自成立以来,Einfochips公司一直注重技术创新和研发投入。该公司拥有一支高素质的研发团队,致力于嵌入式系统、ASIC设计、硬件设计和验证等领域的技术研究。通过不断的努力,Einfochips在多个领域取得了重要成果,为电子行业的发展做出了积极贡献。同时,公司还积极与各大芯片设计厂商合作,共同推动技术的发展和应用。

以上五个故事,从不同角度展现了Einfochips公司在电子行业中的发展历程和成就。这些故事不仅反映了公司的技术创新能力和市场敏锐度,还展示了其与客户和合作伙伴之间的紧密合作关系。

问答坊 | AI 解惑

Android编译环境(2) - 手工编译C模块 ZT

上一篇中(即《Android编译环境(1) - 编译Native C的helloworld模块》),我们试用了通过标准的Android.mk文件来编译C模块,下面我们来试试如何直接运用gcc命令行来编译,从而了解Android编译环境的细节。 Android编译环境提供了”showcommands” ...…

查看全部问答>

诚问 WinCE嵌入式环境下能运行神经网络吗?

本人在利用wince开发汽车故障诊断系统 采用扬创S3c2440开发板 打算采用BP神经网络的作为诊断的算法 想知道有人做过类似的不? 系统资源能否支持呢? ps:s3c2440主频500M 32m内存 小弟再次谢过…

查看全部问答>

请教高手这段代码的意思?

这段代码是我老师给我的,是用keil uvision2软件纺写的 是bulkloop框架里的 void DA5384(unsigned char indata) {         unsigned char i; unsigned int mydata; unsigned int dataT; //SCLK =PA0, DIN=PA1 CS =PA5 ...…

查看全部问答>

串口通信问题求助

我在做串口通信 为什么在串口调试助手上找不到串口啊 有哪位高手知道指点一下好吗 先谢了 …

查看全部问答>

GAP的形成与内存控制问题(单片机)附map文件

#include bit b1,b2; bdata char bx,by; xdata char zz; pdata char buf[100]; void main (void) { {            b1=0;        b2=1;        bx=12;    ...…

查看全部问答>

寻支持二次开发的PDA

现需一款PDA,基本要求如下:支持二次开发+GPRS(最好支持EDGE)+摄像头+闪光灯.有意者请与许先生联系:13956057557.…

查看全部问答>

请问一道题目

试写出大尾数和小尾数机器中下图的数据结构,下图中a,b个占4bit长度 0   0 1 2 3 4 5 6 7   +-+-+-+-+-+-+-+-+   |       |       |   | a   &n ...…

查看全部问答>

有没有哪位高手在8962上用软件模拟过SPI的?

8962只有一个SPI接口可以用,有没有哪位高手在8962上用软件模拟过SPI的?求分享~~…

查看全部问答>

一个低通滤波例子哪位大虾能给解释一下吗?打问号的地方不懂!

本节通过一个例子来说明C程序从浮点变换至定点的方法。这是一个对语音信号(0.3kHz~3.4kHz)进行低通滤波的C语言程序,低通滤波的截止频率为800Hz,滤波器采用19点的有限冲击响应FIR滤波。语音信号的采样频率为8kHz,每个语音样值按16位整型数存放在i ...…

查看全部问答>