开源基于涂鸦模组和沁恒RISC

发布时间:2025-01-12 11:25

了解电路的基本组成,如电源、负载和开关 #生活知识# #生活技能# #基础电工#

文章目录 前言一、项目简介二、硬件介绍1.硬件原理图1.1核心板1.2涂鸦模组1.3供电电路设计1.4外设电路1.4总结 二、涂鸦模块通信协议使用2.1涂鸦模组协议移植2.2移植步骤 三、涂鸦的软件数据接口三、实现的功能1实时上传温湿度信息及光照信息系统OLED显示温湿度及光照 四、硬件文件及代码开源

前言

         感谢涂鸦提供的模组和立创EDA提供的优惠劵,很nice的一次活动,第一次涂鸦活动只白嫖了,打好了板子没有真正去做,这次使用沁恒的RISC-V架构的32位MCU制作,完美结尾,在这里可以阐述一下开发流程。
         还要感谢逐飞科技为智能车提供的驱动库。

一、项目简介

         活动主题是Diy物联网温湿度检测装置。因为DHT11的精度较低,所以使用SHT30作为温湿度传感器,再加上立创白嫖(#.#)不要太香。(DHT11使用单总线通信协议,SHT30使用IIC通信协议),这里感谢逐飞做的驱动库,IIC驱动稍微移植一下即可使用。
         传输方案使用的是涂鸦的MCU方案,涂鸦的这款WBR3模组可以作为一个MCU使用,有将近10个IO口,还有模拟输入,我想学习智能车要使用的这款MCU,所以选择了使用MCU方案。编译器采用MounRiver Studio。(这里吹一波RTT-Studio,因为Art-Pi的缘故,刚刚学会了RTT-stuido之后来使用MounRiver Studio,两个都是基于GCC做得,基本上毫无差别,不过RTT Studio的串口助手和命令行是真心好用)。
         系统实现的功能包括:温湿度实时上传、光敏电阻监测,板载OLED显示,涂鸦手机APP显示。

二、硬件介绍

在这里插入图片描述

1.硬件原理图

         这可以算一IOT的小项目,所以打算将它开源出来,PCB工程和代码我都会贴出来滴。
硬件原理图

         原理图也挺简单的,大概就包括以下几部分

1.1核心板

         左上角是个核心板,可以参考逐飞的核心板图片(淘宝一搜就有滴),这里我自己参考逐飞的原理图自己批量做了很多核心板(仅自己使用,非商业用途)。核心板包括下载电路和DUBUG串口还有USB供电(方便调试)。在这个项目里就负责MCU的作用,核心板的下载器上带有串口一的debug接口,所以很方便就能进行调试。
         串口在调试的时候有个BUG,开始的时候将MCU和模组焊接好之后,移植好通信协议发现无法通信,MCU的串口接收中断一直在接收,一直卡在中断中里。模组也用的是串口一,然后问题出现了(使用串口1和模组无法通信,和MCU也无法正常通信),这里将核心板和MCU断开,用USB-TLL插上核心板的串口1进行测试,才想起来,三个外设共用一个串口。系统上电后,模组会发心跳包到MCU,然后MCU就一直接收串口信息,一直处于中断中,无法验证通信协议,所以只能借助USB-TTL进行 涂鸦协议的测试。
沁恒核心板

1.2涂鸦模组

         在画PCB的时候,参考涂鸦官方的手册进行了模组外围电路的绘制,这里要注意一点,选择电源的时候一定要考虑模组的功耗,我记得手册里WBR3的最高功耗可以高到500MA还是300MA,所以电源特别是LDO的选型一定要注意。目前使用AMS1117-3.3最大输出电流800MA,完全满足系统要求。然后就是外设该加的去耦电容一定要加,可能因为这个去耦电容就让外设无法工作(以前亲测,CH340缺少一个0.1uf的去耦电容让下载电路无法工作)。
WBR3模组

1.3供电电路设计

         电源采用USB供电的方式,因为核心板自带串口,所以底板USB无需再设计串口电路,直接使用6P-Type-c接口,供电,后跟了一个6脚带自锁的开关作为电源控制接500MA自恢复保险丝作为电路保险器件,防止因为短路烧坏MCU和模组。
         因为模组供电是3.3V,所以必须使用降压IC降压,成本和复杂度肯定首选LDO,这里采用AMS1117-3.3V ,这个是我最经常使用的LDO(一方面是便宜)另一方面还是便宜嘿嘿(搞硬件,毕竟要涉及成本呀)。
LDO电路

1.4外设电路

         外设部分还是相对简单滴,温湿度和光敏电阻。
         最重要的就是本次温湿度传感器SHT30,DFN-8的封装是真的难焊,不过幸好我提前在PCB画好之后将焊盘全部拉长了十几mil,然后哈哈哈哈(直接上助焊剂,然后上焊锡烙铁烫一下,吸锡带吸走结束)焊的真心漂亮。
SHT30
         光敏电阻就是串了一个10K,并了一个10K然后接入了ADC,但是GL系列光敏电阻怎么将电压值转到Lux 我是真没搜到,这里还是粗略的显示个大概。

1.4总结

         硬件一定要先搞电源,硬件一定要先搞电源,硬件一定要先搞电源,然后最好有人帮你检查原理图。
         我就因为原理图的时钟和数据引脚标反了,然后IIC通信折腾了3天,一直以为是时序问题,然后第四天看原理图才发现这个问题。

二、涂鸦模块通信协议使用

2.1涂鸦模组协议移植

         *涂鸦模块的通信协议已经封装好了,只需要将这些文件导入工程中,然后里面有一些需要调用的函数,编译一下就知道啦,这个必须要赞,涂鸦将需要调用的函数都写了中文注释没有注释掉,然后你编译就会报错啦。调用之后注释掉中文即可。
涂鸦协议移植

2.2移植步骤 这个是涂鸦模组初始化的函数,必须在初始化的时候调用它。
涂鸦初始化我寻思这个函数应该是发送心跳包之类的,必须在主循环中不断执行,且记不要加条件判断,否则可能造成设备掉线,云端无法接受。
涂鸦模组服务函数配置串口中断,这里需要将串口的接收中断打开,然后在接收中断中调用uart_receive_input()这个函数,并将串口接收到的值传递给uart_receive_input的参数,这是最重要的一步,也是和MCU最相关的一步。
配置串口中断到这里就需要改设备号啦,涂鸦会给每个设备分配独立的设备号,请在protocol.h中进行修改,设备号在涂鸦平台的设备管理中。
涂鸦设备号修改

三、涂鸦的软件数据接口

涂鸦将所有的API函数都定义在mcu_api.c中,mcu_dp_value_update();这个函数就是给涂鸦平台上传数据的关键函数,第一个参数是dp号和 设备定义有关,需要看设备管理平台。 第二个参数是要上传的数值。
涂鸦上传数据的API

三、实现的功能

1实时上传温湿度信息及光照信息

这里截图是之前的,没开启lux的上传函数。
在这里插入图片描述

系统OLED显示温湿度及光照

板子上有好多油,没有洗板水细(哪位宝贝能赞助哈)。
在这里插入图片描述

四、硬件文件及代码开源

硬件链接:https://oshwhub.com/kexie/ji-yugui-di-wen-shi-du-jian-ce
代码链接:https://github.com/l874818045/Lele-learning

网址:开源基于涂鸦模组和沁恒RISC https://www.yuejiaxmz.com/news/view/697810

相关内容

墙面涂鸦简单和墙面涂鸦用什么材料
涂鸦 IoT 开发平台产品开发使用教程
凉爽与省电兼得,涂鸦家庭能源管理解决方案开启全新节能模式
涂鸦智慧能源亮相AWE 2023,掀起多行业绿色智能“焕新”潮
涂鸦智能
涂鸦智能亮相CES 2025,以AI技术开启智慧未来新入口
涂鸦智能IoT技术助力开发者打造智慧生活方式
集装箱涂鸦彩绘
【资讯】涂鸦智能亮相CES 2025,以AI技术开启智慧未来新入口
龙升能源与涂鸦智能达成合作,以“IoT+光伏”构建阳台光伏新生态

随便看看