从整体项目的学习上来说。包括三个方面
– 电路
– 焊接
– 系统
整体对我嵌入式开发的理解是一个大的加深。
复刻项目链接:https://oshwhub.com/lxu0423/ESP32-duo-gong-neng-mo-shui-ping
开源系统链接:https://github.com/diylxy/LiClock
# 电路
电路部分,整体的esp32其实问题不大,esp32封装好的模组基本不需要任何外部电路。就在EN位置需要一个使能电路。供电电路。剩下的就根据需要搭积木。只要认真去看每个电子元件的设计说明,基本上大部分的电路都能看明白。和系统封装函数一样。留出来一个引脚。对于一些优质电路可以进行收藏,尤其是通用电路。电路设计基本不分单片机型号。可以去参考STM32的电路设计进行设计。
整体电路设计包含
– 电路部分
– 供电部分
– 电路切换
– 充电部分
– 稳压
– 传感器
– 高精度始终
– 温湿度
– 气压
– 蜂鸣器
– TF卡
– ESP32
– 按钮
– 电池采样
整体电路设计很简单。如果要实现功能主要是系统层面的事情。 电路部分主要稳定性就好。整体电路部分设计很简洁。可以根据需要更换操作方式。
# 焊接
焊接部分一开始我认为是一个难点。根据这次实操下来。使用热台焊接的话,基本上在电容电感电阻部分的工作难度减轻了很多。如果增加钢网,整个工作流程会更轻松。基本难点在三块:QFN封装、USB母座、FPC。
非常注意:一定要注意热台温度225度(我测试的温度),烙铁温度285度左右(之前温度超过300度,焊坏了不少板子。一直没有注意过烙铁温度。。
从我在网上找的资料来说:
– QFN焊接可以先上锡,我并没有进行这部分操作。
– QFN先打磨一下。我没有进行这部操作。
– 电子元件尽量在嘉立创买新的,淘宝部分芯片是二手或者其他问题的。
– 多上助焊剂,焊锡多的部分拖一下就可以了。(很有用的方法)
焊接的难度在于工具的选择和焊料的选择。我认为,焊料是一个关键。一定不能选择便宜或者是一些假货泛滥渠道不明的。焊台温度达到问题就不大。这次焊接和上次用烙铁以及第一次用9.9元烙铁焊接看起来。还是工具大于技术。这次提前做了功课,同时在焊接之前小睡了十几分钟,稳定了状态。
之前没有发现,现在总的来看,难点就是FPC,QFN和C口都不难。QFN在焊接的时候轻轻按一下,按出来多余的锡就可以。结束的时候使用铜线拖一下。完全无问题。C口别忘了焊接座子,固定位置,锡膏也是少量,最后还要拖一下。
难点是FPC,第一次焊接,不知道多少量能沾上,排线设计上来说,并不是完全到达板子的平面的,感觉有一个0.1毫米左右的高度,正常一点焊锡焊接之后是焊接上的,检查连锡部分就可以了。侧面看还是能看到高度的。用电表查一下就行。只要看见连锡直接上铜丝就行,吸出来多余的锡,因为它下方有落差,不用担心没有焊上,同时,助焊剂一黄就擦干净再补上。
**第三次焊接的失误
1、不要焊接的地方(bmp280)连锡导致短路了。检查所有电路没有发现问题。表现现象为稳压器发热。造成原因是3.3V电路短路。
2、在没有确定问题的情况下多次上热台。造成按键内进了助焊剂。使用起来手感很差。
3、提示需要按boot按键的时候没有第一时间检查烧录部分。
4、最后着急了,焊接esp32的时候焊锡放多了。**
**第四次完全顺利,没有任何错误**
第五次焊接,发现有两个其中i2c有问题的,怀疑是有元件短路。
这次一次性焊接了四台,维修了两台。
心得记录:
– 贴片的时候要注意焊锡膏的量,太多的话后期连锡不好处理。
– 使用焊锡膏之前清理一下嘴,上次剩的会卡在前段,可能会造成挤出来的焊锡膏浓度不够。挤起来费劲,并且不好控制量。不够均匀。
– 贴片基本没有问题
– 焊接的时候,需要压一下的是esp32 ch9102f bmp280 aht20 主要是将底部的焊锡挤出来,不然会将元件顶起来底部会连锡。
– 焊接的时候将fpc对准。不然后期很难处理。将type-C稍微往板子外边推一下。不然金手指位置太少后期处理连锡会麻烦。
– 焊接时候将吸在一起的元件拉开,焊锡不够的地方不用管。
– 焊接之后就是处理连锡,处理的点就type-C ch9102f fpc ,这三个点,type-c处理的方式最简单,加助焊剂,用吸锡带拖一遍,烙铁过一遍(慢一些)温度285度左右。基本不用看。ch9102就麻烦点,加助焊剂,用吸锡带拖过之后洗板水擦干净,如果目视没有问题了,还会有可能连接不上usb可以用热风枪重新装一下。fpc和type-c基本同理。
– 最终,连接电脑提示不可识别的时候,基本上检查ch9102,如果没有问题。检查班子上的焊接,万用表过一遍。再检查不出来就在上一次热台。基本大部分问题都可以解决。
– 最后洗板水可以放到比板子高的厚度都去过一遍。按键阻塞的问题基本解决。
# 系统
这部分内容还在学习,现在有两个点,他的系统是没有办法使用PIO直接进行烧录,而是需要使用esp32 flash tool进行烧录。
他的网页部分的.h 是进行压缩,转成二进制文件,改成字符串放进去的。
整体的系统包含三类:AppManager、HAL、LUA这三个,使用的是freerots做的底层。让他可以进行底层的多任务。
本身系统的内存没有那么大,可以通过调整地址实现需要的内存。
作者自己编写了Appmanager同时引用了hal和lua这两个解释器。
对每部分功能进行分解:
1. 天气部分
2. 时钟部分
3. 传感器:温湿度,气压,时钟。
4. 电子书部分
5. 网站API
6. Blockly开发
7. WiFi功能
8. AP功能
因为整体是时使用PIO开发的C语言。同时,使用的是arduino,代码难度不高。整体理解难度也不大。如果自己开发还是不行。理解没问题。下一个学习的目标是面向free ROTS的系统的一个学习。可以考虑的方向是一个体感鼠标,第二个就是之前制作的运动方向的训练反应时间的产品。随机点亮灯,按到之后计算时间。我希望能做出来几个模式可以进行选择。中间试用freerots做缝合。
# 总结
总的来讲,本项目的完成度非常高。后续还有一个sixclock,基本上让我没有什么开发下去的欲望了。因为开发的太完善了。基本上什么都有了。剩下的一些小修小补的功能,基本可以使用lua后台进行开发反而更适合,适合一些应急场景。
但是如果做为一个产品使用的话,的确是功能太少,价格太高,精致度不够。现在整体的生产成本在10个量的情况下,一个成本还能到59,如果真的作为产品出售的情况下,势必要增加邮费,人工,等一系列的费用。我看网上成品的价格是80,如果是按照他没有开源的电路图和外壳来计算。成本价格下来至少也要40多。商业化的可能性不太高。
同时系统的稳定性还存在一些问题,所以并不能作为一个成熟的商业产品进行销售。
如果我要自己做电子产品去销售的话,我有几种方向。首先就是一个功能,一个噱头,其次就是将价格控制在范围内。例如我要做的体感鼠标,esp32不需要那么大容量的,可以使用比较便宜的,价格也就10元,其次的BOM如果取消固件刷入功能基本也就4元可以解决,只需要增加充电,电池,锂电池切换。最后,电池的费用是6元,增加一个mpu6050的模块5元,整体下来25,还有一定的优化空间。成本维持到30,剩下的5元,使用cnc做一个木头的外壳,增加一个亚克力的面板,做展示用。整体做到精致小巧。整体思维的方向是有一个功能,带些噱头,之后简单使用方式和精致的外观来制作这个产品。保证在手能触摸到的地方,使用我比较熟悉的机械加工、木工、皮具等功能,将产品做到精致。
张-2024年8月11日00:24