2.2 A/D 转换电路
模拟量采集是测控系统的一个重要组成部分,本系统采用2 片TLC2543,第I 片用于模 拟量输入,负责采集各传感器的值,第II 片用于采集各开关的状态。图3 给出了利用SPI 及MCU 的PTC 口的PTCO-PTC 1 扩展两片TLC2543 的电路原理图。其中第I 片TLC2543 的片选接MCU 的PTCO、第II 片TLC2543 的片选接MCU 的PTC l。每片TLC2543 可接 11 路模拟量输入,这样本系统中的A/D 转换电路可外接22 路模拟量。当有更多路数模拟量 需要输入时,可以按此方法继续扩展。该电路适用于模拟量路数较多、且对实时性要求不是 太高的数据采集系统。
由于 TLC2543 对采样的模拟数据的分辨率为12 位,包括TLC2543 及其他IC 的电源端 必须用一个0.1 uF 的陶瓷电容连接到地,用作去耦电容。在噪声影响较大的环境中,也可以在0.1 uF 的陶瓷电容端再并联一个lOuF 的钮电容,以减小噪声对器件的影响,其电路设计图如图3 所示。
图3 基于SPI 的A/D 转换扩展电路
2.3 电源转换电路
本系统是 24V 直流电压供电,而MC68HC908GP32 是5V 供电,使用的光电编码器需 12V 工作电压,所以需要设计将24V 转换为5V 和12V 的电压转换电路。系统使用的是 LM2575 系列开关稳压集成电路,LM2575 是美国国家半导体公司生产的1A 集成稳压电路, 其原理图如图4 所示。
3.电机控制系统软件设计
系统的软件采用模块化设计,实现功能细分,一方面可提高软件的移植性和升级性,另 一方面增强软件的易测试性。软件的总体架构包括二部分:主程序、相关子程序和辅助文件, 全部采用08C 语言编程。软件结构是以主程序为主,通过函数调用和全局变量与子程序进行参数传递。主控MCU 方软件主程序是一个死循环结构,MCU 方软件主程序的流程图见前面章节中的图5,每一次控制过程的衔接通过定时器中断来完成。子程序包括了芯片初始 化程序、A/D 转换程序、输入捕捉程序、PWM 输出程序、串行通信程序、开关驱动程序和中断处理程序。
3.1 芯片初始化子程序
芯片初始化子程序_C08Setup.c 主要是完成内部总线频率Fbus 的设置、I/O 口初始化、 串行口初始化、A/D 转换初始化、中断控制和状态寄存器初始化、定时器初始化的工作。由于MC68HC908GP32 外部晶振f=32.768kHz , 则系统产生内部总线时钟频率为 fbus=2.4576MHz。程序首先设置CONFIG2=Ob00000001,CONFIGI=Ob00111101 接下来进 行PLL 的编程,过程如下:
① 禁止 PLL:清零PLL 控制寄存器PCTL
② 将 P, E 写入PCTL
③ 将 N 写入PMSH, PMSL
④ 将 L 写入PVRS
⑤ 将 R 写入PRDS
⑥ 置 PCTL.PLLON=1,启动PLL 电路并激活VCO 时钟CGMVCLK
⑦ 置 PBWC. AUTO=1 (即:自动带宽控制位),自动方式
⑧ 置 PCTL.BCS=1,选择PLL 为时钟源,CGMOUT=CGMV CLK/2