基于STM32的WiFi联网自动校准时钟

原创 电子电路开发学习 2024-06-13 12:00

项目概述

上周在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做了一个不用校准的时钟,时钟这种小设计应该说是烂大街了吧!我一开始学习51的时候做了个可按键校准,带闹钟功能的时钟,学习STM32的时候做。了个可以手机蓝牙APP校准的时钟,现在又用uFUN开发板做了个时钟,不过时钟这个的英文联网校准的由于之前做过桌面天气预报时钟,如下图:

所以这个联网校准时钟的小项目实现起来还是很顺利的,底板是使用的uFUN开发板,扩展板是自己设计的,使用PCIe的接口和uFUN开发板进行通讯。使用ESP8266 WiFi模块获取北京标准时间,然后对STM32内部的RTC进行校准,再通过OLED显示出来。我知道,这个小项目无论是PCB的设计,还是控制程序的编写,对于论坛里一些有着多年经验的大佬来说,这个小项目简直不值一提,我只不过是班门弄斧罢了。有不对的地方,欢迎各位大佬拍砖!

扩展板资源简介

  • 0.96寸OLED屏,IIC接口,128 * 64像素,通过外部电路的修改,可支持8080并口,SPI接口。

  • W25Q128,SPI接口,可以用来存储字库,配合uFUN开发板的SD卡功能,可以实现字库的更新

  • AT24C02,EEPROM,IIC接口,掉电不丢失,可以用来保存一些用户数据

  • SHT20,IIC接口温湿度传感器。

  • 5个LED,1个电源指示,4个用户LED,这四个LED都连接到了定时器的通道,可通过PWM占空比控制亮度

  • 1个光敏电阻,把光照强度转换为AD电压值,可以实现根据外界亮度控制OLED屏的亮度。

  • 1个OLED模块接口,可外插IIC接口的OLED模块

  • 蓝牙/ WiFi的模块兼容接口设计,可支持HC-05蓝牙模块,或者是原子的ESP8266模块。

  • 1个DHT11温湿度传感器模块接口

扩展板原理图设计

  • 电源电路

从uFUN的原理图可以看出,的PCIe扩展口中有5V电源,数字地,模拟3.3V,模拟地,而没有引出数字3.3V电源,为了不干扰模拟3.3V,扩展板的3.3V电源来自5V经过AMS117稳压,AMS117-3.3是一款比较常用的LDO电源芯片,最大可提供1A的输出电流,对于扩展板来说是足够用了。

  • OLED电路

OLED外围电路,参考中景园官方推荐的电路,使用的是IIC接口,因为之前没用过IIC总线挂载多个从机,为了避免调不通,所以OLED的IIC接口使用了独立的管教,同时上拉4.7K电阻。

  • W25Q128电路

W25Q128是采用的SPI通讯协议,正好扩展接口中有SPI接口,所以就用了STM32的硬件SPI2接口,当然也可以软件模拟。

  • AT24C02电路

实际上焊接的是ST公司的M24C64,目前读写还没调通,和底板的LIS3DH共用一组IIC总线。

  • SHT20电路

正好上次做板子,买的SHT20还剩几片,所以在这个扩展板上,也使用了这款传感器,这款数字温湿度传感器体积非常小,只有3 * 3 * 1.1mm,和底板的LIS3DH共用一组IIC总线,后面调试正常,可以获取到温湿度数据。

  • 无线蓝牙兼容接口

偶然发现HC-05和原子的ESP8266模块接口几乎一样,所以这部分设计成了兼容两种模块的接口,如下图:

  • 其他电路

4路LED都连接到了STM32的定时器输出通道,可以用来控制亮度,另外也充分利用了扩展口留出的模拟电源和模拟地,通过简单的分压原理,可以把光照强度转换为AD电压值,还增加了OLED模块接口和DHT11温湿度传感器接口。

扩展板PCB设计

  • 结构的设计

SHT20官方推荐的放置方式是在板子边缘挖个岛出来,然后把传感器放进去,这样能最大程度的减少板子热量的传递,从而提高精度,但是,由于扩展板面积较小,再挖个岛出来,看着太难看了,就没有挖。

板子的整体结构图来自于前一段时间,@张进东张工在uFUN试用群里分享的AD版本的PCB图,那个图是这样的:

我进行了稍微的修改,把安装孔右边多余的部分去掉了,而且为了和底板一致,我把扩展板改成了圆角,但是接口和安装孔的相对位置没动,板子的TOP面:

  • 封装的选择

电阻电容封装的选择上,一开始觉得板子空间比较小,怕放不下所有的元器件,几乎所有的电阻和电容都选择了0402封装,同时也出现了一个比较尴尬的事,就是有1种电容和1种电阻,嘉立创SMT的基础库里没有,扩展库里才有,而如果使用扩展库里的元件,需要加每种20元的换料费,所以最终打板多花了40元,这一点也是我没有考虑到的。等投板之后,我又尝试着把所有的电阻电容封装都换成0603的,发现也能放得下。

  • 元件的布局布线

元件布局方面,为了防止元器件放在背面和底板的部分元件冲突,同时也为了满足嘉立创只能单面贴片的工艺要求,我把所有的元件都放在了TOP面,BOTTOM面只放了OLED裸屏的接口,为了方便连接外部的模块,把接口都放在了板子的边缘,LED也放在了板子边缘,由于SHT20是DFN封装,为了方便后面使用风枪进行焊接,周围留出了一点空间。

板子的BOTTOM面:

3D效果显示

我用的是AD9版本,3D效果渲染的还是挺不错的。

PCB的打样和调试

不知道今年是不是板材降价了,各大PCB板厂都在降价,去年做毕业设计的板子时还是50元5片10*10cm以内,今年就是30元5片10*10以内,而且连彩色油墨费都不收了。PCB打样和SMT贴片还是选择了之前用过的嘉立创,5片全贴,一共花了191大洋!生产工艺方面时,由于嘉立创只支持绿油进行SMT,所以只能用看着比较LOW的绿色油墨,其实我更喜欢蓝色油墨,而且和底板很搭!其他的工艺如过孔盖油、有铅喷锡,由于只是样板,就没有选择镀金工艺了,所以金手指成了锡手指,外加倒斜边,倒斜边是金手指板卡常用的一种工艺,是为了能够方便的插到插槽里面。还要注意非常非常重要的一点:PCB板的厚度,其实这个我一开始设计的时候就考虑过,使用之前做的1.6mm的板子试着往里面插了一下,发现根本插不进,网上也没搜到PCIe的板子应该做多厚,所以就选择了比1.6稍微薄一点的1.2mm厚度。详细的生产工艺:

PCB生产进度和SMT进度:

由于板子比较简单,从下单到发货大概用了3天的时间吧,实际的样板图片:

板子拿回来一插,发现还是稍微厚了点,不能完全插进PCIe座里面,而且底板的铜柱还不能对准扩展板的安装孔。

后来请教了 @张进东 张工,原来只需要1.0mm就够了,斜着插进去往下一压,再用铜柱固定就行。不过我用暴力手段解决了一下,直接用剪刀剪掉了一段金手指,还好金手指上面的铜箔没有掉,这样才勉强能用一个螺丝固定好,安装效果如文章第一张图:

就这么不完美的解决了,不过还是有几个管脚接触不良,如DHT11接口的那个引脚,稍微松动一点就不能用,不过已经板载了温湿度传感器,倒也影响不大。然后就试着点亮了OLED屏,先显示个uFUN的LOGO吧:

到这里觉得应该没啥问题了吧,开始调试WiFi接口,使用的是引出的串口3来和WiFi模块进行通讯,由于之前的程序是用的串口2,所以又稍微改了一下,调了半天,还是不通,就把同样的程序下载到其他板子上,没问题啊!难道是接触不好,最后一查,是uFUN的原理图中PB10和PB11的网络标号也反了,导致扩展板的TX和RX反了,这可怎么办呢?

又舍不得浪费板子啊!所以把原来TX和RX连接的两根线割断,重新飞了两根线,完美解决!这线飞的可没有uFUN开发板上的那根飞线漂亮!

另外,扩展板IIC总线上的24C02读写一直没调通,不知道是物料的问题还是读写时序的问题,而同是IIC总线上的SHT20温湿度传感器就没问题。另外由于本项目中没有用到过多的中文,所以SPI Flash也没用到。

控制程序的设计

可能是由于字库文件没有进行精简,所以整个程序占用了非常多的空间,总是报内存不足的错误,为了能跑起来,我把单片机型号改成了STM32F103RE系列,由于RE系列比RC系列的存储空间要大的多,并没有报错误,而且程序可以正常运行,虽然都是大容量产品,程序可以兼容,但这是一种非常不推荐的方式。

实现思路

实现原理就是:STM32驱动ESP8266 GET北京时间的接口,得到一串JSON数据,然后STM32调用cJSON库进行解析,获取到时间信息,然后把这个时间信息写入到RTC寄存器,STM32内部RTC从当前时间开始运行,然后显示到OLED屏上,程序中设置的是每隔10分钟,获取一次时间。北京标准时间的来源使用了K780数据的API接口,地址:

http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json

,是JSON格式的,数据的解析使用了开源的JSON解析库cJSON,只有两个文件,使用起来还是比较简单的。

主要功能:

  • STM32 RTC的使用。

  • OLED的驱动,支持68 ASCII码显示,816 ASCII码显示,16*32数字0-9和冒号:的显示,汉字“周一二三四五六日”的显示。

  • ESP8266的驱动,和北京标准时间服务器接口建立TCP连接。

  • cJSON库解析接收的JSON数据,获取北京时间,年月日,时分秒。

关于JSON格式的说明和cJSON库的使用,可以参考我之前写的两篇文章:

  • 使用cJSON库解析JSON

  • JSON简介

很多API接口的数据格式都是JSON格式的,如我之前做的桌面天气预报时钟,使用的是心知天气的数据源,就是JSON格式,网上也有很多免费的API接口,可以做出很多好玩的东西,就看你的想象力了!

不足之处

  • 断电不能走时

这算是这个程序最大的一个BUG吧,虽然uFUN开发板有超级电容备用电池接着,但一直没调通断电走时的功能,这种情况带来的一个问题就是,如果不插WiFi模块的情况下重新上电,是不能从上次保存的时间继续运行的。

  • 程序不够精简

为了能让程序运行起来,把单片机改成大容量型号,应该从根本上精简字库,优化程序大小。

  • GET请求偶尔会失败

偶尔会出现发送GET请求,接收不到数据的情况,可能是内存分配的问题。

总结

这个小项目总得来说,硬件调试方面比较坎坷,又是飞线,又是割板子的。而软件调试方面,由于之前做过类似的设计,所以还是比较顺利的。由于评测活动的时间关系,本次评测的大作业我只做了这个简单的联网校准时钟。其实,有了WiFi/蓝牙模块接口和OLED屏,就可以做很多好玩的东西了,比如选择一个开放的云平台,如中移OneNET等等,然后和云台进行一些交互,如采集温湿度上传到云平台做个温湿度远程监测系统,或者是远程控制LED或者蜂鸣器,桌面天气预报等。下面这几个界面是我去年在学校时,使用中移OneNET云平台做的一些界面:

对于uFUN开发板的整体评测过程来说,虽然配套的文档存在一些瑕疵,在之前的评测文章中,我也都有提到,但是不影响新手入门STM32,况且论坛里还有那么多的入门教程,也希望我的这些评测文章能对那些刚入门STM32的小伙伴们有一些帮助,少走一些弯路。据说2.0版本的开发板已经在进行紧锣密鼓的开发中了,当然,如果能有幸得到2.0版本开发板的使用机会,我会试着做一些远程控制相关的小项目。期待ing。。。。

文件的下载

  • STM32工程:

    https://wcc-blog.oss-cn-beijing.aliyuncs.com/BlogFile/uFUN_Extend_STM32_Prj.rar

  • 扩展板AD版本的原理图和PCB文件:

    https://wcc-blog.oss-cn-beijing.aliyuncs.com/BlogFile/uFUN_Extend_PCB_Prj.rar

  • 扩展板各芯片的Datasheet:

    https://wcc-blog.oss-cn-beijing.aliyuncs.com/BlogFile/uFUN_Extend_Datasheet.rar

uFUN评测系列文章

  • 基于uFUN开发板的心率计(一)DMA方式获取传感器数据

  • 基于uFUN开发板的心率计(二)动态阈值算法获取心率值

  • 基于uFUN开发板的心率计(三)Qt的上位机的实现

  • 基于uFUN开发板的RGB调色器

  • 【UFUN开发板评测】小巧而不失精致,简单而不失内涵——uFun开发板开箱爆照

电子电路开发学习 单片机点灯小能手,电子行业从业者。开发板评测、嵌入式开源项目分享、学习笔记记录。可能不会经常更新,但每一篇都是精心编写。
评论 (0)
  • 引言在语音芯片设计中,输出电路的设计直接影响音频质量与系统稳定性。WT588系列语音芯片(如WT588F02B、WT588F02A/04A/08A等),因其高集成度与灵活性被广泛应用于智能设备。然而,不同型号在硬件设计上存在关键差异,尤其是DAC加功放输出电路的配置要求。本文将从硬件架构、电路设计要点及选型建议三方面,解析WT588F02B与F02A/04A/08A的核心区别,帮助开发者高效完成产品设计。一、核心硬件差异对比WT588F02B与F02A/04A/08A系列芯片均支持PWM直推喇叭
    广州唯创电子 2025-04-01 08:53 188浏览
  • 文/郭楚妤编辑/cc孙聪颖‍不久前,中国发展高层论坛 2025 年年会(CDF)刚刚落下帷幕。本次年会围绕 “全面释放发展动能,共促全球经济稳定增长” 这一主题,吸引了全球各界目光,众多重磅嘉宾的出席与发言成为舆论焦点。其中,韩国三星集团会长李在镕时隔两年的访华之行,更是引发广泛热议。一直以来,李在镕给外界的印象是不苟言笑。然而,在论坛开幕前一天,李在镕却意外打破固有形象。3 月 22 日,李在镕与高通公司总裁安蒙一同现身北京小米汽车工厂。小米方面极为重视此次会面,CEO 雷军亲自接待,小米副董
    华尔街科技眼 2025-04-01 19:39 209浏览
  • 北京贞光科技有限公司作为紫光同芯授权代理商,专注于为客户提供车规级安全芯片的硬件供应与软件SDK一站式解决方案,同时配备专业技术团队,为选型及定制需求提供现场指导与支持。随着新能源汽车渗透率突破40%(中汽协2024数据),智能驾驶向L3+快速演进,车规级MCU正迎来技术范式变革。作为汽车电子系统的"神经中枢",通过AEC-Q100 Grade 1认证的MCU芯片需在-40℃~150℃极端温度下保持μs级响应精度,同时满足ISO 26262 ASIL-D功能安全要求。在集中式
    贞光科技 2025-04-02 14:50 124浏览
  • 引言随着物联网和智能设备的快速发展,语音交互技术逐渐成为提升用户体验的核心功能之一。在此背景下,WT588E02B-8S语音芯片,凭借其创新的远程更新(OTA)功能、灵活定制能力及高集成度设计,成为智能设备语音方案的优选。本文将从技术特性、远程更新机制及典型应用场景三方面,解析该芯片的技术优势与实际应用价值。一、WT588E02B-8S语音芯片的核心技术特性高性能硬件架构WT588E02B-8S采用16位DSP内核,内部振荡频率达32MHz,支持16位PWM/DAC输出,可直接驱动8Ω/0.5W
    广州唯创电子 2025-04-01 08:38 160浏览
  • 据先科电子官方信息,其产品包装标签将于2024年5月1日进行全面升级。作为电子元器件行业资讯平台,大鱼芯城为您梳理本次变更的核心内容及影响:一、标签变更核心要点标签整合与环保优化变更前:卷盘、内盒及外箱需分别粘贴2张标签(含独立环保标识)。变更后:环保标识(RoHS/HAF/PbF)整合至单张标签,减少重复贴标流程。标签尺寸调整卷盘/内盒标签:尺寸由5030mm升级至**8040mm**,信息展示更清晰。外箱标签:尺寸统一为8040mm(原7040mm),提升一致性。关键信息新增新增LOT批次编
    大鱼芯城 2025-04-01 15:02 199浏览
  • 退火炉,作为热处理设备的一种,广泛应用于各种金属材料的退火处理。那么,退火炉究竟是干嘛用的呢?一、退火炉的主要用途退火炉主要用于金属材料(如钢、铁、铜等)的热处理,通过退火工艺改善材料的机械性能,消除内应力和组织缺陷,提高材料的塑性和韧性。退火过程中,材料被加热到一定温度后保持一段时间,然后以适当的速度冷却,以达到改善材料性能的目的。二、退火炉的工作原理退火炉通过电热元件(如电阻丝、硅碳棒等)或燃气燃烧器加热炉膛,使炉内温度达到所需的退火温度。在退火过程中,炉内的温度、加热速度和冷却速度都可以根
    锦正茂科技 2025-04-02 10:13 70浏览
  • 随着汽车向智能化、场景化加速演进,智能座舱已成为人车交互的核心承载。从驾驶员注意力监测到儿童遗留检测,从乘员识别到安全带状态判断,座舱内的每一次行为都蕴含着巨大的安全与体验价值。然而,这些感知系统要在多样驾驶行为、复杂座舱布局和极端光照条件下持续稳定运行,传统的真实数据采集方式已难以支撑其开发迭代需求。智能座舱的技术演进,正由“采集驱动”转向“仿真驱动”。一、智能座舱仿真的挑战与突破图1:座舱实例图智能座舱中的AI系统,不仅需要理解驾驶员的行为和状态,还要同时感知乘员、儿童、宠物乃至环境中的潜在
    康谋 2025-04-02 10:23 97浏览
  • 在智能交互设备快速发展的今天,语音芯片作为人机交互的核心组件,其性能直接影响用户体验与产品竞争力。WT588F02B-8S语音芯片,凭借其静态功耗<5μA的卓越低功耗特性,成为物联网、智能家居、工业自动化等领域的理想选择,为设备赋予“听得懂、说得清”的智能化能力。一、核心优势:低功耗与高性能的完美结合超低待机功耗WT588F02B-8S在休眠模式下待机电流仅为5μA以下,显著延长了电池供电设备的续航能力。例如,在电子锁、气体检测仪等需长期待机的场景中,用户无需频繁更换电池,降低了维护成本。灵活的
    广州唯创电子 2025-04-02 08:34 149浏览
  • 文/Leon编辑/cc孙聪颖‍步入 2025 年,国家进一步加大促消费、扩内需的政策力度,家电国补政策将持续贯穿全年。这一利好举措,为行业发展注入强劲的增长动力。(详情见:2025:消费提振要靠国补还是“看不见的手”?)但与此同时,也对家电企业在战略规划、产品打造以及市场营销等多个维度,提出了更为严苛的要求。在刚刚落幕的中国家电及消费电子博览会(AWE)上,家电行业的竞争呈现出胶着的态势,各大品牌为在激烈的市场竞争中脱颖而出,纷纷加大产品研发投入,积极推出新产品,试图提升产品附加值与市场竞争力。
    华尔街科技眼 2025-04-01 19:49 210浏览
  • REACH和RoHS欧盟两项重要的环保法规有什么区别?适用范围有哪些?如何办理?REACH和RoHS是欧盟两项重要的环保法规,主要区别如下:一、核心定义与目标RoHS全称为《关于限制在电子电器设备中使用某些有害成分的指令》,旨在限制电子电器产品中的铅(Pb)、汞(Hg)、镉(Cd)、六价铬(Cr6+)、多溴联苯(PBBs)和多溴二苯醚(PBDEs)共6种物质,通过限制特定材料使用保障健康和环境安全REACH全称为《化学品的注册、评估、授权和限制》,覆盖欧盟市场所有化学品(食品和药品除外),通过登
    张工13144450251 2025-03-31 21:18 143浏览
  • 提到“质量”这两个字,我们不会忘记那些奠定基础的大师们:休哈特、戴明、朱兰、克劳士比、费根堡姆、石川馨、田口玄一……正是他们的思想和实践,构筑了现代质量管理的核心体系,也深远影响了无数企业和管理者。今天,就让我们一同致敬这些质量管理的先驱!(最近流行『吉卜力风格』AI插图,我们也来玩玩用『吉卜力风格』重绘质量大师画象)1. 休哈特:统计质量控制的奠基者沃尔特·A·休哈特,美国工程师、统计学家,被誉为“统计质量控制之父”。1924年,他提出世界上第一张控制图,并于1931年出版《产品制造质量的经济
    优思学院 2025-04-01 14:02 145浏览
  • 职场之路并非一帆风顺,从初入职场的新人成长为团队中不可或缺的骨干,背后需要经历一系列内在的蜕变。许多人误以为只需努力工作便能顺利晋升,其实核心在于思维方式的更新。走出舒适区、打破旧有框架,正是让自己与众不同的重要法宝。在这条道路上,你不只需要扎实的技能,更需要敏锐的观察力、不断自省的精神和前瞻的格局。今天,就来聊聊那改变命运的三大思维转变,让你在职场上稳步前行。工作初期,总会遇到各式各样的难题。最初,我们习惯于围绕手头任务来制定计划,专注于眼前的目标。然而,职场的竞争从来不是单打独斗,而是团队协
    优思学院 2025-04-01 17:29 198浏览
  • 探针本身不需要对焦。探针的工作原理是通过接触被测物体表面来传递电信号,其精度和使用效果取决于探针的材质、形状以及与检测设备的匹配度,而非对焦操作。一、探针的工作原理探针是检测设备中的重要部件,常用于电子显微镜、坐标测量机等精密仪器中。其工作原理主要是通过接触被测物体的表面,将接触点的位置信息或电信号传递给检测设备,从而实现对物体表面形貌、尺寸或电性能等参数的测量。在这个过程中,探针的精度和稳定性对测量结果具有至关重要的影响。二、探针的操作要求在使用探针进行测量时,需要确保探针与被测物体表面的良好
    锦正茂科技 2025-04-02 10:41 71浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦