4.2 马达转速计算与控制程序 洗衣机的
直流无刷马达为同步马达,亦即马达的机械转速与磁场旋转频率为同步的。因此可根据马达的霍尔位置讯号计算脉波宽度的时间即可计算出马达的实际转速,达到闭回路的速度控制。利用SPMC75F2413A的PDC0中断做相位检测,TPM2定时器中断计时来完成位置检测和速度计算。图4.2为PDC0和TPM2中断流程。
点击看原图
&n
bsp; 图4.2 PDC0和TPM2中断流程
其中PDC0_PDCINT_ISR()负责检测霍尔组件的脉波宽度,TMR2_TPRINT_ISR()负责当马达转速变化时更新实际转速值并作控制。
4.3 串行通讯程序 DMC控制器和PANEL 控制器通过UART交换讯息,采用CRC校验方式,所有的通讯动作的起始、中止与异常检出皆由PANEL 控制器所主导。
DMC 控制器以环形队列(circular queue)存储数据,串行字符是以中断接收并储存在的缓冲区中。DMC 控制器检查所收到的串行字符命令,若所收到的字符组正确无误,则对相应的命令回应给PANEL 控制器,若是接收为有效的命令,则执行Decode_RxStream()程序以译码出控制命令与数据,并对PANEL 控制器发出ACK讯号;反之,若接收为无效的命令,则对PANEL 控制器发出NACK 的讯息,以利PANEL 控制器作讯息的控制与再传送的动作。程序流程图如图4.3 所示。
点击看原图
图4.3 串行通讯程序流程
4.4 PANEL控制器韧体说明 当按下『电源』按键时,PANEL 控制器将会开始通讯动作,尝试与DMC 控制器握手特定的讯息内容,当从回传的字符组被PANEL 控制器认可后,才可接受使用者对洗衣机的操作;否则,将判定为通讯异常情况发生。当使用者已经选择将洗衣模式与参数内容后,按下『启动/暂停』按键会使马达开始运转。系统预设有4 种运转程序,对应的洗衣参数见表4-1: