RS485 Voltage Levels on COMMU Module



  • Hi,

    I want to use the RS485 from the COMMU module.

    But I am wondering why the differential voltage between A and B from RS485 signal is so small (800mV).
    I tried to connect it to a smart meter, but communication with M5Stack Core and COMMU via modbus protocoll isn´t possible.

    Configuration, software and signal see pictures. What´s wrong? I have no more ideas. So I assume, that voltage leves are to low.

    0_1656018747863_134fqe.JPG
    3_1656018851170_K1024_IMG_20220623_200921.JPG 2_1656018851170_K1024_IMG_20220623_200857.JPG 1_1656018851169_K1024_IMG_20220623_200837.JPG 0_1656018851169_K1024_IMG_20220623_200759.JPG
    0_1656018871010_asdf34t34.jpg



  • Hello @RoToR

    when I send something from the M5Stack and measure between A and B (w/o anything else connected) I get an amplitude of about 1.5 V.

    Have you tried with a 120 Ohm resistor at each end?

    Have you tried w/o the ground wire?

    Thanks
    Felix



  • @felmue, thanks for your measurement.

    I don´t understand ...
    3,3V and 5V measured on M5Stack are good.

    With 120 Ohm differential voltage it`s 200mV, so with load even worse.
    Ground wire disconnected, same issue.

    I downloaded the test software to M5Stack and took a separate USB power supply, but the same ...

    It seems, that there is not enough power on SP3485 chip.
    Do I have to enable something?

    I already changed the M5Stack and the COMMU, without success.
    I will cross change again.

    What do you measure without sending a message? I measure 0.57V. Should be much more, when I take a look on the schematic with the assumption, that A/B output is not low-ohmic.

    0_1656064140524_76tu7tif7.JPG

    I just tested a new M5Stack and another COMMU module. Same issue.

    For RS485 communication I took RS485 unit library. Could this be the problem?
    0_1656065322710_234123r4r.JPG

    Now I will compare the schematic from RS485 unit with COMMU module.

    0_1656066061784_32t542tt54.JPG

    It is comparable, should not be the issue.

    Is there a design issue with the COMMU boards? Mine are from October 2011.
    Or are both COMMU modules broken?

    What else could I do?



  • I ordered now at Amazon an external UART/RS485 adapter, which will arrive tomorrow. Will test it on Sunday.

    My conclusion up to now is, that the COMMU is unfortunately not suitable for UIFlow, because today I also wanted to test the CAN Bus, but the CAN library is not usable, because it is only for CA-IS3050G Chip, which has only RX and TX.
    If I would have the time, I would programm it in Arduino, but that´s not the case, so for me the COMMU modul is rubbish and a waste of time.
    It would be really a great module, if it would be supported by UIFlow ...



  • Hello @RoToR

    one difference between the RS485/TTL unit and the COMMU is that the RS485 circuit in the former is powered by 5 V whereas the latter is powered by 3.3 V. (Not sure why M5Stack engineers decided to use 3.3 V in the COMMU module.)

    I've done my measurements with the RS485 board that was included with the LAN module. When I power it with 3.3 V, with 120 Ohm resistor and not sending anything I get about 1.5 V between A and B. When I power it with 5 V, same conditions, I get about 2.5 V between A and B.

    Thanks
    Felix



  • @felmue thanks, I see. They are connected to 3,3V, could be the reason. But I will no more waste my time with this modules. I am testing the other RS485 adapter this weekend and report.
    Hopefully they have the same behavior as yours. These values I expected from the COMMU ...



  • Just a short feedback.
    I tested now the new RS485 to TTL converter.
    It is working well together with the smart meter. Now communication is possible. All voltage levels are much higher.

    0_1656706285334_64164.JPG

    The COMMU module is rubbish! Should not be used for RS485. I lost a couple of ours to fix this issue.

    Now I have the issue to convert the float values from the smart meter into decimal / integer.
    Any idea, how to do this with UIflow? is there a function available?