Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. POW_2ND_CONN and BPS_PWR_OUT are disconnected meaning other systems are turned off as well. IG1/2 are 11.
  2. POW_2ND_CONN and BPS_PWR_OUT are connected meaning other systems are turned on. We call this the low voltage (LV) step. IG1/2 are 11.
  3. Current flows through the photocoupler on IG1 meaning IG1/2 is 01. This is called Array. This is where we precharge the array.
  4. Current flows through the photocoupler on IG2 meaning IG1/2 is 10. This is called Motor. This is where we precharge the motor and the car is fully turned on.
  5. Same as 4.
  6. Same as 4.

Software

Controls has a task which reads the ignition switches periodically and assess which state we are in. If it is 11, we are in LV. If it is 01, we are in Array. If it is 10, we are in Motor.PBC = precharge bypass contactor

After a sufficient amount of messages from BPS regarding the BPS Array, HV Plus, and HV Minus contactors are received, a set precharge delay occurs to avoid huge surges of current.

The HV Plus/Minus BPS Contactors tells Controls to close Motor Controller Precharge-Bypass Contactor. The Array BPS Contactor tells Controls to close Array Precharge-Bypass Contactor.

The least significant bit (bit 0) is associated with the Array BPS Contactor, and the bit 1 and 2 are associated with the HV Minus and Plus Contactors. The HV Minus and Plus Contactors are grouped together because Controls requires both to close the Motor Controller PBC. It is important to note that HV Plus and Minus Contactors are two separate contactors that BPS owns. Because Controls logically ands HV Plus and HV Minus Contactors, they acknowledge it as a single entity, which it is not.

000 - All BPS contactors are open

011 - HV Plus/Minus BPS Contactors are open, HV Array Contactor is closed

110 - HV Plus/Minus BPS Contactors is closed, HV Array Contactor is open

111 - All BPS contactors are closed

When we switch to a state, such as Array or Motor, we send a CAN message to BPS on CarCAN to tell them that we are wanting array to be charged. We wait and listen for a message back once they have confirmed that is true. We do this so that we do not use the array or motor in our code until they have been charged.