This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TIDM-TMS570BMS: Cells not balancing on GUI using microcontroller set up.

Part Number: TIDM-TMS570BMS
Other Parts Discussed in Thread: TMS570LS0432

Tool/software: Code Composer Studio

Hello,

I was able to open the bq GUI with only the EM1402 and then with the EM1402 connected alongside the TMS570 board. I programmed the example code from the TIDM filesheet, flashed it onto the board without any debug errors and was able to get a reading of the cells on the GUI. However, when trying to balance the cells nothing changes.



Am I supposed to make any changes to the example code from the TIDM?

Sincerely, 

Reynier Serpa

  • Hello Serpa,

    The TIDM SW works if the boards are connected correctly, and the battery cells have been charged to some level. The NHET emulated UART is used for PC to talk with TMS570 board, and the linsci is used for TMS570 to communicated with EM1402 board. I remember you have modified the TMS570LS0432 board to use NHET emulated UART:

    1. Remove R8, R9
    2. Add wires for J4-1/2 to FTDI chip

    Can you please check if your NHET emulated UART work? and make sure the LINSCI work.
    1. NHET emulated UART: to display a text on TeraTerm terminal
    2. LINSCI: read one ID BQ455 device.
  • Actually when we added the code you sent us to display the text on the TeraTerm terminal we're still getting the same problem we did, however the GUI opens and polls correctly. We are able to get text to print on the CCS console using printf() and the HetUART1PutText function but we have some confusing about the example code. It seems like we are getting those random characters because the code modifies the "Send Data using Polling Mode" by shifting the bit as shown in the example code:

    {
    unsigned int Tmp = Data;

    Tmp <<= 1; // Shift in start bit (0)
    Tmp |= 0x00000200; // Add stop bit (1)
    while(hetRAM1->Instruction[2].Data != 0);
    hetRAM1->Instruction[4].Data = Tmp << 7; // Load TX buffer
    hetRAM1->Instruction[2].Data = 10 << 7; // Load bit count
    }

    we have tried modifying it in order to get the text on TeraTerm terminal but nothing seems to work. We suspect the NHET emulated UART is working because the GUI opens its just the data is being modified.

    Also how would we go about testing the LINSCI as you said?

  • Hello Serpa,

    Just want to make sure that you have the same HW setup as in the picture:

    SPICS3 is used to wakeup the BQ part.

    You can read the device ID using the build-in function: readReg(..). This function call scilin receive function to get data BQ part:

    nRead = ReadReg(nDev_ID, 10, &wTemp, 1, 0); 

  • Yes we are using the connections described in the picture 

    Only the ones circled in red are connected as we have read some other forum posts that say this is the basic connection in order for cell balancing to work while the J6 connection on the table (which is really J2 on my board) is optional.

  • For the active balancing to be enabled do we need to have an external way to charge/discharge a specific cell in the stack or will the balancing work as is connected in the TIDM example. I noticed in the TIDM example project that cell 14 was being charged with 3.5A which led to balancing waveforms in the GUI. Perhaps I've been misunderstanding but will the balancing only occur if I'm manually charging/discharging a cell in the stack?

    Sincerely,
    Reynier
  • Hi Reynier,

    Can you do another test with J6 signals connected?