【航顺训练营】室外温湿度气压传感器 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 【航顺训练营】室外温湿度气压传感器

简介:通用型I2C转RS485传感器模块,将温湿度气压传感器的I2C信号变化规范为RS485信号

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2021-03-09 10:51:01
更新时间: 2021-06-26 18:03:24
描述
# 设计扼要 这个工程是~~~~**很简单**的应用,主要用于I2C转RS485,是一个传感器的转换模块, 本案是将温湿度气压传感器的I2C信号数字化输出RS485信号,方便其他仪器集成开发。 # 传感器参数 ### 供电:5-18V ### 输出:RS485 (MOUDBUS协议) | 名称 | 量程 | 精度 | 准确度 | 单位 | | --- | --- | --- | --- | --- | | 温度传感器 | -40~85 | 0.1 | ±0.5 | ℃ | | 湿度传感器 | 0-100 | 0.1 | ±5% | %RH | | 大气压力传感器 | 300-1100 | 1 | ±0.2 | hPa | # 设计过程 ### 1、芯片选择及外围电路 本案作为简单应用,芯片满足有一路I2C、一路UART、有至少1byte的EEPROM即可,我这里芯片选择的是国产的航顺芯片,HK32F030MF4P6,芯片内置晶振,可省略很多外围器件。 ![芯片电路.jpg](//image.lceda.cn/pullimage/6us2lQF2exwzBdhY2C8a0bPDkS8DGSydKCnarjRv.jpeg) ### 2、电源电路部分 由于考虑兼容更多的的系统,电源设计为5-18V供电,考虑到高压降会使得LDO降压芯片过热,这里使用了DC-DC芯片+LDO降压芯片的方式,通过开关电源芯片将输入的VCC转换为5V,再由LDO电源芯片转换为3.3V作为芯片主要的供电,两步降压得到DC3.3V。(实测4.0-18.5V可用)。 \*\*注意:\*\*这里HK7533的VIN部分的电容我省略了,因为我在PCB排布上,是直接从前级5V电压的电容上引入,十分靠近。所以VIN处省略了一个10uF的电容,后期各位若移植的话注意添加上。 ![电源电路.jpg](//image.lceda.cn/pullimage/wU5P8frj1iVF842nQV6kJFYP1fr72qgPoOrGII9Y.jpeg) ### 3、RS485芯片电路 这里拿出来强调的原因是,有些RS485芯片不支持3.3V供电(有些是5V供电),各位若移植,请注意电压的问题。 ![RS485芯片电路.jpg](//image.lceda.cn/pullimage/HUqMWRPrv2QVfqIf24OeSMYUWlYbOz2RDw74UghE.jpeg) ### 4、外壳选用 在淘宝搜索“百叶箱温湿度传感器外壳”就能很快找到和笔者类似的外壳了,根据外壳的内部尺寸来进行PCB的规划。 ### 5、PCB注意点 温湿度气压的传感器位置要尽量靠边,有条件的可以加微小的风扇。传感器要远离内部发热的组件(如:电源芯片、电源模组、降压芯片等)。本案放置在边角。设计了4线(排针排母位置),也可以将板子掰断,用线链接,彻底隔绝PCB导热。 ![传感器位置.jpg](//image.lceda.cn/pullimage/xalbgklgMxTw1ufCWOux5xOZsG7karGvfdK5VoMl.jpeg) # 焊接成品 1、方法多种多样,目前笔者是采用的“铁板烧”方式,先涂抹锡膏,贴上去,然后用“呼呼机”加热。 2、完成了之后的通电检测,先使用万用表检查VCC(5V\3.3V\USB)和GND是否为短路状态,插电前一点要确认好,短路切勿插电。 ![焊接对比.jpg](//image.lceda.cn/pullimage/hKucVSKRu34STfykynxBaqBisRR2BKAKLFbUk7Uh.jpeg) # 软件代码 ### 1、调电保存参数 因为RS485涉及到硬件地址的问题,需要调电保存功能,程序中加入了eeprom的读写,用于在掉电后保存地址的功能。 ``` #include "eeprom.h" uint8_t EEPROM_WriteByte(uint32_t address, uint8_t data_in)//写EEPROM { if(HK32F030M_EE_SIZE <= address) { return 0; } FLASH_Unlock(); EEPROM_EraseByte(address+HK32F030M_EE_BEGIN); EEPROM_ProgramByte(address+HK32F030M_EE_BEGIN, data_in); FLASH_Lock(); if((*(uint8_t *)(address+HK32F030M_EE_BEGIN)) != data_in) { return 0; } return 1; } uint8_t EEPROM_ReadByte(uint32_t address,uint8_t *data_out)//读EEPROM { if(HK32F030M_EE_SIZE <= address) { return 0; } *data_out = (*((uint8_t *)(address + HK32F030M_EE_BEGIN))); return 1; } ``` ### 2、RS485芯片流控问题 RS485芯片需要进行控制输入和输出,是半双工的,码代码时要将GPIO用作输出高低电平来控制。片段代码如下 ``` void RS485_CTRL_TX(void) { GPIOC->BSRR = GPIO_Pin_3; //IO口置为3.3v } void RS485_CTRL_RX(void) { GPIOC->BRR = GPIO_Pin_3; //IO置为0v } ``` # 产品组装 在仓库角落找到一个废弃的百叶箱,进行组装完成,PCB里面绘制的两个脚的焊盘,刚好用来焊接在铜柱上,铜柱再固定在百叶上。如下图: ![装配.jpg](//image.lceda.cn/pullimage/8vKJFU0zFQc90UGocqijJwkUdwg0YP94HRI0dEvP.jpeg) ![完成.jpg](//image.lceda.cn/pullimage/mhI0y00wvRHhTodpcOrjSPf9YSfXkYCn8quutyYo.jpeg) # 成功的喜悦-视频分享
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

航顺芯片设计项目-温湿度气压传感器.mp4

52
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP