Problems with RS232 serial port communications
Problems communicating with GUI
GUI does not find a Lithiumate BMS
These are some possible reasons that the GUI does not find a Lithiumate BMS:
Wrong baud rate
To communicate with the GUI application, the RS232 rate of the BMS controller must be 57600.
If you change the RS232 rate, the GUI application will stop talking to the BMS controller, but will still talk to a terminal application.
To fix it:
- Quit the GUI application
- Start a terminal application (such as PuTTY)
- Set the terminal application for the baud rate you changed the BMS controller to
- Through the terminal application, change the baud rate to 57600 : H / 4 / 9 / 6 / 6 / Enter
- Cycle the BMS power off and on, or reset the BMS (H / 6 / 7)
- Quit the terminal application
- Start the GUI application
Problems communicating with a terminal app (PuTTY)
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
The terminal application shows nothing
- Check that the RS232 connector is fully seated
- 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
- Possibly, the supply is not flat DC; for example, you may be using a 12 V charger (pulsating voltage) instead of a 12 V supply (flat voltage)
- Check that the 5 V LED on the BMS controller is on
If not, check the power
- If it is lit, you have a bad crimp on pin 1, and the connection intermittent. See discussion below.
- Check the 5 V supply: measure between pin 7 and pin 1 of the white control connector
- If less than 5 V, either the 12 V supply is too low, or there is a load across the 5 V supply that is making it sag
- If pin 7 of the white control connector is used, disconnect whatever is connected to it and see if the 5 V supply comes back up
- If pin 7 of the white control connector is not used, and the 12 V supply (measured directly across pins 2 and 1 of the white control connector) is fine, then the BMS controller is damaged
- 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
- RS232 connector on BMS controller
No communications, yet 5 V LED is on
Most likely, you have a bad crimp on pin 1, and the connection intermittent. If you pull on the wire on pin 1, I bet you it will pull out.
If pin 1 is not making contact, the ground current is going through pin 9 instead, which places some resistance in series with it. Because of that resistance, inside the BMS master the 12 V supply drops down to something like 3 V; that's enough to light an LED, but not enough to power the BMS.
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.
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 (pulsating voltage) instead of a 12 V supply (flat voltage)
The terminal application (PuTTY) shows garbage
The terminal application may be set for the wrong baud rate.
- Make sure the speed is set correctly in PuTTY, to match the speed for the BMS controller
- Rev 1.xx software: 19200 baud
- Rev 2.xx software: 57600 baud by default at the factory, but it could have been changed to some other speed in the field
The BMS master may have forgotten the baud rate for the RS-232 or USB port:
- In PuTTY, select each of these baud rates, one at a time, until one returns a readable menu: 9600, 14400, 19200, 28800, 38400, 57600, 115200
- Once you have a menu, press H 2 9 1 to get the Baud rate menu
- Press 7 for 115200 bps, which will work with the GUI
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
The workaround we used most effectively was to put 1 kOhm resistors in series with the 3 lines in the RS232 connector: GND, RX and TX. You'll need to make yourself a little adapter with a male DE9 and and a female DE9, and connect pins 2, 3 and 5 of the two connectors using 1 kOhm resistors.
The terminal application shows a string of hex data
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.
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.
Changes don't take effect
When changing a parameter, it stays the same.
- The GUI does not allow you to click "Write to BMS"
- The BMS controller has been password protected (the "Lock" icon in the "Configuration" screen is closed)
- Find out the password
- Go to the "Configuration" screen
- Click the "Lock" icon; a small dialog opens
- Enter the password; click "OK"
- The GUI does allow you to click "Write to BMS", but then the values revert to the previously saved ones
- BMS rev 2.01 or older:
- Upgrade the BMS to rev 2.02 or higher
- BMS rev 2.90 or newer:
- Upgrade the GUI to the latest version
- The Windows operating system takes too long to send data, and the BMS times out
- Try changing a value using the command line and see if that works
- Go to the "Test/Terminal' screen
- Click on the large text area on the left
- Press H 2 to go to the set-up menu
- Change a parameter
- Go back to the regular "Configuration" screen
- Click "Read from BMS"
- See if the parameter changed
- If the command line allows to change a parameter, then:
- You can use that as a workaround
- Or, you can use the GUI on an older computer (not Windows 10) that doesn't suffer from that delay
- Or, you can try restarting the Windows 10 computer and have no other application running, other than the GUI
- Or, if the BMS firmware is older than 2.02 (very unlikely), upgrade to at least rev 2.02 (upgrading from a version greater than 2.02 won't help)
Command line (PuTTY)
- The BMS controller has been password protected
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