图2中无刷直流压缩机驱动控制部分,其核心控制芯片采用TI公司的电机控制专用数字信号处理器TMS320LF2407,由于其运算速度的快速性,能够保证系统复杂算法的实现和转子何置的检测。位置检测通过检测反电动势的方法来实现,DSP除了完成驱动信号的发生和位置检测外,还接受空调智能节点的指令来启动压缩机和反馈压缩机运行状态。
3 系统软件设计
空调控制系统软件设计主要包括智能节点部分和压缩机控制部分,智能节点主要完成有关初始化;温度采样;接收主控节点的控制指令及发送相关数据,如空调允许的功率上限等;检测空调开关状态和设定温度值;发送给空调控制器的启动信号以及运行频率信号;检测压缩机的运行状态和故障处理等。压缩机控制器部分主要完成压缩机的驱动信号的产生、位置检测信号的处理和接受空调智能节点的起停信号和运行频率等。限于篇幅,这里只对控制节点部分程序进行讨论。控制节点的主程序流程图如图3所示。
对于智能节点软件设计而言,主要是节点初始化、报文发送和接收。而要使节点能够正常工作,关键是节点的初始化要正确。节点的初始化主要是指系统上电后对微处理器和CAN控制器SJA1000进行的初始化,以确定工作主频、波特率和输出特性等。对P89C51Rx2的初始化可根据具体的控制对象进行,主要是对中断、定时器的使用与设置等,这里不作详细介绍。此处主要介绍SJA1000的初始化。由于SJA1000内部无微处理器,故其初始化仍要通过P89C51Rx2对其进行编程实现。SJA1000初始化程序流程如图4所示。SJA1000的初始化应在复位模式下进行,所以在SJA1000初始化程序中首先要将工作方式置为复位模式,之后要设置验收滤波方式、验收屏蔽寄存器(AMR)和验收代码寄存器(ACR)、波特率参数和中断允许寄存器(IER)等。CAN协议物理层中的同步跳转宽度和通信波特率的大小由定时寄存器BTR0、BTR1的内容决定。这里需要指出的是:对于一个系统中的所有节点,这两个寄存器的内容必须相同,否则将无法进行通信。初始化设置完成后,将复位请求位置“0”,SJA1000就可以进入工作状态,执行正常的通信任务。
设计的CAN智能节点具有很高的可靠性和较优的性能价格比,尤其使用独立CAN控制器实现智能节点具有实现方便和很好的通用性等特点。整个空调控制系统能够很好地实现和主控制节点的通信和无刷直流压缩机的驱动控制,各项运行参数达到设计的要求。文中设计的汽车空调控制系统已经在燃料电池汽车上进行了实际运行,能够满足设计要求。