1、 基于 AVR 单片机的数控直流电压源设计 南京信息工程大学电子信息工程专业,南京 210044 摘要 :介绍一种以单片机 AVR 为控制核心的数控直流恒流源,该恒流源以运算放大器 LM358 加达林顿管组成, A D采样电阻电压控制恒流源输出。由键盘通过输入预定电流值,经单片机处理、采样恒流源电路输出电流值并与预定值比较,而进行调节控制输出电流范围为 20mA 2A,改变负载电阻,输出电压在24V化时,输出电流变化的绝对值小于输出电流值的 0 1针 ImA。 关键词 :AVR 单片机运算放大器恒 流源 A D AVR 单片机 PWM 1 引言 单片机又称单片微控制器,它是把一个计算机系统集成
2、到一个芯片上,概括的讲:一块芯片就成了一台计算机。单片机技术是计算机技术的一个分支 ,是简易机器人的核心元件。早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案,使得指令周期长,执行速度慢。以后的 CMOS 单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观 (51以及 51兼容 )。此间虽有某些精简指令集单片机(RISC)问世 ,但依然沿袭对时钟分频的作法。 1997年 ,由 ATMEL公司挪威设计中心的 A先生与 V先生利用 ATMEL公司的 Flash新技术 , 共同研发出 RISC 精简指令集的高速 8 位单片机,简称 AVR。相对
3、于出现较早也较为成熟的 51系列单片机, AVR 系列单片机片内资源更为丰富,接口也更为强大,同时由于其价格低等优势,在很多场合可以替代 51 系列单片机。 AVR 单片机,它采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中 (指令集中占大多数的单周期指令都是如此 ),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。当然这种速度上 的升跃,是以高可靠性为其后盾的。 AVR 单片机硬件结构采取 8位机与 16位机的折中策略,即采用局部寄存器存堆 (32个寄存器文件 )和单体高速输入 /输出的方案 (即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑 )。提
4、高了指令执行速度 (1Mips/MHz),克服了瓶颈现象,增强了功能;同时又减少了对外设管理的开销,相对简化了硬件结构,降低了成本。故 AVR 单片机在软 /硬件开销、速度、性能和成本诸多方面取得了优化平衡,是高性价比的单片机。 2 AVR 单片机的优势特征 单片机已广泛地应用于军事、工业、家用电器、智能玩具、 便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉。单片机种类很多,在简易机器人制作和创新中,为什么选用 AVR 单片机呢? 一2.1简便易学,费用低廉 首先,对于非专业人员来说,选择 AVR 单片机的最主要原因,是进入 AVR
5、 单片机开发的门槛非常低,只要会操作电脑就可以学习 AVR 单片机的开发。单片机初学者只需一条 ISP 下载线,把编辑、调试通过的软件程序直接在线写入 AVR 单片机,即可以开发 AVR单片机系列中的各种封装的器件。 AVR单片机因此在业界号 称“一线打天下”。 其次, AVR 单片机便于升级。 AVR 程序写入是直接在电路板上进行程序修改、烧录等操作,这样便于产品升级。 再次, AVR 单片机费用低廉。学习 AVR 单片机可使用 ISP 在线下载编程方式 (即把 PC 机上编译好的程序写到单片机的程序存储器中 ),不需购买仿真器、编程器、擦抹器和芯片适配器等,即可进行所有 AVR 单片机的开
6、发应用,这可节省很多开发费用。程序存储器擦写可达 10000 次以上,不会产生报废品。 2.2 高速、低耗、保密 首先, AVR 单片机是高速嵌入式单片机: 1、 AVR 单片机具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。 2、多累加器型,数据处理速度快。 AVR 单片机具有 32 个通用工作寄存器,相当于有 32 条立交桥,可以快速通行。 3、中断响应速度快。 AVR 单片机有多个固定中断向量入口地址,可快速响应中断。 其次, AVR 单片机耗能低。对于典型功耗情况, WDT 关闭时为 100nA,更适用于电池供电的应用设备。有的器件最低
7、1.8 V 即可工作。 再次, AVR 单 片机保密性能好。它具有不可破解的位加密锁 Lock Bit 技术,保 密 位 单 元 深 藏 于 芯 片 内 部 , 无 法 用 电 子 显 微 镜 看 到 。 2.3 I /O 口功能强 ,具有 A/D 转换等电路 1. AVR 单片机的 I/O 口是真正的 I/O口,能正确反映 I/O 口输入 /输出的真实情况。工业级产品,具有大电流 (灌电流 )10 40 mA,可直接驱动可控硅 SCR 或继电器,节省了外围驱动器件。 2. AVR 单片机内带模拟比较器, I/O 口可用作 A/D 转换,可组成廉价的 A/D 转换器 。 ATmega48/8/
8、16 等器件具有 8 路 10位 A/D。 3. 部分 AVR 单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。 4. AVR 单片机可重设启动复位 ,以提高单片机工作的可靠性。有看门狗定时器实行安全保护 ,可防止程序走乱 (飞 ),提高了产品的抗干扰能力。 2.4 有功能强大的定时器 /计数器及通讯接口 定时 /计数器 T/C 有 8 位和 16位 ,可用作比较器。计数器外部中断和 PWM(也可用作 D/A)用于控制输出,某些型号的 AVR单片机有 3 4个 PWM,是作电机无级调速的理想器件。 AVR单片机有串行异步通讯 UART接口 ,不占用定时器
9、和 SPI 同步传输功能 ,因其具有高速特性,故可以工作在一般标准整数频率下 ,而波特率可达 576K。 AVR 单片机的型号标识解析 1. 型号紧跟的字母,表示电压工作范围。带“ V”: 1.8-5.5V;若缺省,不带“ V”: 2.7-5.5V。 例: ATmega48-20AU,不带“ V”表示工作电压为 2.7-5.5V。 2. 后缀的数字部分,表示支持的最高系统时钟。 例: ATmega48-20AU,“ 20”表示可支持最 高为 20MHZ 的系统时钟。 3. 后缀第一(第二)个字母,表示封装。“ P”: DIP 封装,“ A”: TQFP 封装,“ M”: MLF 封装。例: A
10、Tmega48-20AU,“ A”表示 TQFP 封装。 4. 后缀最后一个字母,表示应用级别。“ C”:商业级,“ I”:工业级(有铅)、“ U”工业级(无铅)。例: ATmega48-20AU,“ U”表示无铅工业级。 ATmega48-20AI,“ I”表示有铅工业级。 2.5 AVR 8-Bit MCU 的最大特点 与其它 8-Bit MCU 相比, AVR 8-Bit MCU 最大的特点 是:哈佛结构,具备 1MIPS / MHz的高速运行处理能力;超功能精简指令集( RISC),具有 32 个通用工作寄存器,克服了如8051 MCU 采用单一 ACC 进行处理造成的瓶颈现象;快速的
11、存取寄存器组、单周期指令系统,大大优化了目标代码的大小、执行效率,部分型号 FLASH 非常大,特别适用于使用高级语言进行开发;作输出时与 PIC 的 HI/LOW 相同,可输出 40mA(单一输出),作输入时可设置为三态高阻抗输入或带上拉电阻输入,具备 10mA-20mA 灌电流的能力;片内集成多种频率的RC 振荡器、上电自动复位、看门狗、启动 延时等功能,外围电路更加简单,系统更加稳定可靠;大部分 AVR 片上资源丰富:带 E2PROM, PWM, RTC, SPI, UART, TWI, ISP, AD, Analog Comparator, WDT 等; 大部分 AVR 除了有 ISP
12、 功能外,还有 IAP 功能,方便升级或销毁应用程序。 2.6 AVR 单片机的应用区域 目前, AVR 已被广泛用于:空调控制板,打印机控制板,智能电表,智能手电筒 LED控制屏,医疗设备 , GPS 2.7 从市场角度看 AVR 单片机 性价比: AVR 大部分型号的性价比较高,性价比表现突 出的型号有: atmega48、 atmega8、atmega16、 atmega169P 供货方面:通用型号的 AVR 供货较为稳定,非常规型号的 AVR 样品及供货仍存在问题。市场占有率:目前, AVR 的市场占有率还是不如 PIC 与 51,但, AVR 的优点使得 AVR 的市场占有一直在扩展
13、, AVR 的年用量也一直在上涨。 3 AVR 单片机 PWM 四种工作模式 3.1普通模式 普通模式 (WGM02:0 = 0)为最简单的工作模式。在此模式下计数器不停地累加。计到 8比特的最大值后 (TOP = 0xFF),由于数值溢出计数器简单地 返回到最小值 0x00重新开始。普通模式输出比较单元可以用来产生中断,当然也可以利用输出比较来产生波形,这样并不推荐,因为太占用 CPU 时间。 3.2CTC(比较匹配时清零定时器)模式 此模式可以用来产生可变的频率变化。了在 CTC 模式下得到波形输出,可以设置 OC0A 在每次比较匹配发生时改变逻辑电平。这可以通过设置 COM0A1:0 =
14、 1来完成。在期望获得 OC0A输出之前,首先要将其端口设置为输出。波形发生器能够产生的最大频率为 fOC0 fclk_I/O/2 (OCR0 A= 0x00)。频率由如下公式确定: 变量 N 代表预分频因子 (1、 8、 64、 256或 1024)。 3.3快速 PWM 模式 此模式可以用来产生可变的占空比变化。快速 PWM 模式可用来产生高频的 PWM 波形。快速PWM 模式与其他 PWM 模式的不同之处是其单斜坡工作方式。输出的 PWM 频率可以通过如下公式计算得到: 变量 N 代表分频因子 (1、 8、 64、 256或 1024)。 3.4相位修正 PWM 模式 此模式可以用来产生
15、可变的占空比变化。位修正 PWM 模式 (WGM02:0 = 1或 5)为用户提供了一个获得高精度相位修正 PWM 波形的方法。此模式基于双斜坡操作。工作于相位修正模式时PWM 频率可由下式公式获得: 变量 N 表示预分频因子 (1、 8、 64、 256或 1024)。 例子: CTC 模式程序 初始化 DDRB |= (1 EEPM0); /*设置地址与数据寄存器 */ EEARL = ucAddress; EEDR = ucData; /*置位 EEMWE */ EECR |= (1EEMWE); /*置位 EEWE 以启动写操作 */ EECR |= (1EEWE); 读函数 unsi
16、gned char EEPROM_read(unsigned char ucAddress) /*等待上一次写操作结束 */ while(EECR /*设置地址寄存器 */ EEARL = ucAddress; /*设置 EERE 以启动读操作 */ EECR |= (1EERE); /*自数据寄存器返回数据 */ return EEDR; 注意点: EEPROM 数据存储器使用最重要的就是要防止 EEPROM 数据丢失。 若电源电压过低, CPU 和 EEPROM 有可能工作不正常,造成 EEPROM 数据的毁坏 (丢 失 )。这种情况在使用独 立的 EEPROM 器件时也会遇到。因而需要使
17、用相同的保护方案。 由于电压过低造成 EEPROM 数据损坏有两种可能:一是电压低于 EEPROM 写操作所需 要的最低电压;二是 CPU 本身已经无法正常工作。 EEPROM 数据损坏的问题可以通过以下方法解决: 一、当电压过低时保持 AVR RESET 信号为低。这可以通过使能芯片的掉电检测电路 BOD 来 实现。如果 BOD 电平无法满足要求则可以使用外部复位电路。若写操作过程当中发生了 复位,只要电压足够高,写操作仍将正常结束。 二、 在上电后要延时一段时间再读取 EEPROM 存储器中的 数据。 三 模数转换器( ADC) 10位精度 0.5 LSB 的非线性度 2 LSB 的绝对精
18、度 13 - 260 s 的转换时间 最大精度达到 15 kSPS 四路复用单端输入通道 可选的向左调整 ADC 读数 0 - VCC 的 ADC 输入电压范围 可选的 1.1V ADC 参考电压 连续转换或单次转换模式 通过中断源自动触发的 ADC 转换启动 ADC 转换结束中断 基于睡眠模式的噪声抑制器 实际使用注意事项: 1、理论上的 10位 AD 精度,实际上在一般的场合只能达到 8位。 2、 5/210= 0.0048,而 5/28=0.0195,相差还是很多的。 3、电源电压不稳或有毛刺波纹等都会对 AD 的采样精度有影响,所以在电源前 CLC形滤波处理,在电压进入 AD 之前加
19、RC 处理,采样过程中要多次采样,并使用软件滤波算法来减少AD 的误差。 4、在模拟器件上,地和电源一组,信号线和地一组,分别编成双绞线,这样也会增加抗干扰,另外这些线越短越好。 3.5 AVR 单片机的发展趋势 目前 AVR 单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计 算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此
20、, AVR 单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 AVR 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: 3.6 应用 1 自能仪表应用: AVR 单片 机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,
21、各种分析仪)。 2 在工业控制中的应用 用 AVR 单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控 制系统等。 3在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 4 在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动
22、通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 5 AVR单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 3.7直流稳压电源 直流稳压电源是电子技术常用的设备之一,广泛的应用于教学、科研等领域。传统的多功能直流稳压电源功能简单、难控制、可靠性低、干扰大、精度低且体积大、复杂度高。普通直流稳压电源品种很多 它的供电电压大都是交流电压,当交流供电电压的电压或输出负载电阻变化时,稳压器的直接输
23、出电 压都能保持稳定。稳压器的参数有电压稳定度、纹波系数和响应速度等。前者表示输入电压的变化对输出电压的影响。纹波系数表示在额定工作情况下,输出电压中交流分量的大小;后者表示输入电压或负载急剧变化时,电压回到正常值所需时间。直流稳压电源分连续导电式与开关式两类。前者由工频变压器把单相或三相交流电压变到适当值,然后经整流、滤波,获得不稳定的直流电源,再经稳压电路得到稳定电压(或电流 )。这种电源线路简单、纹波小、相互干扰小,但体积大、耗材多,效率低 (常低于40 60 )。后者以改变调整元件 (或开关 )的通断时间比来调 节输出电压,从而达到稳压。这类电源功耗小,效率可达 85左右,但缺点是纹波
24、大、相互干扰大。所以, 80年代以来发展迅速。从工作方式上可分为: 可控整流型。用改变晶闸管的导通时间来调整输出电压。 斩波型。输入是不稳定的直流电压,以改变开关电路的通断比得到单向脉动直流,再经滤波后得到稳定直流电压。 变换器型。不稳定直流电压先经逆变器变换成高频交流电,再经变压、整流、滤波后,从所得新的直流输出电压取样,反馈控制逆变器工作频率,达到稳定输出直流电压的目的。 电器用途 交流稳压电源应用于计算机及其周边装置、医疗电子仪器、通讯广播设备、工业电子设备、自动生产线等现代高科技产品的稳压和保护。 3 直流稳压电源广泛应用于国防、科研、大专院校、实验室、工矿企业、电解、电镀、充电设备等
25、的直流供电。 ( 1)可用于各种电子设备老化,如 PCB 板老化,家电老化,各类 IT 产品老化, CCFL 老化,灯管老化 (2)适用于需要自动定时通、断电,自动记周期数的电子元件的老化、测试 (3)电解电容器脉冲老练 (4)电阻器,继电器,马达等测试老练 (5)整机老练;电子元器件性能测试,例行试验 4 系统 设计 一般的直流稳压电源存在以下问题:输出电压是通过粗调(波段开关 )及细调 (电位器 )来调节。这样,当输出电压需要精确输出,或需要在一个小范围内改变时(如 1.021 03V),困难就较大。另外,随着使用时间的增加,波段开关及电位器难免接触不良,对输出会有影响。常常通过硬件对过载
26、进行限流或截流型保护,电路构成复杂,稳压精度也不高。此外有的数控电源设计是通过高位数的 A/D 和 D/A 芯片来实现的,这虽然能获得较高的精度,但也使得 成本大为增加。本文介绍一种基于 AVR 单片机的低成本高精度数控直流电源,能够 克服传 统直流 电压源的缺点,具有很高的应用价值。 系统设计及量述 本数控直流恒流源系统采用 ATMEL 公司生产的 AVR 单片机为控制核心,包括模块有:恒流源模块、 AVR 单片机主控模块、键盘及显示模块、 A D D A 转换模块以及电流检测等。选用AVR 作微控制器,其不仅性能更加完善,运行指令速度比 51 系列快,不需要扩展外部 I O资源,节约资金,
27、能完伞实现功能和满足精度要求。设计功能有:手动设定输入电流值 20mA2A:输出电压在 24V 内变化,输出电流在 20mA 2A 间,步进 ImA:能直接利用 220V 进行供电:输出电流恒定,文波 小,分辨率高:可显示电流给定值和实测值。系统工作流程:通过键盘没定需要的输出电流值后,单片机 AVR 对设定的值送入显示器,按照一定的算法进行处理,经 D A 输出电压控制恒流源电路,输出相应的电流值。 AVRl6 单片机采样恒流源电路上串连的采样电阻电压,计算此恒流源电路的输出电流值并与设定的值进行比较, D A 控制输出从而实现对恒流源的输出电流的控制调节。此数据存储于单片机输入显示器,实验
28、结果表明输出电流能实时跟随预定值。 1 恒流源电路的设计及 O A 转换 恒流源实现方式很多,如运算放大器组成的恒流源,镜像电流源等,本 文采用运算放大器LM358 加达林顿管组成恒流源。 LM358 是内部频率补偿。适合于电压范围很宽的单电源使用。DAOUT 输入通过集成运放 LM358 恒定 ADIN 点的电压,起到了恒流的作用:达林顿管连接构成共基极输入,很高的输出阻抗,达到恒流和扩流的目的,电阻 R6 上的电压恒等于 DAOUT输入电压,得到一个町控制恒流源。恒流源是 20mA 2A 的范围,步进 ImA,变化有 1980 个点,用 11 位的 D A 实现。 D A 转换电路采用 T
29、LV5638, TI 公司的 12 位 D A 转换,有两个输出通道,数据传输接口为 3 线制串口,该接口与常用 的微控制器或者微处 器直接连接。每次传输数据由 16 位的数据组成一帧,其中 4 位为控制命令字, 1 2 位为输 H数据。 2 电流检测电路与 A D 转换电路设计 输出电流能实时跟随预定值,引入一个反馈同路,用来指示当前输出的电流大小,该功能电路即电流检测电路。恒流源电路采样电阻电压即 R6 上的 ADIN 电压输到 A D 转换电路测得输出电流。这对采样电阻的要求较高,用康锰铜电阻丝作电流测量中的取样电阻。其特点在于温度漂移量小。 1 o 的康锰铜电阻丝上通过约 2A 电流,
30、产生热量引起升温,导致 0 02 o左右阻值的变化,对电流的稳定起 了很重要的作用。同时 l o 的康锰铜电阻丝约长 l,与 外界接触面积大,散热快,利于减小温度漂移的影响。电流检测电路如图 3, D 转换采用AD977,是 Analog Device 公司推出的一款扁速 16 位 A D 转换器,低功耗,采样 200KSPS。 2 恒流源测试结果恒流源电路测试分有负载和无负载两种方式。控制面板输入设定值,测 得恒流源在尤负载下的电流值:加入负载值,测得在设定值下的电流值。测得值跟设定值对比得表一 系统框图 图为系统的总体框图。本系统通过小键盘和 LCD 实现人机交流,小键盘负责接收要实现的电
31、流值, LCD 12864负责显示。 AVR 单片机根据输入的电流值产生对应的波,经过滤波和功放电路后对压控直流元件进行控制,产生电流,电流再经过采样电阻到达负载。同时,对采样电阻两端信号进行差分和放大,送入 ADC。单片机根据采集到的值调整 PWM 输出,从而调整了输出电流。如此反复,直到电流达到设定要求。 4.1硬件模块介绍 1 人机接口模块 本模块包括小键盘电路和液 晶显示电路。键盘设计为 3 4键盘,由数字键 0 9,功能键“删除”及“确认”组成,采用反转法实现键值识别。显示电路由带中文字库的 LCD 12864构成,该液晶可以每行 8个汉字显示 4行。由于这部分电路比较简单,在此不详
32、述。 2 核心控制模块 系统的核心控制模块为 AVR 单片机( ATMEGA 16L)。主要使用了 AVR的 PWM 功能和 A/D 功能。AVR 单片机片内有一个具有 16位 PWM 功能的定时 /计数器。在普通模式下,计数器不停地累加,计到最大值( TOP=0xffff)后溢出,返回到最小值 0x0000重新开始。当启用 PWM 功能即在单片机的快速 PWM模式下,通过调整 OCR1A的值可实现输出 PWM波的占空比变化。产生 PWM波形的机理是: PWM 引脚电平在发生匹配时(匹配值为 0 0xffff 之间的值,如图 2中的 C),以及在计数器清零(从 MAX 变为 BOTTOM)的那一个定时器时钟周期内发生跳变,具体实现过程如图 2所示。 图 2 PWM 波产生过程 图 2中的 C F 为 OCR1A 匹配值。从 图中可见,波形在每个匹配值处以及计数清零时输出发生变化,从而实现了 PWM 波。由于 OCR1A 的值可以从 0x0000到 0xffff,共有 65535个值,因此PWM 波的最大分辨率为 1/65535,满足系统分辨率设计要求。 PWM 波的频率为: