基于STC8的433Mhz无线遥控模块

来源于https://oshwhub.com/rushairer/micro-curtain-remote-control-dev

前阵子朋友找我帮他设计一个无线遥控装置,需求是遥控器用两个按钮在2-3米范围内遥控电机进行前后转动。因为要做成产品量产,所以在实现功能之外,还要控制成本。正好赶上STC与嘉立创举办的这次单片机创意设计大赛,于是我决定使用STC的MCU来完成这个项目。我设计了两个版本,一个版本是STC8H8K64U版本,主打性能,一个是STC8G1K08A版本,主打性价比。这也正好体现出STC产品线丰富的优势,给用户丰富的选择空间。考虑成本问题,放弃蓝牙、WiFi这两个方案,最后我选择了433Mhz的无线通信方案。这是第一次接触433通信方式,先在立创商城查找了433相关的芯片,最终决定使用WF480RA 和 WF4455TD,在淘宝上看相关产品的介绍里,提到了EV1527解码,我大概搜索了一下,EV1527可以软件解码,不需要单独购买芯片。遥控器端使用纽扣电池,不需要升压降压稳压模块。这也多亏了STC芯片的宽工作电压特性,让我进一步节省了成本。电机控制正好用我上次做AbenFan的那个电机驱动芯片,可以输出正反转和刹车信号。方案选型定下来了,开始画电路图,提交审核,申请到了耗材券,下单打板,焊接... 一套熟悉的流程下来,到了写软件的环节。源代码已经上传到Github 完全开源。

https://github.com/rushairer/STCEV1527Transmitter 遥控器的固件源码

https://github.com/rushairer/STCEV1527Receiver 接收器的固件源码

这是遥控器,预留四个按钮,目前只用了P3.0和P3.3。按钮旁边的上拉电阻不需要焊接,直接使用MCU内部上拉即可。

这是接收端,MotorA/B外接电机,BAT+/-外接电池,背面预留一个按钮,可以扩展功能:比如学习对码。

最后还给遥控器设计了外壳。

项目花絮:

之前对STC的了解也就是点个灯,真到了具体项目的时候,有点蒙。没办法,现学吧。找群里的大佬帮我搞了一份STC8G for SDCC的头文件,配置好基本环境后,用基本的GPIO,把遥控器发送信号,接收器接收信号,都调通了。

在写EV1527的软解码的时候,卡了我两天。在网上找了很多相关资料,先搞明白了EV1527协议是怎么个交互流程,然后搜了很多别人分享的代码,一个个的读代码。

重新学习STC的中断机制,时间中断先得确定好晶振的频率,通过示波器,捕捉信号波形,验证我的代码对不对。明明遥控器发出的信号波形都OK,就是解析不出来,我都绝望的怀疑算法有问题了,突然在玩弄示波器的时候,想起来测量了一下两个波形之间的时间差,最后发现时间间隔并不是我预想的400us,而是500us,于是重新调整了delay的时间间隔,问题解决了!

相关推荐
Gary Studio2 小时前
告别无头苍蝇:高速板 PCB 设计“规则先行”实战兵法
硬件
Gary Studio4 小时前
复杂 SoC(RK3568)PCB 布局的五步
android·linux·硬件
小云小白2 天前
企业抗量子安全建设路线图(二):从PQC TLS到量子通信硬件选型
硬件·抗量子
来可电子小仙女5 天前
便携车载 CAN 数据记录仪|CANFDLog-OTL4-X:告别车载拖线电脑,离线搞定 CAN FD+XCP 全量数据采集
网络·硬件·记录仪
凡亿电子笔记7 天前
硬件学习顺序安排,循序渐进效率最高
硬件工程师·硬件·硬件设计
不做无法实现的梦~8 天前
机械常见零件名称、作用与规格
硬件
网络研究院9 天前
即将过期的安全启动证书将如何影响 Windows 设备
安全·微软·系统·漏洞·硬件
TianMa行空12 天前
14 Pin JTAG接口
硬件
洞察物理世界12 天前
【硬件_USB2.0】一文讲透USB2.0硬件工作原理
硬件·usb2.0
DreamLife☼12 天前
OpenBCI-Python与OpenBCI:实时脑电信号采集实战
开发语言·python·硬件·选型·openbci·cyton·ganglion