Download as pdf or txt
Download as pdf or txt
You are on page 1of 144

目录

1、 多功能计数器——华中科技大学
2、 多功能计数器——武汉大学
3、 高功率因数电源(第 6 组)——三峡大学
4、 简易心电图仪——(江汉大学参评)
5、 位移测量装置——华中科技大学
6、 位移测量装置报告——武汉科技学院 A
7、 位移测量装置——-武汉理工大学
8、 温度自动控制系统 ——(武汉工业学院)
9、 温度自动控制系统——陈哲(地大)
10、 无线传能充电器——(长江职院)
11、 智能万用表设计——湖北师范学院
题目:
题目:多功能计数器

指导教师 :尹仕,
尹仕,肖看

队员及年级:
队员及年级:胡光恒(
胡光恒(06 级)

王 越(06 级)

骆潘钿(
骆潘钿(06 级)

学校及院系:
学校及院系:华中科技大学电工电子科技创新中心
华中科技大学电工电子科技创新中心
摘要:本设计给出了以 CycloneII 型 FPGA
摘要: EP2C8 为核心的多功能计数器的基本原理与实现
方案。FPGA 片内包括测频模块,测相模块,DDS 查表模块及 NIOSII 处理器; NIOS 核调节频
率字与相位字控制 DDS 查表模块并经片外高速 DA DAC900 输出正弦波。测频测相模块的片外
输入采用 TI 公司的宽带运放 OPA699 放大,并使用 TL3116 构建迟滞比较器整形为方波送入
FPGA 片内,由可编程逻辑在 FPGA 内部组建的测频测相逻辑单元,采用等精度测量方法测得
结果并送 NIOS 核处理,在 LCD 上显示。经测试,频率测试范围达到 1Hz~14MHz,准确度达
0.1ppm,相位测量范围 0~360°准确度 1°,信号灵敏度达到 8mvRMS。

关键词:频率测量 相位测量 DDS


关键词: NiosII SOPC.

Abstract The CycloneII FPGA based multifunctional meter system is constructed of


Abstract:
frequency measure unit, phase measure unit , DDS unit and NiosII embedded
microprocessor. By setting the frequency word and the phase word, NiosII controls
the DDS and drives the DAC900 to provide sine wave. With the importation of off-chip
module using TI's broadband operational amplifier OPA699 and hysteresis Comparator
TL3116, meter logic inside the FPGA measures the square waves using the principle
of equal precision multi-period synchrony frequency measurement. Under the test
environment, the whole system has obtained the request of velocity and the accuracy .

Keywords frequency meter, phase meter, DDS, NiosII, SOPC.


Keywords:

一 方案论证与设计

1.1 方案设计

1.1.1 频率测量方案
方案一:
方案一:快速傅里叶变换
数据由 AD 离散后,经 FIR 滤波,送入基-4 快速傅里叶变换引擎进行多级蝶形运算,从 3
组 ROM 表中取出旋转因子乘入每次蝶形运算,对每级计算输入数据进行定浮点动态指数处理,
在蝶算单元之外对存放每级输入输出数据的多组双口 RAM 的地址用逻辑模块进行调序来实现
连贯的 log4N 级蝶算。对所得正弦余弦结果,通过 CORDIC 算法,经大面积逻辑单元的移位及
流水线操作得到信号在整数倍基频处的模量。即完成时域到频域的转换。

方案二:
方案二:等精度计数
将正弦信号进行迟滞比较转化为同频率的方波信号,在 FPGA 内,通过逻辑模块实现等精
度频率测量并送 NIOS 核处理。测得 1s 左右闸门时间内整周期待测信号的时间段中,低频待
2
测信号和高频参考信号周期累计数之比,乘以参考频率即得带测信号频率。

对于以上两种方案进行比较,方案一速度快,可达到实时性测量,测量频率范围宽,但
因频率分辨率完全依靠离散傅里叶变换的点数。逻辑单元和 RAM 的限制使得 FFT 不可能达到
高频率分辨率,仅适合多频率混合时的测频。而方案二可在极小的消耗下实现非常精确的分
辨率,在信号失真度较小,且外围环境稳定时是测频的理想方案。

1.1.2 相位测量方案
方案一:将两路同频信号在时域叠加,经
方案一 FFT 运算后,求得频域实部与虚部的模量之比
的反正切值,即为正交分离下的正弦余弦相位差,作处理得到两路正弦相位差。

方案二:将被测的两路正弦波信号经比较器整形成方波信号,利用异或门电路进行鉴相
方案二
处理,将得到的脉冲序列经过 AD637 真有效值-直流转换芯片,测出该脉冲序列的有效值,
该有效值与脉冲序列的占空比成正比,从而反推出两信号的相位差。

方案三:测得两同频率待测信号对应跳沿的时间差中时钟脉冲的个数,与整周期时钟脉
方案三
冲数比较,从而得出相位差。

比较三种方案,方案一在二分之一取样频率内整倍取样频率时的幅值可轻易达到的 8 位
以上分辨率,因而计算出的相位准确度较高,但在时域上将两信号叠加所引入的误差难以很
好控制,导致最终效果差。方案二在低频段时,AD637 响应不平坦,转换精度有限。方案三
在两信号相差较小或频率较高时,将导致相差时间计数脉冲数量不足,导致下降,但其实现
简单方法简单可靠,误差最小。

1.1.3 移相信号发生器方案
方案一:使用成品
方案一 DDS 芯片 AD9851,AD9851 是 ADI 公司的一款成品 DDS 发生芯片,该芯
片的相位累加器为 32 位,而相位分辨率仅有四位,换算为仅有 16 种相移角度。

方案二:在
方案二 FPGA 内建查找表实现的程控 DDS 模块。在相位字的基础上频率字自累加作为
ROM 表地址,查表输出数据到 DA;

比较两种方案,方案一移相能力无法满足本题需要;方案二的控制更灵活。

1.2 主要器件型号

本设计中使用的主要器件为 TI 公司制造,分别为输出正/负可变电压集成三端稳压块
LM317/LM337,低压差线性稳压芯片 TPS78633,TTL 集成施密特触发器 SN74LS14, 宽带高增
3
益限压放大器 OPA699,单电源 Rail-to-rail 双运放 OPA2350,以及超快低功耗精密比较器
TL3116。
3 端 1.5A 可调正/负电压稳定器 LM317/LM337 具有高达 1.5A 的最大输出电流,内置过热、
过流保护和短路保护,宽输入电压范围(最高 40V),全温度范围内最大 0.7%的温度系数,
其具有极大的灵活性,与稳定性,为系统提供±5V 电源。
单输出低压差 1.5A 线性稳压器 TPS78633 具有高达 1.5A 的最大输出电流,具有超低噪声、
高电源抑制比等优点,0.4V 的低压差使其能够在 5V 的电源下稳定提供可靠的 3.3V 系统电源,
其内置的过流过热保护提高的系统的稳定性。
OPA699 是宽带高增益限压放大器,其高增益稳定的特性、典型 1400V/us 的压摆率和
260MHz 的带宽增益积满足了本方案所要求的高增益(10 倍)、宽带(1Hz~10MHz)。OPA699
配合外部电阻构成的增益共 100 倍的两级前级放大器能够将最小 10mVrms 的小信号放大到整
形系统所要求的范围。
TL3116 是一款低功耗、超高速精密电压比较器,10ns 的建立时间能够满足本方案要
求的 10MHz 信号比较,并有一定的裕度,3mV 的失调电压充分保证了比较门限的精度,
14.7mA 的通道消耗电流降低了系统能耗,5V 的输出电平兼容后级整形电路。本方案中 TL3116
用来构造迟滞比较器将前级送来的放大后的信号转换为方波信号。
SN74LS14 是一款 TTL 集成 6 施密特反相器,在本方案中用来做后级信号整形输入至
FPGA。

二 系统实现

2.1 原理分析与硬件电路图

该系统由 FPGA 片上数字部分及其片外模拟环境组成:


总系统框图为:

4
2.1.1 相位差测量模块
相位测量部分的实现原理为:通过测量两路波形异或时间和整周期时间内参考脉冲数之
比以及超前滞后情况来求得相位差。具体时序如图

为避免由于斯密特触发器导致的方波占空比不为 50%时对相位测量所造成的麻烦,首先
对两路方波按周期交替取高低电平,再对处理后的两路待测方波取异或,对一周期区域内参
考脉冲及异或区域内的参考脉冲分别计数。(图中结果分别为 100 和 56)异或区域脉冲的一
半比上整周期脉冲数,即为相位差。同时在第一个待测方波的上升沿判断超前滞后情况并给
出标记。经一周期测量后数据和标记保持至下次复位,待 NIOS 读取。

2.1.2 频率测量模块
频率部分采用等精度测量法。在整周期的待测信号时间内同时对待测信号和参考脉冲进
行周期计数。由两周期数之比及参考脉冲频率可得频率测量结果,逻辑时须如图:

在外界复位后,对参考脉冲 s_clk 进行计数,提供 1s 的参考时间 second(图中仅为 1/500


脉冲时间)。在 1s 参考时间内取整周期的待测信号,此过程的时间由 frq_second 标记,在这
段时间内同时对待测信号和参考信号进行按令一路参考信号 clk 进行计数。为了避免两路参
考信号相位差较小时导致的不稳定因素及误差,两路参考信号分别使用 NIOS 核时钟及同频
率-72°的 SDRAM 时钟。所测得待测信号与参考信号周期数保持至下次复位,等待 NIOS 读
5
取。

2.1.3 相移产生部分:
相移产生部分:
数字部分由 FPGA 内部通过 Matlab 的 Simulink 建立基于延迟查表的 DDS 为两路频率相
位可调的正弦信号。单个 DDS 模块如图:

综合考虑到低频频率需求及逻辑资源消耗,选取 1024 点的 10 位宽 ROM 表及 32 位的频


率字与相位字,频率字经一级乒乓延迟后自累加,并加上相位字,削去溢出位,取高 10 位作
为 ROM 表的地址。DDS 模块直接输出数据到片外高速 DA,经过缓冲放大输出,作为相位
计部分的被测信号。

2.1.4 频率计片外调理部分:
频率计片外调理部分:
输入信号幅度要求为 10mVrms~5Vrms,频率范围为 1Hz~10MHz。信号的幅度小,频率高,
跨度范围大。我们才用了比较简便的办法,将输入的小信号进行足够倍数的放大,而大信号
则被二极管箝位,保护了运放。

频率部分框图

6
输入信号采用了 50 欧电阻+双 1N4148 高速二极管的箝位方式,保证了输入放大器的信号
的幅度在正负二极管压降的范围内。若采用对电源和地的箝位方式则运放有可能工作在超电
源电压的状态下,导致不稳定。
两级放大均采用了 TI 公司的宽带运放 OPA699 构成同相 10 倍放大器。本方案要求运放的
带宽大于 10MHz,带宽增益积大于 100MHz,压摆率大于 314V/us。而 OPA699 的各项指标为带
宽 260MHz,高增益稳定工作,带宽增益积 1000MHz,压摆率 1400V/us,满足方案要求并有裕度。
放大器输出要被整形为正方波信号才能被 FPGA 识别。信号整形采用了 TI 公司的超高速
低功耗比较器 TL3116 和 SN74LS14。由于信号的最低频率低,上升缓慢,若采用过零比较则
会造成比较器多次翻转产生错误,而具有双门限的迟滞比较器则能很好解决此问题。比较器
输出被 74LS14 进一步整形输入 FPGA。
题目要求频率计的输入范围能达到 10mVrms~5Vrms,对应的峰峰值为 28mV~14V。为使
电路后级施密特触发器能够正常工作并识别脉冲,信号幅度最大的放大值为 110 倍,故前级
采用了两级 11 倍共 121 倍的同相放大,并采用 7414 施密特触发器对信号进行整形。
对运放的选型要求,放大倍数 11 倍,带宽 10Mhz,同时为避免小信号时的直流漂移对整形
的影响,必须采用低失调运放。运放选用了 TI 公司的 OPA699 宽带高增益运算放大器,其
1400Mhz 带宽增益积,高增益特性,典型 1.5mV 的失调,能够很好的满足本题的需要,特别
是需要运放进行饱和放大时,较低的过载恢复时间能够减小运放带来的波形失真。1400V/uS
的高压摆率能最大提高波形的前沿。

电路测试时发现前级电路的输入频率与输出方波脉冲频率在低频段有较大误差。输入信
号 500Hz 而读数却有 2000 多。示波器观察放大器输出发现,放大器输出有明显毛刺。
分析后得出,由于方案采用了饱和放大的做法,以至前一级放大器在过零点的噪声毛刺
被后级放大器放大到可使比较器翻转的幅度,导致产生毛刺脉冲,计数错误。而在高频段由
于毛刺宽度窄,信号上升沿陡以及系统带宽的原因被忽略掉。
因此我们采取了在施密特触发器整形前加装一级 RC 低通滤波器的简便做法,将低频段
(<100KHz)毛刺滤掉,而在高频段将滤波器断开,减小高频信号的损耗。实践表明,该改进取
得良好效果。

7
2.2 软件设计
软件设计流程
设计流程

另:开机校准。如有更精确频率的信号源(如温补晶振),可选择开机外部校准,即接入外部
信号源,输入准确频率值,系统会根据测试结果对精度进一步校正。最后得到的值以开机外
部校准为参考。默认情况下为系统已进行过的内部校准。

三 系统测试与误差分析

4.1:
:片上部分测试

4.1.1:.FPGA 测频模块与测相模块经时序仿真通过。DDS 模块经 MATLAB 仿真通过。

4.1.2:.使用 FPGA 硬件级调试,NIOS 控制 DDS 输出信号,送往片内测频测相模块计算, 再


读取测量结果,作基本运算并通过 JTAG UART 控制台显示出来。以联合测试整个数字系统。
(系统时钟 50M)
ROM 表地址线 10 位,在 32 位控制字中的步进为 0x0040_0000。
设 Fn(0x0040)为频率字相对于 0x0040_0000 的倍数,即相当于 0x0040_0000 的步进数。同理设
Pn(0x0040)为相位字步进数。
由计算可得:
待测信号频率 = DDS 频率 * Fn(0x0040)/ 1024 …………………………(1)

8
待测信号每周期参考脉冲数 = 参考脉冲频率 / 待测信号频率
= (参考脉冲频率 * 1024)/ (DDS 频率 * Fn(0x0040))
= 1024 / Fn(0x0040) ………………………………………….(2)

待测信号每周期相差时间内参考脉冲数 = △ Pn(0x0040)*待测信号每周期参考脉冲数 / 1024


= △ Pn(0x0040) / Fn(0x0040) ……………………..
(3)

表 1,不同频率字下的频率测试结果
频率字 周期数 脉冲数 期望频率 实测频率 相位字 1 相 相差脉冲 期望脉
位 数 冲数
字2
97656 49999872 97656.250000 1

97656 49999872 97656.250000 1

97656 49999872 97656.250000 1

97656 49999872 97656.250000 1

97656 49999872 97656.250000 1


0x80_000 97656.25 0x80_0000 0x0 1
97657 50000384 97656.250000 1
0
97657 50000384 97656.250000 1

97656 49999872 97656.250000 1

97656 49999872 97656.250000 1

97657 50000384 97656.250000 1

1 50529027 0.98953023 0.98953024 0x80_0000 0x0 98689 98689.

5058
1 50529027 0.98953024 98689

1 50529027 0.98953024 98689


0x0000_
1 50529027 0.98953024 98689
0055
1 50529027 0.98953024 98689

1 50529027 0.98953024 98689

1 50529027 0.98953024 98689

1 50529027 0.98953024 98689

1 50529027 0.98953024 98689

1 50529027 0.98953024 98689

经测试,数字部分的片内模块及处理器合格,精度在设计范围内.

9
4.2 片外部分测试
片外部分测试:
测试:
4.2.1 测试环境 25°C
4.2.2 测试仪器:TDS1012 100M 数字存储示波器;固纬 GFC-8270 8 位等精度频率计;
EE1643C 型函数信号发生器;Fluke F17B 型数字万用表
4.2.3 测试方法
标准频率计与自制频率计同时测量函数信号发生器频率。
4 测试数据

函数信号发生器频率 标准频率计读数 自制频率计读数

2.623 2.6175735 2.6175737

226.88 226.88201 226.88199

25.583k 25.583732k 25.583735k

1.1570M 1.1570752M 1.1570750M

10.219M 10.219237M 10.219235M

15.076M 15.075773M 15.075772M

Vi=10mVrms.
5 误差分析
高频时由于系统带宽原因,信号不能得到充分放大,从而被比较器滤除,导致测试数据
误差。

五 总结
本系统实现了题目基本部分以及发挥部分的要求,经过测试,相位测量仪的测量范围为:
电压(峰峰值):20mV~15V;频率:1Hz~100kHz;显示分辨率为 0.1 度,测量的绝对误差
在 1º以内。数字式移相信号发生器在 1Hz-100KHz 范围内波形能够稳定输出,并且扩展到
0.1Hz-1MHz KHz,频率相位步进字为 32 位º,幅值在 0.4V-4V 范围内可调,
系统有待进一步完善,verilog 部分的稳定性及保护措施可以提高,外围电路 AGC 的使
用将提高准确度。对有效位数要求高时,应将数据分为整数和小数部分,分开存储,使用 mutex
双核 NIOS 分开处理和显示,在更高实时性或更多任务时,有必要引入 uC/OS 可剥夺性 RTOS。

参考文献:
参考文献:
[1]李兰英等.Nios 嵌入式软核 SOPC 设计原理及应用.北京:北京航空航天大学出版社,2006.
[2]谢自美等.电子线路综合设计.武汉:华中科技大学,2006.
[3]管致中等.信号与线性系统(第 4 版).北京:高等教育出版社,2004.
[4]康华光,陈大钦.电子技术基础模拟部分(第四版).北京:高等教育出版社,1999.
10
[5]康华光,邹寿彬.电子技术基础数字部分(第四版).北京:高等教育出版社,1999.

附录

11
多功能计数器
指导老师:黄根春
队员及年级:伍玉、陈林辉、夏效禹
2006 级
学校及院系:武汉大学电子信息学院

摘要:本系统以单片机和 FPGA 构成的最小系统为控制核心,由宽带放大模块,


摘要:
比较整形模块,频率、相位差测量模块等模块构成。在 FPGA 内采用等精度测频
法测出频率和周期,可实现对有效值为 0.005V~5V,频率范围 1Hz~35MHz 信号
的频率、周期的测量。用计数法测出相位差,可实现对有效值 0.5V~5V,频率
10Hz~100KHz 信号的相位差测量。系统功能由按键控制,可对测量结果实时显
示,人机交互界面友好,达到了较好的性能指标。另外我们系统还具有自动校准
和手动校准的功能。

关键字:
关键字:
等精度测频法 相位测量 程控放大

Abstract:
:This system is built upon the core of 89C55 microcontroller (MCU) and
FPGA, consisting of the following functional blocks:progammable amplifier module,
comparator module, frequence and phase difference testing module.We implement the
equal accuracy frequency-examining technique and it manages to test the frequency
and circle of signal which ranges from 1Hz ~ 35MHz and the amplitude of which
ranges from 5mVrms to 5Vrms.We manage to detect the phase difference of signal,the
amplitude of which range from 0.5Vrms to 5Vrms and the frequency of which range
from 10Hz to100KHz.The function of the system is controlled by certain designed
keys,while the LCD display shows the results.The system reaches excellent capability
and is friendly interfaced. Our system also has the function of automatic calibration
and manual calibration of frequency.

Keywords:
Equal accuracy frequency-examining method Phase difference testing
Progammable amplifier

1
1 方案设计
1.1 理论分析
① 频率和周期测量方法分析
频率和周期测量方法分析
采用等精度测频法,其测量原理
时序如图 1.1 所示。由待测信号 Fx
和预置门 Gate_p 来控制精确门(同步
门)Gate。预置门内的第一个 Fx 的上
升沿到来时精确门 Gate 开启,在预
置门结束后的第一个 Fx 的上升沿时
刻,Gate 关闭。在精确门内,分别对
待测信号 Fx 和高频标准脉冲 Fo 计 图 1.1 测频时序图
数,计数值分别为 NA 和 NB。被测频率
NA
FX = × Fo ,取 Fo = 40 MHz 。
NB
在实际测量过程中,由于采用了等精度测频法,精确门 Gate 正好是 Fx 的整
数倍,所以对 Fx 的计数值 NA 不存在误差,而对 Fo 的计数值 NB 存在 ± 1 的误
差。因此系统的相对误差
NA NA
( ⋅ Fo − ⋅ Fo )
∆FX 1
= NB − 1 NB ≈
FX NA NB
⋅ Fo
NB
当 T ≈ 1s , Fo = 40 M 时, ∆ F X ≈ 1 × 10 − 6 Hz ,可以满足题目要求。
40
当测量的低频段信号的频率低于预置门频率时,在精确门内就无法计数了。
由于题目最低待测频率为 1Hz, 且门限可以为 1s,等精度测频法可以满足要求。
② 相位测量方法分析
设 IN1 和 IN2 为两路输入信
号经 过 整 形 得到的 方 波 信号,
Gate2 为 IN1 和 IN2 经过异或之后
得到的脉冲信号,Fo 为 FPGA 内
部的标准高频脉冲信号。将 IN2
进行八分频,结合单片机控制,
可以得到一个动态门控信号
Gate1。 1.2 图 测相时序图
动态门控与脉冲信号相“与”,可以得到门限内的有限个脉冲信号 Gate2。
易知,Gate1 中含有 IN2 的 4 个周期,Gate2 含有 8 个异或脉冲。在其中分别对

2
clk 进行计数,分别得到计数值 M 和 N。当 0 o < ϕ1 − ϕ 2 < 180 o 时,根据公式
N
∆ϕ o = ϕ1 − ϕ 2 = 8 × 360 o ,可以精确地测得相位差绝对值。其时序图如图 1.2
M
4
所示。由于对高频脉冲计数可能存在 ± 1 的误差
1 N +8 1 N
δ max ( ∆ϕ ) = ∆ϕ ' − ∆ϕ = × × 360 o − × × 360 o
2 M −1 2 M
4 1440 o
即 δ max ( ∆ϕ ) = × 360 o ≈
M −1 M

在 F=100KHz,时, M min ≈ 1600 ,则 δ max (∆ϕ ) ≈ 0.9 o ,满足题目测量准确度

为 1o 的要求。在 ∆ϕ = ϕ1 − ϕ 2 < 180 o 时,可以直接用公式 (2) 得到相位差,即

∆ϕ = ∆ϕ o 。当 ∆ϕ = ϕ1 − ϕ 2 > 180 o 时,相位差 ∆ϕ = 360 o − ∆ϕ o 。

为了判断 ∆ϕ 的区间,我们在 FPGA 内部生成一个 D 触发器,以 IN1 为触


发器的数据输入, IN2 为触发器的时钟输入,若触发器输出端为高电平,则
0 o < ∆ϕ < 180 o ,若输出端为低电平,则 180 o < ∆ϕ < 360 o 。
1.2 器件选择
① 比较整形模块
比较整形模块
对正弦波进行频率测量,需要先将其整形为方波。而信号频率范围从 1Hz
到 35MHz,一般的比较器无法达到这么宽的频率范围,于是我们采用两个 TI 公
司的比较器 TL3116 和 LM311,分别用做高频信号和低频信号的比较整形。
TL3116 是一款超高速的比较器。它的输入共模电压可以达到负供电电压值,
适合对地电平敏感的应用场合。它的偏置电压很小,精度很高。速度极快,且功
耗很低,在标准情况下,只需要 12.7mA 的电流就可以达到低至 10ns 的传输延
迟时间。使用它来进行 35MHz 信号的比较整形,非常适合。
LM311 是一款高速比较器,响应时间稍大于 100ns。是一款用途很广泛的通
用芯片。采用这款比较器对低频信号进行整形,效果很好。
② 宽带放大器模块
宽带放大器模块
为了实现频率 1Hz 到 35MHz 信号的准确测量,需要采用宽带放大器。宽带
集成运放的突出性能是很高的增益带宽积、极大的电压摆率。一般情况下,电流
反馈型运放在频率响应上的性能要优于电压反馈型放大器。但电流反馈型放大器
的宽带特性导致了噪声增大。Ti 公司的 OPA637 是一款宽带的电压反馈型运放,
且噪声很低。由于本系统需要处理幅度很小的信号,放大器的噪声对系统性能影
响很大。于是我们舍弃高带宽电流反馈型运放 AD811,而选择 Ti 公司的 OPA637。

3
OPA637 是一款高精度高速 Difet 运算放大器。绝缘隔离 FET(Difet)技术能
够制造精度非常高的低噪声运算放大器。Difet 工艺还使寄生电容和输出晶体管
饱和效应减至最小,从而改进带宽特性并获得了更宽的输出摆幅。它的 Difet 制
造工艺使之在不引入附加输入电压噪声的条件下获得非常小的输入偏置电流。如
此低的输入偏置电流保证了它的共射共基电路具有很宽的共模输入电压范围。
Ti 公司的 OPA637 具有高增益带宽积、高摆率、低噪声的特性。在频率为
10KHz 时噪声只有 4.5nV / Hz 。它的建立时间很短,450ns 可以达到 0.01%,摆
率可达 135V/us。当增益 G ≥ 5 时输出很稳定。尽管处理频率高于 10MHz 的信号
时,输出信号会有一定衰减,但是已经能够满足后级比较器的输入信号幅度要求。
③峰值检波模块
在进入模拟开关之前,需要进行峰值检波,通过测得的信号的幅值确定模拟
开关的通道。峰值检波后级为一级射级跟随器,起到模块间隔离的作用。射随电
路中使用了 Ti 公司的精密运放 OPA602。
它是一款高精度、宽带运算放大器。Difet 结构使之成为独特的高速和高精
度的特性完美结合的运放。它的宽带设计将其动态误差最小化。OPA602 独特的
共射共基输入电路保证了它的低输入偏置电流以及在满量程输入共模电压范围
内的高精度输入特性。这款运放具有 6.5MHz 的带宽,35V/us 的摆率,最大的偏
置电压为 ± 250uV ,最大偏置电流为 ± 1 pA 。建立时间较短,在 1us 内可以达到

0.01%。单位增益输出稳定而且可以驱动高达 1500pF 的容性负载。


④相位测量模块
在相位检测模块中,为了防止引入额外相差,我们采用了 Ti 公司的双路放
大器 TL052 进行前级幅度调理,采用双路比较器 TLC372 进行比较整形。
TL052 是一款增强型结型场效应管低偏置运算放大器。在标准情况下,TL052
摆率为 20V/us,速度较快,且功耗很低。
TLC372 是一款 LinCMOS 双差分输入比较器。它的输入电压范围很宽,可
达 2V ~ 18V;耗尽电流很小,在 5V 时只有 150uA;它具有很高的输入电阻,标
准情况下可达 1012 Ω ,可以直接与高阻信号源相连。内部还集成有静电放电保护
电路。它具有极小的输入偏置电流,标准情况下只有 5pA;具有极低的输入偏置
电压,最大情况下有 5mV。
1.3 设计方案论证
①测频、
测频、测周方案
测周方案
将信号比较整形为等频率的方波,再送入 FPGA 内进行频率测量。
方案一:直接测频法。在确定的闸门时间内,利用计数器记录待测信号通过
的周期数,从而计算出待测信号的频率。此方案对低频信号测量的精度很低,较

4
适合于高频信号的测量。
方案二:测周法。以待测信号为门限,记录在此门限内的高频标准时钟的数
量,从而计算出待测信号的频率。但被测信号频率过高时,由于测量时间不足会
存在精度不够的问题,此方案适于低频信号的测量。
方案三:等精度测频法。其精确门限由被测信号和预制门控制共同控制,测
量精度与被测信号的频率无关,只与基准信号的频率和稳定度有关,因此可以保
证在整个测量频段内测量精度不变。因此我们选取方案三。
②相位测量方案
相位测量方案
方案一:波形分析法。同时对输入两路信号进行等间隔采样,然后经过统计
计算确定两路波形的时间间隔 ∆T ,由此计算出相位差。该方法需要软件对大量
的波形数据进行处理,实现复杂,且精度不易提高。
方案二:相位电压转换法。具体实现方法有采样法(低通滤波法)和积分法。
采样法是将两路待测信号整形成为方波信号后进行逻辑“异或”,异或输出
的电压的直流成分反映了两路信号的相位差。这种方法操作简单,但由于存在滤
波环节,测量精度不易提高。
积分法可以消除采样法中低通滤波器引入的误差,将异或输出的脉冲电压送
至积分器,通过计算充电放电时间 t1、t2 可以得到相位差。这种方法测量精度
较高,但这种方法对积分电路和放电电路要求很高,受分立元件的参数影响很大。
方案三:计数法。将两路信号经过整形和异或后,所得的输出脉冲的占空比
能反应相位差的大小,对异或脉冲进行填充计数,可以测得其相位差。采用多周
期同步计数法,可使量化误差大大减小,精度也完全可以达到题目要求。
综上所述,选取方案三。
③信号采集与调理方案
由于测频、测相输入信号的幅度最小为 0.005Vrms,而比较器能检测到的输
入信号的幅度有最低限制。两信号幅度的差异可能会引入额外误差。因此信号需
要进行调理后才可送入比较器整形。
方案一:将信号进行限幅放大。但这样会将噪声放大,引入不稳定因素。
方案二:根据信号幅值分级放大。利用峰值检波大体检测出信号的幅度范围,
单片机根据峰值选通模拟开关的不同通道,分别进行不同增益的放大。该方案可
以很好地解决宽幅度范围的输入信号调理的问题,于是我们选取方案二。
2 系统实现
2.1 硬件设计
2.1.1 系统框图
根据以上的方案论证与比较,对于待测频率信号,先将信号经过峰值检波电

5
路,再由 AD 转换测出信号幅度的大小,然后由单片机控制模拟开关选择相应的
放大通道,使得不同幅度的信号都放大到比较器的正常比较范围。用 TL3116 和
LM311 分别对高频信号和低频信号进行整形后进入 FPGA 的测频模块,可精确
地测得信号频率和周期值。对于两路待测相位信号,先将其用双运放 TL052 进
行幅度调理后再通过双路比较器 TLC372 进行比较整形,所得方波信号输入到
FPGA 的测相模块。系统的总体框图如图 2.1 所示。

图 2.1 系统框图
2.1.2 功能模块设计
① 峰值检波模块
在进入模拟开关之前,需要进行峰值检波,通过测得的信号的幅值确定模拟
开关的通道。峰值检波电路是由二极管电路和电压跟随器组成,其工作原理为:
当输入电压正半周通过时,检波管 D2 导通,对电容 C1 充电,直到到达其峰值。
三极管的基极由单片机控制,产生 10us 的高电平使电容放电,以减少前一频率
测量对后一频率测量的影响,提高幅值测量精度。其中 D1 处于常导通状态,用
以补偿 D2 上造成的压降。电容 C1 的取值需根据被测信号的频率合适的选取,
此电路中的二极管使用高频二极管,可大大提高测量范围的频率上限。其电路图
如图 2.2 所示。
R2
510ohm
+12
+12
OPA602
7

AD811 8
7

8 2
2 D2 6
Vout
6 3
3 5
Vin
5 1
4

1 R1 C1
4

27k +5 10uF
R1
-12 -12
27k
D1 GND 2N3904
R2

820
Control
GND GND

图 2.2 峰值检波模块
② 宽带通道放大器分析
为了检测有效值 0.005V~ 5V 的信号(即 Vp_p 为 0.014V~14V)的频率,而高
频比较器 TL3116 能检测到的输入信号的最小幅度 Vp_p=0.8V,因此需要对信号

6
进行程控放大。当测得的信号峰峰值 Vp_p<0.1V 时,设定放大倍数为 120,当
0.1V<Vp_p<1V 时设定放大倍数为 10,当 Vp_p>1V 时,设定放大倍数为 1。
以 MAX309 为模拟开关,用 OPA637 接成一级同相放大器进行 10 倍增益放
大。用两级 OPA637 级联进行 120 倍放大。其原理图如图 2.3。
510ohm
R5 R6
R2 R3
+12
51ohm
+12

7
+5 +12 51ohm OPA637 GND OPA637
1, 5, 8

7
2 14 GND 510ohm 1, 5, 8 2
EN VDD
2 6
1 4 6 R4 3
A0 NO1A R1
16 5 3
addr[1..0] A1 NO2A
6 120ohm
NO3A

4
7 120ohm
NO4A -12

4
8 13
Vi COMA NO1B -12
9 12
COMB NO2B
11
NO3B
10 510ohm
NO4B R9 R10
Vo

15 3
GND VEE +12
51ohm

7
MAX309CPE -12 GND OPA637
1, 5, 8
GND 2
6
R8 3

120ohm

4
-12

图 2.3 宽带放大器
③比较整形
比较整形电路
整形电路
在测频、测周部分,由于我们没有带宽由 1Hz 到 35MHz 的比较器,所以采
用分段处理的方法实现整个频带的测量,高频部分用 TI 公司的 TL3116 实现,
低频部分采用 LM311。为抑制干扰引起的误翻转,我们采取了带正反馈的滞回
R2
比较电路的形式。在反相输入方式时,其正向阈值电压 u+ = × 5V ,对应
R2 + RF

比较后信号的下降沿。负向阈值电平为 0V,对应于比较后信号的上升沿。故输
出信号的上升沿仍属过零比较。其电路图如图 2.4 所示。
测相的两路信号经过整形,要使产生的额外相差最小,必须保证两路通道参
, *
数的一致性 选用 TI 公司的双路比较器 TLC372。其电路图如图 2.5VCC所示。
8
+5
*
*
VCC+
VCC+ +5
V1-
Latch enable
5

-
1
Q'
V1-
+5
8
Port
2
- 1 Q1
Vi
V- 3

2
8

7
Vo
Vi
2
- 1
Q1
Vo
V1+
3
+
Port

V+
+ V1+
3
+ GND
Q
V2-
4

VCC-
-5
6 GND
LM311
4 GND
Port
6

5
- 1
Port
GND TL3116 R1
GND V2+
+ 7 Q2
R2 R1
R2 120ohm GND
120ohm
10k 4
50k
GND TLC372

GND GND
GND

图 2.4 测频比较整形模块 图 2.5 测相比较整形模块


④FPGA 模块
本系统采用数字方法在 FPGA 内部进行频率和相位差的测量。其电路图如
图 2.6 所示。其中 fx_h 和 fx_l 分别为高频信号和低频信号输入端。CH1 和 CH2
分别为两路相位信号输入端。

7
图 2.6 FPGA 中测频、测相模块
2.1.3 硬件设计注意事项
该系统需要处理高频小信号,硬件设计上需要应用抗干扰技术。
①防止数字信号与模拟信号耦合造成干扰
由于系统为数字系统与模拟系统相互联系的混合系统。由于模拟信号与数字
信号在频域中的分布情况不同,数字信号更容易进入不属于它们的电路中,造成
干扰。采用如下方法解决数字信号与模拟信号的耦合问题:数字信号尽可能远离
模拟信号;若两信号不得不交叉,尽可能以 90°交叉;在模拟信号与数字信号
之间设置屏蔽;在数字地和模拟地之间接电感线圈防止两地线之间串扰。
②防止电源的
防止电源的干扰
由于单片机及一些接口电路为数字电路,在电源电路会产生峰值很大的尖峰
电流,供电电源是外部瞬时脉冲窜入系统的主要通道,必须对其采取必要的抗干
扰措施:采用 0.01 ~ 0.1uF 的电容加在电源线和地线之间,作为旁路电容滤除纹
波;在数字芯片的电源输入处采用一个 0.1uF 的瓷片电容和一个 220uF 的电解电
容并联形成电荷池接地,有效地抑制了数字芯片对电源的影响;电容连线靠近电
源端并尽量粗短,最好是直接用焊锡连接。
2.2 软件设计
2.2.1 软件流程
本系统软件部分由单片机和 FPGA 组成,单片机主要完成人机交互部分的处
理和系统的控制,FPGA 主要完成测频、测周和测相的实现。整个软件系统的设
计中模块化思想贯穿始终,采用菜单选择所用功能。程序流程图如图 2.7 所示。

8
图 2.7 程序流程图
2.2.2 软件设计注意事项
①模块化编程。各个模块具有一定的独立性和可移植行,在调试过程中更容易寻
找到程序漏洞,在修改程序时,也不会影响其他模块的实现。
②优化程序。充分利用单片机内部有限的资源,提高程序运行的效率。
③提高程序可读性。变量命名,函数命名体现其功能,使程序逻辑清晰;另外程
序中的注释也必不可少。这对于系统的调试和维护具有很重要的意义。

3 作品性能测试与分析
3.1 系统测试方法及测试数据
① 测频、
测频、测周输入信号频率范围测试
测周输入信号频率范围测试

表一 输入信号频率范围测试数据
由函数发生器产生单一频率Vrms=1.5V的正弦信号,改变信号频率。

真实值 1Hz 1kHz 100KHz 1MHz 35MHz


频 测试值
率 (Hz) 1.000001 1.000000K 100.0000K 1.000001M 34.99998M
误差 10 0
−6
0 10 2.5 × 10 −6 −7

②测频、
测频、测周输入信号幅度范围测试
测周输入信号幅度范围测试

表二 输入信号幅度范围测试数据
由函数发生器分别产生F=1Hz、10MHz的正弦信号,改变信号的幅度。

幅度有效值 0.005V 0.1V 幅度有效值 1V 5V


F=1Hz 1.000001 0.999999 F=10MHz 10.00001M 10.00001M
误差 10-6
10-6
误差 10 -6
10-6
③测相输入信号频率范围测试

表三 输入信号频率范围测试数据
改变自制测相网络的相位差,可以测得三个频率点的相位值。

频率 10Hz 1kHz 100kHz


实际相位 20° 90° 300°
测量相位 20.2° 90.5° 300.8°
9
误差 0.2° 0.5° 0.8°
④测相输入信号幅度范围测试

表四 输入信号幅度范围测试数据
测相网络的相差固定为 45°,改变输入信号幅值,进行测试。

Vrms 0.5V 1V 3V 5V
相位差 45.1° 45.4° 45.6° 45.2°
3.2 系统性能概览
表五 系统性能指标
题目要求 完成情况
频率范围:1Hz~1MHz 完成
频率、周期测 幅度范围:0.5Vrms~5Vrms 完成

测量误差≤10 -3
完成
基本部分 量程:0~360°;
测量准确度:1°; 完成
相差测量 分辨率:0.1°
频率范围:10Hz~100kHz; 完成
信号幅度范围:0.5Vrms~5Vrms
扩大测频、测周输入信号动态范围 扩展到 0.005 Vrms~5Vrms
扩展了测频、测周的频率 扩展到 1Hz 到 35MHz
发挥部分 测频误差 ≤ 10−6
完成
其他 系统具有自动校准和手动校准功能
3.3 误差分析
①频率测量
频率测量采用等精度测频法,计算在精确门限内的高频标准脉冲个数和待测
信号的周期数。对于高频标准脉冲的计数可能会产生 ± 1 的误差。但是由于我们
采用 40M 的高频标准脉冲,在闸门时间为 1s 的情况下,根据公式(1),误差可以
控制在 10 −6 以内,甚至达到 10 −7 。实际上,我们测试的结果也证实了这一点。
②相位差测量
相位差的测量采用计数法。在动态门框内对高频标准脉冲进行填充计数。同
样也可能产生上述 ± 1 的误差。但是由于我们需要测量的信号范围在 10Hz 到
100KHz,根据公式(3),可能产生的最大误差也只有 0.9°,可以满足题目的要求。
3.4 改进措施
①在单片机的运算能力范围内,使用频率更高的晶振,可以减小系统误差。
②在小信号测量时,采用一定的数字信号处理技术,如进行软件滤波等,可以降
低外界环境对小信号的干扰对测量的影响。
③用一级仪器放大器对小信号进行处理,仪器放大器的共模抑制比很高,对于小
信号处理效果很好。这样改进,可以再度降低被测信号的幅度。

10
4 附录
系统由 5 个模块构成:控制核心模块,峰值检波模块,程控放大模块,测频
比较整形模块,相位测量模块。
控制核心模块集成了单片机,FPGA,键盘和 LCD 等,如图 4.1 所示。
峰值检波模块后级是一级用 Ti 公司的 OPA602 实现的射级跟随器。在程控放
大模块中的三片宽带运放为 Ti 公司的 OPA637。在测频比较整形模块中,两片比
较器分别是 Ti 公司的 LM311 和 TL3116。在相位测量模块中,一片双运放为 Ti
公司的 TL052,一片双路比较器 TLC372。其具体位置如图 4.2 所示。

控制核心模块

图 4.1 控制核心模块
功能电路部分

TL3116

OPA602 LM311

TL052

TLC372
OPA637

图 4.2 功能电路部分
11
整体系统如图 4.3 所示。

多功能计数器

图 4.3 多功能计数器系统

12
高功率因数电源

指导教师:王归新
队员及年级:陶鑫(2006 级)、吴小斐(2006 级)、莫显聪(2006 级)
学校及院系:三峡大学电气信息学院

摘要:该系统采用
摘要 TI 公司专用 APFC 整流控制芯片 UCC28019 作为控制核心,构
成电压外环和电流内环的双环控制,构建了有源功率因数校正(APFC)的高功率
因数整流电源。其中,电流内环作用是使网侧交流输入电流跟踪电网电压的波形
与相位;电压外环为输出直流电压控制环,外环电压调节器的输出控制内环电流
调节器的增益,使输出直流电压稳定。系统采用 ATmega16 单片机进行监控,完成
输出电压的可调以及相关测量参数显示功能,系统通过 ATmega16 单片机以及其外
围器件实现系统功率因数、输出电压、电流的实时测量、人机交互、输出过流保
护等功能。实际测试表明,采用 UCC28019 作为本系统的 APFC 芯片完全达到或超
过题目要求的所有指标。
关键词:APFC,UCC28019,过流保护,功率因数

Abstract( English):Our work is a high power fator commutated power with the
Abstract(English)
function of Active Power Factor Correction . The special APFC commutated control
chip UCC28019 is the core of this system,and the regulation is accomplished in two
loops: The inner current loop shapes the AC input current to match waveform and
phase of the sinusoidal AC input voltage;The outer voltage loop regulates the output
DC voltage which determines the internal gain parameters for maintaining a final
steady-
steady-state output DC voltage.The MCU ATmega16 is designed to realize adjustable
output voltage and show the sensed parameters
parameters .Our
.Our system also has functions
functions of
Over-
Over-current Protection, Human-
Human-computer Interaction,the real time sense of the
output voltage、
voltage、current and the power factor by using At Atmega16 and its external
components .According to the actual experience,the system
system exactly or even surpass
all the goals required by the theme by using UCC28019 as the APFC chip.

Keyword: PFC,
PFC, UCC28019,
UCC28019, Over-
Over-currentProtection,
currentProtection, Power Factor
一、方案设计
1.1 总体方案设计
根据题目要求,隔离变压器输出工频电压有效值为 18±3V,经桥式整流滤波
后得到直流电压约为 18~26V,要求输出电压范围在 30~36 之间稳定可调,主电
路为 BOOST 电路,校正控制部分采用 PFC 芯片 UCC28019。由此可得,低压工频电
先经过一个 EMI 网络,再进行全桥整流,通过有源功率因数校正器,使得功率因
数得到校正,输出电压得到稳定。单片机采样系统输入电流、电压,实现功率因
数的检测;通过霍尔和电阻采样网络分别采集输出电流信号和电压信号送到单片

1
机,实现输出电流、电压的检测。题目要求设计为输出电压可调,本系统中由 PS2
键盘设定输出值,然后通过改变电压环反馈的指令电平来改变输出直流电压。一
般设计中采用 DA 给定指令电平,但本系统采用单片机输出 PWM,经过二次滤波得
到直流分量,从而得到指令电平,即由 PWM 占空比控制输出直流电压。在系统调
试过程中发现此方案完全可靠,并且稳定精确,完全可以实现电压的稳定可调输
出。单片机在检测到输出电流超过 2.5A 时,发出指令电平对 UCC28019 进行封锁
并通过继电器断开主电路,当电路重新启动后检测到输出电流正常时,电路恢复
完成过流保护。液晶用来显示被检测量的值和一些关键参数,辅助系统调试。
1.2 TI 芯片的选择
1.2.1 APFC 主控芯片的选择
鉴于设计要求,为了有效的减少高次谐波,提高功率因数,本设计采用 TI
公司新开发的专用 APFC 芯片 UCC28019。此芯片振荡频率由内部固定为 65KHZ,这
样可以有效的避免外界的干扰,提高振荡频率的稳定性。该芯片输出 PWM 波最大
占空比为 97%,8 脚灌电流(峰值电流)为 2.0A,拉电流(峰值电流)为 1.5A,输出
电压最大为 12.5V,可直接驱动 MOSEFT.另外,该芯片还具有输入过流、输入过压、
欠压等多种保护功能,用在 BOOST 电路中能很好地进行有源功率因数校正,被校
正电路功率因数趋近于 1,完全满足系统设计的要求。
1.2.2 TLC372 的选择
鉴于题目要求及本电路的特点,为了计算方便,测量功率因数可以通过测量
输入电流和输入电压的相位差(设为ϕ),再取 cosϕ,即为功率因数。输入电流、
电压信号经波形转换器得到方波信号,单片机可以通过检测两方波信号的上升沿
的时间差,从而得到输入电流和输入电压的相位差ϕ。本设计中比较器采用 TI 公
司生产的 TLC372 作为波形转换器的核心.TLC372 工作电压范围广,功耗低,高输
入阻抗,响应速度快,驱动能力强。在实际应用中,该芯片完全满足题目要求,
我们真正体会到了它优良的性能。
1.3 控制方案分析及实现方案
主电路的输出直流电压信号 Vo 和基准电压 Vr 比较后,送入电压误差放大器
VEA,得到 VCOMP 引脚电压该电压决定了 GMI 网络的增益和 PWM 比较器的参考三角
波的斜率。输入电流经采样电阻转化为电压信号,电压信号经放大器放大送入 GMI
网络以实现输入平均电流的采样,得到的信号与三角波进行比较得到特定占空比
的 PWM 波。特定占空比的 PWM 波保持输出电压稳定。
UCC28019 的控制框图如图 1:

2
图 1 UCC28019 的控制框图
二、系统实现
2.1.系统框图如图
2.1.系统框图如图 2 所示

图2 系统结构框图

2.2 主回路器件的选择及参数计算
2.1.1 开关管的选择
在本设计中,最大输出电压为 36V,开关管最大实际漏源电流为 5.75A,但
是考虑到到实际电压电流尖峰和冲击,电压电流耐量分别取 2.5 和 2 倍裕量故开
关管的最大耐压应大于 90v,最大导通电流应大于 12A。基于上述要求,本设计采
用 Vds=200V,Id=30A,Rds=85mΩ的 MOSEFT 管 IRF250.这完全满足设计要求。
2.1.2 续流二极管的选择

3
由于本电路采用 BOOST 拓扑结构,因此续流二极管的选择非常重要。在电路
中受输出大电容的影响,续流二极管应满足最大整流电流大于 12A,最大反向电
压大于 72V,受储能电感及开关管的影响,续流二极管的反向恢复时间要尽量小。
鉴于此要求,本设计采用 MOSEFT 中的反向快恢复二极管作为续流二极管,它的反
向恢复时间完全达到设计要求,实际使用效果不错。
2.1.3 电感的参数计算:
电感的参数计算:
本电路采用 BOOST 拓扑结构, BOOST 电路工作在电流连续工作模式
(CCM)。根据 BOOST 电路输出电压表达式,可得 PWM
VI
D = 1− (1-1)
VO
最大占空比 Dmax 发生在输入直流电压最低(18V)而输出直流电压最高(36V)
的时候,最小占空比 Dmin 发生在输入直流电压最高(26V)而输出直流电压最低
(30V)的时候,则根据电流临界连续条件求得电感值为

1− D 36 × 0.5 × 0.5
L ≥ VOUT × D × = = 90.85uH
f SW ( tye ) × I RIPPLE 65khz × 0.2 × 7.618
(1-2)

实际储能电感采用 108uH.其中,f SW ( tye ) 为芯片的振荡频率, I RIPPLE 为纹波电流, V OUT

为最大输出电压。
2.1.4 输入滤波
输入滤波电容的参数计算
滤波电容的参数计算:
电容的参数计算
根据 BOOST 电路的工作特点,输入电容的作用为滤除由储能电感、整流电
路产生的高次谐波,则有

I RIPPLE 0.2 × 7.618


Cin = = = 2.302uF (1-3)
8 × f sw × Vin _ RIPPLE ( max ) 8 × 65khz × 0.06 × 2 ×15

实际采用 2.2uF.其中,f SW 为 UCC28019 的振荡频率,V in _ RIPPLE ( max )


输入纹波电压,I RIPPLE

为输入峰值电流。
2.1.5 输出电容的参数计算:
输出电容的参数计算:
考虑到负载电流可能达到 3A,滤波电容计算如下:

tHOLDUP 2 × 72w × 20ms


COUT ( min ) = 2 × POUT × 2 2
= = 7272.7uF (1-4)
VOUT − VOUT _ HOLDUP( min ) 362 − 302

实 际 采 用 8000uF. 其 中 , pOUT 为 最 大 输 出 功 率 , V 为最 大 输 出 电 压 , OUT

VOUT _ HOLDUP( min ) 为最低输出电压, t 为交流电的周期。


HOLD

2.1.6 电流取样电阻的参数计算:
电流取样电阻的参数计算:
根据输入直流检测信号送到 PFC 芯片的 ISENSE 脚,则取样电阻计算公式

4
VSOC 0.66V
RSENSE = = = 0.063Ω (1-5)
I LPEAK ( max ) ×1.25 8.3798 ×1.25

实际采用康铜丝做采样电阻,阻值为 0.055Ω.其中, I LPEAK ( max ) 为电感的峰值电流,


VSOC 为 VSENSE 脚的最低正常工作电压。
2.1.7 UCC28019
UCC28019 其它外围器件参数的计算
其它外围器件参数的计算:
外围器件参数的计算:
gmiM 1
CICOMP = = 910 pF
K × 2π × f IAVG

实际采用 1000pF,其它器件选用如下:
Cvcomp = 4.7uF Rvcomp = 36k Cvcom _ p = 0.22uF
Cvins = 0.47uF

其主电路电路图如图 3 所示

图 3 主电路电路图

2.3 检测与保护
检测与保护电路
与保护电路的
电路的设计与参数计算
设计与参数计算
2.3.1 输入电压、
输入电压、电流检测电路设计:
电流检测电路设计:
对输入电流、电压进行采样,是为了计算两个信号之间的相差,进而求得功
率因素,对检测到两个信号的波形要求很高,故我们在输入检测电路中通过高精
度的电流互感器 TR2123C 和电压互感器 TUS1980-02 分别对输入电流、电压信号
进行比较,输出信号送到比较器进行比较得到具有相位差的两个方波送入单片机
进行处理最终得到功率因数的测量值和信号频率。与霍尔传感器和光耦检测相比,
该方案电路制作简单,要求成本较低。有关电路图详见附录。
2.3.2 输出电压、
输出电压、电流检测电路设计:
电流检测电路设计:
输出测量电路要求能够在一定精度范围内检测到输出电压、电流值。为了满
足题目中所给的精度要求,用精密霍尔传感器 HS-20A-P 对输出电流进行采样和输

5
出电压则直接用电阻分压网络进行采样取得。有关电路图详见附录。
2.3.3 输出过流保护电路的设计:
输出过流保护电路的设计:
系统要求有过流保护功能,输出电流为 2.5A 时电路自动保护。鉴于此要求,
采用 UCC28019 芯片内部的封锁功能,由单片机检测过流并控制芯片引脚 ICOMP
的电平,但考虑到这样的封锁对象仅仅限于 UCC28019 本身,电路的输出电压依
然为整流后的 25V 左右的电压,依然可能存在大电流,对整个系统有很大的潜在
威胁。因而,本系统在主电路中加入继电保护,当单片机检测输出过流时,将发
出指令电平通过继电器来切断主回路,达到保护负载的功能。经实际测试,当单
片机再次检测输出电流正常时,释放电平,电路可重新恢复。
2.3.4 辅助电源的设计
辅助电源对整个系统的工作十分重要,本系统采用三端稳压芯片设计。电路
设计简单,三端稳压构成的线性电源纹波小,输出电压稳定,抗干扰能力强。辅
助电源输出+12V,±15V,5V
2.4 数字设定及显示电路设计
本系统中的人机接口包括键盘和液晶显示器。考虑到题目要求输出电压进行
键盘设定和步进调整,需要大量按键(如 0~9 数字键,+、-键,取消、确认键
等),PS2 键盘的小键盘区刚好满足此要求,又 PS2 键盘通过 PS2 协议与单片机进
行串行通信,接口简单,易于实现,因此采用 PS2 键盘作为系统输入设备。题目
又要求能显示输出电压、电流的测量值等系统信息,为了更好的美化显示界面,
采用控制器为 RA8803 的 240×128 带国标字库液晶显示器。液晶显示器通过并行
数据总线与单片机进行通信。具体接口电路请参见附录中相关部分。
2.5 PCB 设计技巧
在本系统的 PCB 板制作中,对 UCC28019 芯片周围元器件的布局及布线尤其重
要。元器件应尽量靠近 PFC 芯片,由芯片各引脚上电容的地线所形成的总信号地
应集中在芯片的正下方。另外,信号地与主电路的地线应在开关管的射极连接。
这样就可以避免大电流地(主地)和小电流地(信号地)冲撞在一起,以至引起
对芯片工作的影响。
三、 软件设计
3.1 软件设计及
软件设计及流程图
设计及流程图
软件部分采用 ATMEL 公司生产的 AVR 系列单片机 ATmega16 作为主控芯片,对
硬件电路的相关参数进行测量同时参与输出电压的调节,实现数控可调电压输出。
对于功率因素等相关参数的测量,我们采用霍尔和互感器为主要检测器件的硬件
检测电路得到相关数据通过 AD 送入单片机进行软件算法处理最终得到想要的数
据送到液晶显示;对于实现输出电压可调,我们通过键盘设置给定值,经单片机

6
输出 PWM 波后二次滤波转化为最终的给定模拟量,再将模拟量送到电压环的外接
器,实现输出电压稳定可调。系统软件流程图如下(图 4)所示

图4 系统软件流程图

3.2 编程感想及软件设计注意事项。
编程感想及软件设计注意事项。
根据题目设计要求设计的软件部分难度较其他设计题目而言相对简单,主要
设计到的内容是人机交互界面的设置和一些外部参数的测量,没有相当复杂的算
法。比赛的过程中花费在软件设计的时间不应该太多,否则在有限的时间内整个
作品很难达到预期的理想效果。我觉得平时在训练的过程中应该做好相关模块的
准备,到比赛过程中才会有更多的时间去进行系统调试与优化,提高作品整体的
设计水平。
四、系统测试
4.1. 测试仪器:
测试仪器:
TDS1OO2 双通道示波器×
双通道示波器×1 MS8215 万用表×
万用表×4
UT805 万用表×
万用表×1 GAD-
GAD-201G 失真度分析仪×
失真度分析仪×1
FLUKE318 电流钳形表×
电流钳形表×1
4.2. 测试方案及数据
4.2.1 电压调整率
电压调整率测试
调整率测试
采用 100Ω/3A 可调滑线变阻器作负载,待系统进入额定状态(输出电流为
1.2A)时,改变输入电压,用 UT88B 数字万用表监测输出负载电压。记录数据如
下表 1 所示。

表 1 输出电压测试数据

7
测试次数 1 2 3 4 5
输入电压(V) 15 16 17 18 19
输出电压(V) 35.99 36.00 36.01 36.00 36.02
根据相关公式可计算出电压调整率:

∆UO UO 2 − UO1 36.02 − 35.99


SU = = = = 0.75%
∆UI 19 − 15 4

4.2.2 负载调整率测试
负载调整率测试
负载采用 100Ω/3A 可调滑线变阻器,待系统进入额定状态(输入电压保持恒
定 18V 不变)时,调节滑线变阻器,改变输出电流,用 UT88B 数字万用表监测输
出负载电压。具体数据参见表 2
表 2 输出电压测试数据
测试次数 1 2 3 4

输出电流(A) 0.5 1 1.5 2

输出电压(V) 36.00 35.90


35.90 35.78
5.78 35.69
35.69

由上表可根据以下公式求得负载调整率:

∆UO UO 2 − UO1 36.00 − 35.69


SI = = = = 0.86%
UO 36 36

4.2.3 输出电压可调测试
输出电压可调测试方案:采用 100Ω/3A 可调滑线变阻器作负载,待系统进
入额定状态,输入电压保持恒定 18V 不变(输出初始电流设定为 2A)时,用 UT88B
数字万用表监测负载电压。通过键盘输入设定电压,具体数据记录在表 3 设定电
压栏。按确认键后读出数字万用表显示的电压,具体数据参见表 3)。
表 3 输出电压可调测试数据(输出电流为 2A)
测试次数 1 2 3 4 5
设定电压 30 32 34 36 38
实际电压 30.00 32.01 34.02 36.01 37.98
4.2.4 输入功率因数测试
负载采用 100Ω/3A 可调滑线变阻器,使系统达到额定状态,输入电压和电
流均为正弦波。在交流输入段串联一采样电阻,用示波器分别测系统输入电流电
压波形,读出其相位差。根据本题的特点,可以用 U2、I2 之间相位差 ϕ 的余弦 cosϕ

8
作为功率因数。功率因数测试数据如表 4 所示。
表4 功率因数测试数据
测试次数 1 2 3 4 5
功率因数 0.996 0.990 0.997 0.992 0.993
4.2.5 失真度测试
采用 100Ω/3A 可调滑线变阻器作负载,使系统达到额定状态,输入电流为正
弦波。改变输入电压,用 GAD-201G 失真度分析仪检测失真度,记录数据于下表 5。
表5 失真度测试数据
测试次数 1 2 3 4 5
失真度(%) 5.5% 5.3% 6.0% 5.8% 5.4%
4.2.6 过流保护动作电流测试
过流保护测试方案:用 UT88B 监视负载电流,负载采用 100Ω/3A 可调滑线
变阻器,当输出电流为 2.5A 时,继电器和 PFC 主控芯片同时工作,低电路进行
封锁,从而实现过流保护。过流时电流测试如下表 6 所示。
表6 过流电流测试数据
输出电流值 2.48A 2.51A 2.49A
能否自恢复 能 能 能
由表说明本系统过流保护作用明显,并可自恢复到正常状态。
五、结果及性能分析:
结果及性能分析:
5.1 指标分析
经测试可知,本系统可达到以下性能指标:
a.电路中的功率因素高于 0.98,检测误差绝对值小于 2%。
b.输出电压通过 PS2 键盘设置在 28~38V 可调;
c.采用 12 位 AD 对输出电压电流进行检测,误差绝对值远小于 2%;
d.输出电流在大于 2.5A 实现自动保护;
e.变压器副边电流波形失真度小于 5%。
综合分析各项指标的测试结果并与设计指标进行比较发现,本系统的各项设
计参数均能达到甚至超过设计指标,由于实验室市电电压本身存在 2%畸变,我
们的失真度测试可达到 5%的设计指标。功率因数理论上可达 100%,但由于实际
中 BOOST 电感在低频工作环境下仍然对电流波形有一定影响故测量中的功率因
数不可能达到理论上的 100%。
5.2 误差分析
在测试过程中,我们发现实验室市电电压的失真度达到 2%,这直接导致我们
所测的电流失真度偏高。另外,地线干扰以及信号线过长所带来的干扰对整个系

9
统都有一定的影响。
5.3 方案的优化与改进
电路工作时,交流电经桥式整流后并不能得到很平滑的波形,仍存在一定的
误差。而 UCC28019 内部工作原理是:电流调节为平均电流采样模式,跟踪电压波
形的电流波形经滤波放大后与三角波比较,所以整流后失真电压波形引起纹波误
差,这个误差将导致输出 PWM 波误差。若芯片在设计上能将此误差考虑在内,设
计效果会更佳。
参考文献:
参考文献
1.Marty Brown.《开关电源设计指南》[M].北京:机械工业出版社.2004
2.全国大学生电子设计竞赛组委会.[M].《第四届全国大学生电子设计竞赛获奖
作品选编(1999)》.北京:2001
3.高吉祥等.《全国大学生电子设计竞赛培训系列教程-模拟电子线路设计》.[M].
北京:电子工业出版社.2007
4. 施保华等编.《计算机控制技术》. [M].武汉:华中科技大学出版社.2007

10
附:部分电路原理图及软件源代码
附页
完整电路图
1.输出电流检测
1.输出电流检测

附图一 输出电流检测

2.输出电压检测
2.输出电压检测

附图二 输出电压检测

3.输入电流电压检测电路
3.输入电流电压检测电路

11
附图三 输入电流电压检测电路

4.液晶
液晶显
液晶显示器接口电路

附图四 液晶显示器接口电路

5.键盘接口电路
5.键盘接口电路

12
附图五 PS2 键盘接口电路

6.A/D

附图六 MAX197(A/D 转换电路)

部分程序代码:
部分程序代码:
1.测功率因数
1.测功率因数:
测功率因数:

13
输入电压、
输入电压、电流接外部中断口和定时器输入捕捉

unsigned ant phase_ftime(void)
{
TIMSK=0x20;
MCUCR|=0x03;
MCUCSR|=0x00;

#asm("sei");
//当电压超前电流时
//当电压超前电流时
while(PIND.6);
while(!PIND.6); //等待一个电压波形
//等待一个电压波形
TCNT1=0;
TIMSK=0x00;
TCCR1A=0x00;
TCCR1B=0xC2;
GICR|=0x40; //使能外部中断
//使能外部中断 0
while(PIND.2);
GICR&=0xBF; //禁能外部中断
//禁能外部中断 0,得到中断时间即为相位差
0,得到中断时间即为相位差
if(aa>5000||aa<=5) aa=0; //时间差误差校正
//时间差误差校正
return aa;
}

float power_factor()
{
float temp;
TIMSK=0x20;
MCUCR|=0x03; //外部中断
//外部中断 0 的上升沿触发使能
MCUCSR|=0x00;

#asm("sei");
//当电流超前于电压时
//当电流超前于电压时

while(PIND.2);

14
while(!PIND.2); //等待一个电流波形
//等待一个电流波形
TCNT1=0;
TIMSK=0x20; //输入捕捉中断使能
//输入捕捉中断使能
TCCR1A=0x00;
TCCR1B=0xC2; //上升沿输入捕捉
//上升沿输入捕捉、
上升沿输入捕捉、8 分频 0.5us
//在
//在电压波形出现上升沿进行捕捉,
电压波形出现上升沿进行捕捉,捕捉值即为相位差
while(PIND.2);
TIMSK=0x00; //中断得到一个时间
//中断得到一个时间
if(bb==0) bb=phase_ftime()=
bb=phase_ftime()=
if(flag_cap==0||bb>=5000)
bb=0;
if(bb<=5) bb=0;
GICR|=0x40;
while(!PIND.2);
delay_us(5);
GICR&=0xFB;
if(aa>40016||aa<39960) aa=40000;//
aa=40000;//周期检测校正
//周期检测校正
// phase[0]=bb; //相位
//相位
// phase[1]=aa; //周期
//周期

zhouqi=aa/2000; //以
//以 ms 为单位
temp=bb/aa
temp=bb/aa;
aa;
temp=cos(temp);
// #asm("cli");
DDRD.2=1;
PORTD.2=0; //停止测量
//停止测量,
停止测量,复位外部中断口
return temp;

15
作品照片

16
简易心电图仪
指导教师: 操长茂、吴幼芬
队员及年级:易淑华、 胡苗苗、 曹鹏 (专科组,2006 级)
学校与院系:江汉大学高等职业技术学院

摘 要: 本系统以 TI 公司的高精度仪表放大器 INA2331 和低功耗 MSP430 单片


机为核心,实现了两路心电信号的采集、存储和显示。设计采用右腿驱动电路和
高通负反馈滤波器等抑制干扰措施,提高了放大器的共模抑制比;选用内部资源
丰富的 MSP430 单片机和液晶显示器 LCD 实现了心电信号的存储和回放。结果表
明系统各项技术指标达到了设计要求,具有低功耗低成本的特点。

Abstract : The system which takes the high-precision instrumentation


amplifier INA2331 and low-power MSP430 MCU as the core has realized
two_channel ECG’s detection, storage and display。 It adopts a right-leg
-driven circuit、a high-pass filter with reverse feedback and so on,which makes
the CMRR of the preamplifier higher 。 By adopted the inner resourceful
MSP430F449 single chip and LCD the ECG can be recorded and playbacking
demonstrated。 The results indicate that the major technical specifications of
the system meet the design requirements, The system has the following
features, such as low-power、and low-cost。

1
1、方案设计
1.1 理论分析及芯片选用依据
理论分析及芯片选用依据
人体心脏工作产生的生物电流在身体表面不同部位产生不同电势,并且随心
跳的节律呈现规律性的升降变化,通过电极将变化着的电位差检测并记录下来就
是心电图(ECG)。心电信号是一种带宽为 0.05Hz 至 100Hz(有时高达 1kHz),
幅度在 10µV~5mv 的微弱交流信号,并且混杂有人体生物电干扰以及各种外部电
磁干扰。如何从环境噪声中提取微弱的心电信号是设计的难点和要点。
低成本低功耗便携式简易心电图仪是本设计的最大考量。它顺应了保健电子
产品设计的发展趋势。系统采用常见电池供电,能采集标准导联方式 I 或 II 心电
信号,通过放大、滤波得到模拟心电信号(ECG),并能利用液晶实时显示或存储
回放 ECG 波形。
本系统主要需要以下几种功能的芯片:仪用放大器、通用运算放大器,微型
单片机,以及 A/D,D/A 转换器。为此,在选择用于本系统的集成芯片(IC)时,
低功耗、小尺寸、高精度、性能稳定的芯片就是选用的目标。TI 公司的相关芯片
可满足对系统的要求。
其中 INA331 仪用放大器系列是轨对轨输入与输出的高性能、低成本、高精度
仪表放大器。它们是真正的单电源仪表放大器,具有极低 DC 误差和超出正轨与
负轨之外的输入共模范围。这些特性使其适用于从通用到高精度的各种应用范围。
其出色的长期稳定性与极低的 1/f 噪声可确保产品在整个使用寿命期内都具有
较低的失调电压与漂移。主要参数如下:低失调电压:100 µV(最大值)、 低失
调漂移:0.4 µV/°C(最大值)真正的轨至轨 I/O ,电源范围:单个 +2.7V 至
+5.5V 的电源。
OPA335 系列 CMOS 运算放大器采用自动归零技术,同时可提供极低的失调电
压(最大值为 5µV),而且随着时间和温度的变化,漂移接近于零。这些微型的高
精度、低静态电流放大器具有较高的输入阻抗及轨至轨输出摆幅。可使用单电源
或双电源,电压可低至 +2.7V (±1.35V),高至 +5.5V (±2.75V)。该系列运算
放大器针对低电压、单电源操作进行了专门优化。
MSP430F149 是 TI 公司推出的一款低电源电压范围(1.8V~3.6V)的低功耗
16 位单片机。该芯片内含 60Kbyte 的 Flash EPROM 以及 2KByte 的 RAM。有一个性
能齐全的基础时钟模块,包括一个数据控振荡器(DCO)和两个晶体振荡器。另外
还包括硬件看门狗、三个捕获/比较寄存器的 16 位定时器 Timer_A3、七个捕获/
比较寄存器的 16 位定时器 Timer_B7、8 通道 12 位 A/D 转换器 ADC12 和两个串行
通信接口等。特别值得一提的是其低功耗应用。采用外接低速晶振 32768Hz 产生

2
准确的定时信号和设置异步握手通信波特率,而 A/D 转换及运行使用内部数控振
荡器产生的速度较快的 400kHz 时钟信号,其功耗小于 3mA×3.3V。
本系统设计使用常见的五号两节镍氢、碱性或普通干电池供电,选用上述几
款芯片设计。
1.2 设计方案论证
分析可知,简易心电图仪系统主要包括输入回路、前置放大模块、后级放大
模块、滤波网络模块以及存储回放等模块。设计重点在于前置放大模块,和滤波
网络模块和数字化存储回放部分。方案论证主要围绕这三部分展开。
1.2.1 输入回路噪声抑制设计
来自导联电极的心电信号混有主要包括人体肌电呼吸等生物噪声、电极接触
噪声、工频 50Hz 信号及其谐波等干扰;以及其它电子设备机器噪声及外界高频电
磁干扰等噪声,其中工频 50Hz 干扰信号较强,主要是共模噪声。
按照设计要求,皮肤接触电极到分别通过 1.5m 长的屏蔽导联线与前置放大器
相连接。由于信号线对屏蔽线的输入电容不完全对称,造成共模电压的不等量衰
减,使得包括导联在内的放大器共模抑制比降低,从而使系统抑制干扰的能力下
降。其中工频干扰引起的共模信号可能远大于心电信号,其影响尤为严重。而由
于工频干扰频谱与正常心电信号混杂,又不宜采用工频陷波器滤除。
为有效地消除输入电路不对称而引起的电压分配效应所产生的共模干扰,采
用屏蔽驱动和右腿驱动电路。从输入导联取出的共模电压送入屏蔽层(屏蔽层不
接地);同时送到右腿放大器反向放大,经一个限流电阻接到右腿电极,即等效
为以人体为相加点的电压并联负反馈电路。抑制了共模干扰进入后续电路。为更
好的抑制工频干扰,可以在右腿驱动电路加入低通滤波电路。满足将心电放大器
(含屏蔽导联线)的共模抑制比提高到 80dB 的指标要求。该电路采用 OPA335 实
现。
1.2.2 前置放大模块
前置放大模块在整机中处于非常重要的地位,其性能决定了整机的主要技术
指标。前置放大模块应满足高输入阻抗、高共模抑制比、低噪声、低漂移的要求。
采用单电源工作的仪表放大芯片 INA2331。其内部集成有两个共模抑制比可
达 94dB 的仪用放大电路,可以同时满足两路微弱信号的采集要求,而且只需外接
两个电阻可调节增益,增益从 5~1000 倍可调。同时该芯片对电源的要求低,2.7V
的电源电压就可表现出良好的功能特性,静态电流只有 400uA,功耗极低。输入阻
抗达到 1013Ω,特别是芯片的各项指标在低频段表现优异,适用于 10KHz 以内信
号的放大。

3
考虑到电极接触噪声产生的直流极化电压(尤其使用普通铜皮作为接触电极
时),电极的极化电压是个差模信号,可能会造成运放的饱和。可以利用 INA2331
的 REF 端进行输出偏移调零。虽然提高放大器的第一级增益有利于降低输出噪声,
但考虑到极化电势的影响,仪表放大电路增益不应太大。
1.2.3
1.2.3 滤波网络模块
由于心电信号易受噪声干扰,且主要能量成分集中在 0.05Hz~100Hz 频带内,
所以本系统采用滤波的方法对心电信号作进一步的降噪处理,抑制外界干扰,从
而得到较为平滑的心电图波形。滤波电路的设计主要是满足心电信号特定的频率
响应特性。
(1) 高通滤波
心电信号的最低可能频率成分只达到 0.5Hz(相应于心脏搏动 30 次/分),但
为降低信号因相移产生线性失真,心电信号放大电路的低频截止频率必须达到心
电信号的低频截止频率的 1/10,即 0.05Hz。
实际上,在前置放大模块采用了高通负反馈滤波器进行隔直和低通滤波,0.05
Hz 信号包括直流极化信号已基本被滤掉。为进一步满足高通滤波特性,可以采用
效果不错且易于实现 RC 一阶无源滤波。
(2) 低通滤波电路
滤除混入的各种高频干扰噪声。按照心电图信号的频谱范围,高频截止频率
选择 100Hz 和 500Hz 两种。对滤波特性的要求主要是信号的时域失真要小,心电
信号具有脉冲波形的特征,为保证不失真放大,滤波器应具有较好的线性相位特
性。
方案一:采用已有算法进行离散数字滤波。其优点是参数调节性好,滤波特
性比较精确。但为达到较好的滤波效果要求滤波器取较高的阶数,对处理器的要
求比较高,利用单片机现有资源难以实现。
方案二:通常采用模拟有源滤波器实现。模拟滤波器主要有巴特沃斯滤波器、
切比雪夫滤波器和贝赛尔滤波器三种,其中贝赛尔滤波器具有线性相移特性,最
适用于心电信号的滤波处理。本设计主要考虑到满足并尽量完善设计指标,采用
二阶贝塞尔滤波电路的方案。
1.2.4
1.2.4 数字化存储与回放电路
数字化存储与回放电路
MSP430 F149 作为系统的控制核心,具有丰富的片内资源,是一款性价比极
高的单片机。利用它作心电信号的采集与处理,不仅极大地简化了系统硬件电路,
还大大提高了系统的性价比。
液晶显示模块采用 LCD 12864H 点阵式 LCD 实现,作为菜单和心电波形的显
示。它以 MSP430 作为液晶的微处理器,通过单片机采集和处理心电数据,输出

4
给液晶显示。它与单片机采用串行方式连接。

2、系统实现
系统实现
根据以上要求,系统总体设计框图如图 1 所示:


联 INA2331 OPA335 LM324
选 前置放大模块 主放大器模块 滤波模块 示波器

屏蔽驱动
OPA335
MSP430 LCD 显示
右腿驱动 单片机

图1 简易心电图仪系统
简易心电图仪系统框图
系统框图

2.1
2.1、主要单元电路设计
2.1
2.1.1、 前置放大模块及右腿驱动电路
前置放大模块及右腿驱动电路
该模块以 TI 公司的 INA2331 仪用放大电路为核心,外围由 OPA335 构成的
反馈积分调零电路和右腿驱动电路三个部分组成。详细电路连接图如附录图 1 所
示。
INA2331 内部原理图如图 2 所示。INA2331 的主要特点是低漂移电压,高共
模抑制比。由于采用激光调阻,使其具有低失调电压、高共模抑制比和低温漂。

图 2 INA2331 内部原理图 图 3 INA331 引脚图

INA2331 放大倍数 A = 5 + 5R2 。本其电压增益设计为 5 倍,电路连接如图


V R1
3 所示。
仪 器 放 大 器 的 REF 端 的 作 用 是 设 定 输 出 偏 移 。 在 图 3 连 接 方 式 下 ,

5
VOUT = VREF + 5(VIN + − VIN − ) 。 因此可以利用 REF 参考点来调节输出偏移,由此

实现直流零偏移输出。

关于前置级隔直电路设计(又称 0.05Hz 高通负反馈滤波电路),采用低噪声


单电源运算放大器 OPA335 构成的反相积分电路来实现低通滤波,输出送给前置
放大器 INA2331 的参考输入端 REF 构成低通负反馈电路。
假设直流极化电压通过前置放大器 INA2331 放大输出,经 OPA335 反相积分滤
波后送给 INA2331 的参考输入端 REF 构成负反馈,利用 INA2331 的线性求和抵消
掉直流偏移,最终使静态误差达到 0,由此实现输出偏移调零。从而能实现隔直
和高通滤波。在不饱和的情况下能最大程度地扩展信号的动态输入范围。
原理电路图如图 4 所示:参数经仿真调试得到。仿真得到的频率相应如图 5
所示。由仿真图说明 0.05Hz 以下频率信号能够得到较大幅度的负向输出,反馈
送入输入参考点,而产生负反馈被滤除。而心电交流信号则不能通过这一反馈回
路。从而实现了 0.05Hz 高通滤波。

图 4 前置级隔直电路原理图 图 5 前置级隔直电路仿真图

2.1.2 主放大器
放大器电路
该部分电路主要起调节增益的作用,使输出信号可达到V的量级,主放大器电
路实际上由固定增益放大和可调增益放大电路两级级联组成。固定增益 A2=40 倍
的次级放大器,以及 增益可调(等于 1、2.5、5)的第三级放大器级联而成。这
样设计的目的是为了将开关切换带来的影响降到最低。如图 6 所示。
在前置放大级增益 A1=5,这样整机增益 AV = A1 ⋅ A2 ⋅ A3 分别为: 200、500、

1000。来满足不同强度的心电信号的放大需求。 采用单电源通用运算放大器
LM324 实现。

6
A2=40 A3=1 或 2.5 或 5

图 6 主放大器电路框图

固定增益放大电路设计成积分电路形式,组成一阶低通滤波放大电路,增益
为 40 倍,采用 OPA335 实现。见附录图 2。
可调增益放大电路采用 LM324 实现。见附录图 3 所示。

2.1.3 滤波电路
(1)高通滤波电路
要求心电放大器的低频截止频率为 0.05Hz,没有要求进行测试,可用无源的
RC 网络来实现。由公式 f=1/2πRC(取 C 为 4.7µF),得 R=677.60Ω。 实际选用
选用 680Ω的电阻。
(2) 低通滤波电路
采用具有线性相移特性,二阶贝塞尔滤波器。为有效地设计滤波器,采用专
用滤波器设计仿真软件 Filter Wiz ProV3.0 进行设计和仿真,由软件生成的-3dB 截
止频率分别为 100Hz 和 500Hz、放大倍数为 1 倍的二阶贝塞尔滤波器电路如下图
7 和图 8 所示。

图 7 二阶贝塞尔滤波器电路 (100Hz) 图 8 二阶贝塞尔滤波器电路(500Hz)


电路参数经过精心设计,选择最接近的标称值,经 PSPISE 软件仿真的频率
特性曲线符合设计需求。

2.1.4
2.1.4 硬件设计注意事项及窍门
系统心电测量单元 PROTEL 电路总图如附录图 4 所示。这部分是整个系统最
重要的部分。主要包括输入电极导联,心电放大电路和滤波电路。产生误差的原
因有很多,主要集中在:输入电极的制作工艺质量,电路元件特别是电阻和电容
的实际值与标称值的误差,且随温度变化,电源电压和内阻的变化,电路制作工

7
艺上带来的分布参数误差等等。
元器件的选择是高性能的保证,电阻电容尽量选择精度高,质量好的元件,
参数尽量与设计值一致。采用高品质电源。另外电路设计上运放电源端应该加滤
波去除电源纹波的影响。
在 PCB 设计中,在电源、地线之间加上去耦电容,去耦电容尽量与 VCC 直接
连接,输入端与输出端的边线应避免相邻平行, 以免产生反射干扰。必要时应加
地线隔离,电源线和地线尽量加粗。
数字化存储和回放部分直接采用 MSP430 开发板调试。
作品全貌如附录图 6 所示。

2.2 系统软件设计
模拟电路与单片机接口问题:心电信号的最高幅值为 5mV,经过 200 倍的放
大为 1V,而 A/DC 的输入范围为 0~2.5V,设计时取中间值 1.25V 为参考,所以放
大后的心电信号叠加参考电压 1.25V 后大小为(1.25±0.8)V,正好落在 A/DC 的模
拟输入信号范围。同时,心电信号的频率在 0.05~100Hz 之间,为了保证采样定
理的要求和保证转换速率可以选取采样率 fs=200Hz。
心电波形是一系列的曲线,在液晶上要显示这些曲线需要将相应的点阵显示,
对于一条心电曲线,起始显示数据点在起始列只显示一点,从第二个数据点开始,
要在下一列显示上一数据点到此次数据点之间的线段。具体方法可通过 16 进制的
数据除以总页数 8 得到商和余,得到的商为此数据点所在的页,得到的余为此数
据点所在页的行数。注意的是每一数据点应在相应的列,因为列地址每送一个数
据自动加 1,因而在每次从 DDRAM 中读取数据时一定要保证列位置的正确,否则
会出现曲线的混乱。
利用单片机内置的 12 位 A/D 变换器对两路心电信号进行采样,通过单片机
编程实现两路心电波形的回放显示。主程序框图如附录图 5 所示。

3、系统性能测试与分析

3.1 性能测试
性能测试
3.1.1
3.1.1、测试仪器
测试仪器
JWY-30F 型直流稳压电源,TDS1002 型双道示波器,A83L 型和 VC890C 型数字万用
表。

8
3.1.2
3.1.2 测试数据和结果
(1) 通带内增益及频率响应(理论截止频率为 100Hz)
通过函数信号发生器产生 5mV 输入电压,在不同的频率下测得增益如表 1 所示。

表 1:通带内增益测试数据表
fi(Hz) 1 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150

AV=200 档 250 215 210 205 204 205 210 210 210 205 180 150 150 130 120 100

AV=500 档 350 550 530 520 515 520 520 515 500 500 460 410 380 350 320 280

AV=1000 档 750 1090 1050 1020 1010 1100 1110 1100 1000 990 850 740 700 650 610 550

由表 1 可知,-3dB 高频截止频率约为 110Hz,达到了题目要求的 10 Hz 标准。


总体看,系统信号频带在 1Hz 到 110Hz 范围内,频带内响应波动满足在+3dB 之内
的要求。由于低频截止频率存在较大读数误差,因此不予说明。

(2) 共模抑制比测试(含 1.5m 屏蔽线)


测试差模增益:右腿驱动和一端输入接地,另一端接 Vid=1mV,f=20Hz 的
交流信号,(在 200 倍增益档)测得 AVd=210。
共模增益:右腿驱动接地,正负输入端共同接 2V/20Hz 正弦信号,输出 50mV,
Voc
Ac = = 0 . 025 。
Vic Ad
共模抑制比: KCMRR = 20 lg
= 78.5dB
Ac
满足基本部分共模抑制比≥60dB 要求,基本上接近发挥部分 80dB 以上的要求。

3.1.3 系统功能测试
① 人体心电图测试。按照标准 I 导联实测队友的心电图,测得波形如图 9 所示。

图9 人体心电测试图

9
② 两路测量。扩展为两路相同的心电放大器,同时实时测量和显示标准Ⅰ和标准
Ⅱ导联两路心电图。可以清晰地在示波器上同时观察到两路心电信号,满足设
计的要求。
③ 波形的存储和回放。先按键进行存储,系统提示“存储完毕”后将输入端断开,
按键回放波形,与存储的波形匹配,从而验证了波形存储、回放的功能。

3.2 测试分析
1、零点漂移:问题出在前置中的无源滤波器,如果使用按照截止频率 0.05Hz
选择的电容,存在零点漂移很严重,最后去掉了这一部分设计电路。
2、高频干扰:从我们采集的心电波形来看,存在较明显的高频干扰,问题出
在 500Hz 低通滤波的部分,因为软件设计的电容参数太小,电阻值不常见,所以
一开始测得的高频截止频率达到了 700Hz,通过串连精密电位器,选择高精度电
容,经多次试验调节,通过加上主放大器中的低通滤波,整体效果有改善。
由于时间匆促,系统来不及整体优化设计,一部分电路采用多功能电路板制
作,部分电路连线过长,电路布局上没能仔细优化,这些都容易引入电磁干扰。
从以上的测试结果可以看出,本简易心电图仪在提高共模抑制比,抑制外界
噪声等方面取得了一定的成效。在功能上也达到了赛题的要求,实现了双路信号
测量和波形存储和回放,设计具有低功耗低成本的优点。

10
附 录:

1、前置放大模块及右腿驱动电路

2、一阶低通滤波放大电路

11
3、可调增益放大电路

4、系统心电测量单元 PROTEL 电路总图

12
5、主程序框图

MSP430 单片机初始化

有无键按下

是否为 AA 键

是否为 BB 键

执行 BB 键 执行 BB 键
说明:AA 键功能:实时采样;BB 键功能:存储后回放。

6、简易心电图仪实物图

MSP430

INA2331

OPA335

13
位移测量装置
指导老师:尹仕 肖看
参赛队员:杨康 肖伟华 龚德 (2006 级)
学校及院系:华中科技大学 电工电子科技创新中心
摘要:
摘要:本系统以单片机为控制核心,线性可变差动变压器为传感器,辅以相应的
模拟电路,能实现较精确的位移测量功能。主要模块有正弦波产生、差分放大、
差动变压、整流滤波、模数转换。其中运用 DDS 芯片产生正弦波,经过差分放大
后进入可变差动变压器。依据磁通改变原理,通过移动变压器线圈内部的磁棒可
以改变次级线圈输出电压,经整流滤波(真有效值转换)后电压改变值通过单片
机处理即可得到位移值。系统电路构造简单,通过较少的元件就可以达到一定精
度的测量。本系统一大特色就是具有电机驱动部分,可以利用单片机控制直流电
机转动,以驱动磁棒移动到指定位移。另外系统通过键盘输入预定位移值,由
LCD 液晶屏显示,人机交互界面良好,方便用户使用。
关键词:
关键词:位移测量;线性可变差动变压器;单片机

Abstract: Using a microcontroller as the control core and a LVDT as the sensor, and
with relevant analog circuits, the system can measure the displacement precisely.
Main modules are Sine Wave Signal Source, Differential Amplification Circuit, LVDT,
Rectifier, Filter and Analog-Digital Converter. Sine Wave Signal produced by a DDS
chip is difference amplified and inputted to a LVDT. According to the theory of
magnetic flux, the output voltage of secondary coils can be changed by moving the
magnetic core of LVDT. After rectification and filtering (RMS-to-DC Conversion),
the microcontroller processes the data and we can finally acquire the displacement.
The system achieves high precision with simple structure, and one of the features is
that the system have a motor driver, which can be controlled by the microcontroller, to
drive the magnetic core. Besides, the system have a friendly human-computer
interface and it’s easy to use.
Key Words: displacement mensuration;LVDT;microcontroller

1
1. 系统方案设计

1.1 系统总体方案
系统总体方案论证
方案论证

系统要求设计制作一个位移测量电路,主要分为激励电路和测量电路两个部
分。激励部分要求产生 100kHz 的正弦波,然后经差分放大输出进入可变差动电
压器。测量部分要求将变压器次级线圈输出的两路交流电压经整流滤波后得到直
流电平,移动变压器内的磁棒改变两路直流电平值,根据电平改变值通过处理后
得到位移值。
方案一:系统激励部分正弦波产生电路采用传统的直接频率合成器,经差分
放大、差分变压、整流滤波后,根据两路电压改变得到位移值。该方案产生正弦
波具有低相位噪声等优点,但频率合成器结构复杂、体积庞大、成本高,不利于
实际制作,故不采用此方案。
方案二:正弦波产生采用直接数字式频率合成器(DDS),后级电路与方案一
相同。DDS 方案电路简单,仅用一块芯片就可以实现,而且可以产生较宽频率范
围的正弦波且失真度小。但普通整流滤波电路较难达到理想的结果,这会导致后
面电压采样出现较大误差,故不采用该方案。
方案三:正弦波产生使用 DDS 方案,而整流滤波电路采用真有效值检测芯片。
真有效值检测可以将交流电压很好的转换成其有效值大小的直流电平,利于后级
电压采样。
通过以上分析,决定使用方案三。正弦波使用 DDS 芯片产生,经差分放大
后输入可变差动变压器初级,次级生成两路交流电压,经过真有效值转换后得到
直流电平,经 AD 转换后传入单片机,单片机通过计算查表线性拟合即可得到位
移值。另外单片机也可控制直流电机,使磁棒移动到预置位置。

1.2 理论分析

激励电路由 DDS 信号源和差分放大电路组成。激励信号由单片机控制 DDS


芯片产生,对于题目要求的 100kHz 正弦波可以较易达到。差分放大电路对 DDS
输出的信号进行放大,方便后级测量。

2
测量电路由线性差动变压器、整流滤波电路、AD 转换和单片机组成。差动变
压器初级长度与次级总长之比为 1:1,次级线圈中心抽头,可以输出两路正弦
波信号。整流滤波电路使用真有效值转换芯片,可以将次级线圈的交流正弦信号
转换成有效值大小的直流电平。然后使用两片 AD 转换芯片将两路直流电平进行
采样后传输给单片机,单片机处理后得到位移值并显示。
随着铁磁棒插入线圈的长度增大,线圈的电感 L 变得越来越大,其差值△L
变大。对于螺绕环,其电感量为: L0 = µ 0 n 2 sl ,当插入磁棒后,电感量为
L1 = µ 0 µ r n 2 s ∆ l + µ 0 n 2 s ( l − ∆ l ) = µ 0 n 2 sl + µ 0 ( µ r − 1) n 2 s ∆ l
所以,电感量的变化量 ∆L = L1 − L0 = µ 0 ( µ r − 1)n 2 s∆l = k∆l ,即电感量的变化

量 ∆l 与铁磁棒的位移量 ∆l 成正比。故有:

U a La + ∆L
U = L
 0
 U b Lb − ∆L
0

,
L U −Ub
= ,解得, ∆L = 0 • a
 U0
= k • d 。即位移量 ∆l 与 d 值成正
L0 2 Ua +Ub
 L a + Lb = L 0

U a + U b = U 0

比。
然而实际上由于线圈和铁磁棒不是理想的均匀和对称,二者间的线性度不是
特别好。为减小误差,在软件中采取查表,然后在小区间内做线性拟合,以达到
更高的精确度。

1.3 TI 器件的选择
器件的选择

差分放大器部分
题目要求差分放大器使用 THS4503。THS4503 带宽为 370MHz,压摆率为
2800V/us,可使用±5V 电源供电。而经过 DDS 芯片 AD9851 产生的正弦波峰-
峰值为 1V,频率为 100kHz,这就需要将信号进行适当放大才能进入变压器,供
后级电路使用。而 THS4503 带宽达 370MHz,可以放大 100kHz 的信号,同时能
够较好地抑制共模信号。此外,THS4503 最大可以输出 150mA 电流,在使用±
5V 电源供电且初级线圈电阻为 160 Ω的情况下可以带起初级线圈。故使用
THS4503 可以达到题目的要求。

AD 转换部分
要将整流滤波后得到的直流信号送给单片机处理并保证结果精确,需要一个

3
较好的 AD 转换器,在这里选用 TI 公司的 ADS7886。它为 12 位高速 ADC(分
辨率可达毫伏),采样率可达 1MHz,完全能够达到题目的要求。同时使用了 TI
公司的 REF3030 作为 AD 转换器的电压基准源(提供的基准电压为 3V),进一
步保证 AD 转换的精确度。

2. 系统实现

2.1 硬件设计

2.11 系统框图

其中差分放大电路使用了 TI 提供的 THS4503 差分放大器,AD 转换电路使


用了两片 TI 提供的 ADS7886 模数转换器和一片 REF3030 电压基准源。

2.12 线性可变差动变压器设计、计算
变压器使用铁淦氧磁棒作为磁芯,差动变压器次级总长与初级长度之比为 1:
1,次级线圈有中心抽头并接地。为消除自激,将初、次级线圈的漆包线合起来
并绕,即双线并绕。这样初、次级线间距离最小,可使漏感减小到最小值。

2.13 激励电路设计、计算
激励电路使用单片机控制 AD9851 产生 100kHz 的正弦波。而差分放大电路选
用 THS4503,由于 AD9851 产生的正弦波幅度为 1V,为了后级有足够大的信号,
在这里将差分放大部分的放大系数设为 2—5 倍,所以选用 1kΩ电阻与 10kΩ电

4
阻相串联,可以随时调节放大倍数,以达到要求。

图 2.13 激励电路原理图

2.14 测量电路设计、计算
测量电路主要由整流滤波电路和 AD 转换电路组成。整流滤波电路由两片
AD637 构成。经实验, AD637 可以测量有效值为 200mV~7V 的 100kHz 信号,误
差在 1%以内。这样通过调节前级差动放大完全可以满足。AD 芯片选用 12 位数模
转换芯片 ADS7886,由基准电压源 REF3030 提供 3V 基准电压,这样 AD 分辨率为
0.7mV,完全可以保证单片机的测量误差在 2mm 之内。

图 2.14 测量电路原理图
测量电路原理图

5
2.15 模块及模块间接口设计
电路包括电机模块和测量模块,两个模块的电气特性不同。如果共用一组电
源,电机模块工作时会对测量模块产生严重干扰,所以应使用光耦将两个模块隔
开并使用两组不同电源。另外,设计时要考虑芯片的带载能力,当带载能力不够
时考虑使用上拉电阻(对单片机 I/O 口)、使用反相器(对单片机 I/O 口)、使用
三极管或是用运放构建电压跟随器等。

2.16 硬件设计注意事项
(1) 在使用各芯片时,应注意退耦电容的使用,在芯片的+5V 和接地端之间就
近并上一个 10μF 的电解电容和一个 104 的瓷片电容,事实证明这种方式
可以很好的保证输出波形的质量。
(2) 数字地与模拟地间应使用磁珠隔离。
(3) ADS7886 的连接线应使用单线并尽量分开,而不能使用排线,否则会互
相干扰而使 AD 读取数据出错。
(4) 要重视芯片的散热,保证系统的稳定性。对发热较大的芯片最好加装散热
片,如本题中的 THS4503。

2.2 软件设计

2.21 软件总体说明
本系统控制模块采用一片 8 位单片机 SST89E58RD2,完成以下功能:向 DDS
芯片 AD9851 发送控制字;采集信号并计算 d 值;利用线性拟合的方法计算位移
值;产生 PWM 波驱动电机;人机交互界面(包括液晶显示和键盘控制)。

6
2.22 软件流程图

图 2.22 软件流程图
2.23 软件设计思路及技巧
软件部分应包括 DDS 控制,AD 驱动采样,d 值和位移计算,电机的控制,
键盘,显示几个模块。
由于只有 100KHz 一个频率的输出,DDS 控制只须给 9851 送一次数据即可。
AD 采样要同时获得 A,B 两点的电压值,以免磁棒移动速度大时,采样电压不同
步,造成较大误差。因而采取两片 AD 使用公共的时钟线和片选线的方法,达到
采样同步的要求。

7
由于 d 值为小于 1 的数,而单片机在处理浮点数时较慢,为了能让控制系统
延迟更小,所有的数据采用整型数定义,最后显示时再加小数点。在相同的精度
范围内,可以有更高的运算速度。而位移的计算则是通过测点存表,然后小区间
内线性拟合计算出对应 d 值的位移量。
电机的控制则通过 SST 单片机内集成的 PCA 模块的 PWM 模式进行控制,
而没有使用内部定时器。由于 PCA 模块有专门的定时器做时间基准,因而对主
程序没有影响,使程序运行更加稳定。

2.24 编程感想及注意事项
本题没有太复杂的算法要求,控制器资源有较大的余量,但是还是运用了一
些小的技巧,如采用整型数代替浮点数,线性拟合等等。总体感觉电机的控制部
分要相对复杂些,由于磁棒移动时,次级线圈输出电压变化不连续,导致移动相
同距离电压变化量不同,因而要保证电机控制精度需要通过实测数据来制定参
数。
软件设计时应注意以下问题:①尽量使程序模块化,既容易阅读,在调用时
有时也有很大的方便。②定义一些需要的宏,方便程序的编写和调试。③合理的
使用局部变量和全局变量。

3. 作品性能测试与分析

3.1 测试仪器及设备

(1) 数字示波器 Tektronix TDS1002B


(2) 数字万用表 FLUKE15B
(3) 游标卡尺

3.2 测试方法

键盘设置位移值,测量实际位移并记录实测值,同时测量 A、B 两点的电压,


计算得 d 值,并记录测得的 d 值。计算误差。

8
3.3 测试性能概览

类型 序号 项目与测试条件 测试记录
a 正弦信号频率(100KHz) 100.2 KHz
(1) b 差分输出信号波形无明显失真 100.2KHz,无明显失真,略有噪声
差动 V 778mV
显示值 信号 V
A

B 555mV

d值 0.168(理论值 0.167)
+5mm

位移测量值
(2)

基 (3) 移 +5.06mm

本 误差 0.06mm
要 位移测量值
求 显示值
-4.97mm

-5mm 误差 0.03mm
正方向(+10mm) +10.08mm
测 量 误差
范围 0.08mm
负方向(-10mm)
(4)
-10.16mm
误差 0.16mm
测量误差(≤2mm) 达到
测 量 正方向(+20mm) +20.02mm(注:正向最大可测 23mm)
(1) 范围 负方向(-20mm) -20.06mm(注:负向最大可测-23mm)
提 显 示 位移测量值 +5.02mm
高 值 误差
位 +5mm 0.02mm

移 显 示 位移测量值 -4.94mm
发 (2) 测 值
挥 量 -5mm 误差 0.06mm
部 精 测量误差 <0.5mm
分 度
可控制磁棒实现设定的位移 可以
设 定 位移测量 +5.14mm
控 制 位 +5mm 值
移误差 误差 0.14mm
(≤2mm) 设 定 位 移 测 量
(3)
-4.78mm
-5mm 值
误差 0.22mm

(根据最终测试表格重新测试并绘制,不包括工艺和其它功能这两个项目)

9
3.4 误差分析

可能有以下原因
一:游标卡尺读取移动距离时存在误差;
二:磁棒移动不够平稳,线性差动变压器工作不够稳定;
三:外界及电路内部有干扰;
四:直流电机不可能在让磁棒精确地停在某个地方,算法上也是让磁棒停在目的
距离附近的微小区间里

3.5 需要改进的地方

这次作品有很多需要改进的地方。比如,线性差动变压器线圈的直径可以缩
小,直至刚好包住磁棒并且磁棒能自由移动,这样可以减小漏感,减小噪声,进
一步提高精度。布线方式有待改善,减小干扰。另外,逼近设定值时的电机驱动
算法应该还有改进的余地。

4. 附录

图 4.1 作品全图
10
图 4.2 主要电路照片
主要电路照片(
电路照片(已标注 TI 芯片位置)
芯片位置)

参考文献:
参考文献:

[1] 全国大学生电子设计大赛获奖作品选编.北京:北京理工大学出版社,2007
[2] 谢自美,肖看,尹仕等.电子线路综合设计.武汉:华中科技大学出版社,
2006
[3] 周波,李铁,聂喻梅,刘强,王飞.交流电桥磁通改变法测相对位移实验.
重庆工学院学报,2007(9)

11
位移测量装置
指导教师:田裕康
队员及年级:丁志涛 肖斌 许栋 (2005 级)
学校及院系:武汉科技学院 电子信息工程学院

摘要
本系统是利用差动变压器完成微小位移的测量,它以单片机 C8051f020 作为电
机控制和数据处理的中心。系统包括正弦信号激励源、差动变压器、信号测量与
数据采集、位移控制等四个部分。位移量通过 LCD 显示,并实现了语言报数功能。
软件设计采用了 PID 调节、平均值滤波修正等算法。测试结果表明系统工作稳定,
测控精度高,完全满足题目的要求。

Abstract
This system uses differential transformer to complete the small
displacement measurement, which use the C8051f020 MCU to control the motor,
also use it as the data processing center. The system includes incentives
sine signal source, differential transformer, signal measurement and data
acquisition, displacement control. The displacement is displayed by LCD
as well as automatically reported by voice. Software design utilizes PID
algorithm adjustment, and use the filter average to amend. Test results
show that the system is stable and high-precision, which completely satisfy
the requirements of the title.

一、系统方案设计与论证
系统方案设计与论证
要实现满足题目要求的位移测量需要解决以下几个方面的问题:一是正弦信号
激励源;二是差动变压器的设计;三是数据采集电路和电机的控制。其中的关键
是在差动变压器的设计上,其对称性、线性度将直接关系到位移测量的误差。
1.差动
1.差动变压器原理
差动变压器原理

图 1.1 螺线管式差动变压器示意图

1
当磁棒上下移动,差动变压器的电感量就会随之变化。对于螺线管,其电感
量为: L0 = µ
2
0 n sl , ,当插入磁棒后,电感量为:

L =µ µ n s∆l + µ s (l − ∆l ) = µ sl + µ (µ − 1) n s∆l
2 2 2 2
0 r 0 n 0 n 0 r

L − L = µ (µ
2
所以,电感量的变化量 ∆L = 0
− 1) n s∆l = k∆l ,即电感量
0 r

的变化量 ∆L 与铁磁棒的位移 ∆l 成正比。故有:


Ua L2 + ∆L
=
U0 L0
Ub L3 − ∆L
= , L U −Ub
U0 L0 解得, ∆L = 0 • a = k •d ,
2 Ua +Ub
L2 + L3 = L0
Ua +Ub = U0
即位移量 ∆l 与 d 值成正比。
然而实际上由于线圈和铁磁棒不是理想的均匀和对称,二者间的不可能完全
是线性关系。为减小误差,需要在软件设计中采取查表运算,然后在小区间内做
线性拟合,以达到更高的精确度。
2.激励电路
激励电路
激励源包括正弦信号发生器和差动放大器两个部分:
差动放大部分:考虑到正弦信号经过变压器耦合之后的信号大小与加在变压
器原边的输入信号的电流大小有关,要求运放的输出电流较大,而且信号是通过
变压器直接耦合到变压器副边,所以这里应该采用差动放大器且该放大器输出电
流较大。 THS4503 是 TI 公司的宽带、低失调全差动放大器,输出电流最小为 100mA,
在放大倍数为 5 的时候其带宽可以达到 60MHz。因此 THS4503 既可以满足 100KHz
的不失真放大,又有足够的驱动能力驱动线圈。
正弦信号发生器:
方案一:使用分立元件,如 RC 桥式正弦波振荡器,LC 正弦波振荡器,晶体
振荡器等。RC、LC 振荡电路电阻、电容以及电感不易达到精准的匹配,而且受制
作工艺的影响,精确度较难保证。
方案二:直接数字频率合成(DDS)。利用 DDS 专用芯片或是利用 FPGA 合成
DDS 的方法。利用 DDS 芯片或是 FPGA 合成 DDS 可以达到很高的精度,完全可以达
到题目的要求,但硬件结构比较复杂,成本较高。
方案三:使用集成函数信号发生器芯片 MAX038。MAX038 是一款高精度,高频
的波形发生器,能产生锯齿波、方波、正弦波,输出频率范围为 0.1~20MHZ,输
出波形比较稳定,硬件设计简单可靠。
综上所述,正弦信号发生器采用方案三,使用 MAX038 产生 100KHz 的正弦波。
3. 测量电路
测量电路包括放大整流滤波电路和 AD 转换电路:
a.放大部分:考虑到经过变压器耦合之后得到的信号幅值较小,直接进行精
密整流误差会比较大,所以这里应该对信号进行进一步的放大。为抑制噪声干扰,
提高共模抑制比,放大部分可采用仪表放大器。INA128 是 TI 公司生产的精密仪
2
表放大器,带宽较高,失调电压小,共模抑制比高,有利于减小电路的噪声信号,
可以进一步提高系统的测量精度。所以采用了 INA128 作为后端信号处理的器件。
b.整流滤波部分:
方案一:桥式整流电路。该电路经滤波处理后也可以得到直流信号,但对于
本题目而言,纹波电压比较大,达不到测量精度的要求。
方案二:采用相敏检波电路。相敏检波电路可以很好的反应磁铁的位移的方
向。但相敏检波的结构复杂,要用到变压器耦合和参考信号。
方案三:利用精密全波整流和 RC 无源滤波。利用快恢复二极管和高精度放大
器做的精密全波整流可以满足题目的要求,而且误差也比较小。
由以上讨论,信号测量部分采用方案三来实现。由于题中要求处理的信号为
100KHz,对运放的要求较高,为了达到较好的整流效果,需要选用带宽和速度都
较高的运放。OPA606 是 TI 公司生产的宽带放大器,带宽可达 13M,压摆率为
35V/us。综合考虑,选择 TI 公司生产的 OPA606 完全可以满足题目中的各项要求,
所以采用 OPA606 作为精密整流的运放。
c.AD 采样部分:
选用 TI 公司的模数转换器 ADS8326 和精密基准源 REF02 共同构成数据采集系
统。考虑到本设计是针对小位移的测量,AD 转换器的精度直接关系到整个系统的
测量精度。我们考虑选择精度为 16 位的 AD 转换器来进一步提高位移测量的精度。
ADS8326 是 TI 公司的 16 位串行高速模数转换器,转换速度快,线性度好,精度
高,且参考电压输入范围宽。REF02 是 TI 公司生产的+5V 精密基准源,高线性度,
低噪声,低漂移,完全可以满足题目中的各项要求。由 ADS8326 和 REF02 所组成
的数据采集系统完全可以将整个位移测量系统的精度提高,从而实现精密测量。

二、硬件系统
1、系统总体框图
系统总体框图
系统结构框图如图 2.1 所示:

图 2.1 系统结构框图

3
2、激励源
a.正弦信号发生器:由 MAX038 以及外围电路组成。由 MAX038 产生峰峰值为
2V、频率为 100KHz 的正弦波,输出波形稳定不失真,电路图如图 2.2 所示:

图 2.2 正弦信号发生器
2 × 2.5V
其中: f 0 = = 100 KHz 这里取 CF= 0.1uF , 则 RIN=500Ω。
R IN × C F
b.差动放大器 : THS4503 既可以满足 100KHz 的不失真放大,又有足
够的驱动能力驱动线圈。其电路图如图 2.3 所示:

图 2.3 THS4503 原理图


1− β
其中 VOUT = VOUT+ − VOUT− =
•(VIN+ − VIN−)

1− β RF RG
则 AG = = ,其中 β = ,
2 β 2R G RG + RF
为了满足变压器的次级输出的要求,这里选择 A G = 4 。RG=1.5K,RF=12K。其

中 VCOM 接地。
3、线性可变差动变压器
线性可变差动变压器
由于 THS4503 的输出电流达到 100mA,而电压为 4V,信号频率
100KHz,这里我们选用漆包线的直径为 0.17mm,匝数比为 L1:L2:L3=2:1:1;
原边线圈为 580 匝,两个副边线圈为 290 匝。为了使此位移测量装置有较好的
线性度,一般取线圈骨架长度为测量范围的 4~10 倍,但受手工制作的限制,
我们只取 120mm。线圈的绕法是在骨架上面先绕原边,以原边的中心为对称点,
分别绕在原边的正上方,两个次级的匝数相同绕线方向相反,且尽量在结构上
对称 。考虑到磁芯在以中心点左右移动时必须保证磁芯两端在最大位移时不
超过中心点,磁芯长度比测量范围略大,取 42mm 长。
4
4 、测量电路
a、放大整流滤波部分:
a、
⑴ 放大电路
放大电路由 TI 公司的 INA128 组成,为了提高位移测量系统的灵敏度,设
定 INA128 的放大倍数为 10,其电路如图 2.4 所示:

图 2.4 信号放大电路
⑵ 精密全波整流
精密全波整流由两片 TI 公司的 OPA606 组成,经测量输出信号波形比较稳定,
干扰很小,输出经过电容滤波后纹波电压在 2mV 以内。电路如图 2.5。

图 2.5 精密全波整流电路
⑶ 滤波电路
经精密全波整流出来后的波形直接采用无源的 RC 电路对整流后的波形进行
滤波,进一步减少了干扰。原理图见附件 1:
b、数据采集控制:
⑴数据采集电路
此电路采用 TI 公司的 ADS8326,电路如图 2.6。

图 2.6 AD 转换电路
5
⑵ 数据处理和电机控制
该部分是由 C8051f020 最小系统、AD 采样、电机驱动三个电路模块共同构
成的电机闭环控制系统,并经 PID 算法进行控制。电机的驱动是通过 PWM 电路(如
图 2.7)和驱动芯片 L298 来实现的。单片机通过变压器输出的电压值计算出磁棒
移动的距离,并以此来调节电机的转速和转动方向,使磁棒移动到指定的位置,
而磁棒的移动又改变了变压器输出的电压值,由此形成了一个闭环的控制系统。

图 2.7 PWM 控制电路图

c、位移测量的数据计算:
设经 AD 采样得 L2、L3 的输出电压分别为 V2、V3,则
(V − V3 )
d= 2
(V2 + V3 )
这里的 d 与磁棒的位移量成一定的线性关系 d=Ax(A 为常数),为简化系统的
设计,我们直接采用实测的方式来确定。通过比较 V2,V3 的大小可判断磁棒的位
移方向,从而也可以控制电机的运动方向。
5、硬件设计注意事项:
硬件设计注意事项:
电路在设计之初,便考虑到抗干扰措施,从元件布局到安装,均遵循电磁兼
容理论,并结合学习和试验中积累的经验,设置了以下几项抗干扰措施:
a:在线路板上多处加装退耦电容,对高频和低频干扰信号均具有很强的抑
制能力。
b:信号线与地线分开,尽量避免交叉连接。另外,电源线应该尽量选择粗
一点的导线,并采用单点接地的方式,即每个芯片的地线单独用一根线连到电源
地上,这样有效的减小了噪声干扰。
c:选用的数字器件全部为 CMOS 集成电路,噪声容限大,抗干扰能力强。

三、系统软件设计
系统软件设计

6
a.软件设计流程图:

图 3.1 系统程序流程图
b.软件设计说明:为了使得 AD 在采集 A 路电压和 B 路电压时的准确性,可
在软件中用软件滤波的方法来减少 AD 采集电压时的误差,即每次在测量 A 路和 B
路电压时,通过多次采样取平均来实现。试验也表明这种方法可以有效的减少测
量电压的误差。另外,为了使电机的控制更加灵活和平稳,电机带动产生位移量
变化的大小与误差采用了简单的 PID 算法来控制,即电机每移动一下,就测量一
下当前位移,并与设定的位移相比较,如果超过了就改变移动的方向,如果还没
有到达就继续向前移动,直到达到设定的位移为止。

四、系统测试
1.所用仪器和测量工具
稳压电源 SG1732SC3A,交流毫伏表 WY2294,信号发生器 GFG-8255A,
毫米卷尺,60M 数字示波器 TDS1002 。
2.调试方法和过程
采用先分别调试再进行整体调试的方法,以提高调试效率。各个模块调
试如下:
a.MAX038 正弦信号发生器:上电后观察输出信号波形的失真度和频率
的稳定度。通过 MAX038 电路的频率调节电位器使频率为 100KHz。经测量观
察输出的波形很稳定,失真度也很小。
b.THS4503 差动输出:用信号发生器输入 Vpp 为 1V,频率为 100KHz 的
正弦信号,调节放大倍数,使其电压为 4V,即得增益为 4。
c.变压器调零:
目的是消除零点残余电压,除了设计工艺的精细外也可以采用拆圈的方
法,以及电路补偿。这里我们直接用电位器调节,电路如图 4.1。
7
图 4.1 变压器调零电路
d.放大整流滤波电路:用信号发生器输入 Vpp 为 2V,100KHz 的正弦信
号,用交流毫伏表测量输出电压的噪声信号。经测量噪声信号在 2mV 以下。
3.测量数据和误差分析:
a、位移的测量
系统整体调试好后,用手拨动电机的转轴,使磁铁移动一定的距离,并
记录下此时显示的位移量:
表 1 位移的测量
实际位 -20 -18 -12 -8 -4 0 4 8 12 18 20

(mm)
显示位 -20.4 -18.2 -12.0 -8.0 -4.0 0 4.0 8.0 12.0 18.3 20.5

(mm)
位移误 0.4 0.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.5
差绝对

(mm)
分析:由数据可知,在 0 点位移附近误差很小,直到磁铁运动到两端
的时候误差变大,最大为 0.5mm,这是受变压器边缘效应的影响。但误差仍
然远小于题目要求的 2mm。
b、位移的控制
系统调试好后,通过键盘设定磁棒的位移量,让磁棒在电机的控制下
移动,直到电机停止。记录下此时的实际位移量:
表 2 位移的控制
正向位移(由零点向 L2 移动) 负向位移(由零点向 L3 移动)
设定位移(mm) 实测位移(mm) 绝对误差(mm) 设定位移(mm) 实测位移(mm) 绝对误差(mm)
1 1.0 0.0 -1 -1.0 0.0
2 2.0 0.0 -2 -2.0 0.0
3 3.1 0.1 -3 -3.0 0.0
4 4.0 0.0 -4 -4.1 0.1
5 5.2 0.2 -5 -5.0 0.0
6 6.2 0.2 -6 -6.2 0.2
7 7.0 0.0 -7 -7.2 0.2
8 8.2 0.2 -8 -8.0 0.0
9 9.2 0.2 -9 -9.2 0.2
10 10.2 0.2 -10 -10.0 0.0
11 11.0 0.0 -11 -11.2 0.2
12 12.0 0.0 -12 -12.2 0.2
13 13.2 0.2 -13 -13.0 0.0
14 14.2 0.2 -14 -14.2 0.2
15 15.4 0.2 -15 -15.3 0.3
16 16.4 0.4 -16 -16.2 0.2
17 17.2 0.2 -17 -17.4 0.4
18 18.5 0.5 -18 -18.5 0.5
19 19.4 0.4 -19 -19.3 0.3
20 20.5 0.5 -20 -20.4 0.4
分析:设定与实测误差最大为 0.5mm,平均误差为 0.17mm。完全满足题目要
求。误差主要来源于外部干扰,线圈的边缘效应和读数产生的误差。
8
c、变压器输出检测点 C 的波形
系统上电后直接用数字示波器 TDS1002 观察变压器输出检测点 C 的波形,经测
量该处波形十分稳定,失真度也很小。
4.改进方法:为了进一步提高测量位移的精确度以及位移测量的线性度,可以
通过增加绕制差动变压器的长度来实现。另外,还可以通过提高变压器在绕制过程
中的均匀性以及对称性来提高位移测量的精确度。试验表明,变压器绕制的好坏直
接影响位移测量的精确度。

五.总结

此设计把信号处理和电机控制结合在一起,既能实现对微小位移的测量,又
实现了对磁棒移动的精确控制,误差的绝对值均小于 1mm,移动范围可达
-20mm~+20mm,完成了所有的基本要求和扩展要求。设计过程中我们碰到的最大的
问题是变压器的设计和制作,对这个题目而言,变压器的线性度要好,这就要求
变压器的骨架长度要合适,太短了线性度达不到,太长了又要考虑绕线的困难。
而且变压器的制作还要考虑前端的驱动电压和电流,匝比等,最终在试验中摸索
才选择了合适的变压器。在调试过程中发现直流电机对位移的测量有一定的干扰,
后经改换电机的位置将干扰消除了。本次设计大量外围器件采用了 TI 芯片,达到
了理想的效果。

六.参考文献

【1】徐科军 传感器与检测技术 .北京:电子工业出版社,2007.


【2】华成英 模拟电子技术基础. 北京:高等教育出版社,2006.
【3】孙肖子 电子设计指南.北京:高等教育出版社,2006.
【4】曾伟一 自动控制原理.北京:中国水利水电出版社,2005.
【5】许建国 电机与拖动基础.北京:高等教育出版社,2005.

9
附件 1:

附图 1 系统原理图

10
附件 2:作品照片

11
位移测量装置

指导教师:葛华
队员及年级:王鹏杰 电子 0501 罗苏安 电子 0501 孙飞 电子 0502
学校及院系:武汉理工大学信息工程学院电子科学与技术专业

摘要:本文基于 TI 公司的单片机 MSP430F149,设计了一款位移测量装置,该


系统主要由激励电路、线性可变差动变压器电路、放大整流滤波电路和数据采集
及处理电路四大部分组成。基于性价比的考虑,所有电路均采用 TI 公司的芯片
设计。经测试,系统各项性能指标都达到并超过了设计要求,工作稳定,用户界
面友好。
关键字:MSP430F149;差动变压器;位移测量;数据处理

Abstract: Based on TI's MSP430F149 micro-controller, the title designed a


displacement measuring device that the system is mainly inspired by the circuit of the
linear variable differential transformer, rectifier&filter circuit and data acquisition
and processing circuit. Based on cost considerations, all the circuits use TI's chips to
design it. After test, the system performance targets are reached and some exceeds the
design requirements.
Keywords: MSP430F149; Differential Transformer; Displacement Measurement;
Data Processing

1 方案设计
1.1 理论分析
根据题目要求,本系统设计目标主要包括四大部分:激励电路、线性可变差
动变压器电路、放大整流滤波电路和数据采集及处理电路。如图 1 所示。

图 1 位移测量装置
1
上述位移测量装置的工作原理是:激励电路产生正弦波信号经放大电路放
大,差分输出运放变成两路相位相差π的正弦信号,驱动差动变压器初级线圈。
差动变压器的次级线圈感应出感生电压,电压的大小与变压器中磁棒的位置以及
初级激励信号大小有关,当激励信号大小不变时次级输出信号幅值大小取决于磁
棒的位置。在一定长度范围内,磁棒位于变压器中央时,次级两端输出信号幅值
大小相等;当磁棒移向某一边时,次级的该端的电感 L 就变大,位移量 ∆L 变大。
对于螺绕环,其电感量为:
L0 = µ 0 n 2 sl (1-1-1)
当插入磁棒后,电感量为:
L1 = µ 0 µ r n 2 s∆l + µ 0 n 2 s(l − ∆l ) = µ 0 n 2 sl + µ0 (µ r − 1)n 2 s∆l (1-1-2)

所以,∆L = L1 − L0 = µ 0 (µ r − 1)n 2 s∆l = k∆l ,即电感变化量 ∆L 与磁棒位移量 ∆l

U A L + ∆L
U = L
成正比。故有:

 0
U B L'− ∆L
0

U = L
(1-1-3)

 0
 L + L' = L0
0


U A + U B = U 0

L0 VA − VB
解得 ∆L = • = k • d 。即位移量 ∆l 与 d 成正比。
2 VA + VB
,
所以电感变化量输出信号幅值就变大,另一端变小,反之亦然。将差动变压
器次级输出信号进行放大整流滤波得到平滑的两组直流电压,该直流电压就反映
了磁棒在线圈中的移动距离。通过算法
V −V (1-1-4)
d= A B
VA + VB
其中 V A 、 VB 为整流滤波后的两组直流电压, d 值就精确反映了磁棒的移动
距离。
1.2 TI 器件选型及介绍
TI(美国德州仪器公司)在模拟及数字领域有着性能优越、品种丰富的器件
种类,尤其是在模拟器件和微处理器领域推出了一系列高性能,超低功耗,可靠
的运算放大器和微处理器。
本系统控制较为复杂,拟采用 320x240LCD 显示系统信息,3x4 矩阵键盘输
入,DDS 产生激励信号,因此需要占用大量的单片机 IO 资源,要求单片机运算
速度很快,及时处理 A/D 采样得到的数据。综合考虑,本系统控制核心采用

2
MSP430F149 单片机。MSP430Fxxx 系列是德州仪器公司新开发的一类具有 16
位总线的带 FLASH 的单片机,其性价比和集成度很高。它采用 16 位的总线,
外设和内存统一编址,寻址范围可达 64K,还可以外扩展存储器。具有统一的中
断管理,具有丰富的片上外围模块资源。片内有精密硬件乘法器、两个 16 位定
时器、一个 14 路的 12 位的模数转换器、一个看门狗、6 路 P 口、两路 USART
通信端口、一路 SPI 通信端口、一个比较器、一个 DCO 内部振荡器和两个外部
时钟,支持 8M 的时钟,有 PWM 工作模式。由于为 FLASH 型,则可以在线对
单片机进行调试和下载,且 JTAG 口直接和 FET(FLASH EMULATION TOOL)相
连,不需另外的仿真工具,方便实用,而且具有超低功耗。

图2 MSP430F149 引脚图
本在激励电路中,由于要驱动线圈低阻负载,需要选择驱动能力强的单端输
入到差分输出的转换电路,因此采用 TI 的 THS4503 全差分输出放大器。THS4503
其带宽可达 370MHz,转换速率 2800 V/µs,宽电源供电范围(5 V,±5 V,12V,
15V),线性度好,增强 AC 性能并具有较好的散热能力。

图3 THS4503 引脚图
为了去除采样时激励信号的干扰,必须保证在一个激励周期内采样 5 个点,
即采样速率 0.5MSPS,为了进一步提高精度,应选具有 1MSPS 的 A/D 转换芯片。
本系统选用 TI 公司的 A/D 转换芯片 ADS7886。ADS7886 是 12 位串行接口,
1MSPS 速率采样,微功耗 SAR 型 A/D 转换器。具有 20MHz 串行接口速率,电
路简单,无须任何外围器件,6 脚 SOT23 超小封装。

3
图4 ADS7886 引脚图
1.3 设计方案论证
方案一:系统激励部分正弦波产生电路采用传统的函数发生芯片产生,经放
大送入差分运放、变压、整流滤波后,根据两路电压改变得到位移值。该方案产
生正弦波具有低相位噪声等优点,但传统的函数发生芯片电路结构复杂、分立元
件较多,不利于实际制作,故不采用此方案。
方案二:正弦波产生使用 DDS 方案,而整流滤波电路采用真有效值检测芯
片。真有效值检测可以将交流电压很好的转换成其有效值大小的直流电平,利于
后级电压采样。但由于真有效值检测芯片(如 AD637)价格昂贵,电路成本高
昂,故不采用此方案。
方案三:正弦波产生采用直接数字式频率合成器(DDS),后级电路与方案
一相同。DDS 方案电路简单,仅用一块芯片就可以实现,而且可以产生较宽频
率范围的正弦波且失真度小。采用普通的二极管整流滤波电路。为使后级 A/D
采样电路稳定采样,增强了整流滤波电路的滤波特性,并加一级电压跟随器进行
隔离缓冲,以达到较高精度。
通过以上分析,选择方案三。正弦波使用 DDS 芯片产生,经放大差分后输
入可变差动变压器初级,次级生成两路交流电压,经过放大整流滤波后得到直流
电压,经 A/D 转换后送入单片机,单片机通过线性拟合计算即可得到位移量。

2 系统实现
2.1 硬件设计
2.1.1 系统原理框图

图 5 系统原理框图
4
2.1.2 接口设计
激励电路使用单片机控制 AD9851 产生 100kHz 的正弦波,与 430 单片机接
口电路如图 6 所示。AD9851 输出正弦波峰峰值为 500mV 左右,加一级放大,
使输出峰峰值为 1V 左右,送入差分运放 THS4503。

图6 DDS 与单片机接口电路
为了使差分运放稳定工作,将 THS4503 的放大倍数设置为 1,并根据其典
型应用电路配置反馈电阻。THS4503 与前级、后级接口电路如图 7 所示。

图7 THS4503 与前级、后级接口电路
为了增强对感性负载的驱动能力,从 THS4503 出来的两路差分信号经过两
片 AD811 进行放大,驱动差动变压器前级线圈。从差动变压器次级出来的交流
信号同样经过 AD811 进行一次放大,以达到足够大的幅值送给整流二极管进行
整流,再经过两级电容滤波,得到平滑的直流电压。由于经过整流器出来的两路
电压信号一路为正,一路为负,而 A/D 转换器只能采样正电压,于是在输出负
电压之后采用由通用运放 LF353 构成的一级反相器进行反相,另一路加一级电
压跟随器进行阻抗匹配。同时为了消除数字电路对模拟电路的干扰,数字地和模
拟地分开,之间用磁珠相连进行处理,达到了较好的抗干扰效果。设计的电路如

5
图 8 所示。

图 8 差动变压器与前级、后级接口电路
电机驱动采用 PWM 方式控制,MSP430F149 通过内部定时器产生 PWM 信
号,通过光耦进行隔离,驱动 TIP122 达林顿管驱动电机运转,同时通过两路继
电器控制电机的正反转,以达到精确控制磁棒位移的目的。

图 9 电机驱动电路
2.1.3 硬件设计注意事项
硬件电路是整个系统的基础,是保证系统正常工作的必要条件。在该系统的
硬件电路设计制作过程中,应充分注意以下几点:
1)电源。电源电路为整个系统服务,其参数指标决定着整个系统的性能指
标,在电源的电路设计过程中,应注意数字电路(单片机系统)对模拟电路的干
扰,电路中数字地和模拟地应当分开处理,尽可能采用独立的两组电源分别给数
字部分和模拟部分进行供电。
2)激励源信号。从 DDS 出来的 100kHz 正弦信号要进行充分的滤波,尽可
能地消除高频分量。送入差分运放 THS4503 的正弦信号要进行隔直处理,去掉
直流偏置,否则 THS4503 会发热严重,甚至烧毁芯片。
3)A/D 转换电路。ADS7886 对干扰非常敏感,不能用排线将其数据端与 430
单片机进行连接,而要使用分散的,尽可能短的线进行连接,否则 430 单片机无
法读到 A/D 转换后的数据。

6
4)电机驱动电路。直流电机在运行过程中会产生非常强的电磁干扰,要充
分考虑到直流电机的影响,在直流电机两端要加吸收电容,电机驱动电路要加足
够的电源滤波电容。
5)线圈电路。本系统中差动变压器实际上是一个无线电天线,弥漫在空中
的各种无线电波都会对其造成干扰,为了提高精度,最好在线圈外加屏蔽措施,
增强抗干扰能力。
2.2 软件设计
2.2.1 软件流程及设计思路技巧
本系统的主要程序流程:主程序始终运行,根据用户需要,可分别进入三种
模式——手动控制、步进控制及自动控制,返回主程序循环。
具体流程如下:
开始
初始化:MSP430 端口、液晶屏、ADS7886、AD9851
显示人机交互界面

读取 ADS7886 转换数据
数据处理(计算 d 值等)
更新显示(V 、V 、d、实际位移)
A B

是否 否
有有效按键
按下
1 键 是 2键 键
3

模式 1 模式 2 模式 3

图 10 主程序流程图
系统上电复位后,主程序开始初始化各个模块,并显示欢迎界面;然后读取
A/D 采样值,计算 VA、VB、d 值,并根据 d 值计算实际位移;更新屏幕显示,
判断按键;最后循环执行。

7
A/D 转换器 ADS7886 的驱动根据其数据手册提供的时序,进行软件模拟。
时序如图 11 所示。

图 11 ADS7886 时序图
同时为了消除硬件电路干扰带来的误差,在软件设计上我们做了分段线性拟
合及近似的处理,进行软件滤波,达到了很好的效果。
各模式子程序流程图,详见附录。
由于本系统的占用资源较多,程序流程复杂,且涉及到各模式间切换,所以
在软件设计时必须遵循模块化设计思路,由小到大,编好各个模块程序,再组合
成整个程序。
软件编程的几点技巧:
1)所有子程序用到的端口,全部用宏定义在程序顶部说明以便日后方便全
局调用。
2)适当添加注释,方便阅读。
3)关键数据尽量定义为全局变量,因为实践发现,在非全局变量情况下,
进行某些复杂运算时,数据可能发生突变,影响结果。
4)设置合适的入口出口参量,以增加程序的重复使用性。
5)当不需要改变整个寄存器值时,全部采取位操作,以避免对其他位的干
扰。
6)尽量把工作模式完善,以应对不同情况对工作模式的需求。
2.2.2 MSP430 单片机选型及应用
由 于 本 系 统 占 用 的 资 源 较 多 , 需 要 使 用 较 多 的 I/O 端 口 , 因 此 选 用
MSP430Fxxx 系列中性价比较高的 MSP430F149 单片机,MSP430F149 单片机自
带 60KB Flash ROM,拥有 6 个 8 位的 I/O 口,且拥有丰富的片内资源,满足本
系统的设计需要。
MSP430F149 单片机具有 JTAG 调试接口,可以在 IAR 集成编译环境在线仿
真调试程序,非常方便,且不需要额外的仿真工具。MSP430F149 运算速度很快,
在外部 8M 晶振驱动下,执行一条指令的时间为 0.125µS。
2.2.3 编程感想及软件设计注意事项
本系统在程序编写方面的收获,可以总结为以下几点:

8
1)本系统对 MCU 的要求较高,AT89 系列及 STC 系列已基本不能满足设计
要求,需要更高性能、更多资源的芯片,TI 公司混合信号 430 单片机应运而生;
2)在设计软件时,必须进行模块化设计及程序包式封装,增加程序之间的
兼容性和可重复利用性,提高效率;
3)此外还应注意充分应用仿真工具,发挥其辅助设计作用,提高调试程序
的速度和效率,节约时间。

3 作品性能测试与分析
3.1 系统测试方法
测量系统如图 12 所示。系统测量指标主要分四个方面:①正弦信号测试;
②差动输出信号测试;③直流电压测试;④位移量测试。采用 DS5062MAE 60M
双踪数字示波器检测正弦信号的频率及幅度、差动输出信号的相位和幅值;采用
四位半数字万用表检测差整流滤波后得到的直流电平;采用数显游标卡尺精确测
量实际位移量。

图 12 测量系统
3.2 性能测试
⑴正弦波信号测试
表 1 正弦波输出特性
要求频率(kHz) 实际频率(kHz) 电压峰峰值(mV) 频率误差 是否失真
100kHz 100.00kHz 510 0% 无失真
⑵差动变压器输出信号测试
表 2 差动变压器输出特性
正向位移 反向位移
位置 波形特性 位置 波形特性
(mm) 频率(kHz) 峰峰值(V) 有无失真 (mm)
频率 峰峰值 有无失真
(kHz) (V)
0.00 100 1.88 无 0.00 100.00 1.88 无
5.00 100 1.18 无 -5.00 100.00 1.84 无
10.00 100 0.86 无 -10.00 100.00 2.14 无
15.00 100 0.58 无 -15.00 100.00 2.44 无
20.00 100 0.37 无 -20.00 100.00 2.68 无
25.00 100 0.39 无 -25.00 100.00 2.70 无

9
表 3 直流电压信号 V 、V 、和 d 值
⑶直流电压测试
A B
正向位移 反向位移
位置(mm) 电压V (V)
A VB
电压(V) d 值 位置(mm) VA
电压(V)
VB
电压(V) d 值
0.00 1.09 1.09 0.000 -0.00 1.10 1.09 -0.001

5.00 1.46 0.68 0.365 -5.00 0.79 1.48 -0.305


10.00 1.82 0.37 0.659 -10.00 0.45 1.86 -0.609
15.00 2.16 0.13 0.885 -15.00 0.17 2.19 -0.859
20.00 2.40 0.02 0.986 -20.00 0.04 2.40 -0.968
25.00 2.46 0.01 0.995 -25.00 0.02 2.46 -0.984

表 4 位移量误差测试
⑷位移量测试

正向位移 反向位移
设定位移(mm) 实际位移(mm) 绝对误差(mm) 设定位移(mm) 实际位移(mm) 绝对误差(mm)
0.00 0.01 0.01 -0.00 -0.02 0.02
5.00 5.25 0.25 -5.00 -5.21 0.21
10.00 10.47 0.47 -10.00 -10.44 0.44
15.00 15.34 0.34 -15.00 -15.27 0.27
20.00 20.20 0.20 -20.00 -20.29 0.29
25.00 25.32 0.32 -25.00 -25.35 0.35

3.3 误差分析
根据题目要求,本设计实现了所有基本功能,达到了基本指标,并且在许多
方面有一定的扩展,如测量精度达到 0.5mm 以内,测量范围-25~25mm 等。
总结误差来源,主要有以下几个方面:
1)差动变压器手工绕制时有一定误差,初级和次级线圈的不严格对称对系统
精度有一定影响。
2)电机传动的机械部分精度不高,影响电机定位。
3)整流电路滤波效果不是非常理想,影响 A/D 转换器采样得道的电压值。
3.4 进一步改进措施
经过测试,本系统都达到了并超过了题目要求的各项指标,但系统的精度也
有待进一步提高。系统还应采取以下措施进行完善:
1)提高差动变压器的绕制精度。本系统的差动变压器初级电感量经实测约
为 90μH,有些偏小,应增大电感量。
2)电机传动部分的机械精度需要进一步改善,采用齿轮密度大的齿轮组提
高控制精度。
3)整流部分采用精密整流电路,使送入 A/D 转换器的直流电压稳定精确,
提高系统的测量精度。

10
致 谢

感谢德州仪器半导体技术(上海)有限公司赛前培训及赞助本次湖北省电子
设计竞赛,贵公司提供的优秀的模拟器件和 MSP430 单片机芯片是本作品成功设
计完成的保证,今后我们会继续关注贵公司的器件和产品,在这里我们指导老师
和全体队员向贵公司表示衷心地感谢!

11
附录
1 其它模块电路图
1)MSP430 主控电路及液晶电路

2)电源电路

12
2 直流电压信号 VA、VB、、d 值随位移量变化曲线
直流电压信号 VA、VB、、d 值随磁棒位移量变化而变化,使用 Microsoft Excel
软件得到其变化曲线。

A B d
3

2.5

1.5

0.5

-0.5

-1

-1.5
-25 -23 -21 -19 -17 -15 -13 -11 -9 -7 -5 -3 -1 0 2 4 6 8 10 12 14 16 18 20 22 24

其中 A——直流电压信号 VA(V);
B——直流电压信号 VB(V);
d——d=(VA-VB)/(VA+VB)。
3 主要波形
1)DDS 输出波形

13
2)THS4503 差分输出波形

3)差动变压器次级输出波形

4)整流滤波后波形

14
4 作品实物图

5 关键源程序
(1)主程序
#define PWMDIR P2DIR// 输出端口
#define PWMOUT P2OUT
#define PWM 输出位
BIT7;//
long crystal=8000000;// 振荡频率(主时钟)
初始化
//----------------------------------- -----------------------------------//
void Init_PWMmaker(long frequency,char zkb)
{
PWMDIR|= PWM;
TACTL|=TASSEL1+TACLR;
计算计数值
CCR0=crystal/frequency;//
CCR1=CCR0/100*zkb;// 计算占空比
CCTL0|= CCIE;// 中断使能
CCTL1|= CCIE;
_EINT();
TACTL|=MC_1;// 增计数模式
}
中断处理
//------------------------------------ --------------------------------//
#pragma vector=TIMERA0_VECTOR
__interrupt void CCR0int (void)
{
PWMOUT|= PWM;

15
}
#pragma vector=TIMERA1_VECTOR
__interrupt void CCR1int (void)
{
if (TAIV&0x02)// 判断是否为 CCR1 的中断
{
PWMOUT&=~PWM;
}
}

读标志位模式
//
/*{
if (CCTL1&CCIFG)
{
num=~num;
P1OUT=num;
CCTL1&=~CCIFG;
}
if (TACTL&TAIFG)
{
num=~num;
P1OUT=num;
TACTL&=~TAIFG;
}
}*/

(2)AD9851 控制程序
#include "AD9851.h"
子程序
//------------------------------ ------------------------------------------
//------------------------------------------------------------------------------
// 初始化函数
//------------------------------------------------------------------------------
void Init_AD9851()
{

//P3.4/.5/.6 DDS 端口
DATA_DDR |= DATA;// 设置数据输出口为输出方向
口的控制位为输出方向
CTRL_DIR |= FQ_UD + W_CLK + RESET;//P3
}
//------------------------------------------------------------------------------
// 计算控制字
// 入口 频率数组指针 出口 控制字
: :
//------------------------------------------------------------------------------
unsigned long Control_word_Calculation(unsigned char *fno)
{

16
unsigned long dds;
dds=(*(fno+7))*FF7+
(*(fno+6))*FF6+
(*(fno+5))*FF5+
(*(fno+4))*FF4+
(*(fno+3))*FF3+
(*(fno+2))*FF2+
(*(fno+1))*FF1+
(*fno)*FF0;
return dds;
}
//------------------------------------------------------------------------------
// 拆分函数
//------------------------------------------------------------------------------
void AD9851_word_break(void)
{
DDS_Word_8[1]=AD9851_word_32>>24&0x000000FF;// 最前 8 位控制字
DDS_Word_8[2]=AD9851_word_32>>16&0x000000FF;
DDS_Word_8[3]=AD9851_word_32>>8&0x000000FF;
DDS_Word_8[4]=AD9851_word_32&0x000000FF;// 最后 位控制字 8
}
//------------------------------------------------------------------------------
// 延时函数
//------------------------------------------------------------------------------
void delay_9851(void)
{
int i;
for(i=0;i<200;i++);
}
//------------------------------------------------------------------------------
// AD9851 控制函数
//------------------------------------------------------------------------------
void Write_AD9851(unsigned char data[5])// 连续发送 字节数据到 AD9851
5
{
unsigned char i;
CTRL_OUT&=~W_CLK;//W_CLK=0
CTRL_OUT&=~FQ_UD;//FQ_UD=0

for(i=0;i<5;i++)
{
DATA_PORT=data[i]; // 上升沿写入数据
CTRL_OUT&=~W_CLK;//W_CLK=0
CTRL_OUT|=W_CLK;//W_CLK=1
}

17
CTRL_OUT&=~FQ_UD;//FQ_UD=0 执行转换
CTRL_OUT|=FQ_UD;//FQ_UD=1
}
//------------------------------------------------------------------------------
// 初始化复位函数
//------------------------------------------------------------------------------
void RSET_AD9851(void)
{
CTRL_OUT&=~RESET;//RESET=0
CTRL_OUT|=RESET;//RESET=1
delay_9851();delay_9851();delay_9851();delay_9851();
CTRL_OUT&=~RESET;//RESET=0
delay_9851();delay_9851();delay_9851();delay_9851();
Write_AD9851(DDS_Word_0);// 清空寄存器
Write_AD9851(DDS_Word_0);// 清空寄存器
}

(3)ADS7886 控制程序
#define ADS7886OUT P3OUT
#define ADS7886DIR P3DIR
#define ADS7886SEL P3SEL
#define ADS7886IN P3IN
#define CLK0 BIT0
#define DAT0 BIT1
#define CSS0 BIT2
#define CLK1 BIT3
#define DAT1 BIT4
#define CSS1 BIT5
int dataA,dataB,dAa,dBa,dA[20],dB[20];//ADS7886 接收的数据
long subA,subB;
float VA,VB,d;
char disA[5],disB[5],disd[5],dism[4];
char direction=0,move;

#define Num_of_Results 4

static unsigned int A0results[Num_of_Results]; // These need to be global in


static unsigned int A1results[Num_of_Results]; // this example. Otherwise, the


//-------------------------------- ADS7886 采样
--------------------------------//
void ADS7886_R(char j)
{
char i;
ADS7886OUT |= CLK0 + CSS0 + CLK1 + CSS1;//CLK=1,CSS=1

18
ADS7886DIR |= CLK0 + CSS0 + CLK1 + CSS1;// 输出
ADS7886DIR &=~(DAT0 + DAT1);// 输入
ADS7886SEL = 0;
ADS7886OUT &=~(CSS0 + CSS1);//CSS=0
dataB=0;dataA=0;

for(i=0;i<15;i++)
{
dataB=dataB<<1;// 左移
dataA=dataA<<1;
ADS7886OUT &=~(CLK0 + CLK1);//CLK=0
if (ADS7886IN&DAT0) dataA |= BIT0;// 末位置 1
else dataA &=~BIT0;// 末位置 0
if (ADS7886IN&DAT1) dataB |= BIT0;// 末位置 1
else dataB &=~BIT0;// 末位置 0
ADS7886OUT |= CLK0 + CLK1;
}
ADS7886OUT |= CSS0 + CSS1;
dA[j]=dataA;dB[j]=dataB;
}
数据处理及显示
//------------------------------ --------------------------------//
void dispose_display()
{
数据处理
//
VA=dAa*3.310/4096;
disA[4]=(char)(VA);
disA[3]=17;
disA[2]=(char)((VA-disA[4])*10);
disA[1]=(char)((VA*10-disA[4]*10-disA[2])*10);
disA[0]=(char)((VA*100-disA[4]*100-disA[2]*10-disA[1])*10);

VB=dBa*3.310/4096;
disB[4]=(char)(VB);
disB[3]=17;
disB[2]=(char)((VB-disB[4])*10);
disB[1]=(char)((VB*10-disB[4]*10-disB[2])*10);
disB[0]=(char)((VB*100-disB[4]*100-disB[2]*10-disB[1])*10);

if (VA==0&&VB==0) d=0;
else d=(VA-VB)/(VA+VB);
gotoxy(32,150);
if (d>0)
{
direction=0;//正方向
19
lcd_character("+",1);
}
else
{
d=0-d;
反方向
direction=1;//
lcd_character("-",1);
}
disd[4]=(char)(d);
disd[3]=17;
disd[2]=(char)((d-disd[4])*10);
disd[1]=(char)(d*100)%10;
disd[0]=(char)(d*1000)%10;
第一段内
//
if ((d>=-0.280)&&(d<=0.280))
move=(char)(d/0.007);//0~4
第二段内
//
if (((d>-0.524)&&(d<=-0.280))||((d>=0.280)&&(d<0.524))) move=(char)(d/0.0065);//4~8
第三段内
//
if (((d>-0.690)&&(d<=-0.524))||((d>=0.524)&&(d<0.690))) move=(char)(d/0.0061);//8~11
第四段内
//
if (((d>-0.690)&&(d<=-0.850))||((d>=0.690)&&(d<0.850)))
move=(char)(d/0.0061);//11~15
第五段内
//
if (((d>-0.960)&&(d<=-0.940))||((d>=0.940)&&(d<0.960))) move=(char)(d/0.006);// 三位
有效 值 move
dism[3]=move/100;
dism[2]=(move-dism[3]*100)/10;
dism[1]=17;
dism[0]=move%10;
数据显示
//
char i;
for(i=0;i<5;i++)
{
gotoxy(6+i,150);
lcd_character1(tab_num[disA[4-i]]);
gotoxy(18+i,150);
lcd_character1(tab_num[disB[4-i]]);
gotoxy(33+i,150);
lcd_character1(tab_num[disd[4-i]]);
}
if (direction==0)
{
gotoxy(31,180);

20
lcd_character("+",1);
}
else
{
gotoxy(31,180);
lcd_character("-",1);
}
gotoxy(32,180);
lcd_character1(tab_num[dism[3]]);
gotoxy(33,180);
lcd_character1(tab_num[dism[2]]);
gotoxy(34,180);
lcd_character1(tab_num[dism[1]]);
gotoxy(35,180);
lcd_character1(tab_num[dism[0]]);
}

(4)键盘扫描程序
#define KEY_DIR P4DIR
#define KEY_OUT P4OUT // 列选
#define KEY_IN P4IN // 行选
/***********************************************************
***********************************************************/
int key_scan();

int key_scan(void)
{
int i;
char j,temp,buf=0;
int key=10;
S:KEY_DIR =0x70; //设置高三位为输出,低四位为输入
KEY_OUT =0x00;

if((KEY_IN&0x0F)==0x0F) 判断低四位(列)是否为高
//
goto S; // 无键按下
else
{
for(i=300;i>0;i--); // 延时去抖后再判断
if((KEY_IN&0x0F)==0x0F)
goto S;
else // 确认有键按下
{
temp =0x60; // 行扫描控制
for(j=0;j<3;j++)

21
{
KEY_OUT = temp;
buf = (~KEY_IN)&0x0F; // 滤掉高四位
switch (buf)
{
case 8 : key = 4*j+3; break;
case 4 : key = 4*j+2; break;
case 2 : key = 4*j+1; break;
case 1 : key = 4*j+0; break;
}
temp=(temp<<1)|0x10&0x70; 左移一位,第四位置 1,第八位置 0
//
}
do{
KEY_OUT =0x00;
}while((KEY_IN&0x0F)!=0x0F);
if(key<9)
return key+1;
else if(key==9)
return 0;
else if(key==10)
return 11;
else if(key==11)
return 12;
else goto S;
}
}
}

(5)PWM 控制程序
#define PWMDIR P2DIR// 输出端口
#define PWMOUT P2OUT
#define PWM 输出位
BIT7;//
long crystal=8000000;// 振荡频率(主时钟)
初始化
//----------------------------------- -----------------------------------//
void Init_PWMmaker(long frequency,char zkb)
{
PWMDIR|= PWM;
TACTL|=TASSEL1+TACLR;
CCR0=crystal/frequency;// 计算计数值
CCR1=CCR0/100*zkb;// 计算占空比
CCTL0|= CCIE;// 中断使能
CCTL1|= CCIE;
_EINT();
TACTL|=MC_1;// 增计数模式
22
}
中断处理
//------------------------------------ --------------------------------//
#pragma vector=TIMERA0_VECTOR
__interrupt void CCR0int (void)
{
PWMOUT|= PWM;
}
#pragma vector=TIMERA1_VECTOR
__interrupt void CCR1int (void)
{
if (TAIV&0x02)// 判断是否为 CCR1 的中断
{
PWMOUT&=~PWM;
}
}
读标志位模式
//
/*{
if (CCTL1&CCIFG)
{
num=~num;
P1OUT=num;
CCTL1&=~CCIFG;
}
if (TACTL&TAIFG)
{
num=~num;
P1OUT=num;
TACTL&=~TAIFG;
}
}*/

23
温度自动控制系统
指导老师:郑长征老师
参赛学生:陈孟荣 郑高 李黎 (大学三年级)
参赛学校及院系:武汉工业学院电气信息工程系
摘要:本温度自动控制系统以 TI 16Bit 超低功耗单片机 MSP430F247 为核
心控制单元,以 LTC1923 PWM 双极性电流控制器和大功率 MOSFET 构成的
半导体电热致冷器(TEC)功率驱动模块,以负温度系数 NTC 热敏电阻为温度
传 感 器把 温度 信 号 变 为电参 量 信 号 , 再 变 换 成电 压 信号 并 放 大 后 和 DAC
TLV5616 输出设定的目标温度电压值进行比较,得到的误差电压经 PID 补偿网
络调整后反馈到 LTC1923 的控制端,由 LTC1923 来控制功率驱动模块,从而对
木盒的温度进行准确稳定的控制。
关键字:温度控制 MSP430F247 TEC MOSFET LTC1923
Abstract
The temperature control system with ultra-low power TI 16Bit single-chip
MSP430F247 as the core control unit to bipolar LTC1923 PWM current
controller and high-power MOSFET consisting of semiconductor-electric
cooling (TEC) drive power module to be held NTC temperature coefficient
thermistor temperature sensor for the temperature signal into electrical
signal parameters, and then transform into a voltage signal after enlarge and
DAC TLV5616 and set the target temperature output voltage values,
obtained by the error voltage network PID compensation adjusted LTC1923
feedback to the control side, the LTC1923 power to control the drive module,
so the wooden box on a stable and accurate temperature control.
Keywords: temperature control MSP430F247 TEC MOSFET LTC1923
1.方案设计
1.1 理论分析
根 据 设 计 要 求 用 半 导 体 致 冷 器 件 对 一 密 封 木 盒
(100mm×100mm×100mm)内的温度实现准确,快速的控制。设定的调节温
差为 15℃时,要求在 3 分钟内达到稳定的目标温度。超调量不超过 3℃,且稳
定状态下的温度波动在±1℃以内。并能记录并实时显示温度调节过程的曲线。
设计要求用的热电致冷器(TEC)是利用热 电第 二 效应 ——帕耳贴(Peltier)效应
进行制冷或加热的半导体器件。在 TEC 两端加上直流工作电压会使 TEC 的一
端致冷, 另一端发热; 把 TEC 两端的电压反向则会导致相反的结果。由于在半
导体制冷器的冷端。除了产生帕耳贴热 Q1 外,还有焦耳热 Q2,和热端到冷端
的热 Q3,温度达到平衡时,冷端产生的净热量 Q 为:
Q= Q1 - Q2 - Q3 = α Ι T2 - 1 Ι 2 R-K( T1 - T2 )
2
功耗的计算公式为:
P= Ι 2 R+ α Ι ( T1 - T2 )

(式中:K-器件的体热导率(总导率),R——器件的体电阻,T1 冷端温度,

T2 热端温度, Ι ——工作电流 , α ——温差电动势率)

由以上可知:当工作温度,半导体材料性质和几何尺寸一定时,制冷量的
大小只与控制电流的大小有关,工作的状况在制冷或是加热只与控制电流
的方向有关。由于半导体材料阻值的非线性。在同一电压下为获得不同温差
和吸热量,电流变化很大。用 TEC 加热制冷,控制电流比电压好,因此通过控
制 TEC 的电流可以容易实现无“死区”温度控制。温度传感器是测量盒子里空
气的温度,由于空气介质具有热惯性,而且在低温段惯性小,高温段惯性大,明
显呈非线性的特点。所以在控制中或多或少都会出现超调,控制超调可以通过限
制电流来逐步逼近目标温度值,但又受到时间要求的制约。但如果温度当前值和
设定的目标值相差不大时,此时流过 TEC 的电流应该很小(如果驱动电路控制
得当)。出现超调后,我们可以让电流方向反向,并且其大小对应超调的量。就
是说我们只要设计一个能产生差动电压随一电参量可变的电路,直接控制通过
TEC 的电流,实现 TEC 电流的双向控制。然后对温度采样后通过 PID 补偿网络
构成的反馈回路,有效的阻止 TEC 电流频繁的换向。
1.2 选用芯片理由及介绍
主控芯片:TI MSP430F247 作用:负责整个系统的控制,包括按键扫描,LCD
显示驱动,外置DAC,ADC的驱动,大量数据处理等。 特点:16Bit RISC结构,
内含32KB+256B FlashRom,4KB RAM 片内还集成了3个基本时钟模块(最高频
率可达16M)、8通道12bit的ADC转换器、16bit的Timer_A3和Timer_B7比较/捕
获定时器、USCI(UART、SPI、I2C、IrDA),JTAG仿真接口,并且具有超低功
耗、速度更快(指令周期可达62.5ns),ESD保护,SVS,性能稳定等优点,同时
有多种省电模式,开发简单,仿真器价格低廉,不需昂贵的编程器等优点。

数模转换:TI TLV5616 作用:将设定的目标温度对应的12Bit的数值转换成相应


的模拟电压。 特点:12Bit电压输出型,宽电压范围(2.7 V to 5.5 V),线性度
高(. <0.5 LSB),低功耗(0.9mW at 3V),速度快(3us建立时间),连线方便(使
用SPI串口),操作简单。
数模转换:TI ADS7886 作用:将当前温度的电信号转换成数字量,供温度值通
过LCD实时显示出来。我们之所以选择用外置的12Bit ADC,不用MSP430内部
的ADC12模块,是因为我们自制的单片机实验板为单面板,由于布线不良等原
因模拟信号和数字信号之间有较大干扰。(当时发现的,MSP430 ADC12十进
制后两位总在变,结果按上面方法,就这样解决了)。特点:12Bit有效精度SAR
核,速度1MSPS, 2.35 V - 5.25 V宽供电电压,线性度高INL±0.65 LSB(Typical),
DNL +0.4 / -0.65 LSB(Typical),信噪比为72.25 dB SINAD, -84 dB THD,数据
传输速度快,20MHz高速串行接口,体积小,接口及操作简单。

仪表运放:INA2331 作用:一个通道用于将热敏电阻转换后的温度电信号的放
大,提高此信号的灵敏度及幅度,然后才输出至ADC。另一通道用于和DAC的
输出目标设定值比较及放大。 特点:高精度(G = 5, 0.02%),低功耗(静态电
流低至490uA,关断时0.01uA),温度稳定度达到 2ppm/℃,低失调电压(±
250uV),共模抑制比可达 94dB。

TEC驱动器:LTC1923 作用:PWM输出驱动MOSFET形成双极性电流全桥驱
动器。特点:控制精度可达0.01℃,频率可达1MHz,占空比可达100%,高效,
低噪声,低EMI,双极性电流控制。
1.3设计方案论证:
功率驱动部分
方案一:采用电磁继电器直接控制 TEC,具有电路简单可靠,效率高的优点,
但在小容器内难以对温度进行精确控制。
方案二:采用固态继电器。它具有对外界干扰小、能与逻辑电路兼容、抗干扰能
力强和使用方便等一系列优点。但是其切换速度为几微秒到几十毫秒,在使用
PWM 进行控制时,开关速度相对较慢,造成较大的纹波系数,导致 TEC 制冷
效率下降。
方案三:采用集成芯片 LTC1923 控制由 MOSFET 构成的全桥,通过 PWM 改
变占空比从而改变 TEC 的电流大小和方向,达到加热,制冷和恒温的目的。我
们采用第三种方案。
温度传感器的选择:
方案一:采用数字式温度传感器 18B20 对温度进行测量 ,该温度传感器仅需
一根口线来读写,并且传递数据精度可以进行 9 位、10 位、11 位、12 位选择等
优点,但是数据转换速度较慢,最高可达 750ms。
方案二:采用负温度系数的热敏电阻作为温度传感器对温度进行采集,该传感器
具有响应速度快,灵敏度最高等优点,并且在给定的温度范围(5℃~35℃)内
线性度很好,能满足精度要求,能够实时测量温度,可构成准确快响应的模拟控
制系统。故采用此方案。
2.系统实现
2.1 硬件设计
2.11 系统框图

D/A 仪表放大器 LTC1923


MSP430F24 单片机 TLV5616 INA2331 PID 120KHz PWM
温度设定 比较,放大 网络 双极性电流驱
主控制器 动器
A/D
ADS7886 双边门极驱动
温度转换 NTC 10K
热敏电阻 MOSFET

键盘, TG12864
温度,过程 温控对象
声光报警 曲线显示
TEC

2.12 不同功能单元之间的接口设计
A/D,D/A 和单片机的接口如图一所示。它们都使用了 SPI 三线串行接口和
单片机连接,即使用了 MSP430 的 UCA0,UCB0 硬件资源。使硬件和软件的
设计更加简单。D/A 和 A/D 的参考电压都是由 LTC1923 的 26 脚提供的 2.5V 基
准电压。模拟输入输出信号连接入 INA2331 运放模块。
图一
INA2331 和 D/A,A/D 的模拟信号接口如图二。INA2331 通道 A 接成固定精密
的 5 倍放大器,通道 A 两个输入端 R3,R4,R5 和 NTC10K 热敏电阻构成差分
单桥电路。输出接入 A/D 转换器。通过调节 VR1 进行满幅度校准,使温度的量
程在 0℃~40℃之间。VR1 在温度定标之后就不可再变。
TMP_VAL

R3 10K 10K R5 1 14 R17 10K VR1


R4 10K 2 RGA
VIN_A
SNA
VOUTA 13 10K
VSET 3 VIN+A 1 REFA
12 VSET

C16 10K R6 4
5 V- 3 V+
3
11
10
104 NTC1 104 6 VIN+B 2 REFB
A 9
C6 7 VIN-B
RGB
NVOUTB
I SNB 8 CNT
10K U4
100K
R7 R8
100K C18
R9
DACIN
VSET 104 5V
10K C17
R10
104
10K

图二
TG12864LCD,JTAG 仿真接口的数据连接方法如图三,LCD 通过 SPI 串口与
MSP430 的 UCB1 模块连接。通过 UCB1 模块可以将数据快速传输给 NT7532,
且不需要检测忙信号。MSP430 通过 JTAG 仿真接口可以在线下载程序,单步运
行等,而不需要编程器来写。使系统开发变得更简单。

图三
TEC驱动模块接口如图四。LTC1923的4脚接入INA2331的通道B输出控制端。
8脚接入MSP430的一个I/O口用来使能驱动功率的输出。当8脚电压>1.8V使能功
率模块,否则LTC1923使4个MOSFET都关断。该引脚接入一个1UF电容以消除
开机时TEC的浪涌电流。
C1 104 R1 10K 1 LTC1923 R2 10K
28 VSET 12V
PLLPF RT
U2
R11 82K 2 27 C7 330P 1 8
RSLEW CT IN1 VCC1

C8 105 -1 V1 AOD405 AOD405


FULT3 26 2 3 7
/ SDSYN C VREF GND1 9OUT1
6
1 V2
CNT 4 25 3 6
CNTRL PDRVB IN2 CVCC2 L1 10UH L2 10UH
R13 10M T
5 24 5V 4
L 5 C3 C4
EAOUT NDRVB GND2 OUT2
104 TEC
VSET R12 100K 6 23 104 C14 C15
C12 1U
FB VDD
C13 22UF 22UF
C10 7 22 C9 C2 C5
1UF TEC_EN
AGND PGND
105 100UF U3 104 AD408
C11 8 21 1 8 104 R15 R16
SS NDRVA IN1 1
- VCC1
1UF 3 V3 AD408 56k 56K
9 20 2 9 OUT1 7
LLIM PDRVA GND1 6
1 V4
VSET 10 19 3 C 6
VSET CS+ IN2 T VCC2 R18 R19
L
FULT 1 1 18 4 5 22K 22K
/ FULT CS- GND2 OUT2

12 17
VTHRM ITEC
R14
13 16
H/C TEC+
0.1/2W
14 15
VTEC TEC-

U1

图四
2.13 硬件设计注意事项及窍门
为了减少外界温度变化对系统产生的误差,小信号的处理我们使用了零飘移
仪表放大器。并使用LTC1923内部提供稳定的2.5V基准电压作为INA2331,ADC
ADS7886及DAC TLV5616的基准电压输入。保证整个系统参考电压的一致性。
此外,基准电压输出我们用了一个10uf的钽电容和几个聚苯电容对其滤波。还把
ADC和DAC的时钟线和数据线用地线隔开。这样大大的减小了噪声及干扰。设
计中还对ADS7886模拟输入信号进行低通滤波和采样保持,提高电路的稳定性。
使用了两片LTC1693双通道高速MOSFET驱动器,输出电压12V或0V,峰值电
流+1.4A,-1.7A。保证N,P沟道MOSFET都能工作在开关状态。
2.2 软件设计,
2.21 软件流程
开始

系统初始化及显示

Y
按键输入? N

根据键值散转 读


键 启

A/D
+ 动 转

- 停 结
H0LD

处 止 处 果
/
/

理 处
理 理

刷新
当前值-设定值|<0.1
TEC_EN
D/A



Y |
N
LCD

显示

输出报警信号

DAC5616 的驱动使用了 UCB0 硬件资源,设置方法如下:


#define SET_FS P2OUT |= BIT7 //FS 置 1
#define CLR_FS P2OUT &= ~BIT7 //FS 清 0
P2DIR |= 0x80; //P2.7 为输出口 DAC5616 的 FS
P3SEL |= 0x0a; // P3.1 ,P3.3 为模块功能
SET_FS;
UCB0CTL0 |= UCMSB + UCMST + UCSYNC; // 3 线, 8-bit SPI 主机
UCB0CTL1 |= UCSSEL_2; // 选择 SMCLK 时钟源
UCB0BR0 |= 0x04; // BRCLK = SMCLK/4
UCB0BR1 = 0;
UCB0CTL1 &= ~UCSWRST; // 初始化 USCI state machine
DAC 输出的调用函数 入口参数:num
void outdac5616(unsigned int num)
{ CLR_FS;
while(!(IFG2 & UCB0TXIFG));
UCB0TXBUF=num>>8;
while(!(IFG2 & UCB0TXIFG));
UCB0TXBUF= num;
Delayus(3);
SET_FS;
}
ADC 的设置方法也一样,不过单片机是从 A/D 读取数据,接收时先要发送 0 来
启动 SPI 串口,才能接收到外部 AD 的数据。以下程序是用来接收外置 ADC 的
12Bbit 的串行数据。
UCA0TXBUF = 0; // Dummy write to start SPI
while (!(IFG2 & UCA0RXIFG)); // RXBUF ready?, data received??
data1=UCA0RXBUF; // R15 = 00|MSB - Q9-Q2
UCA0TXBUF = 0; // Dummy write to start SPI
while (!(IFG2 & UCA0RXIFG)); // RXBUF ready?, data received??
data2 = UCA0RXBUF;
data1=data1&0X000F;
data1=data1<< 8;
data1=data1+data2; // 拼成一个字
2.2.2 MSP430 单片机的使用
我们使用功能强大的 IAR EW 嵌入式开发环境,新建一个工程环境,主要设置
有单片机的型号,使用仿真器的接口类型,选择是硬件仿真或是软件仿真这几项
就能使用了。
2.2.3 编程感想
MSP430 单片机使用 C 语言来编程简单易学,代码执行效率高。在学习中,先
要熟悉 MSP430 的硬件资源,了解各个寄存器的功能及设置。同时 TI 公司也公
布了大量的代码例程,这给我们初学者带来很大的方便。
3 作品性能测试与分析
测试仪器与设备:FLUKE—17B万用表(带温度和频率测量功能)
20MHz双通道数字示波器
JD-II电子秒表
直流稳压电源
(1)测试方案与测试条件
实验室温度 28℃。万用表温度探头和本系统温度传感器通过软胶布固定在一起,
以保证两个传感器的温度采样点一致,使温度测量准确。检查无误后,接通电源,
初始显示正常,设置好目标温度按开始键并启动秒表计时,记录数据:
(2)测试结果
从 32℃降 22℃

32-22℃

时间(S) 0 20 40 60 80 100 120 140

当前显示温度
32.0 29.8 24.6 21.7 22.8 22.2 22.0 21.5
FLUKE17B 测得温度
32.1 29.7 24.5 21.7 22.7 22.1 21.9 21.4
从 22℃降 12℃

22-12℃

时间(S) 0 20 40 60 80 100 120 140

当前显示温度
22.1 20.4 17.6 14.8 13.2 11.2 12.3 12.0
FLUKE17B 测得温度
22.0 20.5 17.4 14.6 13.3 11.3 12.4 11.9

(3)测试结果分析
由以上数据结果可得,本系统能够很精确的控制温度,超调量很小,效率高。
用了两片 TEC 并联使用,在散热端用了水冷装置。使系统的响应更快。由于系统
而非电子器件的热属性导致有限的温度控制回路静态稳定性,同时系统在不同环
境中的热梯度的影响,使温度的稳定性只能达到±0.5℃左右。解决方法可以在
系统中加入热梯度补偿网络。
参考文献:
1.赵茂泰,智能仪器原理及应用(第二版),电子工业出版社 2004.7
2.秦龙,MSP430 单片机应用系统开发典型实例,北京:中国电力出版社,2005
3.沈建华,杨艳琴,瞿骁曙,MSP430 系列 16 位超低功耗单片机实践与系统设计,
北京:清华大学出版社,2005
4.秦龙,MSP430 单片机 C 语言应用程序设计实例精讲,电子工业出版社,2006
附录:
温度自动控制系统(
温度自动控制系统(D 题)

指导教师:金星
队员及年级:陈 哲(06 级) 朱琳琳(06 级) 陈鸿吉(06 级)
学校及院系:中国地质大学机械与电子信息学院

摘要:
摘要:本温度控制系统以 MSP430F169 单片机作为控制器,选用 DS18B20 型温度
传感器采集温度。系统利用矩阵式键盘实现功能模式和温度设定值的输入,温度
设定的最小分度为 0.1℃。实时温度和温度调节曲线由 EDM12864 液晶屏显示,
其温度显示的最小分辨率为 0.0625℃。本系统采用电压、电流采样电路测量致
冷片的工作电压和电流,为单片机的控制提供依据,其中电压采样电路采用 TI
公司生产的运算放大器 OP2345 实现电压跟随,电流采样电路采用 TI 公司生产的
精密仪表放大器 IN122 进行电流信号的放大。系统致冷和致热的切换由继电器控
制,软件设计采用了 PID 算法。本系统具有检测精度高,控制稳定的特点。
关键词:单片机;温度控制;PID
关键词 算法

bstract:The system is based on microcontroller MSP430F16 and


Abstract: temperature
sensor DS18B20 is used for collecting temperature. Matrix keyboard is used for
function mode input and preset temperature setting. Voltage and current sampling
circuit are used for monitoring the working conditions of the refrigeration piece.
heating or refrigerating the air in the wooden box is controlled by relay. The software
design is based on PID arithmetic. The system has some features including high
detecting precision, stable control and so on.
Keyword:MCU
Keyword: Temperature Control PID arithmetic

1 方案设计
1.1 理论分析
1.1.1 电压电流采样
电压电流采样电路
电流采样电路
对于电流采样部分,采样电阻 Rc 为 3 个 0.1Ω大功率电阻并联,所要采样
的电流范围为 0A 至 6A,由式 U=IR 得电阻两端电压范围为 0 至 0.2V,为了提高
采样精度,需放大此电压信号。仪表放大器 INA122 放大倍数 G=5+200KΩ/RG,单
片机供电电压为 3.3V,单片机内部 A/D 采样量程不大于其供电电压,故经放大
的电压不能高于此电压,当 G=10 时,经放大的电压范围为 0 至 2V,放大所得电
压在单片机转换量程之内。
200KΩ
因为 G=10,且 G=5+ ,电阻 RG 为:
RG
200KΩ
RG= =40K
G −5
对于电压采样电路,由于采样最高电压为 12V,若直接连接电压跟随器的同
向端,则所得电压过高,不能输入给单片机。所以通过电阻网络衰减,经过 R3、
R4 的分压作用,所得电压最大为:
R3 1
Um=U0 = U0=2.4V
R3 + R4 5

此最大值可以输入给单片机,然后在后级利用 OPA2340 接入电压跟随器,利


用 MSP430F169 单片机内部 A/D 转换成数字信号。
1.1.2
1.1.2 滤波电路:
滤波电路:
对于滤波部分,主要构成如图 1 所示,电感 L、电容 C1 和致冷片 R(RC 阻值
很小可以忽略不计),电感采用磁罐制作,由于磁罐不漏磁,对电路干扰较小,
而且有较强的续流作用。单片机 P1.2 口输出频率为 10KHz 的 PWM 波,经光电隔
离电路输入到 a 点,当 PWM 波为高电平时,a 点为低电平,电容 C 两端充电,其
最大电压设为 U0,PWM 波由高电平到低电平的瞬间开始,a 点由低电平转换成高
电平,C 两端电压为零,RC 系统失去外施激励源,电路中的初始储能引起响应,
t
− RC
此时电容两端瞬时电压 uc= U 0 e 。为减小电压波动对致冷效果的影响,使 uc
的波动小于 5%U0。查致冷片相关资料知系统所用致冷片两端电阻为 1.7Ω~2.2Ω。
12V L
b
C1
a Rc c
R3 R4
RG
3K 12K
2
1

8
3

2
V+ VN+
V- VN-
Ref RG

V0 RG

4 8
INA122
3.3V OPA2340
1
4
5

6
7

P6.2

P6.1

图 1 电压、电流采样及滤波电路
t
即 U 0 e − RC ≥0.95 U0,

t 值小于 T/2,故电容值最小为:
t
=5.7×10-4 F=570μF,
− R ln 0.95
实际的电路设计中电容值不能小于 570μF,本电路中选用 2200μF 电容,
达到设计要求。
1.1.3
1.1.3 制冷片的选择
制冷片选择 TEC1-127-06,最大温差大于 65℃,最大温差电流 6A,最大温差
电压 15.4V,最大致冷功率 51.4J/s,空气比热容为 1.300758J/(L*℃),木盒体
积为 100mm×100mm×100mm=1L。木盒内温度上升或下降 15℃所需热量 Q 为:
1.300758J/(L*℃) ×1L×15℃=19.5125J
理想情况下,该致冷片工作在最大致冷功率,可以达到题目中的要求,但是
由于木盒保温效果不理想,致冷片不可能完全工作在最大致冷状态,而且存在一
定的功率损耗,实际制作中先选择了致冷功率较大的 TEC1-127-06 进行实验,发
现其相对于保温效果不理想的木盒,其致冷量并不多余。器件清单上所列的 3
种致冷片中,TEC1-127-06 型比另外两种型号的主要性能参数(最大温差、最大
温差电流、最大温差电压、最大致冷功率)都较大,所以其耐用性较好。考虑到
成本相差不大,而且 TEC1-127-06 致冷功率比其它两种致冷片功率大,所以选用
TEC1-127-06。
1.2 所用 TI 器件说明
1.2.1
1.2.1 关于使用单电源轨至轨运放 OPA2340
采样电压通过电阻衰减网络后,需要进入 A/D 转换电路进行 A/D 采样。由于
直接进行 A/D 采样输出阻抗很大,而 MSP430F169 内部 A/D 是通过测量其内部电
容充电时间来进行电压的测量,直流信号不能直流进入 A/D 采样,需要经过电压
缓冲和阻抗变换,综上所述选择 OPA2340 单电源运放进行直流电压缓冲和阻抗变
换。
OPA2340 系属单电源输入/输出精密运放,输入阻抗高。
选型理由:1、该器件为电源轨至轨输入/输出精密运放,轨上死区极小,因
此可以在单电源供电的情况下实现良好的直流电压缓冲。因此减小了对电源的要
求,简化了电路,降低了成本。2、该器件为 CMOS 工艺,其输入阻抗高,噪声低,
非常适合 A/D 采样前的电压缓冲和放大。
1.2.2 关于使用精密低噪声信号采集仪表放大器 INA122
电流通过采样电阻后,由于最大电压为 0.2V,为了提高采样精度,需要经
过电压放大后才能进行 A/D 转换。
INA122 是精密低噪声信号采集仪表放大器,内部采用 2 个运放设计,使之
具有非常低的静态电流的优越性能,可用于便携式仪表和数据采集系统。INA122
工作在很宽的单电源供电下(2.2~36V),静态电流仅 60μA。用一个外部电阻,
可设定从 5~10000V/V 的任意增益值。激光校正保证了极低失调电压及漂移和
优越的共模抑制。
选型理由:1、该器件输入关断电压极小,可达 250uV,能很好的放大微弱
的电压信号。2、极低失调电压及漂移和优越的共模抑制,保证系统的精度。3、
电压放大电路简单,只需外接一个电阻。
1.2.3 关于使用超低功耗微处理器 MSP430F169
MSP430F169
在交流信号经整流滤波变换成直流信号并经电压缓冲之后,需进行 A/D 转换
和信号运算处理,综上我们选择多功能超低功耗混合信号处理器 MSP430F169。
MSP430F169 系属多功能超低功耗混合信号处理器,功耗极低,且拥有丰富
的外围模块:48kflash,2048BRAM;8 通道 12bit A/D;双 12bitD/A;DMA;48
个 I/O 口;16 位 WDT;1 个 16 位 Timer_A(3 个捕获/比较寄存器);1 个 16 位 Timer_B
(7 个捕获/比较寄存器);2 个 USART 接口;I2C;MPY;比较器_A;温度传感器。
选型理由:1、由于系统需要进行 A/D 转换和数据运算处理,如果采用传统
的微处理器 8051 单片机,则需要在外部扩展 A/D 转换模块,电路复杂,且很难
达到较高的精度。在此使用 MSP430F169 多功能超低功耗混合信号处理器则可以
解决以上问题,MSP430F169 内置 8 通道 12bit 高精度 A/D,电路简单,且精度
很高。2、MSP430F169 内置 256B Flash Memory 能够方便的保存重要数据,且掉
电不失。3、此系统中,数据接口较多,而 MSP430F169 拥有较丰富的 I/O 口资源,
无需在外部进行扩展。
MSP430F169 功耗极低,能够减小系统的电源负荷,同时也为系统的电池供
电提供了可能。
1.3 设计方案论证
1.3.1 温度采集电路
方案一:采用常见的感温原件热电偶或热电阻,它们的主要优缺点是:热电
偶价格便宜,但精度低,需冷端补偿,电路设计复杂;热电阻精度较高,但需要
标准温度电阻与之匹配才能使用。
方案二:采用 DS18B20,它是美国 DALLAS 公司推出的单总线数字测温芯片。
它具有独特的单总线接口方式,仅需使用 1 个端口就能实现与单片机的双向通
讯。采用数字信号输出提高了信号抗干扰能力和温度测量精度。可以通过编程实
现 9~12 位的温度转换精度设置。DS18B20 测温范围为-55℃~+125℃。
综上分析,选择方案二,可以简化电路,提高电路的稳定性,减小测量误差。
1.3.2 电流采样电路
方案一:直接测量所测电流通过的电阻两端电压,通过电压和电阻的比值可
以算出电流的值。设计采样电阻的值使测得电压最大值接近单片机电源电压,提
高测量精度。
方案二:将方案一中的电阻改为阻值极小的电阻,阻值为 0.0334Ω,但是
采得电压值很小,为增大量程,提高精度,需要放大此电压值。放大电路采用
200KΩ
TI 公司生产的精密仪表放大器 INA122,只需外接一个电阻 RG,便实现 G=5+
RG
的电压放大倍数,使得电路简单,稳定性高。
2
且由功率公式 P=UI=I R 可知方案一中电阻消耗的功率大于方案二中电阻消
耗的功率。综上分析选用方案二。
1.3.3 电压采样电路
方案一:通过电阻分压衰减网络,按一定比例对采样电压进行衰减,通过并
行比较型 A/D 测量电压,通过软件计算出采样电压大小。
方案二:通过电阻分压衰减网络,按一定比例对采样电压进行衰减,利用
OPA2354 增加一级电压跟随,用 MSP430F169 内部 A/D 测量电压,通过软件计算
出采样电压大小。
由于 MSP430F169 单片机的内部 A/D 采样的是通过测量电容的充电时间确定
所采样电压的大小,不能直接对电阻分压衰减网络进行采样,所以在衰减网络后
级增加一级电压跟随电路。
方案二利用 MSP430F169 内部 A/D 便于软件的设计,且电路简单,综上所述
选用方案二。
1.3.4
1.3.4 制冷片驱动电路
方案一:用场效应管组成的 H 型 PWM 电路。此电路由四个大功率场效应管组
成 H 桥电路构成。四个场效应管分为两组,交替导通和截止,用单片机控制场效
应管使之工作在开关状态,根据调整输入控制脉冲占空比来调整制冷片的功率。
方案二:采用如图 2 所示的单个场效应管组成的开关电路,前级采用光耦隔
离和由 9012 和 9013 组成的桥式场效应管驱动。用单片机控制场效应管使之工作
在开关状态,根据调整输入控制脉冲的占空比来调整制冷片的功率。
方案一能灵活的实现制冷片工作在冷热状态的切换,但是不易实现滤波。由
于冷热状态切换频率较低,方案二可以利用继电器来实现冷热的切换,且滤波电
路简单。因此选用方案二。
12V
12V
3.3V
R.1
4K7
R0
240Ω NC 9013 TEC

U1

P1.2 IRF540

4N25 9012

R_d

图 2 制冷片驱动电路
1.3.5
1.3.5 致冷致热切换及
致冷致热切换及电路
方案一:用场效应管设计 H 桥式电流方向转换电路,其设计如图 3 所示,该
方案涉及的元件简单,设计方便,但在致冷片两端不容易实现滤波。
方案二:采用继电器 IQX-12FC-2C,其内部有两对单刀双掷开关,图 4 为其
内部结构,可以通过控制继电器的通断来控制开关状态,从而控制电流的方向。
用继电器可以在继电器前级电路加滤波电路,减少电压波动对致冷效率的影响。
综合上述分析,为减少电压波动,选择方案二。

VCC

IRF9540 IRF9540
Q1 Q2

K1 A1
致冷片 B1
TEC1-127-06 K2 B2
A2
IRF540 Q3 IRF540
Q4

图 3 H 桥电路 图 4 继电器原理图
1.3.6
1.3.6 键盘电路
方案一:直接用行列式键盘,利用单片机扫描进行键盘数据的读取,但是需
要进行防抖处理,且占用了较多的 I/O 口。
方案二:将行列式键盘接入键盘控制芯片 ZLG7289,该芯片内部自带防抖处
理功能,能在有键盘动作后发送中断信号,并将读取的键盘数据直接通过串口发
送到单片机,只需 2 个 I/O 口便可实现键盘的功能,占用了单片机较少的资源。
综上所述,为节约单片机资源,采用方案二。
2 系统实现
2.1 硬件设计
2.1.1 系统框图
系统框图如图 5 所示。

电流采 (INA122,电压增益,
样电路 减小输出阻抗)
LCD 显示 MSP430F169
型单片机
光电隔 致冷致热
离及驱
TEC1-127-06
( A/D 转 选择电路 型致冷片
温度采集 换、数据处 动电路
理、协调控
(OPA2354,电压跟
制所有模 电压采 随,减小输出阻抗)
块工作)
样电路
键盘
风扇驱 排风扇
动电路
图 5 系统框图
2.1.2 不同功能单元之间的接口设计
整个系统由键盘、温度采集、制冷片驱动、风扇驱动、液晶显示、电压采样、
电流采样,7 个模块组成,各模块的接口设计如下:
键盘采用 ZLG7289 对按键动作进行处理,读取键值,发送中断信号后,通过
串口将键值发送给单片机,单片机利用 I/O 口模拟串口接收键值,并进行相应的
处理。
温度采集采用 DS18B20,通过总线模式发送温度数据,单片机需要相应的温
度数据时,通过 I/O 口模拟接收数据并进行处理。
制冷片驱动前级采用光耦 TL117 隔离,由于使用 PWM 驱动,场效应管必须处
于高速开关状态,为减小场效应管工作在放大状态的时间,通过 9012、9013 对
管驱动 IRF540,提高开关速率,降低场效应管的功耗。
液晶显示采用 EDM12864 液晶屏,该液晶工作电压 3.3V,可以与 MSP430F169
直接连接。
电压采样利用 OPA2340 对电阻衰减后的电压进行电压跟随,减小输出阻抗,
可以利用 MSP430F169 内部 A/D 直接进行采样。
电流采样利用 INA122 对通过采样电阻转换后的电压信号进行放大,方便
MSP430F169 直接利用内部参考源进行 A/D 采样,提高了采样的精度。
2.1.3 硬件设计注意事项及窍门
1、在使用运放的时候在电源组的两端加上一组电容(10uF 的电解电容和
0.1uF 的瓷介电容),分别起到滤掉低频干扰和高频干扰的作用,使运放能够达
到较高 的精度。
2、在使用 A/DC 模块的时候,一定要保证电源电压的稳定性和基准电压的稳
定性。
3、整个系统的模拟地和数字地不要交叉共地,模拟地和数字地要分别独立
开来,在一点通过 0 欧电阻进行共地,并且需并接电容,以提高电路的抗干扰能
力。
2.2 软件设计
2.2.1 软件算法及
软件算法及流程
算法及流程
采用 PID 控制进行温度控制,它是一种闭环控制系统,根据控制量的实际值
与设定值的偏差来计算下一步的控制量软件的基本流程是:
采样当前温度--PID 运算--PWM(占空比式)输出
PID 运算程序如下:
每采样一次之后进行一次 PID 运算,得到一个输出量,供输出函数调用。为
了下面叙述方便先定义几个变量。
定义: T-target 表示目标温度
T-real 表示当前温度
T-diff 表示当前温差 并且 T-diff=T-target-T-real
PID 运算表达式如下:
PWM_OUT=P_OUT+I_OUT+D_OUT+P_H;(求代数和)其中 P_OUT=KP*(T-diff) 称
为比例项,KP 是比例系数,比例项的作用是纠正偏差.比例项输出等于比例系数
乘当前温差。
I_OUT=KI*Σ(diff)称为积分项,KI 是积分系数,积分项用于消除系统稳态
误差。Σ(diff)含义是由当前算起前面 N 次采样温差的和。
D_OUT=KD*△diff 称为微分项,KD 是微分系数,微分项用于减小系统超调量,
增加系统稳定性.(△diff=当前温差-上次温差)。
P_H=KC*(T-target)称为维持功率项,达温后(其它项均趋于 0)此项起抵
消散热维持温度的作用,可增加系统稳定性.KC 是维持功率系数
如果约定满功率值为 100,停止输出功率值为 0 那末 PWM_OUT 的取值范围就
确定为 0--100 主要是为了后面编制输出函数时方便简明,直接调用 PWM_OUT 作
为输出占空比的百分数)后面整定系数时就要兼顾 PWM_OUT 的取值范围。
如图 6 为软件设计流程图,主菜单包括温度设定、控制对象温度状态及曲线
显示、系统各部分温度监控和制冷片但前工作功率查看四项功能,温度设定后,
系统便运行控制程序。
图 6 软件流程图

2.2.2 MSP430 的程序设计技巧


关于使用 MSP430 内部 A/DC 转换
MSP430 内置 A/D 转换模块,能够直接进行 A/D 转换,在内部程序设计时进
行相应的误差处理,即进行多次采样,然后去掉最大值最小之后再求平均值能够
提高 A/D 转换的稳定性和精度。
2.2.3 编程感想及软件设计注意事项。
编程感想及软件设计注意事项。
软件的编写最好是采用模块化设计,并做成相应的头文件,这样便于程序的
调试,也使得编写程序的思路更清晰。在调试各个程序模块时,要注意到各个模
块间相互的影响,要合理地利用中断并管理好中断。
对于菜单程序的编写,逻辑思维一定要清晰,要养成画程序流程图的习惯。
利用 I/O 口模拟一些通讯协议时,一定要注意时序问题,最好把相应的延时
程序写成与单片机工作频率有关的函数,便于以后的检查和更改。

3 作品性能测试与分析
3.1 测试方法
将温度初始值调制 22℃,稳定后,将温度设定为 12℃,在 LCD 上观察温度
的超调量、稳定后的最大正负偏差,并利用秒表记录到达稳定状态的时间,并依
次设定 22℃、32℃、22℃,记录下相应的数据。
3.2 系统性能概览
表 1 测试性能表
温度设定 22℃→12℃ 12℃→22℃ 22℃→32℃ 32℃→22℃
超调量 0℃ 1.3℃ 0.6℃ 0.2℃
稳定后温度最 +0℃ +0.12℃ +0.12℃ +0.12℃
大波动(+、-) -0.31℃ -0.25℃ -0.12℃ -0.25℃
到达稳定状态时间 6min25s 1min07s 1min32s 2min26s
3.3 误差分析
该系统控制的 PID 控制参数只是在致冷和加热这两种情况下有所不同,不能
满足在任何温度下条件有着最佳的动态曲线。
3.4 进一步改进
在 PID 控制算法中加入模糊控制量,对于在不同温度下的调节能有着更好的
动态温度曲线,减小调节时间,增加温度的稳定度。
附录

图 7 作品照片
题目: 无线传能充电器
指导老师:
指导老师: 邓柳 李德明
队员及年级:
队员及年级:罗国见 欧明亮 李键 (2006 级)
学校及院系:
学校及院系:长江职业学院 工学院

摘要
本无线传能充电器由能量发送单元和能量接收单元两大部分组成,可在 6cm
的距离以内对电池进行快速和慢速充电。能量发送端可用市电和直流电源供电,
具有交流优先和交直流自动切换的功能;接收端控制电路采用 MSP430 低功耗单
片机,电压和充电时间显示采用低功耗 OCM126864-9 液晶屏。

Abstract

The wireless energy transmitting charger is made up of an energy transmitting


unit and an energy receiving unit. Battery can be charged by this system in two
modes(quick mode /slow mode) with the distance upto 6cm. The energy
transmitting unit can be powered by AC or direct current and AC is a high periorty.
Energy receiving unit is made up of charge-circuit and control-unit which controled
by MCU named MSP430.The charging process will be monitored by
lcd(OCM126864-9) .

1 方案设计
1.1 理论分析
本系统设计的关键点一是用线圈耦合方式传递能量,使接收单元接受到足够
的电能,以保证后续电路能量的供给;二是如何提高充电电路的能量利用效率,
在满足充电电路正常工作的前提下尽可能采用低功耗设计。
1.2 选用 TI 器件的依据,选择理由,所选 TI 器件详细介绍
器件的依据,选择理由,
依据:为了保证充电器的稳定性,准确性;实现充电过程的实时监控。
理由: TI 公司 MSP430 系列是一个超低功耗类型的单片机,特别适合于电
池应用的场合或手持设备。无线传能充电器能量接收单元由于其耦合方式获得电
流有限,充电过程若采用单片机控制,必须采用低功耗的单片机;充电过程要实
现电压的实时监控,内嵌 AD 转换器的 MSP430 系列无疑是最好的选择。
TI 器件介绍:1)有多种省电模式,功耗特别省,一颗电池可工作 10 年,
在液晶显示时也能达到 0.8uA 的低电源消耗 2)片内资源丰富,有 ADC,PWM,若

1
干 TIME,串行口,WATCHDOG,比较器,模拟信号 3)开发简单,仿真器价格低廉,
不需昂贵的编程器。4)16 位精简指令结构同其它微控制器相比,带 Flash 的微
控制器可以将功耗降低 5 倍,既缩小了线路板空间又降低了系统成本。 高效 16
位 RISC CPU 可以确保任务的快速执行,缩短了工作时间。大多数指令可在一个
时钟周期里完成; 6 微秒的快速启动时间可以延长待机时间并使启动更加迅速,
降低了电池的功耗。 MSP430 产品系列可以提供多种存储器选择,从 14 位 ADCs
到 LCD 驱动电路的混合信号外设,简化了各类应用中 MSP430 的设计 ESD 保
护,抗干扰力特强。

1.3 设计方案论证

1.3.1 电源切换
方案一:采用晶闸管,其优点是切换无噪声,但驱动电路复杂,且要安装散热片。
方案二:采用继电器,功率大,内阻小,缺点是存在切换噪声。
综上所述:要实现交直流自动切换,由于工作电流大,切换频率不高,所以选择
(方案二)。
1.3.2 振荡电路:
振荡电路:
方案一:使用晶体管振荡,可以产生稳定准备工作频率,但频率不可调。
方案二:使用 RC 振荡,其频率在一定的范围内可调,电路简单而且省电。
综上所述:因系统选择频率不高,频率可调在一定的范围内,所以选择 NE555
与 RC 构成的振荡(方案二)。
1.3.3 功率放大电路
功率放大电路:
电路:
方案一:采用大功率开关三极管作为功放元件,但管耗较大,需要大面积的散热
片,成本较高。
方案二:采用场效应管作为功放元件,功耗低于三极管,驱动功率小,使用方便,
所以选(方案二)。
1.3.4 充电电路:
充电电路:
方案一:变流充电,但是时间与电压上升不呈线性关系,对电池有影响,而且难
以把握充电时间。
方案二:恒流充电,恒定的充电电流对电池影响小,充电电流不随电池电压的变
化而改变,电压与电流呈线性关系,便于控制时间。
由于无线传电电压随能量发送单元和接收单元耦合线圈的间距 D 在测试中需
要改变,而充电时间相对固定,所以固定电流充电是首选方案。

2
2 系统实现
2.1 硬件设计
2.1.1 系统框图

系统框图
2.1.2 单元电路设计
1、
、电源切换
交直流输入采用单刀双闸继电器,交流上电常开闭合,常闭打开实现交流优
先,交流断电继电器断电,常闭闭合,实现自动切换。在切换时,时间很短,
C1 可提供一定时间的电量,可以实现不断电切换,不影响充电。

图(1)电源系统
3
2、
、 发射及接收电路
发射电路由振荡信号发生器和谐振功率放大器两部分组成,见图(2)。采用
NE555 构成振荡频率约为 510KHZ 信号发生器,为功放电路提供激励信号;谐振
功率放大器由 LC 并联谐振回路和开关管 IRF840 构成。振荡线圈按要求用直径
为 0.80mm
1 的漆包线密绕 20 圈,直径约为 6.5cm,实测电感值约为 142uH,由
(图 3)约为 680p,可用
f =
2π LC 可知,当谐振在 510KHZ 时,与其并联的电容 C1
470pF 的固定电容并联一个 200PF 的可调电容,可方便调节谐振频率。

图(2)发射部分
大功率管 TRF840 最大电流为 8A、完全开启时内阻为 0.85Ω,管子发热量
大,所以需要加装散热片。
当功率放大器的选频回路的谐振频率与激励信号频率相同时,功率放大器
发生谐振,此时线圈中的电压和电流达最大值,从而产生最大的交变电磁场。
当接收线圈与发射线圈靠近时,在接收线圈中产生感生电压,当接收线圈回路
的谐振频率与发射频率相同时产生谐振,电压达最大值。构成了如图(3)所
示的谐振回路。实际上,发射线圈回路与接收线圈回路均处于谐振状态时,具
有最好的能量传输效果。

C1

图(3)谐振回路
4
3、
、充电电路:
充电电路

图(4) 充电系统
电能经过线圈接收后,高频交流电压经快速二极 1N4148 进行全波整流,

3300 µF 的电容滤波,再用 5.1V 稳压二极管稳压,输出直流电为充电器提


供较为稳定的工作电压。

c∫
因为
1
U c (t ) = i (t )dt
为了准确控制充电时间,我们在设计中采用恒流充电的方法,可以保证充电
电流大致为一常数 I,上述电容电压与时间的关系可表示为:
I
U c (t ) = ⋅t
c
根据题设要求,充电时间应满足快充小于 30 秒,慢充控制在 120±20 秒,
计算出快充、慢充所需电流大小 I 快 、 I 慢 分别为:

I 快 = 22000µF × 3V / 30S ≈ 2.2mA


I 慢 = 22000µF × 3V / 120S ≈ 0.55mA

5
图(4)中二极管 D1、D2 的导通电压基本不变,故可作为电压基准,约为 1.4V。
各电压关系为:

U R + U EB = U D1 + U D 2 ≈ 1.4V
可见在恒流充电电路中,充电电流仅由电阻 R1、R2 确定。计算中约定
U EB =0.7V,充电电流 Ic(三极管集电极电流)≈Ie,可计算出快充、慢充所需

电阻 R1、R2 分别为:
0.7V
R1 = ≈ 318Ω
I快

0.7V
R2 = ≈ 1.2KΩ
I慢
设计中采用可调电阻,可调节充电电流的大小。

2.2 软件设计
2.2.1 流程图

图(5)控制系统示意图

图(7) 定时中断流程

6
软件设计的主要任务是对充电过程的监视及充电电路的控制。具体方法是:
利用 MSP430 单片机自带的 AD 转换器实时检测充电电池上的电压,达到规定电
压时发出控制信号,关断充电电路。
基于 MSP430 较高的速度、高精度的 AD 转换器、功能丰富的定时器等资源
特点,我们在 LCD 上设计了充电进度条的绘制、实时充电电压显示、充电时间
显示等内容。其中进度条的绘制需要定性反映实时电压大小,我们采用的方法是
根据电压值计算出坐标,并调用自己设计的画直线函数进行实时绘制,效果逼真。

2.2.2 MSP430 单片机应用技巧


单片机应用技巧
丰富的硬件资源、极低的系统功耗是 MSP430 单片机的两大优势。但与 51
单片机不同的是,其不具有中断嵌套功能。这样,在充电时间计算和 AD 采样中
断两个中断同时出现时容易出现定时器无法中断的问题。我们考虑到 AD 转换器
对直流并不需要很高的采样速率,故采用定时器先中断,然后在定时器中断程序
中启动 AD 的方法,AD 每秒对直流电压(电池电压)采样 16 次,获得了很好
的效果。

3.
.作品性能测试与分析
3.1 系统测试
系统测试方法
测试方法
1)快充时间测试:将线圈距离调整为 2cm,调节快充电流为 2.2mA 左右(参照
表头);观察记录充电时间;
2)交直流切换:将交流 220V 电压和直流 24V 电源一起接入能量传送单元,观
察充电过程稳定性;在充电过程中断开交流 220V 电压,观察充电过程稳定性;
3)在快充 30s、慢充 120s 条件下,适当调节充电电流,以获得最大充电距离。

3.2 各功能的实现情况

表(1)无线传能充电器功能一览
如表(1)所示。

各部分功能完成完成情况 是 否
20V/50HZ 交流供电 √
24V 直流供电 √
自动切换交直流供电 √
快充 √
慢充 √
D>2cm 快充<30S √
D>2cm 慢充=120±20S √
用 uA 表头自制电流表定性监测电流 √
充满显示 √
关断充电 √
7
3.3 线圈距离 D 与快充慢充时间的关系
如表(2)所示。
表(2)使用 22000uF 电容充电实测数据:
交流供电 直流供电
距离 D(cm) 快充时间(s) 慢充时间(s) 快充时间(s) 慢充时间(s)
2 28 105 29 109
2.5 27 106 29 109
3 28 105 28 110
4 27 106 28 109
5 27 105 29 110
6 28 106 29 110
7 33 117 34 120

3.4
3.4 改进设想
充电效率是一个不得不考虑的问题。可以在发射接收电路的能量传输部分
做适当改进,以获得更高的效率和更远的距离。
设计充电设备检测电路,在没有能量接收电路时能量发送部分处于睡眠状
态,当能量接收电路靠近发送部分时,激活发射电路开始充电。

4 附录

8
附件一
附件一:整机电路图
整机电路图

9
附件二:
附件二:部分程序:部分程序
while (1)
{
//ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
_BIS_SR(LPM0_bits + GIE); // LPM0, ADC10_ISR will force exit
voltage=ADC10MEM;//voltage=1023*(Vin-Vr_)/(Vref-Vr_)
vx=ADC10MEM;
voltage=voltage*2.0/1023*2500;//2.5v vref;
if(powercheck)//power check
{
powercheck=0;
plotp=((vx*150)>>10)+10;
if((plotp>99)||(plotp<11)) //充满或放完或未接电池
{

if(plotp>99)
{
done=1;
P3OUT&=~BIT6; //充电完成
disp_chn(0*16,2,8);
disp_chn(1*16,2,9);
disp_chn(2*16,2,10);
disp_chn(3*16,2,11);
disp_chn(4*16,2,12);
disp_str(5*16,2," ");
}
else
{
done=0;
P3OUT|=BIT6; //放电完成
count_f=0;count=0;
disp_chn(0*16,2,13);
disp_chn(1*16,2,14);
disp_chn(2*16,2,15);
disp_chn(3*16,2,16);
disp_chn(4*16,2,17);
disp_str(5*16,2," ");
for(k=0;k<17;k++) //放电完成清屏
{
linedraw(11,k+12,100,k+12,1);
}
}
last_plotp=plotp;
}
10
else //正在充电或涓流
{
done=0;
P3OUT|=BIT6;
if((last_plotp>99)||(last_plotp<11)) //recharge
{
count_f=0;count=0; //充满充电时间清零
if((last_plotp>99)&&(plotp>98)) //充满维持充电时间显示
{done=1;}
}
if(plotp<last_plotp)
{
if(last_plotp>100){last_plotp=100;}
for(k=0;k<17;k++)
{
linedraw(plotp,k+12,100,k+12,1);
}
}
else
{
if(plotp>last_plotp)
{
for(k=0;k<17;k++)
{
linedraw(last_plotp,k+12,plotp,k+12,0);
}
}
}
last_plotp=plotp;
}
}
if(!done){
buffer[0]=voltage/1000+48; //current voltage
buffer[2]=voltage%1000/100+48;
buffer[3]=voltage%100/10+48;
buffer[4]=voltage%10+48;
disp_str(0,2,"v(t)= ");
disp_str(6*8,2,buffer);
disp_char(13*8,6,(count/100)+48); //charge time
disp_char(14*8,6,(count%100/10)+48);
disp_char(15*8,6,(count%10)+48);
}
}
}
11
智能数字万用表的设计

指导教师:
指导教师:湖北师范学院电工电子实验教学
湖北师范学院电工电子实验教学中心竞赛指导小组
实验教学中心竞赛指导小组
队员及年级:
队员及年级:陈永刚、
陈永刚、高熙、胡刚【2006 级】
高熙、胡刚【
学校及院系:
学校及院系:湖北师范学院物理与电子信息学院

摘 要:本设计能够精确的测量直流电压、交流电压和电阻,具有测量精度高,抗干扰
能力强等特点。整个系统可以用一块9V电池供电,实现了低功耗和便携功能。小电阻测量是
采用独立恒流供电端口四端子测量法,从而减小了接触电阻的影响,实现了小电阻高精度测
量;交流测量是用AD637真有效值转换芯片将交流信号转换成直流电压后测量;用带钳位保护
的反向放大器进行输入电压转换,实现了10MΩ的输入阻抗和高安全性。电路中关键器件采用
TI公司的精密运算放大器OPA07和仪表放大器INA128,实现了高精度的测量;ADC采用MC14433
芯片;控制器选用TI公司的MSP430单片机,实现了低功耗,量程自动切换功能。另外,通过
利用和改装波段开关,实现了测量档位转换的便捷和可靠。该作品的所有性能指标远远超出
题目的设计要求。

关键词
关键词:数字万用表、MC14433、MSP430 单片机
Abstract: The design has the function of measuring DC voltage, AC voltage and resistance.
The system supplied by the 9V battery has the advantages of high accuracy, strong
anti-interference ability, low power consumption, being portable and so on. In order to measure
small resistance accurately, the system gets the voltage signal of the resistance through the measure
port independent of the constant current power supply port and eliminates the influence of the
contact resistance. The measurement of AC voltage adopts the chip AD637, which is a complete
high accuracy monolithic rms-to-dc converter. The system realizes the 10MΩ input impedance and
the high security using the reverse amplifier with the clamp protection. The system is mainly
composed of the precision operational amplifier OP07(TI company) and INA128(TI company), the
ADC MC14433(Motorola company) and the microcontroller MSP430(TI company), which is of
the function of range switching automatically. Moreover, through making use of and refitting the
band switch, the system can switch the measure range conveniently and reliably. The all
performance indexes of the design are far super to the design specification.
Key words : digital multimeter、MC14433、MSP430 singlechip.

1
1 方案设计

1.1 理论分析
(1)直流电压测量分析:直流电压测量用双积分型 ADC 芯片 MC14433 完成,MC14433
是三位半模数转换芯片。其转换精度为 0.05% ± 1 个字,完全符合题目中的测量直流电压精度
达到±0.2%±1 个字的要求,MC14433 转换电压范围为 0~2V,所以当直流电压信号大于 2V 时
要通过分压电路进行衰减使其电压降为 0~2V 达到合适量程范围再进行转换。
(2)交流电压测量分析:交流电压信号不能直接测量,本设计首先使交流电压信号经过
合适的分压电路进行衰减后,再通过 AD637(真有效值转换芯片)转换为直流电压信号后测
量,AD637 转换精度高、失真小,最大失真误差为 0.02% ± 2 个字,而分压电路没有失真,
所以交流电压测量精度完全能够达到题目中测量精度为±0.5%±2(50HZ)个字要求。
(3)电阻测量分析:电阻测量按被测电阻的大小分两种方法进行测量。对于小电阻,使
用恒流源产生恒定的电流流经待测电阻,再测量电阻两端的电压降。这种测量方法只要电流
恒定,测量误差可以很小;测量大电阻(MΩ 级)采用恒压源和标准电阻构成测量电路,ADC
对被测电阻两端电压采样,结果还需经过软件计算处理后可得到被测电阻的大小,这种测量
方法只要恒压源稳定及标准电阻已知,就可以达到很高的精度。上述两种方法完全可以达到
题目的测量精度要求。
1.2 选用 TI 器件的依据与理由
该系统的设计使用了四个 TI 器件分别是 MSP430F148 单片机、TL431 稳压器件、OP07
运算放大器、INA128 仪表放大器。
(1)MSP430F148 单片机:MSP430 系列单片机是美国德州仪器(TI)1996 年开始推向
市场的一种 16 位超低功耗的混合信号处理器(Mixed Signal Processor)。它将许多模拟电路外
设(如 ADC、DAC、模拟比较器等)和各常用数字模块(如 SCI、SPI、I2C、看门狗、PWM、
CAP、定时/计数器)集成在芯片内部。由于它具有处理能力强、运算速度快、集成度高、外
部设备丰富、超低功耗等优点,而且有很高的性价比,因此在许多领域内得到了广泛的应用。
MSP430 单片机可以采用汇编语言或 C 语言进行程序设计。它支持 JTAG 调试,其硬件仿真
器是一个简单的并口转接器,并且适用于所有的 MSP430 单片机。其超低功耗在睡眠模式时
最低消耗电流可低至 0.1uA,且有七种低功耗模式可供选择,多个 I/O 支持中断模式满足系统
对外部中断的需求。其软件是由 IAR 公司提供的 Embedded Workbench 集成开发环境。此软
件人机界面友好,并能很好的支持 C 语言开发。由于本系统属于仪表类设计,因此涉及到自
动控制以及低功耗方面的要求。MSP430 单片机 I/O 口端丰富,所消耗的功耗低,因此是此系
统设计最佳的选择。
(2)TL431 稳压器件:在小电阻测量时需要 10mA 的恒定电流,系统设计采用 TL431
稳压器件产生稳定的 2.5V 电压做基准设计出精密恒流源。TL431 是一个有良好的热稳定性的
2
三端可调分流基准源。它的输出电压用两个电阻就可以任意地设置到从 Vref(2.5V)到 36V
范围内的任何值。该器件的典型动态阻抗为 0.2Ω,电压波动差值为正负 0.4%,低噪音输出,
与其他产品相比,TL431 物美价廉,故采用 TL431 作为系统设计的电压基准器件。
(3)OP07 运算放大器:OP07 是常用的低噪声高精度运算放大器,具有极低的输入失调
电压,极低的温漂,非常低的输入噪声电压幅度,高的共模抑制比(-126dB)及稳定性好等
特点。其输入失调电压为 10uV,输入失调电压温漂为 0.2uV/℃,电源电压范围宽,输入阻抗
高。可广泛应用于积分电路、精密绝对值电路、比较器及微弱信号精确放大电路。
(4)INA128 仪表放大器:INA128 是美国 BB 公司生产的低电压,低功耗,高精度通用
型单通道仪表放大器,它的内部包含 3 个运放组成的经典差分电路,使得体积更小,使用范
围更广泛。反馈电流输入电路使得即使在高增益条件下(G=100 时,200KHz)也提供较宽的
带宽。INA128 用激光进行修正微调,具有非常低的偏置电压和温度漂移,高的共模抑制比。
其电源电压低至±2.5V,且静态电流只有 700uA。在本系统中作用是利用其差分输入提取被测
小电阻流过恒流源时产生的压降,实现电阻电压转换。INA128 满足电路高精度的要求,且极
适合电池供电系统中的应用。
1.3 设计方案论证
1.3.1 交流有效值测量方案
交流有效值测量方案
方案一:热电偶测量法。热电偶测量法是根据交流有效值的物理定义来实现测量的,利
用热电偶电路平衡原理通过两端的电势比较得到有效值。但热电偶转换线性度差,且热电偶
具有配对较难、响应速度慢、负载能力差等缺点。
方案二:模拟运算法。根据有效值的数学定义,用集成器件乘法器、开方器等依次对被
测信号进行平方、平均、开方等计算直接得到交流输入信号的有效值。这种方案测量的动态
范围小、精度不高且当输入信号的幅度变小时,平均器输出电压的平均值下降很快、输出幅
度很小。
方案三:交流整形电路。采用 AD637 集成真有效值转换芯片,把交流电压信号转换为幅
值等于交流有效值的直流电压信号,再对直流电压进行测量,这种方案电路简单、响应速度
快、失真度小,工作稳定可靠,故采用此种方案。
1.3.2 小电阻测量方案
方案一:直流电桥测量法。直流电桥又分直流单电桥和直流双电桥。采用这两种方法测
量时很多操作需要手动,并且对元件精度要求高,通过数字电位器来改变需要的电阻参数,
虽然可以实现数控,但数字电位器的每一级步进电阻值不确定,调节困难,用单片机处理计
算杂复并且测量时操作不便。
方案二:电阻比例法。电阻比例法采用如图 1 所示的双斜积分式 A/D 转换器电路,可实
现电阻—数字的转换。

3
图 1 电阻比例法电路
此方案由于在电阻上 Rx、Rs 中流过相同的电流,因此不需要精密的基准电流,但需要
计数器和精密时钟发生器且电路复杂处理难度大。
方案三:采用恒流外加小信号放大法。当测量 0~2Ω 小电阻时,采用恒流源产生 10mA
电流流经电阻产生 0~20mV 压降再放大 10 倍即 0~200mV 测量,这样解决了大电流流经小电
阻发热大的问题。此种方案误差主要取决于恒流源的精度,只要恒流源恒定,测量可以达到
很高的精度,故采用此种方案。

2 系统实现

2.1 硬件设计
2.1.1 系统框图

M M
C1 SP
44 43
33 0F
AD 14
转 8单
换 片
模 机

图 2 系统框图
系统框图如图 2 所示。MSP430F148 单片机是本系统的核心器件,负责控制整个系统的
正常工作,包括读取 MC14433 转换后的结果及 200mV 与 2V 档位的控制;按键输入动作响
应;段式液晶的驱动;量程自动控制等。输入的电压信号经过量程转换模块,变成可供 ADC
模拟输入端能正常进行采样的电压。交流电压测量模块的功能是将被测的交流电压转换成相
应的 RMS 值。电阻测量模块中主要由 TL431 和 OP07 运放构成一个稳定的恒流源,INA128
仪用运放提取被测电阻两端电压经合适倍数放大后送到 ADC 的模拟输入端进行采样。
MC14433 模块的功能是实现模拟量到数字量的转换,其转换后的数字量由单片机读取并送到

4
显示模块中显示。按键输入的功能是切换各种不同的测量模式以及计算相对误差时进行数值
输入。
2.1.2 不同功能单元电路及
不同功能单元电路及接口设计
(1)
) 电源管理硬件电路
题目要求系统具有低功耗模式,即在一定的时间内没有操作,系统在单片机的控制下自
动切断一部分电路的工作电源。电源管理电路原理图如图 3 所示,电池的正极分成两路,第
一路是直接接入到 SPX1117 的输入端,SPX1117 是三端集成稳压芯片,其输出端输出恒定的
3.3V,作单片机系统电源。另一路是经过三极管 9012 可以开关控制,本设计中在系统处于正
常工作状态时,单片机控制口输出高电平,9011 处于饱和状态,9012 的基极电压与地电压相
近,9012 饱和,即处于导通状态。9V 叠层电池的正极电压到达 78L05 三端集成稳压芯片的
输入端,其输出端输出稳定的+5V 电压。-5V 由负压电荷泵 7660S 产生。当系统处于“低功耗”
状态时,单片机控制口输出为低电平。9011 处于截止状态,9012 的基极电压为 9V ,也处于截
止状态,模拟部分电源电压为零。而单片机将一直处于不同模式的工作状态。
1
SPX1117 Port +3.3V
3
0.01uF
0.01uF
GND
2

INPUT OUTPUT
Q2
78L05
9012 1
R1 GND Port +5V
3
104 2
U1
47K 1 8 0.01uF
9V叠层电池正极 1K R3
BOOST V+
2 7
CAP+ OSC

单单单单单 单 R2
9011
Q1
10UF C1 3
GND LV
6
0.01uF
Port GND

input 4 5
CAP- Vout
10K
7660S 10uF

9V叠层电池负极 Port -5V

图 3 电源管理电路图
(2)
) 交流电压转换电路
交流电压测量真有效值的转换电路是测量交流电压的关键部分,其设计的好坏直接影响
到交流电压信号的测量精度,在本次设计中我们通过比较选择采用 AD637 来实现交流信号到
直流量的转变,电路如图 4 所示。

5
C2 +5V -5V
Input
AC_IN 10uF
1 14
BinputBoutput
2 13 104 104
Nc Vin
3 12
COM Nc
4 11
Output +Vs
5 10
Chip -Vs
6 9
DinputRoutput output
7 8 C3
Db CAV
22uF DC_OUT
AD637

图4 AD637 转换电路图
AC_IN 是交流电压输入端,DC_OUT 端输出的是直流电压信号。输出直流电压的值是输
入交流电压的真有效值。此电路完成了交流到直流的转换,实验测试时发现对于 5000Hz 交
流信号转换效果仍良好。
(3)
) 电阻测量电路
电阻测量采用在待测电阻上流过恒定电流产生压降,通过测量相应的电压再经 MC14433
A/D 转换后得到电阻值。
大电阻测量:大电阻测量不采用恒流法测量。其测量电路图如图 5 所示,由 TL431 产生
2.5V 恒定电压,被测电阻与 500K 的标准电阻相串联到地。A 端输出给 ADC。通过测量 A 端
电压再经过相应的软件处理计算可得到被测电阻的大小。
+5V

R4
2K
A
output

TL431

500k
RX

图5 2MΩ 电阻测量图
小电阻测量:小电阻测量是难点,通过小电流难以测量,通过大电流又有电阻发热的问
题。本系统设计采用 10mA 的小电流流经电阻产生压降,当测量 0~2Ω 电阻时产生 0~20mV
电压再通过放大电路放大 10 倍后进行测量,这样既解决了大电流流过小电阻产热大的问题又
提高了精度,放大电路采用低功耗仪表运算放大器 INA128,INA128 具有失调电压小温漂低
等特点,其最大失调电压为 50uV,温漂为 0.5uV/℃,电路如图 6 所示。
A 端与 B 端接在被测电阻的两端,提取电阻两端的压降。0~2Ω 在经 10mA 的电流源流
50 K Ω
过后产生 0~20mV 的压降。由集成运放放大倍数计算公式: N = 1 + ,
RG
50 K Ω 50 K Ω
可知当放大 10 倍时 R1 的阻值为: R1 = = = 5.5 K Ω ,
10 − 1 9
6
即接入电阻 R1=5.5KΩ 时电路放大 10 倍。经 10 倍放大后输出电压为 0~200mV,C 端接
ADC。
+5V
R1
10K
1 8 104 10uF
RG RG
A Input
2 7
VIN- V+
3 6
B Input VIN+ Vo output C
4 5
-5V V- REF
INA128
10uF

103

图6 INA 128 放大电路


开尔文四线测量:实际测量时被测电阻阻值小于几欧时,则测试线的电阻和探针与测试
点的接触电阻与被测电阻相比已不能忽略不计,若仍采用两线测试方法必将导致测试误差增
大。此时采用开尔文连接方式(或称四线测试方式)来测量。采用开尔文四线测试四个端子
探头连接如图 7 所示。开尔文连接有两个要求:对于每个测试点都有一条激励线 F 和一条检
测线 S,二者必须严格分开,各自构成独立回路;同时要求 S 线必须接到一个有极高输入阻
抗的回路上,使流过检测线 S 的电流极小,近似为零。图 7 中 r 表示引线电阻和探针与测试
点的接触电阻之和,HS、HF 分别为 HP 测试点的激励线和检测线,LS、LF 分别为 LP 测试
点的激励线和检测线,由于流过测试回路的电流为零,在 r3、r4 上的压降也为零,而激励电
流I在 r1、r2 上的压降不影响 I 在被测电阻上的压降,所以电压表可以准确测出 R1 的阻值。
测试结果和 r 无关,有效的降低了测量误差。

图 7 开尔文四线测试法
恒流源电路:恒流源的作用是在电阻—电压转换时提供恒定的电流。其电路如图 8 所示。
利用 TL431 产生标准 2.5V,然后,利用精密电阻进行分压,得到 0.5V。 0.5V 的恒定电压送
入运放的同相端,三极管 Q 与运放的反相输入端形成反馈电路使得运放的反相端也为 0.5V,
再在此端串入金属膜电阻至地。从电源正极经过三极管的 E 极到地就会有一恒定的 10mA 电
流。只要将被测电阻(阻值应该在量程范围之内)接入回路,通过被测电阻的电流就会是稳
定的 10mA。

7
+5V
R3
被被被被
Rx
50
R4 +5V
2K +5V

7
8
2
6 R1 QNPN
R5 3 1K
1
1K 5

4
Op07
TL431

-5V

图 8 恒流源电路
(4)
) 量程转换电路
本系统量程转换采用单片机控制模拟开关和继电器实现,原理框图如图 9 所示。直流/交
流(0-20V)电压输入后双掷开关 SW_1 起到电压量程转换选择作用,固定电阻 R1,R3 在精
密可变电阻 R2 的配合下组成一个电阻 10 倍衰减网络,且其输入电阻大于 10M 欧,满足题目
中输入电阻的要求。最高输入电压可到 20V 。再由单片机控制 SW-1 来选择是否衰减。R1 和
两个 IN4001 构成一嵌位保护电路,使电路在高电压输入时处于安全状态。OP07 构成一个电
压跟随器,起到隔离前后通道的作用,其较低的输出电阻还可以提高带负载能力。Output 端
接入 ADC。
+5V

1N4001
Input D1
OP07
R1
10M R1
- D
AC--DC
Output
R2 SW-1 4.7K +
1M SW-2 SW-3
D2 C1
1N4001
R3 0.1uF
1M
-5V

图 9 量程转换电路
2.1.3 硬件设计注意事项及窍门
(1)对于模拟器件和数字器件的电源供给端并上合适的电容。例如运算放大器的电源端
都并上一个 0.1uF 的瓷片电容,起到滤掉高频干扰的作用,使电路工作更加稳定。
(2)模拟地与数字地隔离。所有的模拟地连接在一点,所有的数字地也连接在一点,然
后再将模拟地与数字地连接到一起,这样做的目的是防止开关的数字干扰信号窜到模拟电路
中。
8
2.2 软件设计
2.2.1 软件流程图
主程序流程图如图 10 所示。
开始

关闭msp430看门狗
电源标志位置0,系统处于
正常工作状态
键盘及各端口初始化
Y 低功耗标志位是1?
N
关总中断及显示, 开总中断及电源标志位,
系统处低功耗状态 恢复各变量保护前状态
N
有键按下? TestMode=0? Y
Y
N
低功耗标志位清0 TestMode=1? Y
N
TestMode=2? Y
交流量 直流量
N 程转换 程转换
Y TestMode=3?
N 2Ω 交流 直流
Y N ?
TestMode=4
电阻档 电压档 电压档
N
200Ω电阻档 2MΩ电阻档

N
进入相对误差模式?
Y
计算相对误差

图 10 主程序流程图
2.2.2 软件设计思路及技巧
(1)
)自动关机功能与低功耗的实现
9
题目要求 1 分钟内若无任何键按下,则系统进入低功耗状态。1 分钟定时是通过定时器
中断计数实现的,计数器变量是全局变量,当接收到用户操作指令后,在主程序中对该计数
器清零使系统维持在正常模式,其程序流程图如图 11 所示。
中断入口
段式液晶扫描一次

PowerCounter 1

PowerCounter=150 ? N
Y
清零PowerCounter,低功
耗标志位有效
中断返回
图 11 自动关机程序控制流程图
(2)
)量程自动
量程自动切换的实现
自动切换的实现
本系统中的自动量程切换对测直流电压和交流电压均有效。量程自动切换关键是通过读
ADC 数据判断当前的量程是过量程还是欠量程,合理的硬件设计是量程自动切换的重要保
证。量程自动切流程图如图 12 所示。
2.2.3 MSP430 相关软件设置
目前,支持 MSP430 的开发调试环境比较多。本程序的设计环境是由 IAR 公司提供的开
发调试环境:IAR Embeded Workbench 及调试器 C-SPY。Embeded Workbench 支持多种单片
机,它具有以下特性:支持 Windows98/Windows NT/Windows 2000/Windows XP 操作系统;
Windows 风格可视化的开发环境;集成所有的工具(编译、连接等),方便使用;支持直观的
拖放功能、具有超文本风格的帮助、可以采用 Make 进行重新编译、连接。 IAR430 软件的
使用非常方便及简单,该软件内部已经集成了下载调试器,只需要进行一些简单的设置即可
编译下载。
主 要 有 以 下 的 设 置 : 在 IAR Embeded Workbench 环 境 中 的 主 菜 单 项 中 的 :
“projetc”→“option”选项中,在“General Option”项中的“Device” 选择“MSP430F148”;Dubugger
中的 Driver 项中选择“FET Debugger”;进入 FET Debugger 项,在“connection” 中选择“Texas
Instrument LPT-IP”和“parallel port1”两项。
2.2.4 编程感想及软件设计注意事项
(1)写程序时思路一定要清晰,写程序之前,一定要有先画程序流程图的好习惯。绘制
的程序流程图不仅便于程序代码的书写,而且还有利于以后程序的改错及排错。
(2)程序设计所用语言是 C 语言。在编写函数时一定要注意做到子函数功能的模块化。

10
其函数功能应该内聚性高,耦合小。编程风格力求简炼,程序语句的书写严格按照 C 程序语
句书写标准。
(3)MSP430 单片机中断函数中所用变量最好都设为全局变量。

图 12 量程转换流程图
3 作品性能测试

3.1 测试仪器介绍
TDS1002 型 60MHZ 10GS/s 双通道数字存储示波器,交流信号发生器,高精度数字
BRT500 台式万用表,DS-1 双通道直流稳压源。
3.2 系统测试方法
直流测试方法:使用直流稳压电源产生直流电压信号,通过高精度万用表观察实际输出
直流电压值,将信号通入本系统仪器测量与标准电压值进行比较。
交流测试方法:使用交流数字信号发生器产生 40~5000HZ,电压范围 0~20V 的正弦交流
信号通过示波器观察实际输出频率,通过高精度数字万用表观察实际输出电压值,将信号通

11
入本系统仪器测量后与标准电压值进行比较。
电阻测试方法:采用精密标准电阻,使用高精度数字万用表观察精密电阻值,在使用系
统仪器测量与标准电阻进行比较。
3.3 测试性能概览
(1)直流电压测量数据。
表 1 直流电压测量数据
标准直流电压输入 本仪器实际测量 测量绝对误差
0.0000 0.000 0mv

7.7000mv 7.70mv 0mv

136.7mv 136.6mv 0.11mv

0.8234v 0.821v 0.0024v

1.8385v 1.834v 0.0045v

2.8164v 2.80v 0.0164v

10.869v 10.86v 0.009v

18.372v 18.36v 0.012v

(2)交流电压测量数据。

表 2 交流电压测量数据
交流电压输入频率(HZ) 交流电压值 本仪器实际测量值 测量绝对误差
50 17.223mv 17.00mv 0.223mv

50 12.102mv 12.00mv 0.102mv

50 0.2594v 0.258v 0.0014v

50 1.8329v 1.826v 0.0069v

50 3.1707v 3.16v 0.0107v

50 15.074v 15.02v 0.054v

1000 138.45mv 137.4mv 1.05mv

1000 5.0765v 5.07v 0.0065v

(3)电阻测量数据。
表 3 电阻测量数据
12
标准电阻值 本仪器实际测量值 测量绝对误差
0.3027Ω 0.303Ω -0.0003Ω

1.5687Ω 1.567Ω 0.0017Ω

3.3275Ω 3.32Ω 0.0075Ω

47.014Ω 47.0Ω 0.014Ω

198.21Ω 198.2Ω 0.01Ω

51.991kΩ 0.052MΩ -0.009 MΩ

0.8204MΩ 0.824MΩ -0.0036 MΩ

1.5214MΩ 1.519MΩ 0.0024MΩ

3.4 误差分析
本系统误差主要由恒流源、AD 真有效值转换、双积分 ADC 器件等几个方面所带来的误
差。AD 真有效值转换,在误差允许的范围内可以将所测交流电压转换成对应的真有效值,
但不可避免地受到环境温度的影响,造成转换时可能引起误差;由于环境温度的改变,在用
恒流法测电阻时,会引起恒流源不为一个定值,导致所测电阻流过恒流源所产生的电压有所
偏差,特别是在测小电阻时,鳄鱼夹与被测小电阻之间的接触电阻会引起测量的较大误差,
减小这种误差可以用四端子测量法;双积分 ADC 器件与前端处理电路同样受到温度、电磁场、
工频干扰的影响,会引起数据的不稳定。
3.5 系统完善
1)进一步减小进入低功耗后电流。低功耗时所消耗的电流是单片机最小系统所消耗的电
流。改进的措施是利用 LDO 器件代替原来所使用的普通稳压芯片。
2)量程自动切换时将原来的微型继电器用耐高压型的模拟开关替换掉。可以进一步降低
系统正常工作时的功耗,还可以提高系统的稳定性和可靠性及响应速度。
3)将电阻测量档量程切换换成自动量程切换。
4 附录(
附录(具体内容见附件)

参考文献
[1] 李智奇著. MSP430 系列低功耗单片机原理与设计. 西安电子科技大学出版社,2008.
[2] 谭浩强著. C 语言程序设计(第三版). 清华大学出版社,2005.
[3] 胡大可著. MSP430 系列超低功耗 16 位单片机原理与应用(第三版). 北京航空航天出版
社,2006.
[4] 李朝青著. 单片机原理及接口技术. 北京航空航天大学出版社,2005.

13
附件:作品实物照及 TI 公司器件标注

14

You might also like