Problems with RS232 serial port communications
Contents
Problems communicating
Unable to open COM port
The terminal application doesn't open the COM port (Unable to communicate with USB/RS232 adapter, if applicable)
- Make sure the correct COM port is selected in the terminal application
- Make sure the adapter (if used) is plugged into the computer
Blank screen
The terminal application shows nothing
- Check that the BMS is powered through pin 3 or 4 of the Control connector (not pin 2)
- Check pins 1 and 9 are connected to the negative of the 12V supply
- With a voltmeter, measure the voltage between pins 2 and 1 of the control connector. It should be 12V
- Check that the 5 V LED on the BMS controller is on
If not, check the power
- If you connected to the BMS controller while it was already powered:
- In revs 0.93 and higher, wait a few seconds (up to 16 seconds), for the Home menu to refresh automatically, or
- Press the Escape key, to refresh immediately, or
- Cycle the power to the BMS controller
- Check that the RS232 cable is plugged into the BMS controller
- Make sure the flow control is set for "None"
- Try restarting the terminal application
- Make sure the correct COM port is selected
- For a direct connection to a Mac, you may need a null-modem adapter (a null modem is not needed for a PC)
- Check the communication through looping:
- Disconnect the RS232 connector from the BMS controller
- Use a paper clip or screwdriver to short across pins 2 and 3 of the cable to the computer
- Press a key on the computer's keyboard, and check that you see that character echoed on the terminal window
- If not, the problem is in your computer or RS232 adapter
- If you made your own RS232 cable, check the pin-out:
- 2 TXD Out RS232 serial data
- 3 RXD In RS232 serial data
- 5 GND Gnd Control common
- Check the RS232 voltages:
- Disconnect the RS232 connector from the BMS controller and measure the voltages the pins, with the black probe on pin 5:
- RS232 connector to the computer
- Red meter probe on pin 2: 0 V
If 7 V, pins 2 and 3 are swapped
Red meter probe on pin 3: ~-7 V
- If 0 V, not connected to the computer serial port
- Red meter probe on pin 2: 0 V
- RS232 connector on BMS controller
Red meter probe on pin 2: ~-10 V
- If not there, the BMS controller is off or faulty
- If ~ +10 V: the BMS controller software was erased: it needs to be reprogrammed
- Red meter probe on pin 3: 0 V
Shows home menu, won't take input
The terminal application displays the normal home menu (refreshed every 16 seconds), but then doesn't respond to any key press.
Either there's a loose connection on the RS232 RX line, or your terminal is hung up. No need to restart the BMS controller: it is running fine.
- The RS-232 cable (or the DE-9 end of the RS232 to USB dongle) is not fully plugged in
- Make sure the connectors are all the way in
- The terminal application is hung
- Restart the terminal application
- The RS232 to USB dongle is hung
- Unplug the dongle from the USB port, wait plug it back in, restart the terminal application
- There is too much electrical noise (the problem start occurring when a load, such as a motor controller or a charger, is turned on)
- Reconsider carefully the grounding of the BMS controller, and note any ground loop between the BMS controller and the computer that is running the terminal application (for example, use a laptop that is not plugged into the wall, and has no other connections other than to the BMS controller)
"D'de loves Ann"
The terminal application shows "D'de loves Ann", and nothing else.
- The supply is not DC; for example, you may be using a 12 V charger instead of a 12 V supply
The BMS controller is programmed with the test code. It needs to be programmed
Continuous line feeds
The terminal application shows a cursor starting from the top left and moving down to the bottom left, and nothing else.
- The supply is not DC; for example, you may be using a 12 V charger instead of a 12 V supply
Garbled data
The terminal application shows garbage
- Make sure the speed is set for 19200 baud in the terminal application
Garbled data in the presence of noise
The terminal application works normally until a source of EMI (charger, motor driver) comes on; then, it shows garbage.
The RS232 link is not balanced (unlike the CAN bus) so it has poor noise immunity. Therefore, it is not intended for continuous use in the system, but just for initial set-up and troubleshooting.
Having said that, if you do try to use the RS232 as a permanent communication link in your application, then:
- Go only short distances
- Go to a laptop (not grounded) not to a grounded desktop computer (note that the laptop charger may ground the laptop)
- Use a shielded RS232 cable
- Let the ground in the RS232 cable (between the computer and the BMS controller) be the only ground connection
- Do not use just 2 wires (RX and TX) and use the local grounds (one at the BMS controller, one at the computer) as the return paths
Hex data
The terminal application shows a string of hex data
Turn off the RS232 dump mode: [Instructions]
Reverts to previous menu
When making a menu selection (by pressing a digit) the terminal application reverts to the previous menu.
- Make sure the terminal application is in VT-100 mode.
USB hangs-up
There is a bug in the Windows drivers that cause the USB port to hang up in the presence of electrical noise. The only way to restore communications is to unplug the USB connector from the computer, and reconnect it. This is a Windows issue, and there is little that we can do on our end.
One trick we have used is to put 3 resistors (1 kOhm each) in series with the 3 RS 232 lines: Gnd, RX and TX. It keeps the USB port from hanging up.
Problems programming
Changes don't take effect
When changing a parameter, it stays the same.
- The BMS controller has been password protected
- Find out the password
Enter it: [Instructions]
Garbled screen in the Test menu only
There was a batch of badly programmed BMS controllers, between S/N F650 and F700. We have reprogrammed most of them, but there are still a few stragglers: 655-658; 660-665; 668; 670; 681; 684; 691
