打印
[STM32F1]

批量串口数据收集求指导

[复制链接]
1306|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zzqnysafe|  楼主 | 2020-10-17 13:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zzqnysafe 于 2020-10-20 11:27 编辑

如题,请教一下,有没有比较经济的方式实现多个STm32设备串口数据的收集,数量从几个到几百个不等,USART不支持并联,每一路都转485又太贵
上个图 是从看到的视频里截的图

QQ截图20201020112427.png (510.87 KB )

传感器

传感器

QQ截图20201020112439.png (983.53 KB )

恒温箱

恒温箱

使用特权

评论回复
来自 2楼
zzqnysafe|  楼主 | 2020-11-13 13:01 | 只看该作者
今天来结帖 按下图使用即可

QQ截图20201113125908.png (79.54 KB )

QQ截图20201113125908.png

使用特权

评论回复
板凳
lvyunzeng| | 2020-10-17 16:20 | 只看该作者
稳定的工程角度来看必须使用UART转485的芯片或者模块。要是使用廉价经济的方式需要使用二极管三极管搭建。稳定性一致性不好,不建议使用。

使用特权

评论回复
地板
zhengfish| | 2020-10-17 17:05 | 只看该作者
几百个串口?物理距离也很大了吧。想办法串口转网络。

使用特权

评论回复
5
東南博士| | 2020-10-17 20:55 | 只看该作者
感觉这种应用,还是RS485吧!如果搞不定,可以三极管自己搭一个啊!

使用特权

评论回复
6
darklighttt| | 2020-10-17 22:49 | 只看该作者
这种场合,用485确实是个非常好的办法,都走标准的modbus,如果是非标器件和协议,确实是没有办法的。

使用特权

评论回复
7
zchong| | 2020-10-18 09:37 | 只看该作者
转485都嫌贵,恐怕没有更好的办法了

使用特权

评论回复
评论
sjnh 2020-10-22 08:34 回复TA
@zzqnysafe :工装不要太考虑成本,要考虑稳定、准确、操作方便,你多花的钱有可能生产上几天就能给省出来 
zchong 2020-10-20 16:32 回复TA
@zzqnysafe :不对啊,不做产品应该成本更不敏感才对 
zzqnysafe 2020-10-20 11:28 回复TA
我要做个数据采集的工装,不是做产品,所以觉得成本高 
8
airwill| | 2020-10-18 16:50 | 只看该作者
不知道总是数据量多大,  波特率和总线负载

使用特权

评论回复
9
小明的同学| | 2020-10-18 22:14 | 只看该作者
这是要做串口服务器吗

使用特权

评论回复
10
YDCMAN| | 2020-10-19 20:43 | 只看该作者
CAN总线

使用特权

评论回复
11
zzqnysafe|  楼主 | 2020-10-20 11:21 | 只看该作者
zhengfish 发表于 2020-10-17 17:05
几百个串口?物理距离也很大了吧。想办法串口转网络。

从恒温箱到电脑 就一两米

使用特权

评论回复
12
zzqnysafe|  楼主 | 2020-10-20 11:29 | 只看该作者
airwill 发表于 2020-10-18 16:50
不知道总是数据量多大,  波特率和总线负载

波特率9600,数据很少,每帧16个字节

使用特权

评论回复
13
ufbycd| | 2020-10-20 21:37 | 只看该作者
用I2C总线,单个I2C总线可以接127的设备,总线长度一两米没什么问题。

使用特权

评论回复
14
ufbycd| | 2020-10-20 21:49 | 只看该作者
如果硬件已经定型改不了I2C,还有一个方案:
将所有设备的TxD跟RxD并成一路TxD、RxD,但同一时刻只使一个设备上电,这样不断切换设备的上电来进行分时的串口通信; 供电控制方案类似矩阵式键盘,将设备正极作为行、负极作为列,同一时刻只选通单行单列。

使用特权

评论回复
15
airwill| | 2020-10-20 22:35 | 只看该作者
简单地并联一起,  变成一条线,  是不行的

使用特权

评论回复
16
ufbycd| | 2020-10-21 08:49 | 只看该作者
airwill 发表于 2020-10-20 22:35
简单地并联一起,  变成一条线,  是不行的

并联在一起,但同一时刻只有一个设备在供电,这种方案我在实际项目中做过,没有问题。
我的项目是几十个设备并一起。
楼主这个项目可以将设备分成多组,host端用多个串口来收集,这样就可以同时收集几个设备数据,快不少。

使用特权

评论回复
17
airwill| | 2020-10-21 14:53 | 只看该作者
ufbycd 发表于 2020-10-21 08:49
并联在一起,但同一时刻只有一个设备在供电,这种方案我在实际项目中做过,没有问题。
我的项目是几十个 ...

用 "线与" 方式,  多个接口连在一起的可行的,  也是比较便宜的方案

使用特权

评论回复
18
zzqnysafe|  楼主 | 2020-10-22 08:10 | 只看该作者
ufbycd 发表于 2020-10-20 21:49
如果硬件已经定型改不了I2C,还有一个方案:
将所有设备的TxD跟RxD并成一路TxD、RxD,但同一时刻只使一个设 ...

好的 我做个板试一试 这样比较好理解

使用特权

评论回复
19
zzqnysafe|  楼主 | 2020-10-22 08:11 | 只看该作者
netjob 发表于 2020-10-21 11:51
不知可以不可以, 我觉得可以试试。 用同轴线带屏蔽的  把 主机(PC)的串口 TX/RX  并联到N个机器上面。    ...

有协议 但是USART不支持并联 可一起收,但是发送同一时间应该只有一个可以通,多了就不行了

使用特权

评论回复
20
ayb_ice| | 2020-10-22 09:19 | 只看该作者
CAN是最佳选择

使用特权

评论回复
21
kingkits| | 2020-10-23 11:28 | 只看该作者
可以考虑使用继电器隔离,每次只打开一个通道

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

80

帖子

0

粉丝