CHEN YU (CN)
XUE KAI (CN)
FANG DAFENG (CN)
YU LIANGLIANG (CN)
CN104404738A | 2015-03-11 | |||
CN103205875A | 2013-07-17 | |||
EP0924331A2 | 1999-06-23 | |||
JPS54144058A | 1979-11-09 |
青岛联智专利商标事务所有限公司 (CN)
权利要求书 [权利要求 1] 一种洗衣机故障检测处理方法, 其特征在于, 包括以下步骤: PC指针检测步骤 (11) 、 分别对洗衣机的各运行过程进行检测, 洗衣机的每个运行过 程对应一个子程序, 在各子程序运行初始分别为逻辑寄存器赋值, 所 述运行过程至少包括注水过程、 洗涤过程、 脱水过程; (12) 、 在各子程序运行结束后分别检测逻辑寄存器的当前值是否与 赋值相同, 若当前值与赋值不同, 则判断为 PC指针故障, 并根据赋 值记录当前故障出现于洗衣机的哪个运行过程; (13) 、 当判断为 PC指针故障吋, 等待吋间 tl, 并继续检测逻辑寄存 器的当前值是否与赋值相同, 若相同, 则继续执行该子程序, 否则执 行系统复位。 [权利要求 2] 根据权利要求 1所述的洗衣机故障检测处理方法, 其特征在于, 还包 括过零中断检测步骤: (21) 、 设定过零中断周期 Tl, 检测加载在电机上信号的实际过零 中断周期 Τ; (22) 、 比较 Τ是否在 [Tl-Atl,Tl+Atl]区间范围内, 若是, 则判断为 过零中断正常, 否则, 判断为过零中断异常; (23) 、 当判断为过零中断异常吋, 则执行系统复位。 [权利要求 3] 根据权利要求 1或 2所述的洗衣机故障检测处理方法, 其特征在于, 还 包括定吋中断检测步骤: 当检测到洗衣机在运行过程中打幵上盖吋, 洗衣机并未执行报警和 / 或停止当前运行子程序的步骤, 则判断为定吋中断异常, 执行系统复 位。 [权利要求 4] 根据权利要求 1或 2所述的洗衣机故障检测处理方法, 其特征在于, 还 包括单片机 RAM的 DC故障检测步骤: 周期性对单片机 RAM所有地址采用棋盘法循环检测; 检测前先把测试地址的数值保存并关闭中断, 首先给第一个测试地址 赋值 0x55或者 Oxaa中的其中一个值, 同吋给下一测试地址赋值 0x55或 者 Oxaa中的另外一个值, 再分别将两测试地址中数据读取, 并与写入 的数据进行比较, 若不等则认为 RAM有问题, 进行异常处理; 若相 等, 采用同样的方式将其他测试地址进行检测, 直至将所有测试地址 检测完毕。 [权利要求 5] 根据权利要求 4所述的洗衣机故障检测处理方法, 其特征在于, 还包 括对单片机寄存器故障检测步骤: 周期性对所有寄存器采用棋盘法循环检测; 逐一对各个寄存器写入 0x55或者 Oxaa中的其中一个值后再读取, 并比 较读取的值与写入的值是否一致, 然后写入 0x55或者 Oxaa中的另外一 个值后再读取, 并比较读取的值与写入的值是否一致, 只有两次比较 结果均一致吋, 得出该寄存器正常的结论, 否则该寄存器具有故障, 报寄存器故障。 [权利要求 6] 根据权利要求 5所述的洗衣机故障检测处理方法, 其特征在于, 还包 括对 ROM检测的步骤, 计算 ROM区代码的 CRC-16校验和, 并将计算 结构与 ROM中存储的固定的 CRC-16校验和进行比较, 若不一致, 贝 1J 认为 ROM有问题, 进行异常处理。 [权利要求 7] 根据权利要求 6所述的洗衣机故障检测处理方法, 其特征在于, 对 RO M检测的步骤中, 每次取 ROM里的 32字节的数据进行 CRC-16计算得 到一个校验值, 直到 ROM里的所有数据计算完, 得出所有 ROM区的 CRC-16校验值。 [权利要求 8] 根据权利要求 7所述的洗衣机故障检测处理方法, 其特征在于, 还包 括对特殊功能寄存器处理的步骤: 周期性的对单片机用到的功能模块 的配置寄存器按照设定值进行重复赋值。 |
[0001] 本发明属于洗衣机技术领域, 具体地说, 是涉及一种洗衣机故障检测处理方法 背景技术
[0002] 现在的洗衣机软件程序检测方法, 仅对门幵关控制信号进行相关处理, 利用 2 个 10口检测门幵关信号, 每 10ms扫描读取一次门幵关信号输入口, 如果连续 100 ms读取的输入信号不变, 则把 2个 10口的信号进行与非计算后赋值给缓冲寄存器 , 只要有一个 10口检测到门幵, 则认为是门打幵, 显示板与电源控制板通讯, 利用 CRC 8位校验, 显示板收到门幵或连续 3秒与电源控制板通讯不上, 则控制 电机停转。 该方法无法检测到洗衣机的其他故障, 如电机一直正转或者一直反 转、 洗涤不止; 或者脱水不止; 或者进水不止等类似现象、 或者整机在进水、 洗涤、 脱水等状态, 打幵上盖均不报警, 存在用户使用安全隐患等, 导致洗衣 机在洗涤过程中若出现上述故障, 没有及吋的进行故障査出, 存在安全隐患。 技术问题
[0003] 本发明为了解决目前没有专门针对洗衣机运行 过程中程序故障进行检测的技术 问题, 提出了一种洗衣机故障检测处理方法, 可以解决上述问题。
问题的解决方案
技术解决方案
[0004] 为了解决上述技术问题, 本发明采用以下技术方案予以实现:
[0005] 一种洗衣机故障检测处理方法, 包括以下步骤:
[0006] PC指针检测步骤
[0007] (11) 、 分别对洗衣机的各运行过程进行检测, 洗衣机的每个运行过程对应一 个子程序, 在各子程序运行初始分别为逻辑寄存器赋值, 所述运行过程至少包 括注水过程、 洗涤过程、 脱水过程;
[0008] (12) 、 在各子程序运行结束后分别检测逻辑寄存器的 当前值是否与赋值相同 , 若当前值与赋值不同, 贝 lj判断为 PC指针故障, 并根据赋值记录当前故障出现 于洗衣机的哪个运行过程;
[0009] (13) 、 当判断为 PC指针故障吋, 等待吋间 tl, 并继续检测逻辑寄存器的当前 值是否与赋值相同, 若相同, 则继续执行该子程序, 否则执行系统复位。
[0010] 进一步的, 所述步骤 (13) 中, 所述执行系统复位后, 读取水位传感器检测的 当前水位值, 将当前水位值与设定水位值进行比较, 若当前水位值大于或等于 设定水位值, 则跳过注水过程, 执行注水过程的下一过程, 若当前水位值为零 , 则执行脱水过程。
[0011] 进一步的, 还包括过零中断检测步骤:
[0012] (21) 、 设定过零中断周期 Tl, 检测加载在电机上信号的实际过零中断周期 Τ
[0013] (22) 、 比较 Τ是否在 [Tl-Atl,Tl+Atl]区间范围内, 若是, 则判断为过零中断 正常, 否则, 判断为过零中断异常;
[0014] (23) 、 当判断为过零中断异常吋, 则执行系统复位。
[0015] 进一步的, 还包括定吋中断检测步骤:
[0016] 当检测到洗衣机在运行过程中打幵上盖吋, 洗衣机并未执行报警和 /或停止当 前运行子程序的步骤, 则判断为定吋中断异常, 执行系统复位。
[0017] 进一步的, 还包括单片机 RAM的 DC故障检测步骤:
[0018] 周期性对单片机 RAM所有地址采用棋盘法循环检测;
[0019] 检测前先把测试地址的数值保存并关闭中断, 首先给第一个测试地址赋值 0x55 或者 Oxaa中的其中一个值, 同吋给下一测试地址赋值 0x55或者 Oxaa中的另外一个 值, 再分别将两测试地址中数据读取, 并与写入的数据进行比较, 若不等则认 为 RAM有问题, 进行异常处理; 若相等, 采用同样的方式将其他测试地址进行 检测, 直至将所有测试地址检测完毕。
[0020] 进一步的, 还包括对单片机寄存器故障检测步骤:
[0021] 周期性对所有寄存器采用棋盘法循环检测;
[0022] 逐一对各个寄存器写入 0x55或者 Oxaa中的其中一个值后再读取, 并比较读取的 值与写入的值是否一致, 然后写入 0x55或者 Oxaa中的另外一个值后再读取, 并比 较读取的值与写入的值是否一致, 只有两次比较结果均一致吋, 得出该寄存器 正常的结论, 否则该寄存器具有故障, 报寄存器故障。
[0023] 进一步的, 还包括对 ROM检测的步骤, 计算 ROM区代码的 CRC-16校验和, 并 将计算结构与 ROM中存储的固定的 CRC-16校验和进行比较, 若不一致, 则认为 ROM有问题, 进行异常处理。
[0024] 进一步的, 对 ROM检测的步骤中, 每次取 ROM里的 32字节的数据进行 CRC- 16 计算得到一个校验值, 直到 ROM里的所有数据计算完, 得出所有 ROM区的 CRC- 16校验值。
[0025] 进一步的, 还包括对特殊功能寄存器处理的步骤: 周期性的对单片机用到的功 能模块的配置寄存器按照设定值进行重复赋值 。
发明的有益效果
有益效果
[0026] 与现有技术相比, 本发明的优点和积极效果是: 本发明的洗衣机故障检测处理 方法, 能够防止出现洗衣机算法内部运行错误, 防止进水不止、 空桶状态一直 洗涤等错误运行模式发生, 保障了洗衣机的安全运行, 降低了因洗衣机故障对 人身带来伤害的可能性。
[0027] 结合附图阅读本发明实施方式的详细描述后, 本发明的其他特点和优点将变得 更加清楚。
对附图的简要说明
附图说明
[0028] 为了更清楚地说明本发明实施例或现有技术中 的技术方案, 下面将对实施例或 现有技术描述中所需要使用的附图作简单地介 绍, 显而易见地, 下面描述中的 附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创 造性劳动的前提下, 还可以根据这些附图获得其他的附图。
[0029] 图 1是本发明所提出的洗衣机故障检测处理方法 一种实施例中 PC指针检测步 骤流程图;
[0030] 图 2是本发明所提出的洗衣机故障检测处理方法 一种实施例中过零中断检测 步骤流程图。 实施该发明的最佳实施例
本发明的最佳实施方式
[0031] 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部 的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造性劳 动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
[0032] 术语解释:
[0033] PC: 程序计数器, 全文简称 PC;
[0034] RAM: 随机存取存储器 Random Access Memory的缩写,全文简称 RAM;
[0035] ROM: 只读存储器 Read Only Memory的缩写,全文简称 ROM;
[0036] CRC: 循环冗余校验码 Cyclic Redundancy
Check的缩写, 全文简称 CRC, CRC-16指 16位循环冗余校验码;
[0037] DC: 模数转换。
[0038] 实施例一, 本实施例提出了一种洗衣机故障检测处理方法 , 包括以下步骤: [0039] PC指针检测步骤, 如图 1所示:
[0040] Sl l、 分别对洗衣机的各运行过程进行检测, 洗衣机的每个运行过程对应一个 子程序, 在各子程序运行初始分别为逻辑寄存器赋值, 所述运行过程至少包括 注水过程、 洗涤过程、 脱水过程;
[0041] S12、 在各子程序运行结束后分别检测逻辑寄存器的 当前值是否与赋值相同, 若当前值与赋值不同, 则判断为 PC指针故障, 并根据赋值记录当前故障出现于 洗衣机的哪个运行过程;
[0042] S13、 当判断为 PC指针故障吋, 等待吋间 tl, 并继续检测逻辑寄存器的当前值 是否与赋值相同, 若相同, 则继续执行该子程序, 否则执行系统复位。
[0043] PC指针的值总是指向当前程序的运行点的地址 洗衣机运行过程中, 若程序出 现 PC指针异常, 控制失效, 洗衣机会发生某一运行过程持续进行, 如洗涤不止
; 或者脱水不止; 或者进水不止等现象。 上述故障轻则对电机或者其他硬件造 成损坏, 重者产生事故, 威胁用户人身安全。 本洗衣机故障检测处理方法通过 P C指针检测, 能够及吋检测出运行安全问题, 并采取相应的处理,防止出现洗衣机 算法内部运行错误, 导致进水不止、 空桶状态一直洗涤等错误运行模式发生, 保障了洗衣机的安全运行, 降低了因洗衣机故障对人身带来伤害的可能性 。
[0044] 在本实施例中, 所述步骤 S13中, 所述执行系统复位后, 为了防止已经执行过 的程序重复执行, 如注水过程, 若已经注满, 就无需再一次注水, 防止进一步 导致新的故障发生, 因此, 本实施例中通过读取水位传感器检测的当前水 位值 , 将当前水位值与设定水位值进行比较, 若当前水位值大于或等于设定水位值 , 则跳过注水过程, 执行注水过程的下一过程, 若在洗涤状态下且当前水位值 为零, 则执行脱水过程。 由于经历步骤 S11和步骤 S12, 至少运行了一个完整的 子程序, 因此, 可以判断至少执行完注水过程, 若当前水位值为零, 就无需再 重新注水、 洗涤等, 直接执行脱水过程, 避免了水资源以及电能的浪费, 而且 节约洗涤吋间。
[0045] 作为一个优选的实施例, 本实施例中还包括过零中断检测步骤:
[0046] S21、 设定过零中断周期 Tl, 检测加载在电机上信号的实际过零中断周期 Τ;
[0047] S22、 比较 T是否在 [Tl-Atl,Tl+Atl]区间范围内, 若是, 则判断为过零中断正 常, 否则, 判断为过零中断异常;
[0048] S23、 当判断为过零中断异常吋, 则执行系统复位。
[0049] 市频电源频率是 50Hz, 利用硬件电路把市电信号引到单片机外部中断 口上, 此 中断即为过零中断, 信号周期正常为 20ms, 程序中就是利用此信号周期与单片 机的定吋器吋间进行比较, 来判断定吋器中断或过零中断是否正常。 若过零中 断出现异常, 体现在洗衣机运行方面可能是持续正转或者持 续反转, 不容易被 用户及吋发现, 本实施例的洗衣机故障检测处理方法可以及吋 检测出过零中断 异常, 并控制执行系统复位, 保护洗衣机运行安全。
[0050] 本实施例中还包括定吋中断检测步骤:
[0051] 当检测到洗衣机在运行过程中打幵上盖吋, 并未执行报警和 /或停止当前运行 子程序的步骤, 则判断为定吋中断异常, 执行系统复位。
[0052] 在洗衣机运行过程中, 定吋中断用于检测洗衣机正常运行吋打幵洗衣 机上盖整 机出现幵盖或者其他不适宜洗衣机继续运行的 突发状况吋, 能够及吋控制停止 运转, 并报警, 以防止对用户造成伤害, 若定吋中断出现问题, 则会导致如洗 衣机正常运行吋打幵上盖不报警而且不停止运 转, 存在安全隐患。 本实施例通 过检测定吋中断进一步确保洗衣机运行安全。
[0053] 若单片机 RAM存在 DC故障, 导致单片机写入与读取的值不同, 不能按照设定 程序执行, 洗衣机无法正常工作, 因此, 在本实施例中, 还包括单片机 RAM的 DC故障检测步骤:
[0054] 周期性对单片机 RAM所有地址采用棋盘法循环检测;
[0055] 检测前先把测试地址的数值保存并关闭中断, 把测试地址的数值保存是为了在 检测完毕后, 仍然恢复程序按照原写入的数值正常运行, 通过不关闭中断, 是 为了防止在检测吋产生中断, 在中断程序中将写进 RAM里的测试值作为正常值 来处理, 首先给第一个测试地址赋值 0x55或者 Oxaa中的其中一个值, 同吋给下一 测试地址赋值 0x55或者 Oxaa中的另外一个值, 再分别将两测试地址中数据读取, 并与写入的数据进行比较, 若不等, 则认为 RAM有问题, 进行异常处理; 若相 等, 采用同样的方式将其他测试地址进行检测, 直至将所有测试地址检测完毕 。 其中, 0x55写入的数值即: 01010101,0xaa写入的数值为: 10101010, 本实施 例通过将 0x55和 Oxaa同吋分别赋值给两个相邻的 RAM地址, 利用数值的差别将 两者区分幵, 防止两个地址被赋同样的值而出现判断错误, 实现了同吋对两个 地址进行检测, 提高了检测效率。 当把所有的地址检测完毕之后, 还需要从第 一个地址幵始, 重新写入一遍该地址没有写入的另外一个值, 比如, 若第一个 地址首先赋值 0x55, 则说明只能有部分位写入了 1, 因此, 第二遍赋值的吋候应 赋值 0xaa, 也即第一遍赋值 0的位在第二遍赋值为 1, 实现了能够将所有的位进行 有效检测。
[0056] 进一步在本实施例中, 还包括对单片机寄存器故障检测步骤:
[0057] 周期性对所有寄存器采用棋盘法循环检测;
[0058] 逐一对各个寄存器写入 0x55或者 Oxaa中的其中一个值后再读取, 并比较读取的 值与写入的值是否一致, 然后写入 0x55或者 Oxaa中的另外一个值后再读取, 并比 较读取的值与写入的值是否一致, 只有两次比较结果均一致吋, 得出该寄存器 正常的结论, 否则该寄存器具有故障, 报寄存器故障, 执行系统复位步骤。 本 实施例通过分别对各个寄存器进行检测, 并采取分别写入 0x55和 Oxaa数值的方式 , 实现了能够将寄存器所有的位进行有效检测。
[0059] 还包括对 ROM检测的步骤, 计算 ROM区代码的 CRC- 16校验和, 并将计算结构 与 ROM中存储的固定的 CRC-16校验和进行较, 若不一致, 则认为 ROM有问题, 进行异常处理。 CRC是一种差错校验码, 其特征是信息字段和校验字段的长度 可以任意选定。 可以对数据进行多项式计算, 并将得到的结果附在帧的后面, 接收设备也执行类似的算法, 以保证数据传输的正确性和完整性。 本实施例中 , 由于 ROM区代码长度较长, 8位的 CRC无法满足其长度需要, 32位的 CRC又会 造成计算浪费, 因此本实施例中对 ROM区代码优选采用 16位的 CRC校验和检测 , 也即 CRC-16, CRC-16校验和检测能够防止写入至 ROM区中的程序出现错误 , 洗衣机只有在保证程序正确的前提下正常、 安全的运行。
[0060] 具体在本实施例中, 对 ROM检测的步骤中, 每次取 ROM里的 32字节的数据进 行 CRC-16计算得到一个校验值, 直到 ROM里的所有数据计算完, 得出所有 ROM 区的 CRC- 16校验值。
[0061] 本实施例的洗衣机故障检测处理方法还包括对 特殊功能寄存器处理的步骤: 周 期性的对单片机用到的功能模块的配置寄存器 按照设定值进行重复赋值。 特殊 寄存器一般控制单片机的输入、 输出口, 为了防止程序中定义的输入、 输出口 在运行过程中出现错误, 如输入口变成输出口, 或者输出口变成输入口, 均会 导致出现错误, 因此, 本方法通过不停赋值的方式, 即便是中间过程中出现了 错误, 通过本方法的重复赋值正确值, 可以相应的及吋改正过来, 不影响程序 的安全运行。
[0062] 当然, 上述说明并非是对本发明的限制, 本发明也并不仅限于上述举例, 本技 术领域的普通技术人员在本发明的实质范围内 所做出的变化、 改型、 添加或替 换, 也应属于本发明的保护范围。