基于数字PID增量控制的恒温晶体振荡器
摘要:针对晶体时钟振荡器输出频率易受外界温度变化影响的特点,设计了以MSP430F4618单片机为控制核心的恒温晶体振荡器。将高精度负温度系数热敏电阻作为传感器对晶体温度进行采样,并采用精密放大器IAN330芯片对晶体温度变化差值信号进行转换并输出至控制核心。输出的信号经12位A/D转换后进行数字PID增量控制运算得到控制量增量,再通过12位D/A转换输出至DRV593芯片驱动半导体制冷片(TEC)对晶体温度进行控制,并循环该过程使晶体振荡器的工作温度保持稳定。
关键词:恒温;晶体振荡器;MSP430F4618;PID
0 引言
PID(Proportional Integral Differential)控制器是按给定量与输出量偏差的比例、积分、微分进行控制的调节器,具有结构简单、控制效果好、鲁棒性强等优势,是目前自动化控制技术中最稳定的控制方法,同时在许多工业控制中得到了广泛的应用,单片机、DSP、FPGA等处理器易于实现数字PID控制算法,从而取代了传统的模拟PID控制器,使系统电路更简单、精度更高、通用性更强。由于软件程序的灵活性,使数字PID控制算法也变得丰富多样,可以根据实际系统的情况,选择适合的数字PID控制算法,数字PID控制算法通常分为位置式PID控制算法和增量式PID控制算法,前一种算法所得到的控制量为全量输出,每次运算都会对误差进行累加,从而引起系统较大的超调,使系统稳定性下降;而后者输出的则是控制量的增量,减小了累积误差及精度问题对输出控制量的影响。
恒温晶体振荡器(Oven Controlled Crystal Oseillator,OCXO)简称恒温晶振,它在嵌入式系统中的应用有着重要的意义,传统的恒温晶体振荡器采用恒温槽使晶体温度保持恒定,为了灵活的控制晶体的输出频率及达到更高的稳定性能,设计了基于数字PID增量控制算法的恒温晶体振荡器,并采用了TEC制冷技术,使晶体温度的控制更加灵敏、准确和高效。
1 系统工作原理
整个系统对晶体温度控制的总流程如图1所示。基于TI公司MSP430单片机的优点,系统控制核心选用MSP430F4618单片机,信号采集转换部分使用了高精度的负温度系数热敏电阻(NTC)与INA330芯片对晶体温度偏差进行采集转换,INA330芯片是基于10 kΩ热敏电阻的温度控制器,专为光网络及医学分析应用中进行热电冷却控制设计的精密放大器,它只采用了一个10 kΩ精密电阻器R2和10 kΩ热敏电阻R1,为传统的桥式电路提供了替代方案。
在INA330芯片的两个输入端V1和V2加上1 V的激励电压后,将在热敏电阻R1和精密电阻器R2上产生I1和I2电流,芯片内部电流输送电路输出电流Io=I1-I2,该电流流经外部增益电阻器R3,任何加至R3另一端的偏置电压都与输出电压相加,所以总的输出电压可以表示为:
V0=(I1-I2)×R3+Va (1)
该输出电压送至MSP430F4618处理器,通过芯片内部集成的12位A/D转换器,使输入的偏差模拟信号转换为数字信号,通过数字PID增量控制算法得到控制量增量,经处理器内部集成的12位D/A芯片转换输出,控制DRV593输出PWM波驱动TEC对晶体进行加热或制冷,图中虚线表示TEC到热敏电阻形成一个闭环负反馈,两者在机械位置上是同晶体安装在一起的,在电气连接上是相互隔离的。在实际应用中,晶体的实际温度可以通过设置Va大小来进行控制。
2 系统硬件设计
在原理图的设计中,根据设计的原理及所需要实现的功能模块,参考文献,将总的硬件电路划分为电源模块、LCD显示模块、控制核心模块、TEC驱动模块、INA330控制模块,鉴于设计电路的复杂性,硬件设计采用层次电路绘制原理图,这样可以比较清晰和简单地绘制原理图,再检查和核对各模块就显得有章可循,整个控制系统的顶层原理图如图2所示。
在具体的硬件电路中,INA330芯片与热敏传感器共同构成了晶体温度误差信号的转换电路,控制核心电路则是MSP430F4618单片机的最小系统,该最小系统电路包括复位电路、电源电路、JTAG仿真接口、时钟电路,其中MSP430F4618单片机采用直流3.3 V供电,LCD显示采用段式液晶对晶体温度值进行实时显示,DRV593芯片及其外围电路构成TEC驱动电路,通过设置DRV593芯片的负端电压,可以调节TEC加热或冷却的阈值,向DRV593芯片正电压端输入控制信号,可以间接控制晶体温度,在整个系统中,控制核心模块与其他外部模块间数模或模数信号转变的参考电压均使用单片机内部提供的参考电压。
3 系统软件设计
3.1 系统总体软件流程
系统软件设计采用模块化设计方式,图3(a)是系统软件总体设计流程,主要包括晶体温度的采样转换(见图3(b))、LCD显示(见图3(c))数字PID增量运算、控制量D/A转换(见图3(d))及控制量的输出,其中温度信号的采集与转换采用定时器TA中断实现,初始化定时器TA工作在增计数模式,捕获/比较寄存器CCR0的值定义了采样周期,当TAR计数器计数值不小于CCR0的值时,定时器TA中断标志位CCIFG0置1,系统响应中断,对晶体温度进行采样转换。
恒温 晶体振荡器 MSP430F4618 PID 相关文章:
- 给单片机时钟制作一枚高稳定的恒温晶振(11-29)
- 单片机恒温箱的温控系统制作(01-25)
- 台达PLC在乳化机控制系统中的应用(06-27)
- 制作单片机恒温箱的温控系统的方法解析(06-15)
- 基于80C52单片机的电加热数字恒温控制系统设计(02-09)
- msp430f1232最小系统以及调试过程(11-17)