1. 引言
随着智能化、自动化技术的快速发展,智能定时开关作为其关键性技术,受到了广泛的关注,应用场景不断扩大,同时,开关的稳定性是影响相关产品实用性的重要因素之一 [1] [2] [3] 。以智能宠物喂食器为例,通过智能开关控制投喂器,可以实现定时开启和关闭投喂器,在自动喂食的同时避免无谓的能量浪费,将宠物的饮食时间分散到多个时间段,实现智能健康管理。因此,设计了具有便利和稳定性的智能开关,外接四个按钮,分别操控开始、关闭、增加占空比和减少占空比四个功能,从而达到智能定时开关的功能,以满足不同应用场景的需求。并利用Proteus软件进行了仿真验证,智能开关高效且稳定,提供更加便捷、安全和节能的智能控制目的。
2. 智能定时开关工作原理与结构设计
2.1. 对智能定时开关的要求
智能开关控制系统的优点和积极效果包括:控制策略算法具有创新性,智能操控,提高了用户体验的舒适性;具有控制方便、使用多样性、灵活性、可操作性及智能性等优点;功能设定、操作简洁,保证使用者充分发挥智能开关系统的使用效率,提升用户体验效果;具有环保性、能耗节约性,提升设备的使用寿命 [4] 。本课题提出将智能终端按键与智能开关进行匹配、绑定,可使使用者方便地通过按下智能终端按键来控制智能开关,保证者仅需通过简单的按压按键动作即可达到控制被控设备、节约能耗、延长设备使用寿命、方便管理的目的 [5] [6] 。
2.2. 智能定时开关工作原理与结构设计
智能定时开关主要包括软件、硬件两个大部分,软件包括主程序和中断程序;硬件包括电源、主控程序和闭合回路,而主要因为中断程序通过单片机的控制,进而达到定时开启、关闭的功能。智能定时开关的总体结构组成如图1所示。
AT89C52提供了标准功能:8 K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及始终电路。同时,AT89C52可降至0 Hz的静态逻辑操作,并支持两种软件可选的节点工作模式 。空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及终端系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位 [7] 。并且为了预设其项目的可能性,在proteus中进行了仿真,仿真结果可以进行定时开关的情况,芯片管脚图如图2所示。

Figure 1. Intelligent timer switch overall structure composition
图1. 智能定时开关总体结构组成
XTAL1和XTAL2的接口是电路,RST接口是复位电路,根据代码所编写的输出口为P3.4和P3.5,将示波器连接到P2.0接口 [8] 。
晶振电路是单片机必不可少的一部分。单片机是按照时间的先后顺序进行控制,所以必要要有一个晶振电路才能正常工作。而一个单片机一般是一个晶振,是为了单片机运行时候的各部分的同步。
复位电路的电路串联一个电阻来构成复位电路,复位电路的工作原理是通过给单片机的复位引脚RST外接电阻与电容,来实现复位。当按键开关按下的时候,RST引脚会变成高电平,又因为电容还在不断的充电,是高电平的时间变长,因此可以复位 [9] 。
2.3. 智能开关的工作原理
智能开关的工作原理如图3所示。IGBT仅在栅极端子上有电压供应时工作,它是栅极电压,即VG。如图所示,一旦存在栅极电压(VG),栅极电流(IG)就会增加,然后它会增加栅极–发射极电压(VGE)。如果正输入电压通过栅极,发射极保持驱动电路开启,设定时间,定时开关进行工作。
栅极–发射极电压增加了集电极电流(IC)。因此,集电极电流(IC)降低了集电极到发射极电压(VCE)。如果IGBT的栅极端电压为零或略为负,则会关闭电路应用,智能定时开关结束工作 [10] 。

Figure 3. Principle of operation of IGBT
图3. IGBT工作原理
3. 软件设计
智能开关的C语言代码功能流程图如图4所示。程序开始,首先设定time变量用于记录中断次数,并初始化占空比;将p2^0口绑定为输出口,并将p3^4、p3^5设定为增加和减少占空比的控制按键;初始化延时函数进行消抖;进入中断系统,当time的值小于占空比count时输出高电平,此时开关打开;当time的值大于等于占空比count时输出低电平,此时开关关闭;当time大于等于50时,重置变量time,time清零;出中断系统,进入循环,定义周期时间,实验中设定周期为1 s,并初始化定时器,读取键盘输入,从而实现定时开关的功能。

Figure 4. Flow chart of code function realization
图4. 代码功能实现流程图
4. 仿真结果及分析
通过对系统进行仿真,随机抽取多组数据作为周期(单位ms),这里以指数函数的为例,随机抽取一条指数函数,分别对单片机进行定时以及对占空比的调整,得出以下数据如图5所示,其中A列为随机抽取的自变量周期,B列为本开关从开始计时到结束所用总时长,其中最长的一次实验耗时约为27.7个小时。通过对数据进行整理可以得到如下所示的函数图像,其中菱形曲线所代表的是所选的参考指数函数,正方形曲线代表的是本次实验所得到的曲线,由图6可知,本次实验的结果与预期基本一致,达到“准时准点开关机”的效果。
通过改变实验的占空比,可得到不同的实验周期(实验以周期为12 ms,幅值为1的正弦信号组为对照组,分别与周期为42 ms,幅值为1和周期为12 ms,幅值为3的两组正弦信号组作比较),记录设定不同的开关时间,多组实验关机的时间点,可以看到选用正弦信号的智能开关在不同周期下的关闭时间。由图7可知,根据改变的占空比不同,关闭时间也是可以通过调节改变的,达到了开关的“可调节性”的目的。
根据硬件的电路分析,采用Proteus仿真软件绘制智能开关的整体的电路原理图,按照智能开关的功能要求,采用C语言编写程序编译通过之后,导入仿真软件进行程序的调试。仿真调试成功后,下载到芯片中,进行硬件调试。利用示波器的波形图试验前后的对比图进行实验的观测,proteus仿真图如图8所示。

Figure 8. Proteus simulation diagram
图8. Proteus仿真图
根据以上的要求,采用C语言编写程序编译,编译通过之后,导入Proteus仿真软件进行程序的调试。仿真调试成功后,下载到芯片中,进行硬件调试。利用示波器的波形图试验前后的对比图进行实验的观测结果如图9、图10所示。

Figure 9. Image of simulation results before debugging
图9. 调试前的仿真结果图像

Figure 10. Simulation result image after debugging
图10. 调试后的仿真结果图像
如图9所示,实验仿真初始占空比设置为10%,即一个固定周期(本实验中设定周期为1 s)中10%输出高电平,其余时间输出低电平。经过实验调整,通过以按不同按钮的方式调整单片机输出波形的占空比。如图10所示,占空比已增加至80%。
通过软件设计,根据实际情况设置一个周期的时间,通过结合用户实际情况,和实施需求,设置不同的占空比(具体设置方法如上),通过以上方法实现定时开关,并且这种方法和市场上同类智能开关产品进行实验比较,发现该智能开关更加稳定可靠。通过对市面上大部分可调节智能开关,在其稳定性上进行对比,进行1000次连续实验,结果发现在其多次通断后其开关的功能受到影响,在最后100次实验时,其稳定性有明显的下降,整体的稳定性在99%。而本设计的只能开关,在整个实验过程都表现了良好的稳定性,其开关稳定性可以达到99.9%左右。该结论实验成功验证实验结果不仅说明了整个代码的功能实现,同时也证实了智能开关完成自定义定时开关的稳定性,和可行性。
5. 结束语与展望
设计了一种基于单片机的智能开关电路,用于宠物喂食器的定时喂食功能。通过对单片机的软硬件的设计和测试,利用PWM的控制设计,调节占空比,输出随时间变化的高低电平,以此实现了单片机的定时开启、关闭的功能。
1) 智能开关利用单片机为载体,相比较于其他类型大大降低了成本。
2) 在智能定时开关中,利用了PWM控制,输出随时间变化的高低电平。而只需要通过两个按钮,就可以调节占空比的增减,以此来达到调节时间做到定时开启、关闭的功能。
3) 通过实验仿真,改变不同的占空比的初始值和固定周期时间,在示波器上观测,通过按固定次数的按钮,进行示波器前后观测,发现当固定周期越大,占空比更容易调节且变化更明显。
基金项目
本研究课题得到了上海市大学生科技创新项目的资助。