******************************************
注:此文原创 超级口水哥
觉得不错分享给大家!!!
*******************************************
摘要
本系统是一个基于单片机的数控直流电流源系统。采用单片机作为核心,辅以带反馈自稳定的串调恒压源,可以连续设定电流值。由D/A转换器TLC5615、ZLG7289、中文字库液晶显示块、放大电路和大功率调整电路组成。通过独立键盘输入给定值,由D/A转换器将数字信号转换成模拟信号,经D/A输出电压作为恒流源的参考电压,利用晶体管平坦的输出特性得到恒定的电流输出,最后用中文液晶显示输出。其中单片机选用美国TI公司的MSP430F2274作为控制核心,利用闭环控制原理,加上反馈电路,使整个电路构成一个闭环。软件方面主要利用PID算法来实现对输出电流的精确控制。系统可靠性高,体积小,操作简单方便,人机界面友好。
本数控直流电流源以单片机MSP430F2274为控制核心,由D/A转换器TLC5615、ZLG7289、中文字库液晶显示块、放大电路和大功率调整电路组成。通过4位键盘输入给定值,由D/A转换器将数字信号转换成模拟信号,经D/A输出电压作为恒流源的参考电压,以LM作为电压跟随器,利用晶体管平坦的输出特性得到恒定的电流输出,最后用中文液晶显示输出。
单片机MSP430F2274为38条引脚,采用TSSOP(Thin Shrink Small-Outline Package)DA方式封装。
图2.1 MSP430F2274芯片引脚说明
方案一:通过编码开关来控制存储器的地址;根据地址输出对应的数字量送数模(D/A)进行转换;再根据输出的电压量来控制电流的变化;同时;通过四个编码开关的BCD码送给4511及数码管显示。此方案的优点是电路简单,缺点是数据量大且存储器存储容量有限,在设计过程中发现编码开关不稳定,所以不宜采用。其电路方框图如图3.1所示:
图3.1 方案一方框图
Fig.3.1
方案二:采用以MSP430F2274为核心的单片机系统来控制片内自带的10位AD转换模块的数据的输入并将其转换成模拟量输出同时单片机把输入的预值电流送数码管显示,再根据输出的电压量来控制电流的变化,此方案的优点是输入的预值电流信号稳定且避免了大量的数据存储,所以电路设计和制作采用方案二。其电路方框图如图3.2所示:
图3.2 方案二方框图
Fig.3.2 Plan two charts
系统硬件以MSP430F2274单片机为核心,外围包括电源模块、数码管显示模块、D/A转换模块及恒流源模块。
本设计共用到电源有两种:即±12V +5V。
电源原理:稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图3.3:
图3.3 电源方框及波形图
Fig.3.3 Power box and waveform figure
a 整流和滤波电路:整流作用是将交流电压U2变换成脉动电压U3。滤波电路一般由电容组成,其作用是脉动电压U3中的大部分纹波加以滤除,以得到较平滑的直流电压U4。
b 稳压电路:由于得到的输出电压U4受负载、输入电 压 和 温度的影响不稳定,为了得到更为稳定电压添加了稳压电路,从而得到稳定的电压U0。
图3.4 ±12V电源电路图
Fig.3.4 ±12V Power supply circuit
图3.4中电路提供+12 V的电源;主要用于LM1117,再由LM1117产生3.3V的电压作为MSP430F2274的工作电压。
图3.5 +5V电源原理图
图3.5中提供的+5V的电源用于LM358 。 由于要求输出的电流最大值为2000mA,而且主要电流从它通过,所以要用大电容,本设计采用两个2200UF 50V的电容并联(同时为了减小纹波系数本设计在两个电容之间接入有源滤波电路),由于的LM358的耐压值最大可达42V,所以LM358可以安全工作 。
利用MSP430单片机的通用I/ O口( P1口)与TLC5615构成的DAC电路如图3.6所示。分别用P1.0、P1.2模拟时钟SCLK和片选,待转换的二进制数从P1.1输出到TLC5615的数据输入端DIN。
图3.6 硬件连接图
Fig.3.6
方案一:本设计在起初利用图3.7所示 恒流源电路 , 运放的输出端通过三极管与反向输出端相连,构成负反馈电路,由于运放的同相输入端与反相输入端在理论上是虚短的,且运放的输入电阻无穷大,因此反相端和同相端的电位相等,即,又由于三极管的发射极与集电极电流仅相差微小的基极电流,可视为两者相等即。因此可以通过改变同相输入端的电压来调整输出电流的大小。
例如: 时,
但是在测试对的控制比预期效果差,总是小于理论值。
图3.7 方案一恒流源电路原理图
Fig.3.7 Plan a constant current source circuit principle diagram
方案二:输出电流采样电路是采用取采样电阻两端的电压差,根据I=V/R 换算得到电流值的。图3.8是数控电流源的恒流源电路。 LM358和晶体管Q1、Q2组成电压-电流转换器,U1A、U1B和电阻R1-R8利用D/A的输出实现对电压进行数控。LM358主要功能是可以实现V/I转换。TIP42C(10A)是大功率PNP三极管,主要功能是实现功率放大。输出电流采样电路是采用取采样电阻两端的电压差,根据I=V/R 换算得到电流值的。电路原理图如图3.8所示。通过对电阻R9两端的电压值进行采样,经过运算放大器送入片内A/D转换器进行转换。由于R9是2欧姆,所以可以测量0~2000mA的电流范围。R9两端的电压在0~4V的范围内变化,满足系统设计的精度要求。
图3.8 方案二恒流源电路原理图
Fig.3.8 Scheme ii constant current source circuit principle diagram
本题采用ZLG7289来控制按键,控制4个键和四个数码管,实现20~2000mA电流的输入。数码管显示电路图如图3.9所示。利用ZLG7289本身的特性可以串行接口无需外围元件可直接驱动LED,各位独立控制译码/不译码及消隐和闪烁属性,循环左移/ 循环右移指令,具有段寻址指令方便控制独立LED,并且有4 键键盘控制器内含去抖动电路,完全达到题目所提及的要求。
图3.9 数码显示管电路图
Fig.3.9 Digital display tube diagram
用C语言进行程序设计与使用其他高级语言进行程序设计的过程是类似的。即首先对问题进行分析,明确要达到的工作目的、技术指标等,然后确定算法,再根据算法画出工作流程图,然后按流程图编写源程序.经上机调试、修改后最终确定源程序。
由于在进行编程的时候,需要牵涉到许多关于单片机的资源,下面对单片机的一些资源作简单的介绍。
计算机的存储配置有两种典型结构,即:哈佛结构和普林斯顿结构。
在MSP430F2274单片机中,程序存储器ROM是FLASH类型的。它主要是用来放置用户应用程序代码的。而数据存储器主要是用来存放运算的中间结果,标志以及数据的暂存和缓冲等。如前所述,MSP430F2274单片机最大寻址空间为64KB,也就是说,数据存储器和程序存储器的地址范围为0000H-FFFFH。它们的组织结构如图4.1所示:
图4.1 存储器组织图
Fig.4.1 Memory organization chart
在MSP430系列单片机中,CPU内部共有16个寄存器。4个特殊寄存器和12个普通寄存器。寄存器结构图如图4.2所示:
图4.2 寄存器结构图
本设计主程序流程如图4.4所示,开始时中文显示液晶进行初始化,然后通过按键程序输入预设键,系统判断是否有键按下,若无则重新判断;若有则根据按键号转致相应的程序。接下来根据按键号转到相应的程序,若按键为确认键则按公式转换成数值并且启动D/A输出;若按键为清除键则清除当前值。
图4.4 主程序流程图
Fig.4.4 Main program flowchart
本系统显示模块采用中文液晶显示,使用户使用更方便。液晶显示流程图如图4.5所示。开始时清除液晶显示,然后对液晶功能极性设置,设置好以后开始设定进入点,接着显示状态设定,最后等待按键值输入。
图4.5 液晶显示流程图
Fig.4.5 liquid crystal display flow chart
键盘程序流程图如图4.6所示,开始时执行按键操作,并判断是否有键按下,若判断成功则进行键盘消抖并且再次判断。若成功则扫描键盘得键盘值存入累加器,流程结束。
图4.6 键盘程序流程图
Fig.4.6 keyboard program flow chart
如图4.7所示,该图为MSP430单片机内部自带的A/D转换器的转换流程图。开始时进行通道选择,并且允许A/D转换。然后读取寄存器,进行A/D转换。接着确认转换是否结束,若结束则读取转换值,并进行数据处理,若未结束则返回读取寄存器重新转换,直至转换结束为止。
图4.7 A/D转换流程图
用户1647968 2012-8-22 13:05