基于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的时间间隔,问题解决了!

相关推荐
隔壁大炮4 天前
【中断】中断的概念
单片机·嵌入式·硬件
专注前端30年7 天前
【硬件开发项目实战】测试与生产文件全指南:Gerber规范、SMT工艺、可靠性测试方案
硬件
嵌入式×边缘AI:打怪升级日志7 天前
嵌入式IAP升级完全指南:中控与传感器
硬件·升级·软件
嵌入式×边缘AI:打怪升级日志8 天前
9.2.2 实现 Write File Record(保姆级教学)
硬件·软件·发送·接收
嵌入式×边缘AI:打怪升级日志8 天前
综合实现:产品框架(保姆级讲解)
硬件·软件
myloveasuka1 个月前
分离指令缓存(I-Cache)和数据缓存(D-Cache)的原因
笔记·缓存·计算机组成原理·硬件
myloveasuka1 个月前
3-8 译码器(正式型号74LS138、 74HC138、74HCT138 等))
笔记·算法·计算机组成原理·硬件
迎仔1 个月前
GPU (Graphic Processing Unit) 通俗原理解析:AI 时代的“算力发动机”
硬件
迎仔1 个月前
算力中心 (Compute Center) 通俗指南
硬件
ベadvance courageouslyミ1 个月前
硬件基础中断
汇编·硬件·中断