What happened at SEM 2018 (part 4)

We had shipped our car about 2 weeks before and had stayed up a bit late the night before doing some last-minute stress tests on our final motor controller. These tests were done using the Last Revsort “box” testbench. (see the previous post here, describing the year of work leading up to this year’s competition). Some of us had just finished taking our final exam for a sophomore ELEC class. We got on a plane and were on our way to competition.

Setting up camp

Our first problem (of many, many to come…) came when we realized that the campsite for us was said to close before we would arrive. Waiting for the Uber to arrive at Rice, Gigi was making a series of calls trying to sort this out. Luckily, we didn’t have to camp out on the street with the rest of the San Francisco homeless that night, and SEM officials made a “special exception” to allow us to arrive late at the campsite.

After a 4 hour flight and about an hour drive to the Sonoma Raceway, we set up camp during the night. For some reason, a lot of the guys did not know how to pitch a tent, and Gigi had to go around and help everyone set up in the dark, cold night. I think we might’ve woken up our neighbors too.

The nights were much colder than we thought they would be. The cheap sleeping bag I had bought at Walmart wasn’t very thick, but I was able to manage. Mau brought an extra blanket and a pillow and he was the envy of the team.

As sunrise lit up the tent the next morning, our ears were also met by a strange sound. We thought it was people cheering. Could it be a car race? This early in the morning? Were people just this pumped for the first day at competition? Was there a team-bonding event we weren’t invited to? What was going on? Upon stepping out of the tent, we found out it was goats (or sheep, I don’t know the difference). There was a herder up on a hill above our campground herding a group of sheep and the sheep where moaning. What a wonderful way to start the day. The fresh morning air woke us up and we woke up with a great feeling to start the day. When we worked in the garage in the evenings, the security guards would kick us out of our workstation (honestly if they didn’t we would’ve probably stayed there all night) at 11pm or so, so we had plenty of time to get a good night’s rest.

Sonoma Raceway is stunning

Food:

The Sonoma racetrack is a place that’s probably meant for you to go to for an afternoon and watch a car race, and then return back home. This being said, they had a small cafeteria with mostly burgers, hot dogs, fast food, etc. We were able to source some bread and peanut butter, and the staple became making a PB and J just outside the garage (in accordance with competition rules) and feeding ourselves. However, we would work so hard and so focused some of these days that we would forget to eat. It feels like we would work for hours on end hunched over a soldering iron, breathing in the fumes, so focused on what we had to do, and creative ways to solve our problems. We would forget to eat sometimes and it would suddenly be the late afternoon and all we had had was a single PB&J sandwich for the morning. Well, it was time to go for another one now.

After the competition ended, we were able to go to a nice restaurant and have a good meal, which was really enjoyable. A great alumnus (Vivas Kumar) treated us to post-race dinner the night after the competition at a nice Mexican restaurant.

Technical Inspection:

The first thing we had to do before our car could get out on the track and compete was to pass technical inspection (technically there were two inspections. Safety and Technical, but we had to pass both to compete, so most people just say “pass technical”, although it refers to both). This was a long list of things the judges had to check about our car.

So picture this: A large company (Shell) hosts this large event for a bunch of young high school and college engineering students aspiring to be tomorrows’ engineers. Shell asks these students to build a car mostly from scratch. A car. Something that has the potential of moving 20+ miles per hour and carrying a person inside. In addition, the car is either fueled by explosive combustibles (gas), or explosive chemistry (Li-ion batteries). If things were to go wrong, they could go really wrong. Because of this, Shell takes really serious precautions and has a very strict set of criteria when it comes to safety (which it definitely should, and I’m glad it does).

The most important things are those which if everything were to go wrong, it could save your life. This is primarily the brakes. What if the motor controller went crazy and had the car going full speed? They require probably 4x the amount of braking power than is necessary and have some pretty strict criteria for testing them: put your car up a 20% incline and have it hold. Another thing is the seatbelt, requiring a 5-point safety harness. We also need to have a roll cage/roll bar, an emergency stop switch which isolates the battery from everything, a fire extinguisher, and the driver needs to wear flame-retardant gloves, etc. We also need to have a functioning horn (foreshadowing?).

These things were able to pass inspection with no problem. Our car was built with these safety criteria in mind and we were aware of what to do.

Then there’s a bunch of other nice things that are required for our category (urban-concept). These things make our car resemble a real urban car. These are things like a windshield wiper (in case it rains), and turn signals.

 

The turn signals:

How do turn signals work in cars? I don’t know either. Actually, I think they’re controlled from a microcontroller through a LIN / CAN communication interface. This CAN communication scheme also controls other things throughout the car, including all the fancy features that make the passenger experience more comfortable. But remember we’re a bunch of busy college students trying to get our car on the track. What do we do when it comes to these things? Do you expect us to spend months doing this? What we do is we look up an online schematic for a 555 timer oscillator and copy it onto a breadboard (later, solder it onto a perfboard, and call it a day). When it came to the Auxiliary circuit, we want to get it to work properly and robustly, but we also don’t want to overengineer it.

At one point the turn the red LED strips we had for the turn signals stopped functioning, and we didn’t have any spares. We took regular white LED strips and sharpied with a red marker on top of them.

We thought a lot of these smaller things would be a quick fix come competition, so we focused most of our efforts on the Motor Controller. When we got to competition most of the auxiliary stuff only half-worked. We spent a lot of time and effort during the days of competition trying to get the auxiliary system to work as well as build in the emergency push button and other small things. I remember the 555 timers kept on blowing up for some reason (releasing smoke) soon after they were replaced. So we swapped in a timer right before technical inspection and were able to pass the test.

Overall we spent a lot of time trying to integrate all these things during the competition and pushed our timing to the wall. However, after all this effort, we were able to pass technical inspection, finishing by demonstrating the emergency shutoff mechanism to the judges at the last moment possible. Hooray! We had passed technical inspection. This was already quite a big accomplishment for our team. 2 years ago our team had come and failed technical inspection due to the brakes being inadequate. We were exhausted at this point, but we finally had the permission to get our car out onto the track. What a relief and a good feeling we had.

Ready, set, “press accelerator slowly…”

Well remember that we were running a motor controller with no current limit or current control, which is quite dangerous, and inherently I think unstable. We designed the motor controller with really powerful MOSFETs and put the biggest heatsinks we could find on there, to be able to handle large currents (of course we didn’t think about all the important auxiliary circuits and what would happen when the voltage spikes hit those).

Despite this, we told the driver to “press the accelerator slowly” as to not overdo it and accidentally break something.

On top of this, I had a brilliant idea of turning a step response from the accelerator to a ramp, by implementing a very aggressive low pass filter (in hardware) with like a 1-2 second response time. This would mean that if you pressed the accelerator fully down, the motor controller wouldn’t actually receive the signal of the accelerator being pressed down a second or 2 later. Great idea right?

Nope. This meant the driver had no initial feedback from the car on how much power was being sent since it was so delayed in response. And even though the signal from the accelerator ramped up slower than a step response, it still ramped up quite fast, fast enough to make things go wrong.

On our first attempt on the track, the car let out a jolt and then stopped. It didn’t go anywhere.

Damage control:

That night we took off this low pass filter and adjusted the correlation between how much the accelerator pedal was pressed and the PWM duty cycle that was actually sent to the MOSFETs that controlled the power to the motors. We played around with it. We realized we didn’t have a closed-loop current control and couldn’t make things extremely robust, but we tried to do what we could with what we had. We also called our mentor and our idol, Dr. Woods that night. He recommended we implement some low-pass snubber circuits by using a low pass filter and Zener diodes into the inputs of the buck converters, which would protect them against current spikes, in case things were to go wrong again.

We put everything in the car and went to sleep that night. We knew we had one more chance to get it right. We had a last 1-hour window that last day when we could get the car out and try to run it on the track. This was our last chance. After tomorrow afternoon, we would be done for the competition. We decided it would be wise to wake up really early the next day to make sure everything worked properly before putting the car out on the track.

It was difficult to fall asleep that night. I felt there was a lot betting on this last night and I was a bit worried things would go awry once again. I think I dreamt about latching circuits for the emergency stop switch, voltage snubbers, low pass filters, and gate drivers.

Last night we had of work. Louis is working out the math to change the mapping of the accelerator pedal. I love how much we bonded as a team.

Showtime:

Saturday morning, early. Maybe around 6am. There were no goats moaning this time. They were probably asleep. We woke up very close to the sunrise time and walked down to the garage. It was a warm sunny day. We were pretty nervous as a team, and also really tired from waking up so early, the amount of work the previous days, and sleeping in a tent. We hadn’t fully woken up. We weren’t thinking clearly.

We tried testing the car starting up in the garage. It worked. It was able to start moving by itself. Great. We tested the windshield wiper. It also worked. But we didn’t test the horn.

We rolled the car out to the track. I was sitting inside. Wearing a flame-retardant racing suit, full-face helmet. It was a warm sunny day, and this black car had basically no ventilation.

The whole team sat on the sidelines and watched us. We pulled up to the judge for a quick final, last inspection. He told me to push the brakes and he pushed the car. Didn’t move. Check, brakes work, no problem.

He said, “hit that horn”. I flicked the switch. Nothing. I checked the emergency stop switch, try the horn again. Nothing.

He told us to pull aside and get the horn working. We start freaking out. I need to go pee. I should’ve just stepped aside and calmed down a bit, but I was freaking out and wanted the car to work at this moment. In stressful moments like these, we have to move fast right? (I think it’s often better to move slow and think options thoroughly). We started checking all these connections with a multimeter, checking the buck converter voltage, etc. Amid all this chaos we somehow ended up breaking the accelerator pedal.

The accelerator pedal:

Quick side note, these accelerator pedals suck. Why can’t we find a pedal that functions on just a potentiometer voltage divider circuit? We have tried looking but have had trouble finding one, although this year (2019) we decided to just build our own by laser-cutting the base and adding a potentiometer.

The pedals we bought in the past have a hall effect sensor inside. When things go wrong and the pedal gets a voltage spike, it breaks. We’ve gone through a bunch of pedals throughout the year, each costing a good $40 to replace. Eventually, I figured out how to carefully disassemble it and resolder an equivalent hall effect sensor inside for $0.80 of parts cost, but this takes a long time since the pedal is so poorly designed, and then results in getting a different voltage range (doesn’t give the full 0V-5V reading it normally would.

Showtime (cont.):

So the accelerator pedal ends up breaking, which means that even when it is not pressed, it is sending a high signal to the motor controller, to go full out with the power as soon as it is turned on. The car jerks forward and then shuts off. I think we fixed the horn by this point (it’s hard to remember specifics since it happened so fast).

We negotiate with the judge to just let us do one lap around since we’re running out of time. We realize upon startup the car’s motor controller will go full speed, and I’m actually a bit scared to get inside and start up. But I know the brakes are more powerful than the motor controller, and the emergency stop switch also works. I hold the brakes down. I motion for the judge to move out from in front of the car just in case it lurches forward. I start up the car. It lurches forward and then cuts off (probably the battery BMS overcurrent protection). The competition is over.

(I still wonder what would’ve happened if I didn’t hold down the brakes. I think the motor controller was pretty strong and might’ve even been able to drive the car in this “switch” state for a little bit, but it is very unlikely it would’ve been able to complete an entire lap with a non-functioning pedal).

Aftermath:

We were pretty sad. Coming all this way, making all these sacrifices during the semester to work hard and get the car to work. The morale fell a little low at this point.

Reflecting back on it, I still loved the work we put in for the car. I really enjoyed the all-nighters I pulled late in the ELEC-lab with the team. Some of these would go late and we would be the only ones left in there. We would be working more hours than the Senior design teams at some points. It’s not an experience most underclassmen ELECs get.

I’m grateful I had a good team of people to work with. Everyone in REV was great and supportive of each others’ work. The mech team would always encourage us when they found out the ELECs were working late at night in the lab. The morale was one that rarely induced stress. Rather I would go work on REV in the evenings to get away from the stress some of my classes induced. The stress I felt on that last day was probably situational and self-imposed, and not from other teammates at all.

All in all, being the “Chief Engineer” of REV 2018-2019 was one of the hardest things I’ve ever done in my life, and also one of the experiences I’ve learned the most from. More than classes or any professional summer internship I’ve done. This is also naturally one of the hardest semesters as an ELEC at Rice (sophomore Spring), and it was interesting to see how far I could push myself before I would break.

Future:

REV is coming back to SEM this spring 2019. The competition is once again in Sonoma, and is taking place this weekend, April 2 – 6.

This Spring 2019 semester I’ve come to study abroad in Hong Kong. I really miss the all-nighters in the OEDK with the ELEC team debugging the motor controller. Furthermore, I know that a lot of my friends won’t be returning to work next year due to senior design. However, last year’s competition was such a great experience that I decided to make the effort to fly back to Sonoma this year to see the team again for 3 days in competition.

I’ve had to ride the subway for 3+ hours, take 3 different flights, and a 1-hour drive to Sonoma, and face a shift of 15 hours in time zone, but nevertheless, I’m excited to see what competition will be like this year.

Leave a Reply

Your email address will not be published. Required fields are marked *