行业技术领先的反向工程专家
为你提供专业的反向技术方案

力思集团

当前位置:力思PCB抄板工作室 >> 技术文章 >> 基于单片机PIC16F877A的数控电流源设计实现

基于单片机PIC16F877A的数控电流源设计实现

时间:09-10-10 点击:

  本文给出了一种基于单片机控制的数控电流源设计。本设计以PIC16F877A单片机为核心部件,采用PID算法实现了量程可选、输出可调、步进精确、纹波电流极小的功能,而且可将输出电流预置值、实测值在LED上同时显示。经实验测试证明,此设计具有较高的控制精度。
  1  引言
  电源技术尤其是数控电源技术是一门实践性很强的工程技术,涉及了电气、电子、系统集成、控制理论、材料等诸多学科领域。计算机和通讯技术的发展,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。普通电源由于精确度不高等缺点已不能满足现实的需要。直到单片机技术及电压转换模块的出现,才使精确数控电源的发展有了可能。本文所设计的数控电流源采用PIC16F877A单片机为核心部件,键盘、显示、D/A、开关电源等模块为外围电路。
  2  设计要求和总体设计思路
  2.1 设计要求
  本设计要求:输入220V,输出最高12V;通过键盘控制输出电流,步长为0.01A;采用LED显示输出电流,精度为0.02A;电流源稳流范围为(0.2-1)A。
  2.2 总体设计思路
  本设计采用开关电源,以达到输出范围和精度以及纹波的要求。根据系统要求,采用D/A转换后,接运算放大器构成的功率放大来控制D/A的输入,从而控制电流值的方法。本系统主要由数控部分、电源部分和键盘显示电路组成。系统原理框图如图1所示。

   
  3  硬件电路设计及软件选择
  根据数控电流源的设计要求,系统主要由控制模块、电源模块、D/A模块及键盘显示模块构成。
  3.1 控制模块的选择
  本设计采用的是PIC16F877A单片机控制。与AT89C51单片机相比,PIC16F877A采用哈佛结构,能实现指令的单指节化,有精简指令集技术,寻址方式简单,I/O口驱动能力强,具备I2C和SPI串行总线端口,外围电路简洁,不仅便于开发,而且还可节省用户的电路板空间和制造成本。程序保密性强,有低功耗、宽电压设计,能将相当一部分外围器件结合到一起,使用方便,抗干扰性能提高。
  3.2 电源模块的选择
  电源模块一般主要采用全桥整流加电容滤波电路、三端稳压集成电路外接扩流管和开关电源电路。全桥整流加电容滤波电路广泛应用于一些要求不太高的直流电流源中,其驱动能力和后级的滤波电容有关,该电路显著的特点就是能够比较好的满足电流的瞬态相应,而如果负载要求持续的大电流输出,该电路将无能为力。三端稳压集成电路外接扩流管既利用了稳压集成块良好的稳压性能,又能够有一定的电流输出,在一些高精度的线性稳压电源中被广泛采用,但是效果较差。开关电源的功率器件工作在开关状态,功率损耗小、效率高。与之相配套的散热器体积大大减小,同时脉冲变压器体积比工频变压器小了很多。因此采用开关电源的电流源具有效率高、体积小、重量轻等优点。
  由于本设计对电源的要求比较高,尤其体现在对电源的功率和纹波电压的要求上。因此,在这里采用的是开关电源电路。
  3.3 D/A转换模块的选择
  TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC寄存器复位至全零。它是串行输入的10位高精度D/A转换器,因此经转换的最终输出电压可以达到0V~10V。10位D/A,分辨率为1/2048,选采样电阻为15kΩ,D/A输出的分辨率能实现步进0.01A。
  3.4 软件的选择
  Protel 99 SE软件设计系统是一套建立在IBM PC兼容机环境下的EAD电路集成设计软件平台。它具有电路原理图设计、PCB(印制电路板)设计、电路的层次化设计、报表制作、电路仿真以及逻辑器件设计等功能。
  Microchip公司为PIC系列单片机配备了功能强大的软件集成开发系统Mp lab,该软件是一个集成多种单片机应用开发工具软件于一体的、功能完备的软件包。
  本文采用Protel 99 SE软件设计系统进行PCB板的设计,Mp lab进行系统仿真。
  4  数控电流源的单片机程序实现
  本文所采用的PIC16F877A单片机是Microchip公司开发的新产品,具有FLASH编程的功能,可以直接在单片机上进行如暂停CPU执行,观察寄存器内容等操作,是目前应用最广泛的一种PIC单片机。
  单片机程序所要实现的功能是:独立键盘对PIC16F877A单片机输入数据,PIC16F877A单片机对获得的数据进行处理,并送到10位数模转换器TLC5615,实现对电流的控制。
  在这里采用的是C语言编程,其优点是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等。主程序流程图如图2所示。

      
  5  系统测试
  本设计要求输出电流范围为0.2A-1A,恒流源模块采样电阻两端电压为200mV-2000mV,由电压值可以推算出数模转换模块的参考电压|Vref|至少为2V(Vref<0)。本设计的Vref=-2.15V,输出端模拟电压范围为(0-12)V,所以输出电流为0.2A-1A。设计要求在0.2A-1A内任意预值,本设计通过键盘输入电流值送单片机,单片机根据输入的键值,将模拟量转换为数字量送给数模转换电路,然后输出模拟量。部分电流值及其对应的理论和实际的数字量如表1所列。其中对应理论码值为输入电流对应数模转换所需要的码值,实际码值为单片机根据输入电流值处理后送到数模转换器的码值。

                
  表1所列的测试结果表明,本设计输出的最大误差为当输入电流为32mA时,输出电流为33mA,误差为1mA。而题目中发挥部分要求输出电流变化的绝对值≤输出电流的0.1%+1mA,即1.032,所以本设计测量出来的误差值达到了设计要求规定的误差值。
  

在线客服 «

在线客服

客服:韩先生
联系方式
移动热线服务:
18923830091
QQ:
786690736
公司电话:
0755-83676323
二维码