基于单片机的数控恒流源系统设计

发布者:HeavenlyMelody最新更新时间:2016-03-17 来源: 21ic关键字:PIC单片机  ADC  DAC  恒流源 手机看文章 扫描二维码
随时随地手机看文章
恒流源是一种能够提供恒定电流的电源装置,随着科技的发展它的用途也越来越广泛,在核测井领域、LED照明领域、超导领域以及现代通信领域,都有较广泛的应用。理想的恒流源输出是恒定不变的,而恒流源电路由于负载的温度性能、供电电源的纹波大小、调节的控制方法、单片机及相关控制电路的稳定性等因素,使得实际的输出会有不同的波动,为了尽量减小这些因素的影响,本文采用了稳定可靠的电路及闭环反馈控制等方法,提高了恒流源输出的稳定性和可控性。

1 恒流源系统的组成

文中采用PIC单片机作为核心控制器件。恒流源系统框图如图1所示,主要由单片机电路模块、ADC电路模块、DAC电路模块、恒流源控制驱动和电流采样电路模块组成。系统通过LCD液晶显示器和独立键盘实现了简单的人机交流;LCD液晶显示器显示电流值以及一些相对应功能,而小键盘则用来实现人为的控制恒流源输出。PIC单片机采用型号为PIC 24HJ64GP504通用单片机,其功能完备,具有较高的性能和较低的成本,是首选的小型控制系统核心控制芯片。该系统利用单片机将电流控制值及设定值通过换算转换成DAC的输出,该输出通过恒流源驱动电路实现对电流控制。输出电流经采集放大后,送至ADC并反馈到单片机控制系统中,在单片机中通过补偿运算调整恒流源电流的输出,从而达到提高输出的精度和稳定性目的。

a.jpg

2 恒流源系统主要电路设计

2.1 恒流源电路设计

恒流源电路原理结构图如图2所示。主要通过对功率MOSFET管栅极电压的控制实现对恒流源电流的控制。单片机通过SPI总线将设定或调整值的数字量送至DAC转换变成模拟信号,再经过运放跟随及R4、R3分压后送至恒流源控制处,从而实现对恒流源电流的调节。控制系统在控制恒流源电流的同时,通过采样电阻R5将电流大小采样回来,经放大器放大后送至ADC芯片,从而实现了单片机对输出电流实时监控。当监控到的电流与设定值有差别时,将通过这种闭环反馈环节对输出电流进行调整。当改变负载大小时,在这种调节下基本不影响电流的输出。由图2可知,由于恒流源电流、功率均较大,如果与主控电路使用同一电源,会影响整个系统的稳定性,因此采用独立电源供电,该电源采用带回路端的24 V电源,这就使得控制电路的供电与恒流源供电相互独立,互不影响。

b.jpg

2.2 PIC单片机及外围电路

PIC单片机控制系统是整个控制恒流源的控制核心,主要由单片机、晶振、编程调试接口及滤波电容等组成。最小系统电路如图3所示。其中MCU选用PIC公司的PIC24HJ64GP5 04单片机。该款单片机是一种低功耗、高性能16位微控制器,具有64 k在系统可编程Flash存储器,其晶振频率可达40 MHz,8 k字节RAM,44个引脚,5个16位定时器/计数器。同时其具有功耗低、体积小、技术成熟等优点。

c.jpg

2.3 ADC采集电路设计

ADC采集输入电路如图4所示。为了满足取样精度需要,我们选择12位ADC转换器TLV2541芯片;该ADC是一种高性能,12位,低功耗,COMS 的串行ADC,单通道输入,输出接口数SPI总线,有片选(CS)、串行时钟(SCLK)和串行数据输出线(SDO)三根控制线,这三根线直接接至PIC 单片机的SPI外设端口上。ADC的基准采用REF3225提供2.5 V的基准电压,它有低漂移、高精准的特点,该系列的基准芯片特别适合于做数据采集使用。TLV2541在读取数据时,需要保证严格的时序要求,并给足足够的转换时间。

d.jpg

2.4 DAC控制电路设计

DAC控制输出电路如图5所示,DAC用的是TI的TLV5618。其中DACS、SDO、SCK与单片机连接的SPI接口,单片机通过该SPI协议口将数据送至DAC,并进行调节控制。DAC的输出端经过运放跟随放大后送至恒流源电路,从而调节恒流源电流的大小。TLV5618是12位DAC,DAC每位调节电流步长可达1/4096A,这远低于要求精度。TLV5618需要接外部基准电压,文中选取REF3212为DAC提供1.25 V的基准电压。其输出电压范围为基准电压的两倍乘以编程值。

e.jpg

3 系统软件设计

控制系统的软件程序流程图如图6所示。在系统加电后,主程序首先完成系统初始化,其中包括ADC、DAC、中断、定时/计数器等工作状态的设定,给系统变量赋初值,显示上次设定值等。然后扫描键盘,获取键值,判断功能键是否被按下,一旦按下将执行相应的功能模块;否则,根据设定值、校正等参数计算对应输出的数字量,送给DAC实现闭环反馈控制。

f.jpg

4 电路测试结果及分析

测试所用仪器:数字万用表,5 V及24 V直流电源。为了比较测量值和真实值的误差,我们在0 A~1 A之间选定了10个值相比较,记录测量数据并分析误差。

当负载为10 Ω,输出电流步进为10 mA时,输出电流预置值、显示值和测试值的对照见表1。

g.jpg

表1中显示值是ADC采集回来的数据,经过滤波处理后的值,测量值是万用表显示的读数,由表中结果可知经滤波处理后的数据基本近似于电流设定值,而万用表测量值与程序测量值有一定误差,这主要是由于系统测量本身存在误差,且所用的24 V电源纹波较大,使得万用表读数受到影响,而程序对ADC采集数据做了滤波处理,使得其数据更平稳,但无论哪种测量值其与设定值误差均在要求精度内。

h.jpg
 

为了更好地说明该恒流源系统的性能,文中测试了相同设定值不同负载的电流值,其测试数据见表2所示。该测试结果表明,恒流源在负载变化时虽然有较小误差,但基本能保证其电流值的恒定不变。

5 结论

本文是以PIC24HJ64GP504单片机为核心控制器件,利用DAC、ADC和运算放大器及大功率MOSFET管组成负反馈系统,来完成整个恒流源系统电流的测量与控制。这种闭环反馈控制方法使得恒流源电流能及时快速地回调,增强了系统的可控性及稳定性;同时,还可以方便地通过键盘在 0 A~1 A范围内任意设定恒流源电流值,即使负载变化较大,该系统也能及时调整输出电流,使电流恒定。另外,该系统电路简单、成本低、可靠性高,具有较为广阔的市场前景和应用价值。

关键字:PIC单片机  ADC  DAC  恒流源 引用地址:基于单片机的数控恒流源系统设计

上一篇:单片机数字计时器的系统设计与型式试验
下一篇:基于PWM模块和CWG模块的直流电机伺服系统设计

推荐阅读最新更新时间:2024-03-16 14:47

24位ADC在热电偶测温中的应用
  热电偶由于价格便宜、测量精度高、工作温度范围宽、构造简单、使用方便等优点,应用范围非常广。ITS-90中列出了如下8种最常见的热电偶类型及其测量温度范围。   在热电偶应用中,信号处理电路需要处理非常微弱的电压信号,以常用的K型热电偶为例,当测量-270℃温度时对应输出电压-6.458mV,测量1372℃温度时对应输出电压54.886mV,整个测量范围内温度每变化1℃,输出电压变化40uV。由于热电偶输出电压信号微弱,信号处理电路一般需要较大的增益,同时由于引线较长,往往会在信号上叠加较大的共模干扰噪声。因此信号采集处理的时候就需要,在提取并放大差分信号的同时,尽量抑制共模噪声对被测差分信号的影响。   传统的处理方法
[测试测量]
24位<font color='red'>ADC</font>在热电偶测温中的应用
低功率16/14/12位非缓冲电压输出DAC系列具精确DC规格和1us稳定时间
2007 年 8 月 6 日 - 北京 - 凌力尔特公司( Linear Technology Corporation )推出一个完整的低功率、精确 16/14/12 位非缓冲电压输出数摸转换器( DAC )系列。单极性 LTC2641 和双极性 LTC2642 仅消耗 120uA 电源电流,就满标度阶跃而言,仅用 1us 就能稳定在 0.5LSB 以内。这些电压输出 DAC 具有 0.5nV. s 干扰脉冲,这对波形产生等 AC 应用非常关键。低干扰减小了 DAC 中代码转换之间的瞬变电压。快速稳定和小干扰减小了谐波失
[新品]
基于ICL7135与PIC单片机的温度变送器
  对A/D 转换数据的智能控制。本文以 PIC 单片机与 ICL7135 的实际工程应用为例,介绍一款智能温度控制仪表在 温度变送器 中的应用。   1 PIC 单片机   PIC 系列 8 位 CMOS 单片机具有独特的 RISC 结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于 8 位的数据位数, 这与传统的采用 CISC 结构的 8 位单片机相比,可以达到 2:1 的代码压缩,速度提高 4 倍。   PIC 有优越开发环境、彻底的保密性、PIC 以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝、自带看门狗定时器,可以用来提
[单片机]
基于ICL7135与<font color='red'>PIC单片机</font>的温度变送器
PIC单片机12864编程程序
IC用PIC16F877A,晶振4MHz,采用并行8线,LCD:TS12864-3,接法在程序中有定义,只要将此程序COPY到你的PICC里编译下载后,在目标板上即可以看到图画了! #include pic.h #define RS RC0 #define RW RC1 #define E RC2 #define PSB RC3 #define RST RC4 //PORTD=DATA; unsigned char COUNT3,COUNT2,COUNT1,COUNT,LCD_X,LCD_Y,LCD_DATA1,LCD_DATA2,LCD_DATA,F3,R1,F0; const unsigned char
[单片机]
STM32F的利用HAL库ADC转换DMA方式多通道采样调试总结
1,规则模式下,用户内存缓冲区的数据宽度需要和DMA设置的数据宽度一致,如下: typedef struct rt_device_hwadc { struct rt_device parent; const struct rt_hwadc_ops *ops; uint8_t flag_adc_convert_complete; __IO uint16_t adc_converted_value ; }rt_device_hwadc_t; hdma_adcx.Instance = ADC_DMAx_CHANNELn; hdma_adcx.Init.Direction = DMA_PERIPH_TO_MEMORY; h
[单片机]
PIC单片机学习笔记
1.状态寄存器STATUS 2.实现间接寻址的寄存器INDF和FSR 3.与程序计数器PC相关的寄存器PCL和PCLATH 4.电源控制寄存器PCON PIC单片机的指令系统 PIC16F87X共有35条指令,均是长度为14位的单字节指令。所有指令按操作对象的不同又分为3类:面向字节操作类(17条);面向位操作类(4条);常数操作和控制操作类(14条)。 PIC配置字的设置 PIC的配置字设置方法到目前我学到两种: 1. 两个“_”紧跟CONFIG,后跟配置字设置后的数值; 2. 两个“_”紧跟CONFIG,后跟各配置字的位和状态,其格式如下: ;==============================
[单片机]
<font color='red'>PIC单片机</font>学习笔记
S3C6410开发板adc驱动代码分析及测试代码分析
在本文中,我们对S3C6410开发板adc驱动代码的实现过程进行分析,然后通过一个实例对adc功能进行测试。在本文的资源中包含了设备驱动的源码和测试的源码。 一、设备驱动源码分析 adc的设备驱动主要实现了模块的初始化、模块的卸载、设备打开、设备关闭、设备读取的功能。 1、模块初始化 模块的初始化的源码如下所示。 static int __init dev_init(void) { int ret; base_addr = ioremap(SAMSUNG_PA_ADC, 0x20); if (base_addr == NULL) { printk(KERN_ERR Failed to remap regis
[单片机]
Microchip第60亿颗PIC单片机出货
全球领先的单片机和模拟半导体供应商—— Microchip Technology Inc. 宣布已把其第 60 亿颗 PIC 单片机(型号为 PIC 12F 635-I/P )交付给墨西哥白色家电制造商 Mabe 。这距离 2006 年 11 月 Microchip 第 50 亿颗单片机出货的时间仅相隔短短的一年。 Microchip 总裁兼首席执行官 Steve Sanghi 表示:“第 60 亿颗 PIC 单片机的出货是一项让我们引以为豪的成就,而更令我们欣喜的是能够把这颗单片机交付给墨西哥的客户。这说明 Microchip 多元化的嵌入式控制产品
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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