根据一个项目的需求,有台机器要用到气体传感器进行气体检测,需要设计一款气体传感器模块。
这个模块要实现以下这些功能:
1, 可以同时安装6种不同气体的传感器,也就是可以同时检测6种不同的气体。
2, 要有RS485接口,让气体传感器模块能和其它设备通过RS485连接,完成数据通信。
3, 供电电源是24V。
经过评估和查找资料,很快就确定了设计方案。原理图设计分析和PCB设计效果如下:
一,主控电路的设计。
这里选用STM32F101,主要考虑到这是工业级别的东西,所以尽量用性能比较强,质量过硬的芯片。同时也考虑到软件工程师熟悉的是STM32,不用重新熟悉芯片,软件开发起来简单,周期短。
二,电源电路的设计。
电路的供电是24V,但是电路需要用到的电压是5V和3.3V。5V是给传感器供电,3.3V是给主控电路供电。这里准备用一颗DC-DC芯片先把24V转成5V,再用一颗LDO芯片把5V转成3.3V。
三,传感器电路的设计。
电路需要用到6个不同气体的传感器,接口都是串口,本以为要用到6个串口,但是这些传感器可以通过内部地址识别,所以只需用一个串口就能挂6个传感器。
四,RS485电路的设计。
RS485需要用到串口转换,这里用了一颗
RS485转换芯片把串口转换成RS485。
五,完整原理图设计。
整合以上电路,完成原理图设计,如下图所示。
六,PCB设计。
原理图设计完成后,接下来就是PCB的设计。最后,PCB设计完成,如下图所示。
关键字:RS485接口 STM32
引用地址:
气体传感器模块原理图和PCB设计分析
推荐阅读最新更新时间:2024-11-10 07:45
STM32—驱动HC-SR04超声波测距模块
超声波测距原理 利用HC-SR04超声波测距模块可以实现比较精确的直线测距,其测距原理图如下: HC-SR04的一端发出超声波,接触到反射物后反射,被另一个端口接收到,所以只要知道发射和接收的时间差,就可以根据声波传播的速率算出HC-SR04和反射物直接的距离。 所以实现超声波测距就需要俩个条件: 发射和接收的时间差 超声波传输的速率 HC-SR04工作原理 HC-SR04模块的电气参数如示: HC-SR04模块的实物图如示: 有四个引脚: Vcc:+5V电源供电 Trig:输入触发信号(可以触发测距) Echo:传出信号回响(可以传回时间差) Gnd:接地 用Trig和Echo引脚实现测距的流程: 1.通过T
[单片机]
stm32专题十一:USART(五)USART发送命令解析
通过串口,用电脑发数据给单片机来控制单片机实现相应的功能,能够实现简单的人机交互。 很简单,通过getchar()接收,然后switch...case...来实现不同的功能。值得注意的是,串口发送接收的均为字符。 #include stm32f10x.h #include bsp_led.h #include bsp_usart.h #include stdio.h void delay(uint32_t count); int main(void) { uint8_t ch; USART_config(); LED_GPIO_Config(); printf( 串口发送数据
[单片机]
无线数传技术和产品的电力无线抄表系统解决方案
GPRS/CDMA网络的工业化应用解决了电力系统对智能抄表控制系统的通信需求,相比于传统的专用网络,其覆盖性和成本更加适合于工业应用,本文提出了基于深圳市天地华杰科技有限公司的无线传输模块TD-8700S DTU和控制模块的GPRS/CDMA无线抄表系统实施方案。
该系统的设计考虑到电表和抄表服务器端(数据服务器)的数据通讯要求,电表和抄表服务器端采用有限透明传输模式,即智能控制模块对数据进行有限过滤和分析处理,避免冗余和分辨出指令信息。通讯方式采用通过TD-8700S DTU模块建立通过移动通信网关的无线通信链路,可以进行基于TCP/IP和UDP/IP数据传输。基于控制模块的容错机制和GSM备用通道模式,弥补了由于G
[嵌入式]
STM32 16位IO口操作的一些教训
最近在用TFT屏的时候走啦不少弯路,因为TFT屏都是16位的,所以大部分的都是采用一组IO口对应16个数据位刚好并口传输数据,最近因为IO口紧缺,所以想要改成串口,但是发现串口刷新屏幕太慢所以最后改成8位的并口,但是STM32操作IO口的寄存器是16位的。也就是说用并口的话一起传输数据进去虽然只用8位但是操作还是16位一起操作,虽然有8位没用到但是还是在传输数据进去的时候被一起操作,会把不用的8位的值一起覆盖。 #define DATAOUT(x) GPIOB- ODR=x; //数据输出 如上当调用宏的时候整个B端口一起被操作。 方法1: ODR配置法,可以直接使用 GPIO- ODR = value N;给对应的IO口
[单片机]
STM32 串口DMA方式接收
STM32 是一款基于ARM Cortex-M3内核的32位MCU,主频最高可达72M。最近因为要在车机上集成TPMS功能, 便开始着手STM32的开发工作,STM32F10x系列共有5个串口(USART1~USART5),支持DMA方式通信,DMA方式由于不需要CPU的参与,而是直接由DMA控制器完成串口数据的读写,因而可以很大程度的提高CPU的利用率。在使用STM32串口之前需要做一系列的初始化工作: 1.RCC(复位和时钟控制寄存器)初始化,启用GPIO、DMA、USART时钟。 2.NVIC(嵌套向量中断控制寄存器)初始化,完成各个硬件中断的配置。 3.USART初始话,配置串口,设置DMA通道等。 4.DMA初始化,完
[单片机]
STM32_ SPI主从通信
今天讲解“STM32F103SPI主从通信”,原本计划将这部分内容定在后面(第二阶段)来讲解,满足一位网友的问题“关于两块MCU的SPI通讯”,所以今天特地提前讲解了。 由于昨天讲解的是“SPI读写Flash”,MCU是作为SPI通信中的主机,今天主要讲解SPI通信的从机,我将我测试的主机和从机的代码分别打包供大家下载测试。 每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。 今天的软件工程下载地址(360云盘): 主机:https://yunpan.cn/cPIJguDkjntYI访问密码 7bb6 从机:https://yunpan.cn/cPIJfZxr7D5Sk访问密码 f
[单片机]
STM32 assert_param
在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。 所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参数大于3,则这个assert_param()可以在运行的程序调用到这个函数时报告错误,使程序员可以及时发现错误,而不必等到程序运行结果的错误而大费周折。 这是一种常见的软件技术,可以在调试阶段帮助程序员快速地排除那些明显的错误。 它确实在程序的运行上牺牲了效率(但只
[单片机]