基于单片机的智能远程电源控制器

📅 发布时间:2026/7/3 16:53:28 👁️ 浏览次数:
基于单片机的智能远程电源控制器
2本设计2.1总体框架电源的远程控制在电气自动化行业具有划时代的意义它是智能家居物联网发展的一个重要开端。智能远程电源控制器采用GSM模块作为GSM网络接入方式用AT指令进行收发短信通信。手机通过SIM卡介质将短信内容传送到基站基站对应下发给对应的号码。主控芯片采用STC89C52单片机通信模块主要用于接收从手机发出的操作指示用来辨别接收到的短信指示并加以处理进而通过由继电器等原件构成的周边电路完成对目标用电器电源的控制需求。本系统的组成如图1所示主要包含的硬件部分为SIM900A的通信模块STC89C52单片机以及继电器作为外设触发元件本设计论题的主要任务是制作一个基于STC89C52单片机的智能远程电源控制器主要要求分为以下两点①能够实现220V电压的输出②能够通过手机短信实时控制目标用电器电源的通断2.2设计原理智能远程电源控制器是一个通过用户发送手机短信指令即可控制插排220V家用电压通断的电源控制器。手机短信通过基站传送至指定GSM通信模块中的SIM卡中通信模块将接收到的短信信息转换成模块能识别的AT指令STC89C52单片机作为主控芯片对接收到的短信指令加以判断和处理从而控制继电器的闭合或断开。2.2.1继电器电路设计单片机是弱电控制和输出的微处理器一般工作电压选择在5V驱动电流会在毫安级以下。针对本次课题为智能远程电源控制器以及日常家电的工作电压为220V若要正常使用和控制就必须添加一个衔接器件。这个衔接器件为继电器继电器所起作用就是弱电控制强电。基于单片机的智能远程电源控制器采用的继电器控制电路如图2所示选用的继电器型号为SRD-05VDC-SL-C查阅官网技术手册可知表示为额定电压为5V线圈功率为0.36W的密封弹簧继电器。图2中的三极管Q2是一个9012型号的PNP型三极管起电流的放大和驱动作用。发射极E接在电源正极集电极C接继电器线圈一端基极串联一个2k电阻接单片机P1.4引脚。当单片机P1.4端口输出高电平时9012PNP三极管处于反向偏置状态三极管截止发射极与集电极之间不导通所以继电器不得电不动作LED红灯相应的也会熄灭。当单片机P1.4端口输出低电平时三极管的发射极对基极正向偏置三极管处于饱和状态发射极与集电极之间导通继电器得电吸合红灯也会相应亮起表示继电器处于工作状态警示用户。图2 继电器电路2.3方案设计2.3.1通信模块选择本次设计中的通信模块我采用了上海芯讯通科技的SIM900A它是一个2频的GSM/GPRS模块主要为中国大陆市场和印度市场而设可支持GPRS multi-slot class 10/class 8可选以及GPRS编码格式CS-1,CS-2,CS-3和 CS-4。SIM900A模块拥有EGSM 900MHz和DCS 1800MHz两个工作频段而且它的尺寸大小仅有24mm x 24mm x 3mm如果用户在实际应用方面对空间运作大小有要求的话SIM900A基本能够满足用户的需求例如数据传输系统M2M等。68个贴片焊盘引脚的物理接口足够保证模块和用户移动应用同时也为应用模块提供了完整的硬件接口。·拥有行业标准的可编程的输入输出接口GPIO。·调试串口和主串口能够协助用户顺利实现调试开发。·用户操作的灵活性可以通过SPI显示接口和键盘来保证。2.3.2通信接口表2.1串口引脚定义名称 引脚 功能串口 DTR 3 数据终端准备RI 4 振铃检测DCD 5 数据载波检测DSR 6 数据设备准备CTS 7 发送清除RTS 8 发送请求TXD 9 数据发送RXD 10 数据接收调试口 DBG_RXD 28 数据接收DBG_TXD 27 数据发送单片机和GSM模块通过UART连接传输信息。用于通讯方面和用于软件调试升级的接口分别为两个非对称的异步串行接口由SIM900A模块所提供。模块是连接方式为传统的DCE-DTE (Data Terminal Equipment)的DCE (Data Communication Equipment)设备下列信号线的连接可以展示出如何实现模块和用户机(DTE)之间的连接 (如下图所示)。图3 模块通信接口③中文转Unicode码由于选择了PDU短信模式为了能够使用中文来发出AT指令就必须运用Unicode码。使用Unicode这个方案是因为它能够给每种语言中的每个字符制定统一并且唯一的二进制编码。本来为了打破传统的字符编码方案的局限性就是Unicode的产生原因正因这样所以通过运用Unicode进行跨平台、跨语言的文本处理或转换就变得十分容易。在Unicode 编码中占用一到四个字节的为utf-8占用二或四个字节的为utf-16占用四个字节的为utf-32因此共有utf-8,utf-16,utf-32三种具体实现。Unicode码是从ASCII字元集中扩展开来的最初Unicode计划作为ASCII的补充世界上存在的全部书写语言中可能用于电脑通讯的字元、象形文字或是其他符号都能够通过Unicode得到表示因为在严格的ASCII中每7位元表示一个字元或者电脑上普遍运用的每字元有8位元宽而Unicode采用全16位元字元集所以直至目前出现了Unicode最终将代替ASCII的可能性。使用Unicode编码转换器即可得出图中中文转Unicode结果开——5f00关——5173。④MCU与通信模块无法正常通信指示灯不闪烁。一般故障为当前信号不好尝试移动天线或者元器件的位置即可解决。若是使用者在操作中遇到MCU无法通讯或通信模块出现异常等问题时通过查阅硬件手册可以得知建议客户端设置将DTR引脚开机默认置为低电平等到能够正常进行AT通信时使用ATIPR固定模块波特率问题就可以得到改善。⑤蜂鸣器或继电器的驱动三极管为什么不选用npn型的9013、8050而选用pnp型的9012、8550呢因为所有的IO口在单片机刚上电的瞬间会产生一个短暂的高电平。若是选用pnp型的则可以避免即使在程序上将IO口拉低蜂鸣器或继电器也会响一小下或吸合一下这种情况的发生因此选用pnp型而不选用npn型的。因为如果我想要控制蜂鸣器或继电器工作单片机的IO口要低电平时这样选择就不会出现刚一通电就让蜂鸣器响或继电器吸合的情况避免了不必要的麻烦。2.5设计过程先进行课题需求分析搜集各种无线通信资料选定器件查阅技术手册制定开发方案进行原理图设计系统软件设计驱动和业务逻辑电路焊接调试系统联调最后优化成品。硬件流程单片机和GSM模块通过UART也就是通用异步收发传输器进行通讯。使用单片机的P3.0和P3.1 I/O口与程序烧写口通用。流程如图4所示移动终端手机发出短信传到运营商的基站基站转发短信至GSM模块通信网络上经过SIM卡介质的接收存到模块上的SBUF上再通过TXD通信线把短信发至单片机上。单片机再把这条内容存储到SBUF上单片机对这条SBUF进行解析和逻辑判断这就是程序的开或关执行动作指令。图4 指令流程2.6 仿真与调试2.6.1仿真Proteus软件是我们目前单片机主流的仿真软件它拥有丰富的的元器件供我们选择以及支持绝大部分的单片机拷入程序模拟实物结果。但由于Proteus中并没有GSM模块的通信库所以只能进行按键控制电源开关以及继电器线圈吸合的位置的仿真。仿真结果如下图图5 打开电源状态仿真结果2.6.1实物调试实物调试主要为分别对系统的各个模块进行调试主要目的是看能否正常工作以及有没有被焊坏的情况发生。首先要按照电路原理图对照实物核对是否一致再用万用表测试电路各个部分有没有短路、断路情况发生。由于电源控制器的实际使用场景为220V的高压市电所以要特别小心最后还要用测电笔测试有没有漏电的情况发生。2.7成果展示当所有的调试与检查完成后还要对本设计的功能能否正常实现进行测试。如下图6首先单片机入口电源通过usb连接移动充电宝打开电源开关可以看到黄灯通讯灯不断闪烁表示在搜寻基站信号相当于硬件初始化当搜寻信号成功后黄灯会熄灭。插上继电器入口电源分别短信发送“开”和“关”指令后插排指示灯按照指令会进行开和关的操作以及红灯会有相应的提示表示实物能够按照设想达到相应的功能测试到此结束。图6 实物图文章底部可以获取博主的联系方式获取源码、查看详细的视频演示或者了解其他版本的信息。所有项目都经过了严格的测试和完善。对于本系统我们提供全方位的支持包括修改时间和标题以及完整的安装、部署、运行和调试服务确保系统能在你的电脑上顺利运行。