FSGP 2018
Car | MS XII |
---|---|
Class | Cruiser |
Placement | 4 |
Awards | Mack Truck Award |
FSGP 2018 saw us successfully race our first Cruiser class vehicle, and become the second Canadian Multi-Occupant-Vehicle compete at FSGP.
We also became the first team to ever hit the first cone at FSGP during the slalom, which resulted in our driver (Robin Pearce) being awarded the Mack Truck Award.
Race Crew
Name | |
---|---|
1 | Aaron Lam |
2 | Adrian Au |
3 | Bonnie Yu |
4 | Carmen Hyunh |
5 | Clarke Vandenhoven |
6 | Devon Copeland |
7 | Dulasi Vasudevan |
8 | Eric Chiang |
9 | Matt Suski |
10 | Micah Bai |
11 | Michael Lin |
12 | Michael Shiozaki |
13 | Minghao Ji |
14 | Queenie Wang |
15 | Roberto Sanchez Enkerlin |
16 | Robin Pearce |
17 | Saif Hafeez |
18 | Shalin Patel |
19 | Tak Alguire |
20 | Titus Chow |
Summary
We had a pretty rough time at FSGP, due to a lot of finishing touches and testing that had been deferred.
Unfortunately, we also barely lost out in FSGP to App State in Cruiser Class, which would've put us in 3rd place.
July 6: Scrutineering Day 1
After a brief meeting with the event organizers, we began to set up workbenches for the Electrical, Mechanical, and Ops teams. The main goal for the first day was to prepare the car for scrutineering the next morning. From an electrical perspective, there was a lot of wiring and harnessing that still needed to be completed. In addition, this would have been the first time we performed a full systems-test. At the end of the day, the team decided that we needed to have a night shift, where people would continue working till 6:00 AM, and the morning shift will take over from there.
We ended up accomplishing the following:
- Wired up horn and strobe light
- Tested and fixed problems with lights firmware desynching states, due to an issue with the way CAN messages were being processed
- Finished all harnessing to ensure that regulations are met
July 7: Scrutineering Day 2
We had all of our scrutineering slots booked for this date. The problems that we had to fix are summarized below
Electrical Scrutineering
- We needed fuses on the high voltage inputs of pre-charge
- The AFEs have a LED on the input powered through VTOP from the cells, which was deemed to be drawing too much current. The fix was to increase the resistor value.
BPS Scrutineering
We found out that our current trip point on the BMS was much lower than expected. Further investigation showed that this was caused by the inputs exceeding the LTC 2484 ADC's valid input range (since the ADC did +/- 0.5 Vref). The fix for this was to temporarily limit our current to +/- 100 A instead of 130 A.
After passing scrutineering, we sealed the battery using fishing line, although for some reason we were never given a seal for our battery box. We had told the ASC officials about this, but it seemed as if it wasn't a big deal.
July 8: Scrutineering Day 3
After implementing all the fixes and power up the car, we soon discovered that none of our AFEs were communicating over isoSPI. There were no clear causes as to why this could've happened, with theories ranging from a bad connection somewhere between boards to ESD damages to all the AFEs. After a few hours of debugging, the problem was root caused to the LED resistors that were supposed to be changed the previous day. It turned out that instead of changing the LED resistors, we changed the series resistor going into the regulator, which was significantly limiting the amount of current that was being provided to the regulator. This was an easy fix, and the team was able to complete BPS scrutineering.
Because of problems experienced with the flex cable connecting the Raspberry Pi and our backup camera, we decided to buy one at Walmart instead to pass Lights and Vision scrutineering. This ended up being pretty decent, and the team ran the rest of FSGP and ASC with this solution.
During the drive to scrutineering, we discovered that our left motor was not making it's usual clunking noises, and that the car felt a lot slower to accelerate. This was soon root caused to a faulty hall effect sensor in the left motor. Luckily, we had both the parts on hand and the right person to go to for help with the NGM motors. Sam Lenius (a Minnesota alumni, and owner of the company that makes the Photon MPPTs, Dilithium Power Systems) was a VIP guest of the event, and had extensive experience with these motors. With his help, we were quick to take apart our old motor and wire up new hall sensors using a VGA cable. We then added GE Silicone II to the connection near the motor to protect the sensors and wires. With the silicone curing and not much time before the next day, we hoped for the best that everything will work in the morning.
July 9: Scrutineering Day 4
With both of our motors now working, we proceeded to dynamics scrutineering. We passed the Figured-8 and Slalom with ease, but had a BPS fault when our kill switch decided to activate it self for no apparent reason while driving. When we saw this during testing back in Waterloo, it was root caused to EMI from the motors coupling onto the loop and triggering the firmware into thinking that the kill switch was hit. We thought it was fixed with a RC filter and longer debouncing in firmware, but clearly it wasn't.
The fix for this involved soldering two op-amps to a prototype board. One op-amp was used as a buffer to generate a low impedance ~ 1 V reference. This reference was ran in a twisted pair with the signal wire to the two kill switches in the front of car and then back, where it was connected to the other op-amp operating in open loop configuration. This circuit allowed any common mode noise to be rejected by the op amp. This was tested and was reliable to complete the entire competition without any further kill switch problems. At the end of the day however, as we were putting everything back into the car and preparing to squeeze in a brakes test before the track closed, the car would repeatedly fault and not turn on the high voltage systems. It seemed to improve after re-crimping a lot of the connectors in the battery box, namely the isoSPI connections between the boxes and inside the boxes, but we ran out of time as the sun set. Because FSGP would be running the next morning, we would no longer have access to the track for dynamics scrutineering during the day.
We wrapped up relatively early that night with the goal for an early start.
July 10: FSGP Day 1
Despite the goal of a 5:00 AM start at the track, most people did not arrive till 7 or 8 AM. The main goals for the day were to add filtering to our center console buttons with hopes of fixing the false triggering on that, and also to re-harness a lot of the connections in the front enclosure and inside the Power Junction Box.
With all the fixes implemented, we attempted to drive around only to find that the center console fix did not work as expected. The quick fix for this was to revert to using the control stalk as the input for the drivers, as we did for unveiling. This worked because instead of relying on IO expanders, the steering stalk mostly used ADCs to read various resistances creating different voltage dividers. This meant that instead of a small threshold of going between a logic 0 or 1, there was now a much larger margin for noise on the signal without affecting the value. This allowed us to proceed to dynamics scrutineering, where we were able to pass slalom once again but couldn't quite pass brakes test no matter what we tried. We also got a few faults while driving around the track, and this eventually stopped us from doing any more tests.
The faults were later root caused to have been caused by EMI from our CB radios, which were mounted inside the car and transmitting at 4 W around 27 MHz. By moving the antenna outside the vehicle, we were able to drive around the parking lot for an hour or two without any problems.
FSGP Day 2: July 11
Dynamics scrutineering started early today, as the goal was to pass before FSGP started at 10:00 am. This gave us another hour or two to pass brakes test, but even with the additional weight and modified tire pressures, we were still above the required time. We also had more faults with our driver control system due to the poor performance of I2C under radiated noise. For some reason, these faults occurred much more around a certain corner or two around the track that were directly under power lines or cell towers. We suspect that these source of noise may have coupled onto I2C and caused it to fault the entire car.
Despite not passing brakes test, we were allowed to provisionally compete in FSGP. This was a shock to the team and left everyone scrambling to get the car ready. Because the firmware in the car did not have hazard lights or the horn mapped to anything on the control stalk, we had to improvise. We wired up the horn button with a standard automotive relay onto a spare 12 V Ni-MH aux battery, and the hazard lights to one of the cruise control switches on the stalk.
During FSGP, the car had two main problems. One was a "slowly dying" throttle, where we would slowly lose power as the day went on. This was later root caused to poor cooling in the motor controllers. For some unknown reason, the internal fans on the motor controllers were not turning even though the controller itself was limiting output power. We added vents to the back of the car and removed the charge port door for extra cooling, which seemed to have helped a bit. The second problem we faced was losing throttle rapidly for no apparent reason to the driver. This was most likely also caused by the poor noise immunity performance of I2C in driver controls. The temporary solution for this was for the driver to restart the car every time it happened, and it seemed to have worked for most of the day. Our motors once again damaged themselves somehow and we were forced to tow the car back to replace the rotor after the driver heard loud clunking noises.
We did a lot more brake test runs later in the evening, and we were so close to passing at times but not quite. In the end, they allowed us to provisionally race the next day. The goal for the team that night was to figure out cooling and make sure that the solar array can power the car without any problems.
July 12: FSGP Day 3
There was a hectic start to the day when we realized that none of the cooling fixes were completed in the morning, and we scrambled to install fans to the Front Enclosure, Dashboard to cool the drivers, and to each motor controller to prevent them from overheating.
In the end, we completed 73 laps with intermittent throttle issues throughout the day. This would not be fixed till Day 2 of ASC when we implemented firmware changes to driver controls and recalibrated the motor controllers by running PHASORSENSE.
Somehow in the last few minutes of FSGP, App State managed to creep by us on the scoreboard, resulting in us picking up 4th place.
It was pretty tense after time was up, as the team knew that we hadn't completed enough laps to properly qualify for ASC. However, there was a chance that we could provisionally qualify, but the organizers wouldn't reach a decision until 5:00 pm. The problem was, the team needed to leave before then and start driver down to tomorrow's display stage location. We waited until all the other teams had left, and then went to the ASC organizers to see if they had reached a decision at around 4:00 pm, since we had other team members driving down (and flying in), and so we needed to let them know what our situation was. They didn't budge.
We heard that PrISUm wasn't moving on to ASC 2018, and that left the team really worried. We were in a similar position to them, not having completed enough laps, and so there was a lot of suspense as to whether or not we would be able to make it. An email was sent to the solar@uwmidsun.com email account during dinner, and that's when Minghao and Tak announced that we had provisionally qualified for ASC!