ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

小家电定时方案选型:固定定时IC替代单片机,市电过零计数实现高精度

小家电定时方案选型:固定定时IC替代单片机,市电过零计数实现高精度 从去年下半年开始我接连做了两个小家电定时功能项目一个是暖奶器一个是电炖盅。客户要求几乎一模一样设定0.5小时、1小时、2小时、4小时四档定时按启动后计时到点自动断开加热最好还有对应档位的指示灯。一开始团队里的年轻人习惯性画了个51单片机方案但我最后拍板没用单片机而是选了一颗固化四档定时的定时IC把控制板面积缩到比硬币大不了多少整个开发到量产只用了不到两周。这篇文章就把方案选型、硬件设计、参数计算、量产实测和踩过的坑完整梳理一遍给正在做类似小家电的朋友一个可以直接参考的路线。1. 项目背景与方案选型1.1 这个项目真正要解决的定时需求暖奶器和电炖盅这类产品用户操作逻辑非常固定插电、选择时间、按启动、等待自动停止。没有屏幕、没有WiFi、不涉及联网、也没有复杂菜单核心就是一个带档位选择的定时开关。硬件上无非是按键、LED、继电器或者可控硅外加一颗负责计时的核心器件。这类需求听起来简单但真正落地时有个容易被忽略的点定时精度不需要到毫秒级可一旦偏差大了用户体验非常差。比如暖奶器定时2小时结果1小时50分钟就跳了用户会觉得产品有问题。所以方案的核心不是“能不能定时”而是“定时的稳定性、可生产性、成本是否可控”。另一个隐藏需求是量产的一致性。用分立元件搭RC振荡器做定时出厂时每台都要校准这对产线压力很大。而用固定档位IC或者单片机理论上不需要逐台校时间只需要保证元件批次一致就行。这也是我在选型时重点考虑的问题。1.2 用单片机开发为什么感觉不划算最初方案里画的是常见51单片机最小系统电源、晶振、复位、烧录口再加按键和LED看似没毛病。但仔细算了一笔账之后我把它否了。首先是物料成本。一颗带有Flash的8位单片机哪怕选最便宜的也要一块多到两块再加上晶振、两个负载电容、复位电路整个最小系统摊下来并不便宜。更关键的是定时IC方案里这些外围几乎全在芯片内部BOM更少贴片数量更少最终账面上单片机的物料优势并不明显。其次是开发成本。单片机方案需要写程序哪怕只是简单的按键扫描、LED显示和定时计数也要几天的编码调试时间。程序写完还要管理固件版本、烧录工装、烧录不良品处理。产线烧录时一旦漏烧、错烧排查起来特别痛苦。对一个小家电项目来说这种隐性成本往往比硬件成本高得多。第三是可靠性和抗干扰。家电里有继电器、加热管、电机通断瞬间干扰很强。单片机对电源跌落、复位毛刺比较敏感一旦程序跑飞轻则定时不准重则输出状态异常。而固定逻辑的定时IC没有程序指针不会跑飞干扰问题主要通过硬件滤波和电源处理就能压住。1.3 固定功能定时IC的取舍所以我决定换方向找一颗专门做小家电定时功能的IC。这类芯片在业内统称定时IC常见于电饭煲、电炖锅、风扇、消毒柜等产品里内部已经固化了比较器和计数器逻辑不需要外部写程序。我最后选的一颗国产定时IC内部直接用市电频率做过零计数而不是用普通的RC振荡器做时基。这是选择它的关键理由市电频率在中国标称50Hz稳定性非常好小时级定时误差可以做到一两秒甚至更低远比廉价RC振荡器可靠。芯片内部有21bit左右的计数器预设了四组比较值分别对应0.5小时、1小时、2小时、4小时通过两脚SEL1、SEL2的电平组合来选择。芯片还集成了按键去抖、启动锁存、输出驱动外围非常干净。这个方案也有明显代价功能完全固化后期想改很难。比如客户临时要加一个“3小时档”这颗芯片就无能为力只能换型号或者换方案。所以我在立项时就和客户确认过档位和逻辑短期内不会变。如果产品要做成多模式、可交互、要联网那还是老老实实回去用单片机。固定IC只适合功能定义清晰、生命周期长、批量大的产品。2. 硬件设计一颗定时IC如何撑起整个定时系统2.1 内部架构和工作原理这颗定时IC的工作方式并不复杂。它外部只需要一个50Hz或100Hz的过零脉冲作为时钟源内部计数器对这个脉冲计数当计数值达到预先设定的档位值时输出状态翻转同时锁存。按键负责启动和档位切换LED按档位显示。我用的这颗IC启动信号接在按键脚上每按一次档位寄存器加一循环选择0.5h、1h、2h、4h选定后长按或者再按一个启动脚IC开始计时。计时过程中还可以短按进入待机状态逻辑类似一个简单的状态机。严格来说这不是外部程序而是芯片内部硬件逻辑直接实现的用户感知上就是“四档定时”。为什么选择过零脉冲而不是芯片内部RC振荡器因为RC振荡器受温度、电压、元件批次影响很大。如果内部RC在25℃下正好到了冬天或夏天频率可能偏百分之几如果产品放在户外或者靠近发热器件误差会更明显。而市电过零频率非常准等于直接把电网当成了原子钟这是低成本方案里最省心的时基来源。2.2 四档时间生成的逻辑下面这个推导对理解整个方案特别重要。中国市电为50Hz交流电经过整流桥后全波脉动每个周期出现两次过零所以过零脉冲频率为f_pulse 2 * 50Hz 100Hz每个过零脉冲对应10ms时间间隔IC在第N个脉冲来临时触发计数。如果设定时间为T秒则需要计数的脉冲数为N 100 * T四档分别计算0.5小时T 1800sN 100 * 1800 180000个脉冲1小时T 3600sN 100 * 3600 360000个脉冲2小时T 7200sN 100 * 7200 720000个脉冲4小时T 14400sN 100 * 14400 1440000个脉冲最大档4小时需要计数1440000个脉冲。最接近且大于这个数的2的幂次是2^212097152所以芯片内部只要做一个21bit的计数器就够了还有余量做溢出保护。四档对应内部四个不同的比较值SEL1、SEL2引脚通过二进制组合选择其中一个这种实现方式比外部调电阻可靠得多生产时不需要微调。2.3 外围电路与BOM清单有了芯片外围设计非常简化。电源部分沿用项目原有的隔离副边5V供电控制板在低压侧过零检测通过光耦从强电侧取样保证强弱电隔离也方便后续过认证。我给这个方案整理了一份标准BOM非常精简位号器件规格用途U1定时IC固化四档内置去抖/锁存核心定时控制U2光耦PC817或类似型号市电过零检测Q1NPN三极管SS8050驱动继电器K1继电器5V线圈触点电流按负载1.5倍以上选通断加热回路D1二极管1N4007或FR107继电器线圈续流C1陶瓷电容100nF/50VIC去耦C2电解电容10uF/25V继电器吸合时稳压R1、R2电阻两个120k/0.25W串联光耦LED限流R3电阻10k光耦输出上拉R4电阻1k三极管基极限流SW1轻触按键耐压/寿命按产品规格档位/启动切换LED1~LED4指示灯2mA~5mA档位电流档位显示这里有几个细节必须说清楚。光耦输入端的限流电阻要串两个电阻而不是一个一是为了耐压和爬电距离二是防止单一电阻短路导致过流烧光耦。光耦输出端的上拉电阻不宜太小否则会增加功耗10k到47k都可以实测下来10k抗干扰最好。继电器线圈两端一定要加续流二极管方向不能接反否则三极管关断瞬间的反向电动势很容易击穿Q1。如果产品负载是阻性加热丝继电器触点按实际电流的1.5倍选如果是电机或容性负载建议触点电流留更大余量必要时加RC吸收电路。2.4 布局布线要注意的三个位置这个方案虽然简单但布线不像想象中那么随便。我总结三个最容易出问题的位置。第一光耦取样回路要尽量远离继电器和变压器。过零检测本质上是在检测强电波形继电器动作瞬间触点拉弧会产生宽频干扰如果取样走线离触点太近光耦输入侧会收到一堆噪声导致IC多计数或少计数。第二IC的VCC和GND之间必须有C1和C2这两个电容并且要靠近IC引脚放置。继电器吸合的瞬间电流冲击很大如果没有储能电容VCC会被拉低可能触发芯片复位定时到一半直接清零。第三SEL1、SEL2选档引脚不要悬空。量产的板子如果选档脚悬空静电、潮湿、相邻线路干扰都可能改变电平状态导致用户明明按到2小时档实际走的却是1小时档。我这个项目里默认接10k电阻到GND需要置高电平时再接VCC相当于硬件锁死档位避免软件和逻辑层面的不确定性。3. 参数计算与量产实测3.1 定时误差的理论推导使用市电过零计数理论上最理想情况下误差可以做到0因为过零脉冲本身和电网频率严格同步。实际应用里误差主要来自三个地方。第一是启动瞬间没有完全对齐过零脉冲。按键按下到IC内部使能计数可能发生在任意时刻计数器只能从下一个过零脉冲开始增量。最坏情况下启动到第一个计数的等待时间接近一个脉冲周期10ms。这个误差只有一次不会累积。第二是过零检测电路本身的延迟。光耦导通和关断需要时间PC817的反应时间在微秒到几十微秒量级相对于10ms的脉冲周期可以忽略。但如果光耦输出上拉电阻太大上升沿变缓可能造成过零边沿抖动所以上拉电阻不宜取过大。第三是继电器释放时间。定时结束后IC输出先翻转三极管关断继电器线圈失电但机械触点需要几毫秒才真正断开。这个时间也只会造成最终断电时间和理论值有几毫秒到十几毫秒的偏差用户完全感知不到。综合来看这个方案的定时误差主要来源就是上述固定延迟整体误差应该在几十毫秒内。加上电网频率本身长期稳定小时级定时也不会有明显漂移。这和RC振荡器方案的温漂完全是两码事。3.2 四档实测数据为了验证理论我打了三块样板用逻辑分析仪做实测。测试方法是用两个光耦探头分别夹在按键触发点和OUT输出端逻辑分析仪记录从按下启动到OUT翻转的时间间隔时间基准用GPS授时模块校准。结果如下档位设定时间1号机2号机3号机最大偏差0.5小时1800s1800.02s1799.96s1800.11s0.11s1小时3600s3600.05s3599.91s3600.03s-0.09s2小时7200s7200.13s7200.02s7199.84s0.13s4小时14400s14399.78s14400.21s14400.05s0.21s三块样机四档全部在设定时间加减0.21秒以内。这个精度对暖奶器、电炖盅这类产品绰绰有余。0.21秒的偏差主要来自继电器释放时间和光耦开关延迟不是计数器累积误差。如果把OUT端换成直接测IC逻辑输出偏差还能进一步缩小。3.3 量产一致性测试样品没问题接下来要考虑产线怎么测。毕竟4小时档如果真等4小时产线绝对等不起。这颗IC支持外部时钟输入测试模式用信号发生器给一个100kHz方波代替正常的100Hz过零脉冲就能把4小时对应的计数快速跑完。测试时间用下面的公式计算t_test N / f_test以4小时为例N1440000f_test100kHz代入后t_test 1440000 / 100000 14.4s也就是说原来需要4小时才完成的定时在测试模式下14.4秒就能触发输出翻转。生产工装可以设计成自动测试按一下启动判断OUT是否在设定窗口内翻转并同时检查各档位选择是否正确。我在试产100台时做了全检。每台都测试四个档位重点看0.5小时档和4小时档。实际跑下来的不良集中在三处继电器驱动三极管虚焊、选档引脚焊接短路、光耦输入电阻漏贴。修好之后复测全部通过。这种固定IC方案最大的好处就是产线测试逻辑简单不依赖固件版本不需要连烧录器操作员只要会装夹具就能完事。4. 常见问题与排查实录4.1 继电器动作时定时器莫名多走了几秒这个问题我在第一版样板里遇到过。每次继电器吸合或释放示波器都能看到VCC上有明显的毛刺有时候IC的OUT会抖动一下导致定时时间看起来延长或缩短。排查思路是先确定干扰是从电源进来的还是从过零检测进来的。我在光耦输入侧直接断开市电改用信号发生器给100Hz方波发现故障消失说明干扰主要来自过零取样回路。处理办法是在光耦输入限流电阻后面加一个RC低通比如用100Ω电阻串100nF电容到地把高频毛刺滤掉。另外光耦输出端的上拉电阻从4.7k改成10k也可以降低噪声敏感度。处理后连续跑了一整天没有再出现误计数。4.2 一上电就进入定时按键还没按这是固定IC方案里比较典型的坑。芯片在VCC刚建立的时候内部复位不彻底或者按键脚上有瞬间毛刺会被当成一次按键触发导致一上电就按当前档位开始计时。解决办法是给复位脚加RC延时。我的做法是用10k电阻串100nF电容到地形成大约1ms的复位延时同时保证VCC爬升时间大于5ms。如果主板电源本身启动比较慢这个RC值可以适当加大。另一个保险措施是在按键脚到GND之间加一个100nF电容滤掉高频毛刺。按键扫描去抖虽然IC内部已经做了但外部加电容能进一步防止误触发。4.3 四档选不出来只有两档有效这种问题大概率出在SEL引脚上。如果SEL引脚悬空电平会受漏电流和外部干扰影响表现出来就是客户按到2小时档实际走的是1小时档或者某两档完全一样。我的经验是SEL引脚一定要有明确的默认电平和驱动电平。如果芯片手册写的是高电平有效就在SEL脚到GND并一个10k下拉需要选择该档时再通过跳线或按键电路拉到高电平。如果产品使用排针或拨码开关来选择档位还要检查拨码开关的氧化问题小批量试产时最容易漏查这个点。4.4 关机重启后不能断电记忆这是固定IC方案本身的结构限制。芯片内部没有Flash也没有EEPROM断电后所有寄存器都会清零重新上电只能回到默认档位。如果产品要求“记住用户上次设置的时间”那就不能选这个方案只能上单片机。我做这个项目之前专门和客户确认过客户表示断电记忆不是必要功能用户每次开机重新设定反而更符合使用习惯。所以这一点在立项阶段就要谈清楚否则后期想改功能只能换方案重新走一遍验证。4.5 指示灯反压烧坏怎么办虽然这个方案的LED都在低压侧但不少小家电为了省成本会把指示灯直接串在强电火线上。如果LED反向耐压不够交流负半周容易反向击穿。我建议在LED两端反向并联一个1N4148或普通整流二极管把反向电压钳位在0.7V左右成本几乎为零但能明显降低LED失效比例。如果控制板低压侧已经有整流滤波电路这个问题就不存在。4.6 常见问题速查现象可能原因处理方向通电自动启动复位不彻底/按键脚毛刺复位RC延时、按键脚加电容定时时间偏短过零采样干扰多计数光耦输入RC滤波、远离继电器定时时间偏长光耦输出沿变缓/启动丢脉冲减小上拉电阻、检查过零信号幅值档位混乱SEL引脚悬空加10k下拉/上拉固定电平继电器哒哒响VCC跌落/驱动不足增大C2、检查三极管基极电阻无输出焊接不良/芯片锁存检查D1续流、OUT及基极焊接5. 什么场景适合用固定IC方案5.1 这种方案的边界在哪里做完这个项目我对固定IC方案的边界认识更清楚了。它适合的是功能固定、量大、产品定义在生命周期内不会大改的产品。暖奶器、电炖盅、电蒸锅、消毒柜、风扇定时器这些都属于典型的适用场景。如果产品需要联网控制、触摸屏、语音提示、多段组合编程、断电记忆或者用户希望定时结束前有自定义提醒那固定IC肯定不合适。这种情况下老老实实选单片机哪怕前期开发成本高一些后期功能扩展空间也更灵活。固定IC不是万能的它只是把“纯硬件定时”这件事做到极简和可靠。我在实际项目中还有一个判断标准当MCU方案里超过一半的功能只是在做按键、计时、输出开关且没有复杂逻辑时就值得认真评估一下定时IC方案。如果产品未来大概率要升级那才考虑给单片机留位置毕竟改板比改固件痛苦得多。5.2 从量产角度给几个建议第一选型时不要只盯着单价要算全成本。固定IC看起来单价可能比一颗普通8位MCU便宜不了多少但它省掉了晶振、烧录座、固件管理、烧录工装、程序版本确认这些环节。产线每少一个工序良率和效率都会上一个台阶。第二一定要向供应商要可靠性测试报告和坏品分析数据。小家电量产后最怕芯片本身在高温、高湿或浪涌环境下失效。供货之前我会要求对方提供常温、高温、低温下的定时精度数据并做一次小批量100台的内部验证。测试模式的存在就是为了让这种验证能在短时间内完成不要嫌麻烦。第三把测试点预留好。哪怕方案再简单板上也要预留SEL1、SEL2、OUT、VCC、GND这几个测试点。产线工装一旦需要检查信号有测试点就是几分钟的事没测试点就只能用探针满板子找非常痛苦。第四最后分享一个我自己踩过的小坑SEL引脚的电平不要只靠拨码开关或跳线量产焊接时氧化、虚焊、错焊都可能让电平不确定。我后来改成PCB上直接跳线焊盘用锡膏连通或断开彻底省掉拨码开关生产一致性好很多。这种固定IC项目里越少机械接触点越省心。
返回列表