1 电路结构及原理
电路设计采用了闭环控制结构,如图l所示。以C8051F410单片机为核心,通过程序设定需要输出电压的初始参数,控制单片机内部的PCA(可编程计数器阵列)产生适当的PWM波形,C805IF410芯片的可编程计数器阵列由一个专用的16位计数器/定时器和3个16位捕捉/比较模块组成,经二级信号放大电路和推挽式输出电路放大后得到精确直流电压信号。为了抑制工作点漂移并保证足够的输出精度,通过将输出信号经分压后引回至C8051F410单片机,利用单片机内部的数/模转换器测量该电压,并与初始设定参数相比较,最终经由程序调节PWM波形的占空比,从而实现具有高可靠性和较高精度的直流电压输出信号。
2 硬件设计
C805IF410单片机有P0、P1、和P2数字/模拟可配置的I/0 口,所有的数字和模拟资源都可以通过这三组24个I/O引脚使用。输出一路精确模拟信号,需要设置—个引脚作为PWM输出口,一个作为ADC输入口。在这里,我们设置PO.1为PWM输出口,P0.2为ADC输人口。
外围电路设计包括在线调试和下载电路、外部参考电压电路和滤波电路。本文利用单片机提供的C2调试接口设计了在线调试和下载电路.如图2左上侧电路所示.通过计算机串口实现单片机的快速编程和系统在线调试。图2下右侧为外部参考电压电路琏接到单片机的Vref引脚.为单片机ADC等模块提供2.048伏电压参考.可通过电位器进行调校。
放大电路包括二级电压放大电路和推挽式功率输出电路两个部分.如图2右侧电路所示。
电压反馈测量前置电路如图2右侧上部所示,实质为分压电路。由于设定C8051F410单片机参考电压为2.048伏,而输出电压最大值为12伏左右,因此选择电阻R15=4.3K,R16=20K,电位器Pv1标称电阻为5K,并可通过调节电位器来改变电压倍数。
3 软件设计
运用c语言编程来实现PWM控制,并利用C8051F410芯片的可编程计数器阵列组成PWM发生器。捕捉/比较模块有六种工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM和16位PWM。每个捕捉/比较模块的丁作方式都可以被独立配置。对PCA的配置和控制是通过系统控制器的特殊功能寄存器来实现的.主要有以下几个:
3) PCAOCPn可编程计数器阵列捕捉,比较寄存器(高低字节)。该寄存器用于设置捕捉/比较模块n的高低字节。
具体实现方法与步骤如下:
1)初始设置:根据设定电压值生成初始PWM波形和频率参数。
2)电压测量:测量此时输出电压和设定值之间的偏差,用于调整PWM参数。
3)调整PWM参数:把设定的输出电压与实际读取到的输出电压进行比较.若实际电压值偏小,则向增加输出电压的方向调整PWM的占空比;若实际电压偏大,则向减小输出电压的方向调整PWM的占空比。
4)使能PWM输出。
另外.在软件PWM的调整过程中还要注意ADC的读数偏差和电源工作电压等引入的纹波干扰。合理采用算术平均法等数字滤波技术。
4 结论
基于C8051F410单片机,采用PWM调制技术和负反馈测量技术设计了一种新的精确信号模拟电路,克服了原电路因工作点不稳定的问题。经实验验证,榆测设备重测合格的现象不再出现。本电路从处理器到被控系统信号都是数字形式的,无需进行数模转换,抗噪性能强,工作稳定,具有较高的输出精度,对于同类电路的设计具有一定的借鉴意义。