发新帖本帖赏金 50.00元(功能说明)我要提问
1234下一页
返回列表
[活动]

一个遥控器的诞生

[复制链接]
42980|76
手机看帖
扫描二维码
随时随地手机跟帖
cjseng|  楼主 | 2021-9-19 22:43 | 显示全部楼层 |阅读模式
本帖最后由 cjseng 于 2021-9-19 22:43 编辑

#申请原创#
一个遥控器的诞生
7月初接到客户订单,要求订购一批遥控器,功能需求如下:通过和信号机无线连接对路口信号灯进行步进、指定相位、全红、黄闪的控制。(按钮为机械按钮,方便冬天带手套使用时也能灵活操作,带OLED显示屏,强光下也能看清楚,分辨率不低于128*64,各个遥控器间通用,方便使用时的替换)。交货期2个月。
接到订单,开始构思,脑子里有了大致方案后,采购了一些元器件,估摸着用得着的都买买买。淘宝选了一个遥控器外壳图片,发给客户确认,客户表示认可。就是下面这个样子:
85643614564db663fe.png
开始画遥控器原理图,单片机选了STC15W4K32S4,接一个OLED屏,一个无线数传模块,再加个电池充电电路,其它的按键指示灯都是常规电路。因为是电池供电,这里边无线模块是个耗电大户,必要时要切断电源,所以,对无线模块的电源用一个PMOS加以控制。
88351614564fe83001.png

接下来画PCB了,首先确定PCB外形和定位孔,问淘宝卖家要来壳子CAD图纸。
536716145651ee1c4e.png
删掉对我没用的部分,只保留跟PCB外形有关的部分,修改一下,导入AD,看起来像个旗袍。
8375161456542b0d3a.png
为了确保外形、螺丝孔准确,将图纸导入文泰雕刻。
170466145656606514.png
用文泰雕刻生成雕刻加工文件,用雕刻机雕了一块环氧板,放入外壳比划一下:
235946145658c72983.png

严丝合缝,感觉不错,后来又微调了一下。
外形尺寸确定了,屏幕和按键的布局,也要让客户确认下,先用AD画好布局,另存为CAD格式,打开CAD,和原先的外壳图纸拼合一下,再打印成pdf文件,导入Photoshop,马马虎虎画个效果图,客户看了表示很OK。

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 50.00 元 2021-09-29
理由:恭喜通过原创文章审核!请多多加油哦!

评分
参与人数 1威望 +15 收起 理由
tyw + 15 终于下蛋了,哈哈

相关帖子

cjseng|  楼主 | 2021-9-19 22:43 | 显示全部楼层
72813614565d5dd881.png
然后开始画PCB,随便画画,很快画好了
12299614565ec11ac3.png
上面是天线,车间里的工人称为“弹簧”,下面底部有个TYPE-C充电口。
遥控器的板子就这样了,有了遥控器,还得有个接收器,找了个合适的塑料壳,就当接收器外壳了,原理图、PCB如下:
9391761456606a7fde.png 95840614566155c0ae.png

齐活之后,发出去打样,等候的时间,我就研究一下OLED,这玩意儿第一次用,看了厂家的文档,全英文的,有点头疼。不管它了,船到桥头自然直。





45602614565c377bae.png

使用特权

评论回复
cjseng|  楼主 | 2021-9-19 22:43 | 显示全部楼层
本帖最后由 cjseng 于 2021-9-18 12:25 编辑

顺便用雕刻机刻了两个钢网,反正是做样品么,就这样凑活了。0.3mm厚环氧板雕刻的钢网成品:
277666145668b3d9c7.png 885976145669a51338.png

收到板子,用刻好的钢网印上锡膏,手工贴片,焊接了两块,看起来很OK。
446936145673913646.png 828646145675dce72f.png
那个OLED屏偏右,是因为尺寸太小,不大好看,左边加了3颗指示灯,外壳开孔横向扩大后,贴上膜,视觉效果好一些。
这样的效果,其实左侧三个指示灯,不是OLED屏的一部分。

使用特权

评论回复
cjseng|  楼主 | 2021-9-19 22:43 | 显示全部楼层
接下来就是写程序了,遥控器程序:
66392614567c28de66.png
OLED第一次用,找卖家要来Demo程序,是STM32的,我这里用的是51,不能直接用,用查找替换的方法,将所有GPIO的操作改成51的直接赋值操作,再将Delay()函数重写了一下,编译通过了。
19164614567d945d9b.png

接收器程序:
41343614567efae2d2.png
程序写得昏天黑地,不知有汉,无论魏晋,老婆给我买的两条烟很快见了底,8月中旬,程序VER1.0诞生。
10150614568096e601.png
接下来就是测试,各种测试,排雷,很快的,一个星期过去了。
这中间已经发现,主机通讯程序有问题,经常会挂掉,跟对方沟通无果。详见https://bbs.21ic.com/icview-3164974-1-1.html。
这时候,发现了一个严重的问题,我测试用的STC15W4K32S4芯片,买不到了!!!家里只有几片库存的样品,不够生产用。
真是屋漏偏逢连夜雨啊!
换芯片!我买买买,买来IAP15W4K61S4,试了下,不好用。没时间排查原因了,继续买,又买来IAP15W413AS,试了下,还是不行。我再买,买到STC15W408AS,好,这下妥了!程序能跑起来了。
但是,我这里要说个但是,板子上几个按键失灵了!详见https://bbs.21ic.com/icview-3156032-1-1.html。
STC15W408AS没有P0口,那几个引脚是空的!!!
我改!我改原理图,重画板子,不用P0口了。因为时间来不及,改好板子,也不打样了,直接下单100PCS。
板子改了,程序也得改。
说起来,世上就没有一帆风顺的事,因为换了408AS芯片,只有8KROM,可我的程序改来改去,还有11K大小。。。
将代码优化等级提到最高,优化后还有9K多。唉,OLED的显示界面太占程序空间。改改改,继续折腾程序,我感觉头发越来越少了。
能复用的代码尽量复用,砍掉各种调试用语句,在switch和if之间各种权衡对比,最终程序被压缩到8189字节,是不是很神奇?还差3个字节就满了。
老天不会遂人愿的,把这8189字节的程序烧进芯片,程序时不时出问题。看芯片手册,明白了,程序空间最后7个字节不能用,是用来存放芯片唯一ID的。
没办法了,只能阉割一些功能了,我把电池电量显示从5级改为4级,一下子节省了几十个字节的空间,感觉好爽。图标点阵数据都是实实在在占空间的啊。
这样,就有了Ver2.0版本程序。
眼瞅着快到交货日期了,我这边还有其他活没干完,得抓紧。
第一个活就是,遥控器贴膜要赶紧订做了,否则来不及。

放下程序,开始画贴膜。用CAD确定尺寸,用Photoshop填充颜色,发给不干胶贴膜厂家制作贴膜。
9422061456832122bb.png
第二件事,就是遥控器、接收器壳子开孔,又是各种画图,画好图纸,生成雕刻文件,交给雕刻机干活。

这是个大活,不大好整,这不是咱专业啊。
982256145684c04e81.png
弄成了这样样子,还好,按键位置都很准确,毕竟用的同一个CAD文件定位的。

接收器的壳子开孔更麻烦,一开始脑子有点短路,画板子时,竟然设计了三面开孔,唉,悔之晚矣!
785966145686a33929.png

第三件事就是,壳子开好孔了,但是只有一套,如果要批量开孔,每次定位就是个麻烦事。咱还得做个工装夹具。继续埋头画图,脑子里各种乱七八糟的想法,最终做了这样个东西,上下左右全都卡死,只需定位一次,雕好一个,换下一个不用重新定位了,样子丑了点,但胜在实用。
1176261456884ee0d2.png


使用特权

评论回复
cjseng|  楼主 | 2021-9-19 22:43 | 显示全部楼层
一个白天加一个晚上,我把20套外壳的孔全开好了,心情舒畅,感觉有点小膨胀。
接下来写一下生产指导书,其实也没啥好写的,简单写一下调试工艺,测试标准。
8月下旬,100套的板子到了,先做20套交货,因为板子改动了,重新雕刻了钢网,弄好贴片文件,交给车间生产。
贴片机开动起来,两种板子也就半天的活,装料费了不少时间。
不干胶贴膜也到了,做的不是很好,又重做了一次。
我抽空开始写使用说明书,再次祭出Photoshop法宝,弄个封面,弄些插图,大致这样子的:
45465614569c024b23.png
抠图不是很利索,那个阴影是画出来的,比较生硬。不过也就这样吧,要求不能太高,毕竟咱不是专业的。
看人家的说明书都是A5尺寸,且双面打印,我花了一天时间研究,废了几十张A4纸,发现我的打印机也可以实现。

淘宝来140克铜版纸,打印说明书,期间还加了一次墨水,弄得手上黑一块红一块。
80737614569e019c41.png
离交期越来越近,我又修改程序到Ver3.0,期间和对方开发人员扯皮略过不表。
“地瓜地瓜,我是土豆,收到请回答!”窗外,员工在拉开距离实地测试遥控。我在测试电池续航时间,待机0.7mA,开机40mA,无线发射70~80mA,500mAh的电池,在我反复按动遥控器情况下,半天就没电了,看来电池容量虚标严重啊。
换,买来1000mAh电池,得亏这遥控器内部空间大,1000mAh电池装进去,还是空空荡荡的。测试下来,待机1个星期,电量几乎不下降。这电池没虚标,分量足。
赶在交货期前一天,网上买的包装盒到了,把测试好的遥控器套装装入包装盒,打包好,发货。。。
后记
货发出一天后,我发现了一个程序BUG。。。
修改BUG后,生成一个项目程序,发给客户,让客户升级一下。

至此,这个订单就算完成了,虽然还有点问题没解决,留着以后升级吧。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
XCW + 3 很给力!
ztzp| | 2021-9-20 00:42 | 显示全部楼层
一口气看完了,一个字:“爽”!

使用特权

评论回复
比神乐| | 2021-9-20 07:21 | 显示全部楼层
厉害厉害,比我强多了。

使用特权

评论回复
LcwSwust| | 2021-9-20 07:26 | 显示全部楼层
厉害厉害,比我强多了。+1

使用特权

评论回复
tianxj01| | 2021-9-20 09:13 | 显示全部楼层
这是全包圆了。今年的芯片缺货,真是日了狗了。。。。

使用特权

评论回复
叶春勇| | 2021-9-20 10:22 | 显示全部楼层
我有一款stc15w404as,有30管积压,以前改stm8闹的。楼主用的上吗?


微信图片_20210920101954.jpg

使用特权

评论回复
评论
叶春勇 2021-9-21 11:57 回复TA
@cjseng :sop16的,看来不适合 
cjseng 2021-9-20 11:28 回复TA
什么封装的?SOP20还是SOP28? 
fengok008| | 2021-9-20 10:37 | 显示全部楼层
厉害厉害,比我强多了

使用特权

评论回复
ezcui| | 2021-9-20 16:23 | 显示全部楼层
手感不错

使用特权

评论回复
linxi6414| | 2021-9-20 16:47 | 显示全部楼层
楼主牛X,对结构也这么了解,每次做产品,结构的问题很是大头,画简单的结构图,只能用PROTEL画,然后交给厂家,厂家再用CAD转,没有办法,实在是不想学新的东西。

使用特权

评论回复
评论
cjseng 2021-9-20 16:59 回复TA
没办法,都是逼出来的,请不起结构工程师,只能自己干。幸亏上学时学过机械制图,当初学的还蛮好的。 
coody| | 2021-9-20 17:42 | 显示全部楼层
如果是我做,我会用SSOP20或LQFP32的封装,OLED用I2C接口的,15个键任意一个均可唤醒,睡眠电流不超过1uA。

使用特权

评论回复
cjseng|  楼主 | 2021-9-20 18:15 | 显示全部楼层
本帖最后由 cjseng 于 2021-9-20 18:17 编辑
coody 发表于 2021-9-20 17:42
如果是我做,我会用SSOP20或LQFP32的封装,OLED用I2C接口的,15个键任意一个均可唤醒,睡眠电流不超过1uA。 ...

本来就是用IIC的OLED,可是点阵太占空间了,ROM不够用啊。后来换了带字库的OLED,SPI接口,字库芯片也是SPI接口,只是这个OLED手册上休眠功耗20uA,实测0.6mA左右,问了厂家,说就是这样的。
OLED占用6个IO,无线模块占用4个IO,开关机按键一个,充电检测1个,电池电压检测2个,按键加指示灯合计9个IO,蜂鸣器一个,震动马达一个(后来蜂鸣器+马达共用一个IO)。
SSOP20引脚不够的,只能用LQFP32的。

我的电池电压检测是用TL431实现的,用一个强推挽IO对TL431供电,AD得到TL431电压(2.495V),反推计算出电池电压。AD结束,强推挽引脚输出0,以免TL431一直耗电。
7905661485fa8ec322.png

使用特权

评论回复
评论
dirtwillfly 2021-11-2 16:34 回复TA
这个TL431电路值得学习 
评分
参与人数 1威望 +3 收起 理由
XCW + 3 很给力!
linxi6414| | 2021-9-20 18:23 | 显示全部楼层
coody 发表于 2021-9-20 17:42
如果是我做,我会用SSOP20或LQFP32的封装,OLED用I2C接口的,15个键任意一个均可唤醒,睡眠电流不超过1uA。 ...

应该用SPI的,这样的话可以与无线模块共用一个SPI接口,会省更加多的I/O出来,这个屏我的一款产品里也有用,使用的是SPI接口。

使用特权

评论回复
cjseng|  楼主 | 2021-9-20 19:17 | 显示全部楼层
linxi6414 发表于 2021-9-20 18:23
应该用SPI的,这样的话可以与无线模块共用一个SPI接口,会省更加多的I/O出来,这个屏我的一款产品里也有 ...

我的无线模块是TTL串口

使用特权

评论回复
linxi6414| | 2021-9-20 21:37 | 显示全部楼层
cjseng 发表于 2021-9-20 19:17
我的无线模块是TTL串口

串口的贵一些,可能你的产品没有量,有量的话,还是用SPI接口的,或者自己设计射频电路部分合算的多。

使用特权

评论回复
wenleileilei| | 2021-9-21 06:40 | 显示全部楼层
这个订单什么价啊

使用特权

评论回复
oufuqiang| | 2021-9-21 10:00 | 显示全部楼层
这个项目几个W可以参考一下吗

使用特权

评论回复
发新帖 本帖赏金 50.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

4222

帖子

46

粉丝