数字电流源报告.docx
- 文档编号:30683118
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:47
- 大小:608.78KB
数字电流源报告.docx
《数字电流源报告.docx》由会员分享,可在线阅读,更多相关《数字电流源报告.docx(47页珍藏版)》请在冰豆网上搜索。
数字电流源报告
《课程设计》任务书
学生姓名:
专业班级:
通信1103
指导教师:
周建新工作单位:
信息工程学院
题目:
数控直流电流源
初始条件:
1.《单片机》基本理论知识
2.《数字电路》基本理论知识
3.《模拟电路》基本理论知识
4.Proteus、Keil编程基础知识
5.装有Proteus、Keil的PC机
要求完成的主要任务:
设计并制作数控直流电流源。
输入交流200~240V,50Hz;输出直流电压≤10V。
要求:
1)输出电流范围:
200mA~2000mA;
2)可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值≤给定值的1%+10mA;
3)具有“+”、“-”步进调整功能,步进≤10mA;
4)改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对值≤输出电流值的1%+10mA;
5)纹波电流≤2mA;
时间安排:
1、理论讲解,老师布置课程设计题目,学生根据选题开始查找资料;
2、课程设计时间为2周
(1)确定技术方案、电路,并进行分析计算,时间2天;
(2)选择元器件、安装与调试,或仿真设计与分析,时间6天;
(3)总结结果,写出课程设计报告,时间2天。
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘 要
本系统由单片机程控设定数字信号,经过D/A转换器AD5320输出模拟量,控制输出功率管的基极,随着功率管基极电压的变化而输出不同的电流。
单片机系统还兼顾对恒流源进行实时监控,输出电流经过电流/电压转换后,通过A/D转换芯片MAX1241,实时把模拟量转化为数字量,再经单片机分析处理,通过数字量形式的反馈环节,使电流更加稳定,这样构成稳定的压控电流源。
关键词:
压控恒流源 ;AT89C52;数控电源;
Abstract
Inthesystem,thedigitallyprogrammablesignalfromSCMisconvertedtoanalogvaluebyDACAD5320,issenttothebaseelectrodeofpowertransistor,soanadjustableoutputcurrentcanbeavailablewiththebaseelectrodevoltageofpowertransistor.Ontheotherhand,TheconstantcurrentsourcecanbemonitoredbytheSCMsystemreal-timely,itsworkprocessisthatoutputcurrentisconvertedvoltage,thenitsanalogvalueisconvertedtodigitalvaluebyADCMAX1241,finallythedigitalvalueasafeedbackloopisprocessedbySCMsothatoutputcurrentismorestable,soastablevoltage-controlledconstantcurrentpowerisdesigned.
KeyWords:
voltage-controlledconstantcurrentsource;AT89C52;Numericalcontrolledsource;
第一章绪论
1.1目的
1、在实践中对《通信原理》、《微机原理》、《模拟电子技术基础》、《数字电子技术基础》、《电磁场与电磁波》等学科基础课的课堂理论知识做进一步巩固;
2、锻炼对学科基础课的综合运用能力。
1.2任务
设计并制作数控直流电流源。
输入交流200~240V,50Hz;输出直流电压≤10V。
其原理示意如图所示。
1.3要求
(1)输出电流范围:
200mA~2000mA;
(2)可设置并显示输出电流给定值,要求输出电流与给定值偏差的绝对值≤给定值的1%+10mA;
(3)具有“+”、“-”步进调整功能,步进≤10mA;
(4)改变负载电阻,输出电压在10V以内变化时,要求输出电流变化的绝对值≤输出电流值的1%+10mA;
(5)纹波电流≤2mA;
第二章相关理论知识
2.1理论分析
首先,在数控方面采用单片机比CPLD和FPGA等可编程逻辑器件好,因为此处只是一般用途的控制,没有必要选用价格昂贵的CPLD和FPGA,而且他们用在此处并不合适,控制起来显得很麻烦。
而单片机则不同,他有着非常成熟的技术,这方面的参考文献也很多,而且他从来就是用于控制方面的,在这方面有着天生的优势。
还有他价格也不贵,仅几元人民币。
对于这样的应用系统比较划得来。
其次在恒流源方面,我的方案也很好。
从理论上看,运放是接成比较器的,作为模拟反馈的,这样只要运放的输入不变,那么三极管的
是不变的,根据三极管的共射极输入特性可知,
不变时,
和
也保持不变,而且
,
。
当
比较大时
。
当运放的输入改变时,也改变了
值,这样也就改变了
和
的值,而且这个变化基本也是呈线性的。
这也就是本系统的恒流原理。
由于器件受温度的影响以及局部非线性的存在,这样的恒流源不能做到真正的恒流,因此,当外界条件发生变化时,我要及时给予补偿,只有这样才能做到真正的恒流。
这也就是为什么要加入模数转换器的真正原因,他能实时测量电流的变化并按照一定的算法及时给予补偿,采用数字补偿逐次逼近的方式作为反馈调整环节,由程序控制调节功率管的输出。
当改变负载大小时,基本上不影响电流的输出。
模数转换器还起到测量的作用,同时送显示让我知道实际的电流输出值。
2.2系统介绍
本系统以AT89C52单片机为主控制器,通过键盘来设置直流电源的输出电流,设置步进等级可达1mA,并可由液晶模块显示实际输出电流值和电流设定值。
首先,采用单片稳压芯片实现直流稳压,然后采用了分立元器件实现稳流。
为实现对输出电流控制:
一方面,通过D/A转换器(AD5320)输出实现电流的预置,再经过运算放大器控制晶体管的输出电流。
另一方面,单片机系统还兼顾对恒流源进行实时监控,输出电流经过电流/电压转变后,通过A/D转换(MAX1241)芯片,实时把模拟量转化为数字量,再经单片机分析处理,通过数据形式的反馈环节,使电流更加稳定,这样构成稳定的压控电流源。
此外,系统还增加了存储设备,能够保存掉电前的数据,使系统更加方便使用。
系统原理框图如下图1:
图1系统原理框图
2.3AT89C52芯片介绍
我选择的是ATMEL公司的AT89C52单片机,它是一种低功耗、高性能CMOS8位微控制器,具有8KISP(在系统可编程)Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89C52主要引脚的主要功能:
VCC:
接+5V电源。
GND:
接地。
P0口:
P0口为一个8位漏极开路双向I/O口,作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0口具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.1分别作定时器/记数器2的外部记数输入(P1.0/T2)和定时器/记数器2的触发输入(P1.1/T2EX),具体如下表1所示。
在flash编程和校验时,P1口接收低8位地址字节。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89C52特殊功能(第二功能)使用,如下表2所示。
在flash编程和校验时,P3口也接收一些控制信号。
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/
:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(
)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
:
外部程序存储器选通信号。
当AT89C52从外部程序存储器执行外部代码时,
在每个机器周期被激活两次,而在访问外部数据存储器时,
将不被激活。
/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,
必须接GND。
为了执行内部程序指令,
应该接VCC。
在flash编程期间,
也接收12伏VPP电压
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
AT89C52引脚图
第三章硬件设计
3.1恒流源模块
用“运放+大功率三极管”的结构构成恒流源。
大功率三极管选用TIP122型号,它是应用范围广、功率小、频率低的达林顿,NPN极性型,特征频率:
1000(MHz),集电极允许电流:
8(A),集电极最大允许耗散功率:
48(W)。
其性能满足本设计要求,同时可以通过功率管的不同容量来满足不同的应用要求。
采用常用的大功率电阻作为采样电阻,输出电流波动比较大,而康锰铜丝是一种温度特性佳的阻性元件,选其作为取样电阻,其两端电压正比于流过的电流,因此该电压的反馈就是负载电流的反馈。
其原理如图2所示:
图2恒流电路
3.2单片机模块
3.2.1AT89C52硬件电路设计
单片机系统是整个数控系统的核心部分,它主要用于键盘按键管理、数据处理、实时采样分析系统参数及对各部分反馈环节进行整体调整。
主要包括AT89C52单片机、振荡电路、复位电路等。
电路如下图3所示:
图3单片机控制电路
(1)AT89C52单片机的P0口是个双向口,可以作输出输入口,在本系统中用作显示部分,P1口也是个双向口,主要接A/D、D/A和24C02C。
P2口的P2.0、P2.1、P2.2、P2.3接键盘输入,P2.4、P2.5用于键盘控制是能端。
而P3口主要用于中断。
(2)复位电路复位是单片机初始化操作。
复位将单片机复到初始化状态,目的是使CPU及个专用寄存器处于一个确定的初始状态。
如前面介绍,在单片机的复位信号RST上保持2个机器周期以上的高电平,单片机就会复位。
本次设计采用的是手动复位方式,利用按键闭合是单片机复位端上保持接通高电平状态两个机器周期以上。
(3)振荡电路该电路是由内部反相放大器通过引脚XTAL1和引脚XTAL2与外接的晶体以及电容C3和C4构成,产生出晶体振荡信。
此晶振信号接至内部的时钟电路。
图中的晶振频率为11.0592MHz,外接晶体时,电容C3和C4通常选30pF。
虽然对外接电容没有严格要求,但电容的大小会影响振荡频率、振荡器的稳定性和起振的速度。
振荡器的这些特性对弹片机的应用影响很大,因此在设计印刷电路板时,应使晶体和电容尽可能与单片机靠近,以保证稳定可靠。
3.3键盘模块
键盘的作用是对单片机输入数据,设计中要求能使电流进行“+”,“-”及电流值的设定,所以采用键盘为4×4的矩阵键盘,用MM74C922芯片进行识别按键后送AT89C52的并行口P2,P2.0~P2.3作为键盘输入口。
传统的4×4矩阵键盘识别处理程序的编写相对烦琐。
所以采用MM74C922芯片来将4×4矩阵键盘的键值转换成4位二进制码以简化程序的编写。
3.3.1MM74C922
MM74C922是一款集成了键盘防抖动技术和按键检测功能的16位按键的译码芯片。
由CMOS工艺技术制造,工作电压3-15V,“二键锁定”功能,编码输出为三态输出,可直接与微处理器数据总线相连,内部振荡器能完成4×4矩阵键盘扫描,亦可用外部振荡器使键盘操作与其他处理同步,通过外接电容避免开关发生前、后沿弹跳所需的延时。
有按键按下时数据有效线变高,同时封锁其他键,片内锁存器将保持键盘矩阵的4位编码,可由微处理器读出。
其引脚图如图4所示:
图4MM74C922
3.3.2键盘电路
由X1~X4,Y1~Y4的连接方式,即可确定每一个按键的编码。
如图5所示,从键盘的左下角开始,依次编码为0、1、2……E、F。
我将A作为设置键,B作为恢复键,C作为加法键,D作为减法键,E作为确认键,F作为取消键。
再加上0~9刚好16个按键。
通过DA信号触发中断,由于有按键时,DA为高电平,而单片机的中断信号为低电平,故需在DA信号引脚上接上一个非门,再与单片机的INT0引脚相连。
图5键盘电路
3.4显示模块
3.4.11602LCD显示
液晶显示器由于体积小、质量轻、功耗低等特点,已成为各种便携式电子信息产品的理想显示器。
液晶显示器通常可分为两大类,一是点阵型,二是字符型。
一般的字符型液晶只有两行,面积较小,能显示字符和一些很简单的图形;而点阵型液晶通常面积较大,可以显示图形和更多的字符。
为了方便设计,同时又能满足设计的需要及尽可能降低设计成本。
因此,我选择1602LCD液晶显示器。
目前常用16*1,16*2,20*2和40*2行等的模块。
针对此设计,我选用16*2模块。
1602引脚功能说明:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。
3.4.2LCD显示硬件电路
1602LCD的读写控制引脚是第5引脚R/W;在本次设计中,为了降低程序设计,我只用LCD作显示器,在此只对其写操作,所以设计时直接将R/W接地。
其电路原理图如图6所示:
图6LCD电路
3.5A/D模块
3.5.1芯片MAX1241
MAX1241是MAXIM公司推出的一种串行A/D转换器,具有低功耗、高精度、高速度、体积小、接口简单等优点。
MAX1241是一种单通道12位逐次逼近型串行A/D转换器,功耗低,转换速度快。
它使用逐次逼近技术完成A/D转换过程。
最大非线性误差小于1LSB,转换时间9µs。
采用三线式串行接口,内置快速采样/保持电路。
MAX1241内部结构(如图7)和管脚定义(如图8):
图7MAX1241内部结构
管脚
名称
功能
参数
1
VDD
电源输入
+2.7~+5.2V
2
VIN
模拟电压输入
0~
3
SHDN
节电方式控制端
“0”——节电方式;“1”——工作
4
REF
参考电压输入端
1.0V~VDD
5
GND
电源地
6
DOUT
串行数据输出
三态
7
CS
芯片选通
“0”——选通;“1”——禁止
8
SCLK
串行输出驱动时钟输入
频率范围:
0~2.1MHz
图8MAX1241管脚定义
3.5.2A/D模块电路
MAX1241的VDD供电范围为2.7~5.25V,为减少来自电源的干扰,可在VDD引脚配置4.7μF和0.1μF的滤波电容。
由于MAX1241内部没有参考电源提供,需外接参考电压,只需将Vref接在4.7μF电解电容即可;特殊情况下,让
悬空,此时,即可在REF引脚输入参考电压,其范围为1.0~VDD.REF引脚外接电解电容不宜选择过大,电容越大,MAX1241由待机模式到正常工作模式的唤醒时间将越长。
MAX1241的三根数据线,时钟输入端、片选控制端和数据输出端分别由AT89C52的P1.0、P1.1和P1.2控制。
MAX1241芯片内部具有采样/保持电路,无需外部保持电容和采样/保持电路。
MAX1241的控制线SCLK、
、DOUT可与AT89C52的通用I/O口直接相连,无需任何接口变换,模拟电压经前级放大至0~VREF范围后,由AIN引脚输入。
其中MAX1241,所用到的+2.5V基准电压,由LM336精密的2.5V并联的稳压二极管提供。
其外围电路如图9所示:
图9MAX1241外围电路
3.6D/A模块
有前面的计算知,模拟量输出通道我选用了AD公司的单通道12位电压输出D/A转换器,单电源工作,电压范围为2.7V~5.5V,时钟频率最高可达30MHz。
片内高精度输出放大器提供满电源幅度输出,其基准来自电源输入端,可以提供较大的动态输出范围,它利用能与标准的接口标准兼容的3线串行接口与微处理器交换数据,接口简单。
工作过程中,将SYNC置为低电平时候启动写序列,在这个阶段,SYNC线至少要保持低电平一直到SCLK的第16个下降沿,DAC在这第16个下降沿被更新,如果在这之前SYNC被拉为高电平,就意味着写序列中断,此时移位寄存器复位。
来自DIN线的数据在SCLK的下降沿随时钟送入16位移位寄存器,输入移位寄存器的数据位数为16位宽,前两位是无关位,接下来2为是控制位,决定控制器件处于哪种工作方式,最后12位是数据位,它们代表着DA转换器即将输出的电压值。
在第16个时钟下降沿,最后一位数据随时钟输入并按照给定内容执行已编制好的功能。
其外围电路如下图10所示:
图10AD5320外围电路
3.7存储模块
本系统的外扩存储器主要是用来记忆用户数据,因此容量不需要很大,一般的小型存储器芯片就可以。
然而从方便系统扩展来和价格来考虑,我选用了EEPROM—24C02,它是采用
C接口的一种常用2Kbit(256×8bit)的存储器。
3.7.1芯片24C02C
24C02C是一种串行存储器,其容量2Kbit。
A0、A1和A2引脚用于多器件工作。
将这些输入引脚上的电平与从器件地址中的相应位作比较,如果比较结果为真,则该器件被选中。
SDA串行数据引脚为双向引脚,用于把地址和数据输入/输出器件。
该引脚为漏极开路。
因此,SDA总线要求在该引脚与VCC之间接入上拉电阻。
对于正常的数据传输,只允许在SCL为低电平期间改变SDA电平。
而SDA电平在SCL高电平期间若发生变化,表明起始和停止条件产生。
WP写保护引脚必须连接到VSS或者VCC。
如果连接到VSS,写操作使能。
如果连接到VCC,写操作被禁止,但读操作不受影响。
VCC电源输入引脚,标称条件下在VCC低于3.8V时,则VCC阈值检测电路会禁止内部的擦写逻辑。
3.7.2存储模块电路
将A0、A1、A2全部接地,即决定了该模块的地址为0xA0,24C02C的外围电路如图11所示:
图1124C02C外围电路
3.8稳压电源模块
本系统要求自制5V,±12V稳压电源,满足对系统的供电。
对于5V电源,我们制作了使用7805芯片的稳压电源。
电路主要包括:
整流电路、滤波电路、稳压电路组成。
整流电路采用四个二极管整流,经2200uf电容使电流平缓后用0.1uf电容滤波,然后接至7805,输出是纹波较小的5V直流电压。
电路图如下所示:
图六:
5V电源制作图
对于±12V的稳压电源,类似的,本系统使用以7815、7915为三端稳压器的电源。
电源外接的是由220—12V变压器输出的交流电压。
这里整流电路已省去。
第四章软件设计
4.1编程语言描述
本设计我采用的是C51,其编译器是KeilC51,它是德国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统。
KeilC51软件提供了丰富的库函数和功能强大的集成开发调试工具。
C51语言编程方法是:
1.启动uvision4(KeilC51基于Windows下的开发环境),创建一个项目文件,并从器件数据库里选择一款CPU芯片;2.根据应用要求,在PC上用文本编辑软件编写C语言源程序;利用C51编译工具软件对源程序进行编译,生成目标文件(.obj文件);利用C51连接工具对目标程序进行连接定位,生成绝对程序,即可以装载到开发装置仿真运行。
在某些情况下,也可以将绝对程序转化为十六进制代码程序(.hex文件)。
4.2系统软件的功能模块
根据本系统的实际及键盘设置要求,软件设计可分为以下2个功能模块:
主程序和中断程序。
4.2.1主程序设计
主程序主要完成的是一些初始化的设置(比如液晶显示和键盘),和监控程序。
主程序流程图如图12所示。
其中监控程序流程图如图13所示:
图12主程序流程图图13监控程序流程图
4.2.2中断程序设计
中断程序主要是对不同的按键做出不同的处理,其中断流程图如图14所示:
图14中断程序流程图
其中数字程序流程图如图15所示。
设置程序流程图如图16所示:
图15数字程序流程图图16设置程序流程图
恢复程序流程图如图17所示。
加法程序流程图如图18所示:
图17恢复程序流程图图18加法程序流程图
减法程序流程图如图19所示。
确认程序流程图如图20所示:
图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 电流 报告