数控直流电流源完整版(电路+程序).doc_第1页
数控直流电流源完整版(电路+程序).doc_第2页
数控直流电流源完整版(电路+程序).doc_第3页
数控直流电流源完整版(电路+程序).doc_第4页
数控直流电流源完整版(电路+程序).doc_第5页
已阅读5页,还剩20页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 题目名称 数控直流电流源 摘摘 要 要 该数控直流电流源以精密压控电流源为核心 用单片 机 DAC 组成控制电路 引入 S 类 反馈控制功率放大电路 实 现超精密电流控制 具备精准的扩流能力 低失调 有步进 同时 带有 丰富扩展功能的精密电流源 经过 ADC 采样 完成输出 电流显示功能 并使输出范围覆盖 0 2A 是理想的电流源解决方 案 关键词 关键词 精密电流源 低失调 S 类功率放大器 Abstract The direct current source of numerical control bases on accurate VCCS using MCU and DAC as controller kernel importing circuit of power amplification of type S with feedback control achieves ultra accurate current control has low offset and excellent capacity for current enlarging has step by step motion At the same time it provides abundance extended functions According to the ADC sampling it carries out the function of displaying the current output meanwhile it achieves a range of 0 to 2A Above all it is an ideal solution of current source Keyword accurate current source low offset power amplification of type S 2 目 录 1 1方案论证与比较方案论证与比较 3 1 1 精密压控电流源方案论证 3 1 2 扩流模块方案论证 3 1 3 电流检测方案论证 4 1 4 功率输出级电源方案论证 4 1 5 其它模块电源方案论证 4 2 2 系统设计系统设计 5 2 2 单元电路设计 6 2 2 1 压控电流源单元电路设计 6 2 2 2S类功率放大器电路设计 理论推导和证明 7 2 2 3 数控电路设计 10 2 2 4 大功率电源模块 11 3 3 软件设计软件设计 11 4 4系统测试系统测试 13 4 1 测试仪器 13 4 2 测试方法 13 4 3 测试数据 14 5 5 结论结论 15 参考文献 参考文献 15 附录 附录 16 附 1 元器件明细表 16 附 2 仪器设备清单 16 附 3 电路图图纸 16 附 4 程序清单 19 附 5 使用说明 24 3 1方案论证与比较方案论证与比较 本系统主要由精密的电流源模块 S 类扩流模块 电流检测模块 数控模块 以及大 功率的电源模块组成 如图 1 所示 负载 压控电流源 S类功率放大器 取样电路 图 1 系统模块图 针对各模块的功能要求 分别有以下一些不同的设计方案 1 1 精密压控电流源方案论证 精密压控电流源是本数控电流源的关键之所在 针对设计要求和使用需求 结合设计 思路 精密电流源模块必须具备以下指标 纹波小于 2mA 误差小于 0 1 具有低的输出 失调 基于稳定性要求和以上考虑 电流源电路选择了经典的压控电流源电路 它负责与 后级扩流模块连接 用电压控制后者 而使用电流反馈 这样可以保证有足够高的精度 该部分采用了高性能 低温漂 低失调的运算放大器 OP77 和精密元件组成 保证性能指标 的良好发挥 1 2 扩流模块方案论证 方案一 传统的扩流方法 采用具有大功率输出能力的功率放大器 通过引入深度负 反馈环路 使电路接成电压跟随的电流放大器 而起到扩流作用 这种方案在电流源领域 使用以久 是比较经典的接法 但是该接法存在某些缺陷 首先它是作为电流放大电路 4 不可避免的从前级取出电流 这种误差在小电流时影响甚微 但是电流一大 扩流电路对 前级的影响就不可忽略 这是造成前级压控电流源误差的重要原因 另外 扩流电路仅仅 是一个 0dB 电压增益的放大电路 深度负反馈是减少误差的方法之一 但不是最好的方案 这种电流放大器在高精度要求的场合还是具有较大误差的 方案二 崭新的 S 类电流放大器 为克服传统扩流电路在高精度 高稳定性要求下的 缺陷 追求一种精度高 稳定性好 对前级影响小的扩流电路 受到 S 类功率放大器的启 发 本设计率先把 S 类放大器优秀的电压跟随原理引入电流源电路之中 该电路具有以下 优点 一 理想的输入性能 即整个工作范围内都有极高的等效输入阻抗 优秀的性能使 得前级电路工作于极度轻载的状态 实践和测试都证明 该电路能有效地使前级电流源工 作在近乎空载的工作状态 保证电路的性能不发生劣化 二 超高的放大精度 即电流跟 随模块的输出值和目标值之间的误差实测只有 90dB 这样 输出电流就只取决于前级的 精度 由电流放大器所引入的误差降低到可以忽略的程度 事实说明 该电路是很有发展 前景的 综合考虑各种因素和基于以上分析 本设计最终选取了方案二 1 3 电流检测方案论证 在负载电阻与地之间接一个高精度 低温漂的 1 欧康铜电阻作为取样电阻 用 AD 转换 器 MAX1241 测量电阻上的压降 MAX1241 为 12 位串行 A D 精度优于 1LSB 基准电压用 2 048V 因此测量分辩率为 0 5mA 精度可达 1mA 以下 可以满足题目对测量精度的要求 1 4 功率输出级电源方案论证 方案一 使用开关电源 开关电源的优点是效率高 体积小 适用于大功率的场合 但是开关电源本身工作于高速开关状态 对周边的电路会产生严重的高频干扰 电源也会 有较高的高频纹波 经分析认为其不适合用对精度要求高 稳定性好的场合 方案二 使用环形变压器 形滤波电路 优点是结构简单 用上大电容后 滤波效 果明显 电源纹波小 不会产生高频干扰 缺点是体积大 重量大 综合以上两种方案 我们认为方案二可以提供更高质量电源 有利于制作出高精度 高纯度的电流源 而体积 重量对于这种台式的设备居次要地位 选用方案二 1 5 其它模块电源方案论证 本电流源为数模结合系统 复杂的工作条件对电源供电的稳定性要求很高 电源具体 的设计方案有二 方案一 直接使用环形变压器为数模电路同时提供电源 但各自使用独立的稳压滤波 电路供电 这种方案电源设计比较简单 用独立的稳压电路能在一定程度上对各个电路提 供相对稳定的电源 这种设计在负载较轻 输出波动不太大的电路里是非常实用的 然而 本设计的电流工作范围较宽 在大电流负载的情况下 电源纹波串扰的影响显得相当严重 此时 数模共用同一电源将制约系统精度的进一步提高 方案二 为数字电路和模拟电路各自提供一个独立的变电 整流和滤波电路 实现数 5 模电路的供电隔离 因为电流源和功放电路的核心芯片对电源的要求跟数字电路对电源的 要求不同 本设计只需针对电路对电源的特殊使用情况 适当使用滤波电路 便可保证输 出量的可靠 准确和恰到好处 同理 专门为数字电路供电的电源也可为专门应用而量身 订做 由于电源共用而引入的串扰降低到可以忽略的程度 经过对比试验 发现方案二能保证 DAC 等芯片供电的纯净 这种电源的改善 折合 到输出端 而引起的电流源输出精度提高达一个数量级之多 实测发现 受惠于这种电源 设计思想 本设计的输出电流纹波已能降低到 2000mA 输出时优于 0 18mA 的优秀水准 基于以上原因 本设计最终选择了方案二作为电路的供电方案 2 系统设计 该系统由一个压控电流源及其扩流电路 数控电路和电源电路组成 其基本原理如下 1 由数控电路用 D A 产生一个可控电压 2 该可控电压输入到压控电流源上 再经 S 类功放的扩流作用 从而使电流源电路产生 一个可控电流 3 数控电路每隔一段时间就检测一次取样电阻上的电压 并把电压值换算在电流值 系统框架图如图 2 所示 6 负载 压控电流源 S类功率放大器 取样电路 电流负反馈 MCU 显示及控制 电路 ADC DAC 主 副电源 电路 图 2 系统框架图 7 2 2 单元电路设计 2 2 1 压控电流源单元电路设计 图 3 压控电流源单元电路图 压控电流源的负反馈放大以一个精密运放 OP77 构成一个同相放大器 引入深度的电流负 反馈 从而稳定输出到负载的电流 运放正常工作于同相放大状态时 由运放虚短的原理可知 取样电阻上的电压 U20 Uin 所以 I20 U20 R20 U20 R20 1 又因 OP77 运放的输入电阻高达 200M 欧 运放的反相端输入电流可认为零 所以有 IL Uin R20 2 只要取样电阻 R20使用高精度 低温漂电阻 则负载电阻上的电流 IL正比于 Uin 可以用 Uin 精确的控制输出电流了 实际上 因为 OP77 不是理想运放 同反相输入脚上有一定的电压差 Ud Vos Vout CMRR 3 其中 Vos 为输入失调电压 CMRR 为共模抑制比 因为 Vos140dB 当 Vout 10V 时 Ud 11uV 该运放电路是一个极好 8 的电压跟随器 因此 只要选用的扩流电路性能比较好 输出电流的精度完全取决于取样电阻的精度 2 2 2S 类功率放大器电路设计 理论推导和证明 S 类功放电路原理图如图 4 所示 其特点是用电压控制放大器与电流驱动放大器构成 电桥 使电压控制放大器工作在无负载的状态 即输出电流为零 电压控制放大器工作于 一个比较理想的状态 而后级则工作于一个压跟随器的状态 很容易做到很好的跟随作 用 而对于负载来说 前后级是并联输出的 而负反馈是从负载上引出 引入到前级放大 器上 因此 S 类功放的质量取决于前级 以下是 S 类功放电路性能分析和数据推导 A2 S类功率放大器 AB 前级放大器 A1 I1 I2 R1 I3 R3 I0 R2 I4 R4 负载 RL 图 4 S 类功率放大器基本电路 1 理想的输入性能 S 类功放电路的核心是一片带负载能力非常高的电流驱动放大器 它与负载 RL之间通 过电桥耦合 假设放大器 A2的开环增益 open loop gain 接近无穷大 那么 A B 点之间的电位将 会相同 极度接近 用公式表示为 I2 R1 I3 R3 4 I0 R2 I4 R4 5 若 A2 的输入性能近似于理想运放的性能 即虚断 输入阻抗无穷大 则 9 I3 I4 可得 I2 R2 R3 I0 R1 R4 6 又因为电桥平衡时有 R2 R3 R1 R4 7 所以 I2 I0 故此 I1 0 根据以上推导 说明当 S 类功放电路正常工作以后 前级电路工作在空载状态 负载 所需电流完全由后级的电流驱动放大器提供 这样 电路对前级压控电流源的负载要求就 不至于很高 大大简化了设计的难度 这也是本电路的特色之所在 2 超高的放大精度 S 类功率放大器的另一个特出优点就是电压跟踪的高度准确性 现根据该原理框图阐 述如下 1 设某时刻前级放大器 A1输出一电压信号 使 A 点电压升高 若此时 B 点电压 没有升高 A B 两点之间的误差信号将作为差动信号输入到放大器 A2的两输入端 如果 A2的同反相输入端选择合适 A2输出电压将会升高 因为 A 端被前级控制电压不变 A2 的输出将迫使 B 点电压尽量接近于 A 点电压 同时使负载 RL的端电压跟随着 A 点上升 完成了输出电压的跟随功能 综上所述 只要选择高输入性能和强负载能力的后级功放芯片 输出的变化就完全由 前级决定 而前级工作在空载状态 其性能完全与负载的变化无关 这样一来 设计前级 时 可以撇开负载能力的考虑而直接使用高精度 低失调的运算放大器 而设计后级时 因为输出取决于前级 可以不必担心负载的加入会影响它的工作性能 其选择范围变得更 宽 S 类功放电路的实际电路和参数选取如下图 基于 S 类功放电路的设计原则和以上设 计思路 为保证该电路的可靠性和足够高的性能 该电路的核心芯片 A2选用了美国国家半 导体公司 NS 出品的高品质功放芯片 LM3886 虽然该芯片原先的设计用途是作为音频放 大器之用 但其各种电气性能非常完美 完全符合本设计的需求 并有足够的输出功率 故予以采用 R12 和 R15 电阻较小 作为输出电流的主要电路 所以选取了低温漂的康铜 丝制作 10 图 5 S 类功放电路原理图 LM3886 具有相当优秀的性能 以下参数引用自 NS 的 Datasheet 结合 S 类功率放大 器的特点 用于说明扩流电路选择 LM3886 的原因 1 电源抑制比高 故实际电路尽管没有使用稳压电源 而只用了一级 形滤波 但 已是输出纹波优于0 2uV 2 共模抑制比高 开环增益相当高 有近似于理想放大器的特性 输入性能良好 3 输入噪音很低 可以忽略功放本身所引入的底噪 4 高输入阻抗 低输入电流 有近似虚断的良好特性 11 2 2 3 数控电路设计 数控电路单片机最小系统 D A 转换电路 A D 转换电路 4 位 LED 按键和指示灯 组成 为了减小数电电路的高频峰值电流对模电电路的干扰 这个模块内的数电电路和模 电电路之间各自采用独立的稳压电路供电 实践证明 这个供电方法可以很大程度降低 D A 输出的纹波电压 1 单片机最小系统采用一片 AT89S52 构成 其负责对 A D D A 的控制 以及 4 位 LED 的显示 按键响应等工作 图 6 单片机基本电路 2 D A 电路以采用 MAX531 使用其内部自带的 2 048V 基准源 其电路原理图如图 7 所示 D A 转换的分辨率为 VD Vref 212 2048 4096 0 5mV 8 加在 1 欧的取样电阻上是 就可以输出分辨率为 0 5mA 的电流 A D 电路采用 MAX1241 与 MAX531 使用同一个基准源 因此 A D 的分辨率 为 0 5mV 当取样电阻为 1 欧时 测量电流的分辨率为 0 5mA 因为 MAX1241 的转 换精度很高 达到 1LSB 因此 该 A D 电路完全可以满足题目的扩展要求 2 12 图 7 ADC DAC 模块原理图 2 2 4 大功率电源模块 对于一个大功率 高精度 低纹波要求的电路来说 高质量的电源对其性能指标影响 是非常明显的 因此 我们必须使用一个低纹波电压 功率裕量大的电源 为此 我们用 一个环形变压器整流输出 形RC滤波之后给功率输出级供电 其它电路模块则用线性 稳压器件 LM317 LM337 稳压后供电 3 软件设计 直流电流源的数字控制器采用 ATMEL 公司的 AT89S52 因为在程序综不需要涉及精确 实时操作 所以使用 C 语言进行软件编写 这样可以大大提高程序编写时的效率 程序设计上使用一个定时器作为系统实时时钟 周期性的进行 LED 显示 按键扫描 AD 转换 和显示内容的切换 而主循环负责对按键进行处理 主程序流程图如图 8 1 定时中断程序如图 8 2 按键检测程序如图 8 3 13 初始化 按下 按下 步进植 按下 DA输出量 按步进量增加 DA输出量 按步进量减少 在1 10 100mA 切换步进量 N N Y Y Y N 图 8 1 主程序流程图 系统实时时钟 1 LED显示扫描 按键扫描 整500ms 多次AD采样 取平均值测电流 改变显示内 容及指示灯 返回 整3s吗 N Y Y N 图 8 2 定时中断子程序 14 每20ms 检测一次按键 检测到 按键动作 设定该按键 短按值 为当前键 返回键值 当前键处于 按下状态 按键时间为 0 3s的整数倍 设定该按键 长 按值 为当前键 返回 清除当前键 YY Y N N 有当前键吗 N Y N 图 8 3 按键检测子程序 4系统测试 4 1 测试仪器 滑动电阻器 100 欧 2A 四位半万用表 VC9806 交流毫伏表 EM2171 4 2 测试方法 系统测试以滑线电阻器 2A 100 欧 为负载 测试分两个步骤 步骤一 分别令输出电流为 600mA 1400mA 2000mA 保持设定电流不变 改变负载 电阻 使输出电压在 10V 以内变化时 用四位半万用表 VC9806 测量输出电流 记录 不同负载时的输出电流 步骤二 将滑动变阻器滑到一合适阻值 从 0mA 到 2000mA 改变设定电流 用两个万 用表 VC9806 分别测量流经负载的电流值和负载上两端的电压值 用毫伏表 EM2171 测量纹波电压 记录每个设定值对应的数据 15 4 3 测试数据 1 步骤一数据处理 步骤一测得数据如下 由测量数据可得 由测量数据可得 改变负载电阻 输出电压在改变负载电阻 输出电压在 10V 以内变化时 输出以内变化时 输出 0 2000mA 电流时 电电流时 电 流表示数稳定不变 输出电流变化的绝对值小于输出电流值的流表示数稳定不变 输出电流变化的绝对值小于输出电流值的 0 1 1mA 2 步骤二数据处理 步骤二测得数据如下 设定电流值 mA 板内采样 电流值 mA 实测电流值 mA 实测电压值 mv 纹波电压 mv 折算纹波电流 mA 00010 160 16 11150 160 16 101010430 160 16 100100994310 160 16 50049949921140 160 16 100099999939600 160 16 15001500150251770 160 16 20001999200471040 160 16 由测量数据可得 由测量数据可得 1 板内电流测量装置测量误差绝对值最大为 板内电流测量装置测量误差绝对值最大为 0 25 即 即 0 1 2 个字 个字 测量误差绝对值 测量误差绝对值 0 1 3 个字个字 2 纹波电流为纹波电流为 0 16mA 0 2mA 输出电压 V 10 8967 2214 9342 1111 4441 2970 512 输出电流 mA 设定 600mA 600600600600600600600 输出电压 V 9 86 724 6152 4311 6231 0210 565 输出电流 mA 设定 1400mA 1400140014001400140014001400 输出电压 V 9 8218 8046 8234 5622 6841 3210 854 输出电流 mA 设定 2000mA 2005200520052005 200520052005 16 5 结论 本系统较好地完成了基本和发挥部分的要求 电流源输出电流范 围 1 2047mA 步进 1mA 自制的电流测量装置 测量误差的绝对 值小于测量值的 0 1 2 个字 改变负载使输出电压在 10V 以内变 化时 输出电流稳定不变 纹波电流低于 0 2mA 参考文献 1 陈伟华主编 电磁兼容使用手册 北京 机械工业出版社 2000 2 何立民 单片机应用技术选编 9 北京 北京航空大学出版社 2004 17 附录 附附 1 1 元器件明细表 元器件明细表 1 AT89S52 1 2 MAX1241 1 3 MAX531 1 4 四位 LED 数码管 1 5 LM3886 1 6 OP77 1 7 NE5532 2 8 LM337 1 9 LM317 1 10 7805 2 11 10000uF 电容 4 12 环形变压器 120W 双 28V 双 15V 1 13 康铜电阻丝 14 大功率合金电阻 水泥电阻 15 其它 普通电阻 电容 发光管等 附 2 仪器设备清单 1 万用表 VC9806 2 2 交流毫伏表 EM2171 3 滑动变阻器 100 欧 2A 用作负载电阻 附 3 电路图图纸 注 附图一为控制板原理图图纸 附图二为压控电流源板原理图图纸 20 附图一 控制板原理 图 21 附图二 压控电流源板板原理图 22 附附 4 4 程序清单 程序清单 本系统所用程序清单如下 压控电流源 Write by hjj 2005 9 9 16 00 include define uchar unsigned char define uint unsigned int define Key add 0 x01 define Key subb 0 x02 define Key switch 0 x03 define time1 1200 管脚定义 sbit ADSCLK P1 4 驱动时钟位 sbit ADCS P1 5 片选信号位 sbit ADDOUT P1 6 串行数据位 sbit DADIN P1 0 数据输入线 sbit DACLR P1 1 清零位 sbit DASCLK P1 2 时钟线 sbit DACS P1 3 片选位 sbit LED1 P2 7 4 位位 LED 位选位选 sbit LED2 P2 6 sbit LED3 P2 5 sbit LED4 P2 4 sbit K1 P2 0 按键按键 1 2 3 sbit K2 P2 1 sbit K3 P2 2 sbit L mod set P3 4 显示模式 1 2 指示灯 sbit L mod test P3 5 sbit L step1 P3 3 步进量指示灯 sbit L step10 P3 6 sbit L step100 P3 7 unsigned char code dis 12 0XC0 0XF9 0XA4 0XB0 0X99 0X92 0X82 0XF8 0X80 0X90 0 x7f 23 预置 LED 段码 unsigned char code dis2 12 0X40 0X79 0X24 0X30 0X19 0X12 0X02 0X78 0X00 0X10 0 x7f 预置 LED 段码 带小数点 uchar KEY uint DAout DA step ADin uint sys time dis time uint ADC AD 转换子程序 void DAC uint datas DA 转换子程序 void key scan 按键子程序 void t2 int interrupt 5 using 1 定时器 2 中断服务程序 static uint dis buf static uchar c TF2 0 sys time c c c 4 4 位位 LED 显示显示 switch c case 0 LED4 1 P0 dis dis buf 1000 LED1 0 break case 1 LED1 1 P0 dis dis buf 1000 100 LED2 0 break case 2 LED2 1 P0 dis dis buf 100 10 LED3 0 break case 3 LED3 1 P0 dis dis buf 10 LED4 0 break if sys time 8 0 key scan 整 20ms 则进行按键扫描 dis time if dis time 2400 time1 每隔 3 秒切换显示内容 dis buf DAout 1 L mod test 1 L mod set 0 else 24 dis buf ADin 1 L mod test 0 L mod set 1 if sys time 200 0 ADin ADC 每 0 5 秒进行一次 AD 转换 void init TH2 0 xF6 TL2 0 x3c RCAP2H 0 xf6 RCAP2L 0 x3c SCON 0 x50 TMOD 0 x21 TH1 254 TL1 254 TR2 1 TR1 1 IE 0 xa0 DA step 20 L step10 0 L mod set 0 dis time time1 void main init DAC 0 while 1 switch KEY 按键服务 case 1 按下了 键则 DA 输出增加 dis time time1 KEY 0 DAout DAout DA step if DAout 4095 DAout 4095 DAC DAout break case 2 按下了 键则 DA 输出减小 dis time time1 KEY 0 DAout DAout DA step if DAout 4095 DAout 0 DAC DAout break case 3 按下了 步进量切换 键则改变每次按下 键时的步进电 25 流 KEY 0 if DA step 2 DA step 20 L step1 1 L step10 0 L step100 1 else if DA step 20 DA step 200 L step1 1 L step10 1 L step100 0 else if DA step 200 DA step 2 L step1 0 L step10 1 L step100 1 else DA step 20 L step1 1 L step10 0 L step100 1 break void key scan static uint t static bit k11 k12 k21 k22 k31 k32 检测是否有按键动作 即引脚发生负跳变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论