历史上的今天
返回首页

历史上的今天

今天是:2025年03月24日(星期一)

正在发生

2018年03月24日 | 基于PMC75F2413A和SPCE061A的直流变频洗衣机的控制系统设计

2018-03-24 来源:eefocus

    1 前 言

    洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、漂洗、摔干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可供用户选择。变频控制依其高性能、节能等优点在洗衣机的控制中得到广泛应用,下面介绍采用凌阳科技公司的SPMC75F2413A和SPCE061A单片机来设计的直流变频洗衣机的控制系统。

 

    2 系统总体方案介绍

    整个系统主要由两部分组成:由SPMC75F2413A控制的DMC控制板和由SPCE061A控制的PANEL板,两者之间的连接系统方块图如图2.1所示。

     

变频洗衣机系统组成框图

     

 图2.1 变频洗衣机系统组成框图

    PANEL控制器采用16 位SPCE061A控制器,主要完成的功能有:按键扫瞄、状态显示与通讯。洗衣机的控制通过按键输入来选择操作模式,并可设定选择水量、预约时间,详细设定洗衣、洗净及脱水的参数;电源按键钮为起始与驱动控制电路板的连接,起动或暂停键为运转洗衣机或暂停。运转过程中的剩余时间透过7 段显示器来显示。

    DMC 控制器采用16 位SPMC75F2413A 单芯片控制器,主要完成的功能有:侦测马达转子的位置讯号,以120 度方波驱动PWM 方式驱动直流无刷马达。

    3 系统硬件设计

    系统控制包括DMC控制板和PANEL控制板两部分,下面主要介绍DMC控制板硬件设计。

    3.1 电源电路

    图3.1为EMI 电源滤波器与单相全桥整流器电路,AC 电源输入接头为CON1,电压为220VAC,电源输入端通过突波吸收器ZNR3以避免过大的电压突波损坏器件,C8 与C12 的Y2 电容串联后连接至接地点,通常也可以连接至机壳。透过全桥整流器DB1整流、C13 滤波后可得到输出直流电压。

     

 EMI 电源滤波器


    3.4 水位检测电路

    图3.5为洗衣机的水位检测电路,CON4连接水位传感器,水压大小产生LC 震荡,压力越小则频率越大,反之亦然。当接近零水位时,输出频率约在27.8KHz。此频率通过F/V 转换电路,转换为模拟电压输入至芯片内ADC 模块来计算水位高低。

    F/V 转换电路由IC7所产生,电路组件R33 与C36 形成输入端高通滤波器以滤除直流电压,输出电压大小由R30、C33 与输入频率决定,电压计算式为: Vo = R30 x C33 x VCC x Fin;其中Vcc 为+5V、Fin 为输入频率。

水位检测电路

     

图3.5 水位检测电路

    4 系统软件设计

    变频洗衣机控制器主要以双MCU 设计,两控制器通过串行通讯交换讯息与系统控制,设定SPCE061A 面板控制器为主机,SPMC75F2413A 马达驱动控制器为从机。主机负责整个传输的过程;从机端负责接收主机端传送的命令并执行,且需响应相对应的ACK 讯号给主机,相对地。当使用者在面板控制器上下达对应的运转命令后,从机负责执行,当有异常状况发生时,从机实时回报或直接能够由主机检知,利用显示电路通知使用者。

    因此本系统的软件开发包括针对马达驱动、通讯格式与通讯状态机切换、洗衣机状态机切换、按键扫瞄与状态显示等程序为主;以下将针对DMC 控制器与PANEL 控制器重要的程序给予说明。

    4.1 直流无刷马达驱动程序

    在DMC 控制器主要负责直流变频马达驱动,可区分为两大部分:内回路的电压控制与外回路的速度控制。内回路电压控制系针对侦测到的马达转子位置(由霍尔组件读取得到),由于马达转子为永久磁石结构,因此由微控制器所输出的电压讯号需对应于所读取到的霍尔组件讯号,在实际的设计例中是以定时器Timer3 产生4000Hz 的固定周期的中断时间,在每次中断程序中会对霍尔组件输入接口作读取的动作,并输出相应的电压H/L与PWM 讯号,此程序以有限状态机实现,共区分3 个状态为PHSIDLE、PHSHOLD 与PHSRUN,在PHSIDLE 主要工作在禁能DMC 驱动器并对调控参数进行初始化,PHSHOLD 状态在保证产生自举电压,而PHSRUN 则是真正产生120 度方波讯号,详细程序流程可参考如图4.1 所示。

     

 状态切换流程

     

图4.1 状态切换流程

    4.2 马达转速计算与控制程序

    洗衣机的直流无刷马达为同步马达,亦即马达的机械转速与磁场旋转频率为同步的。因此可根据马达的霍尔位置讯号计算脉波宽度的时间即可计算出马达的实际转速,达到闭回路的速度控制。利用SPMC75F2413A的PDC0中断做相位检测,TPM2定时器中断计时来完成位置检测和速度计算。图4.2为PDC0和TPM2中断流程。

     

PDC0和TPM2中断流程

    图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

    表4-1 洗衣程序内容

     

洗衣程序内容

    上表在P1 程序可单独调整个别参数,但P0、P2 与P3 程序则无法更改系统默认值。举例说明,当使用者只需要对作衣物脱水的动作,只需要将洗衣时间、洗衣次数对应的7 段显示器调整至不显示,再调整所需的脱水时间,按下启动按键,即进入脱水模式。

    『预约时间』的设定则由3 小时至9 小时,每次调整间隔1 小时。上述功能在软件设计上是以定时器中断执行,时间的设定利用Timer B 定时器(IRQ2 中断),设定为8000Hz 频率中断,在此程序中分为2 个time slICe,分别为Tick1Func 与Tick2Func,程序如图4.4 所示,因此Tick1Func 与Tick2Func 程序的执行频率为4000Hz。

     

  IRQ2 中断流程

     

图4.4 IRQ2 中断流程

    在Tick1Func程序中,除了对按键输入作扫瞄的动作,另外依据按下的按键内容更改SystemT 与SystemF 结构的内容,其中SystemT 主要储存设定洗衣参数内容并更新SA7Wash 的结构(用于状态机切换), ystemF 为纪录运转的状态标志。当洗衣参数被更改后,将会改变预估洗衣完成时间,并于7 段显示器中显示。Tick2Func 程序负责扫瞄电路上的显示电路,采用高速的循序显示,以节省IO 接口的资源,此程序并包含依据水量的预估来提示使用者所需加入的洗剂量。

    5 结语

    该系统采用凌阳科技公司的SPMC75F2413A和SPCE061A单片机来完成直流变频洗衣机的控系统制,SPMC75F2413A为专用于变频马达控制的IC,其强大的PWM输出功能使得程序开发非常方便。SPCE061A除了具有普通单片机的功能以外,还具有语音识别、语音录放等功能,可以将洗衣机的一些使用状态、常识播报出来。


推荐阅读

史海拾趣

固得沃克(GOODWORK)公司的发展小趣事

随着业务的不断拓展,固得沃克意识到技术升级和产能扩张的重要性。2019年,公司在江苏盐城成立了江苏固得沃克微电子科技有限公司,作为新的生产基地。该基地拥有2万平米的厂房,引进了具有国际水准的专业生产设备及先进检测仪器,并通过了ISO9001、ISO14001等国际管理体系认证。这一举措不仅提升了公司的生产能力和产品质量,还进一步巩固了其在半导体行业的地位。

EIC [EIC discrete Semiconductors]公司的发展小趣事

在竞争激烈的电子行业中,EIC公司深知供应链管理和成本控制的重要性。公司建立了完善的供应链管理体系,与供应商建立了长期稳定的合作关系,确保了原材料的稳定供应和质量的可靠性。同时,EIC还通过优化生产流程、提高生产效率等措施,不断降低生产成本,提升产品的竞争力。

Epistar Corp公司的发展小趣事

随着LED技术的不断发展,Epistar开始将目光投向国际市场。公司积极参与各类国际展会和论坛,展示其先进的LED产品和技术实力。同时,Epistar还加强了与国际知名企业的合作,共同开发新产品,拓宽销售渠道。这些努力使Epistar的品牌知名度和市场份额不断提升,公司逐渐在国际LED市场上崭露头角。

CalAmp公司的发展小趣事

CalAmp公司以其卓越的无线产品、设备和方案供应能力,赢得了业界的广泛认可。某年,CalAmp与全球知名的电子分销商Mouser签署了全球分销协议。这一合作使得Mouser能够备有CalAmp公司的一系列产品,如UHF和VHF收发器模块、遥感勘测模块以及适用于不同频带的无线通信装置。这些产品广泛应用于各种无线通信领域,其方便快速集成的特点大大加快了客户产品的上市时间,同时提供了性价比极高的无线解决方案。这一协议的签署不仅进一步巩固了CalAmp在全球无线产品市场的领导地位,也为Mouser带来了更多的业务机会。

Hitron公司的发展小趣事

随着物联网技术的快速发展,车队管理成为了一个重要的应用领域。CalAmp公司凭借其深厚的技术积累和市场洞察力,成功推出了一款车队管理新解决方案。该方案通过直观的用户界面(UI)设计,为企业、政府和建筑机构提供了更为便捷、高效的车队管理工具。用户可以通过该界面轻松获取关键业务数据,如资产位置、驾驶行为和车辆状态等,从而加快智能决策,提高车队运营效率,降低成本并增强安全性。这一创新解决方案的推出,进一步巩固了CalAmp在车队管理领域的领先地位。

静芯微电子(ElecSuper)公司的发展小趣事

静芯微电子在发展过程中,持续投入研发资源,不断推动技术创新。公司成功研发出芯片级TVS器件,并在国内首次开发成功在人体模型(HBM)下抗静电强度高于30KV的关键技术和器件。这一技术突破不仅提升了产品的性能,还进一步巩固了静芯微电子在ESD/TVS领域的领先地位。同时,公司还积极申请和积累专利,目前已拥有多项发明专利、实用新型专利和集成电路布图登记等知识产权成果。

问答坊 | AI 解惑

FPGA任意分频包括小数分频设计

本帖最后由 paulhyde 于 2014-9-15 09:23 编辑    赶快下载吧,很好的分频措施,可以做到任意整数分频,小数分频  …

查看全部问答>

急急急 大4毕业设计开题报告

基于单片机的激光警戒系统设计,如题,麻烦好新人给点借鉴~查资料实在不好查,谢谢…

查看全部问答>

测试流接口驱动的测试程序如何写啊?

怎么写测试流接口驱动的测试程序啊?就是在应用程序中如果调用流接口驱动的那几个接口函数啊? 呵呵 有个简单的例子更好。。…

查看全部问答>

求sim300网络测试软件

跪求sim300服务器端的测试软件!!!!!! 可以接受sim300的连接请求,接收gprs发送过来的数据。。。…

查看全部问答>

多线程问题

由于电脑上没有安装linux,请问以下程序的运行结果是什么?谢谢 #include #include #include #include #include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; int lock_var; time_t end_time; int sum; void pthread1(void ...…

查看全部问答>

在Win CE下访问局域网使用密码的处理

在Win CE 5.0下,首次通过局域网访问另外一台电脑的时候会弹出一个对话框,要求输入对方的用户名、密码和域名。像下图所示的: 我想知道的是,有没有这样一个函数,提供了这几个参数的接口,以便我在写程序时就可以把用户名、密码写进去,而不需 ...…

查看全部问答>

Bootloader 的结构

    在移植之前先了解Bootloader 的一些通用概念,对理解它的代码会有所帮助。    嵌入式Linux 系统从软件的角度通常可以分为以下4 个层次。   (1)引导加载程序,包括固化在固件(firmware)中的boot 代 ...…

查看全部问答>

DIY FPGA学习板 新鲜出炉

拖了很久了,呵呵,是在不要意思   先睹为快,上图     来个3D的 …

查看全部问答>

只想用定时计数PWM功能的时候,用汇编可行吗?

对它的高速度PWM感兴趣,如果不写复杂的算法和人机界面,单纯用汇编语言可行吗?哪些开发工具最简单易用?  我的意思是既然STM32那么便宜,功能强大速度快,干脆大大小小的项目都用这个,省得好多种单片机感觉很累。…

查看全部问答>

使用XTR106的位置检测电路

工业上应用的使用XTR106(XTR104)的位置检测电路。稍加改进即可应用在其他方面用作位置检测控制。  …

查看全部问答>