After taking a week-long hiatus from lab to write our mid-semester report and participate in our final spring break as undergraduates, The Hot Shocks came back to lab this week with a vengeance. Over spring break, Les and Eric made further progress on controller design and Arduino integration, while the rest of the team worked on data analysis and report writing. While updating our milestones for the mid-semester report, we realized that we had met all of our initial goals in regard to model creation and software development, while we are slightly behind our initial plans for hardware construction and data collection.


During lab on Tuesday, we all worked together on the calibration of the oil and heater thermocouples, with Les, Eric, and Justin manning their laptops while Turner, Christy and Grace operated the shock dyno. In addition, the laptop team worked on integrating the controller with the Arduino Uno while the dyno team gathered baseline data on the temperature response of 20W oil and the heaters’ external surface when the heaters were left on at full power (both seen below). In the last few minutes of lab, we attempted to replace the DC power supply that had been closing the solid state relay with the Uno, but the heaters did not turn on during our first attempt, and we subsequently had to relinquish control of the dyno to the next lab group.

Temperature of internal shock oil and external shock body heater

For next week, we hope to complete both the software and hardware development in preparation for testing and data collection. Our overall goal for the next lab session is to have a complete set-up that is capable of keeping the shock oil at a constant temperature. If everything goes according to plan, that will leave us with three lab sessions to confirm our system and compare it to the bare shock.

Thanks for reading!
-The Hot Shocks



Over spring break I went to San Diego with Justin. We had fun in the sunny weather and forgot about 107 for a couple of days while we went to Disneyland and hung out on the beach.

This week in lab I also focused on setting up the hardware and taking data to characterize the response of the shock with the heater turned on. At first we worried that the heater may exceed the safe temperature range, but we found that the heater appears to asymptotically approach around 170°F, well within its limits. After fitting the data of the oil with heat applied from the two heating pads, I found that the temperature should asymptote at about 105°F for 30 RPM with 20W oil even while the heaters applying constant heat. This is quite a difference compared to the previous steady state temperature under the same conditions (30 RPM and 20W oil) without the heater, which was 34°F. We planned on trying to maintain the temperature of the shock at about 90°F, so our data so far suggests that this is a reasonable goal.

Temperature characterization


Over spring break, I spent most of my time rock climbing in Lake Tahoe and Oregon before working on our mid-semester report. Although the week off provided a welcome break from classes, I came back to Berkeley with some missing skin and a renewed enthusiasm for our project. During lab on Tuesday, I spent most of my time working with the hardware and operating the shock dyno to collect some data and characterize the temperature response of the shock with the heaters. Before next week, I plan on choosing some experiments to run, both with and without the Uno, that would best elucidate the effect of the heaters on the entire shock system. I’m looking forward to seeing everything finally come together!



I went out of the country for the first time over Spring Break, spending most of it in sunny Sydney, Australia: the happiest place on Earth (so named for its drive-thru liquor stores). I would have stayed there forever but I was so excited to get back to 107 lab and see my group’s smiling faces that I couldn’t help but return. When I got back, I worked on calibrating the thermocouples that we would be wiring into our controller. Though the thermocouples were calibrated to work with the LabView VI and the thermocouple reader, the raw voltages could not be interpreted by our Arduino without a calibration curve. The process of calibrating the sensors was relatively simple - I simply created a voltage amplifier using an op-amp and maximized the gain for the region of temperature that we were likely to operate in (i.e., 0 - 120 ℃). The oil thermocouple was easily calibrated but we ran into some issues calibrating the thermocouple that measures the surface temperature of the heating pads. The raw thermocouple voltage is already large for ambient temperatures and the Arduino can only interpret input voltages of up to 5V. I plan on looking into that again next week by building an amplifier with less than unity gain, but if that does not work we can abandon this particular sensor as it is not necessary for our controller to work.


Spring break was a whirlwind of travel from Austin to San Diego to Vegas. My team won our dance competition and took 4th place despite 25 MPH winds. Once I got back to Berkeley, I helped our team with the with the mid-semester report. In lab this week, I focused on gathering temperature data to characterize the operation of the heaters. After using the additional thermocouple on the heaters and verifying that the actual maximum operating temperature is 232C, we determined that the heaters overheating should not actually become an issue since after about 100C, the temperature only rises at about 2C per minute.


Over the course of Spring Break I wrote polished versions of three controllers for our system.  The first controller is a step/thermostat controller, the second is a PID using the built in PWM functions in Arduino, and the third is a PID that I wrote from scratch.  The reason I wrote a PID controller from scratch is the restriction on the PWM functions in Arduino.  Arduino’s built in PWM function analogWrite() has a PWM frequency of 500 Hz.  This may be too fast for our system, particularly the solid state relay.  The PID controller I wrote allows you to set the PWM frequency.  I am also working on characterizing the heater (heat flux in) and will run more simulations once that is complete.


I enjoyed my Spring Break in sunny San Diego with Grace. We went to the beach, hiked, took a day visit to Disneyland, and ate tasty Mexican food.

Thermocouple Calbration Curve

In lab this week, I worked with Les to calibrate the K type thermocouple inside the shock body. Previously, the shock dyno thermocouple used a surface mount K type thermocouple to output temperature to the LabView program. Because K type thermocouples output small voltages, the signal needs to be amplified in order to be effectively used. In our project, the thermocouple is one of the inputs to our Arduino and controller. Instead of messing with the current amplifier, we are pulling raw thermocouple signal from an auxiliary port on the shock dyno. This would allow for us to get a signal for our Arduino but to not interfere with the dyno setup for other groups. We made a simple amplifier using a non-inverting op-amp with a gain of about 3 for the internal thermocouple. Because the gain set on our amplifier is not necessarily the same as the amplifier in the dyno, we need to calibrate the thermocouple. We took different voltage measurements at different temperatures using a multimeter and the LabView temperature readout.

It seems that a lot of time is lost in lab during the setup and takedown of our heater and wiring. I’d like make a new harness and permanent circuit board to replace our bread board in the coming weeks to make our labs more efficient.