3.2.5 模拟信号接口模块
这部分主要包括系统电流采样、工作电压采样、模拟频率设定几个部分。所有功能是使用
SPMC75F2313A的AD采集模块实现的。一共使用了3路AD输入。另外模拟频率设定的数据值会先经过滤波后才参与系统控制。同时,这部分会对采样回来的电压电流信号进行校正处理,以消除因外部元件差异所引起的误差,保证测量值的准确性。
3.2.6 错误侦测保护模块
这部分主要功能是在系统异常情况下保护变频器不受损坏,主要检测对象包括过流、过压、欠压、过热、短路几部分。其中过压、欠压、过流保护主要是通过相应的硬件电路隔离后经过AD转换实现实时检测保护功能;短路主要是通过IPM模块的反馈系统,过热主要是通过IPM内部的保护电路实现,二者发生时都会在IPM的错误输出引脚输出一个错误保护信号,该信号经光耦隔离后送到单片机外部错误输入引脚,所有PWM输出引脚会变成高阻状态并引起外部错误中断;发生错误时,相应错误代码的的显示信息会显示在LED上,以提醒用户。
3.2.7 键盘信号处理
这是人机交互的一部分,主要进行参数修改和运行数据的设置。这部分共需要处理6个键的信息,并且各个键在不同的状态会有不同功能定义。为了设计方便,每个按键均有自己专用的处理程序,处理程序会根据当前状态自动执行相关的操作。
3.2.8 显示信息处理
这是人机交互的一部分,主要是动态扫描一个5位的七段数码管(6位LED当作一位数码管),将显示缓冲区中的内容显示在数码管上。而显示缓冲区中内容会随系统设置和系统的当前状态而更新不同的显示数据。在参数设置时会根据键盘信息显示相应的人机交互信息;而在系统出错时便会显示相应错误信息以提醒用户进行相应的处理;默认状态下主要是根据设置显示当前的一些运行参数。
这部可以根据设置自动显示整数或是小数,同时支持参数设置时的一些特殊属性(如位闪,特殊标识符)的实现。显示的各种功能是在其它模块信息的协调下进行的。
3.2.9 电机运行参数读写模块
电机的动行参数是存在外部AT24C04中的,在系统上电或是参数更改时自动调入主控器的内存中。为了保证参数的正确,这部分使用CRC校验和多备份的方式去保证数据的完整性,当一个数据区出错时,系统会自动调用备份数据数区的数据,同时更新恢复损坏数据,如果所有信息均出错便会报错,提示用户初始化数据区或是更换EEPROM。为了方便上层程序的操作,这部分分为底层的硬件接口驱动和上层功能API两部分。底层驱动主要是根据硬件时序编写的最基本的字节读写、设置操作;而上层功能API主要是根据系统应用编写的一些特殊操作,主要包括单个参数的读写、全部参数的调出、全部参数的写入和数据校验几部分。
3.3 程序详细说明
3.3.1 主程序
主程序主要完成对系统各模块的初始化以及对系统模块的扫描,其流程图如图3-5:
3.3.2 系统初始化
主程序中的系统初始化主要是对系统各硬件模块初始化,其流程图如图3-6:
3.3.3 系统控制
主程序中的系统控制是通过循环调用系统控制函数 System_Ctrl()实现的, System_Ctrl()主要是完成对系统一些模块的的扫描,其流程图如图 3-7:
3.3.4 IRQ3 中断服务程序
IRQ3 中断服务程序主要用作系统运行中对 PWM 占空比的调整,其流程图如图 3-8:
3.3.5 IRQ4 中断服务程序
IRQ4 中断服务程序主要是完成系统的一些模块的控制,如ADC 采样、按键扫描及处理、显示扫描等,其流程图如图 3-9:
3.3.6 IRQ6 中断服务程序
IRQ6中断主要为电机 DMC 控制中单片机与主机的通讯提供服务,其流程图如图 3-10: