HC-05模块发送数据问题主控+从属

问题描述

我一直在与西门子PLC一起使用RS232发送数据。通信本身运行良好,如果将PLC连接到PC(通过串行通讯端口),则可以对其进行监视。

现在,我想使这种通信成为无线。我了解了HC-05模块并决定购买其中一些。我用arduino设置了其中的2个(一个作为主设备,一个作为从设备,都成对使用UART 9600,1,0,这与我的PLC相同)。

我建立了以下联系:

PC Connection (with a serial comm adapter)

PLC Connection

假设我要发送此字符串:

<SoH>1RZ<CR>

如果我检查串行监视器,就会发现奇怪的东西。喜欢:

@#NULL©#NUL

奇怪的是,如果我只是卸下蓝牙模块,然后将PLC的Rx和Tx分别连接到PC的Tx和Rx,则数据可以完美地发送。所以我知道我在PLC / PC端进行了所有整理。

有人经过过吗,或者有人建议我可以尝试吗?

解决方法

RS232通常使用±12V。在-3V和-15V之间的负电压为逻辑高,在+ 3V至+ 15V的正电压为逻辑低。

另一方面,您的蓝牙模块使用TTL逻辑。电压范围为0-5V。 0-0.8V为低,2-5V为高。

所以

a)您无法创建必要的电压电平

b)您有将5V硬件连接到±12V的风险,从而有破坏的危险。

c)您可能会遇到问题,因为RS232还具有用于流量控制的可选机制。因此,Rx和Tx可能还不够。

对于PLC端,您至少需要一个TTL-> RS232电平转换器,对于PC,您至少需要一个USB到TTL串行适配器