The Viscometer


Last week we tested a mystery oil with unknown weight. We initially guessed in the range of 7-10W oil. After applying linear regressions to our plots we had a final guess of 7W oil. This week we learned the actual weight of the oil was 10W. Although we were close, we lost the bet to our wonderful GSI.


In lab this week, we used a viscometer to measure the viscosity of different oils including 3 calibration oils and 4 SAE rated shock oils. The viscometer in the lab uses a mass connected to a string wound on a spool which spins an inner cylinder which is immersed in an oil contained by an outer cylindrical cup. As the mass is released to free fall, the spool is unwound and the inner cylinder spins. The torque of the spinning inner cylinder is resisted by the viscosity of the oil. The inner cylinder is also connected an indicator which counts the number of revolutions. We timed 100 revolutions using a stopwatch which would give us angular velocity of the inner cylinder and repeated the measurements 5 times for each oil.

Viscometer Equation

Viscometer Equation

Using Newton’s Law of Viscosity and dimensions of the viscometer, the viscosity of the oil can be calculated knowing the angular velocity of the inner cylinder.

Viscosity Equation

This equation however would give inaccurate viscosities because it did not account for frictional losses in the viscometer system. A better method to find the viscosities of the shock oils would be to use the calibration oils with known viscosities to calculate some constant C between dynamic viscosity and angular velocity.

We decided to average the constants derived from all of the calibration oils instead of the results from a single oil because when back calculating for the viscosities of the calibration oils, the averaged constant resulted in the closest viscosity to tabulated values.

Viscosity Constants

The averaged constant was then used to calculate the viscosity for the 4 shock oils. Precision error was calculated for the constant value (3.76% error at 95% confidence interval) and for the averaged angular velocity for each shock oil. The precision uncertainty propagation was calculated for the total viscosity uncertainty.

Shock Oil Viscosity

We also turned in a one page Project Proposal this week, which detailed our goals this semester in regard to our final project. Briefly, our aim is to improve the shock dynamometer by creating a controller that regulates the temperature of the oil inside the shock. Oil viscosity is highly dependent on temperature, such that even a small temperature difference between sampling periods on the shock dyno can lead to wildly varying results. By creating a device that has the capability to maintain a consistent oil temperature within the shock, we will create an isothermal environment within the shock, which will reduce the number of variables that affect the outcome of shock dyno measurements. This device will be created using a heat blanket in conjunction with a microcontroller, which will allow us to switch the heater between its on and off settings at precise intervals. Our plan for the rest of the semester can be seen in the following timeline:

Project Gantt Chart (click to zoom)

As can be seen in the Gantt chart above, we are hoping to front load our work in the next few weeks in order to allow adequate time for testing and data analysis in April and May. This week, we are hoping to use our newly collected data to begin designing the heater and control scheme. By this time next week, we should be well on our way to conducting simulations for temperature regulation of the shock. See you then!

Thanks for reading!
-The Hot Shocks

Individual Thoughts


Steady state temperature fit (click to zoom)

This week we collected some temperature data to try to characterize the temperature response of the shock. I focused on trying to fit this data and understand its implications as to our project. We collected data every thirty seconds as the shock heated up from ambient temperature. We collected the data with 0 compression 0 rebound and 90RPM, because at these settings the shock should reach its maximum temperature (highest resistance, highest velocity). I chose to fit the data to an exponential function of the form T = a + (1 - exp(-t/b))*c. This is a logical function to characterize the temperature response because it has clear transient and steady state pieces. The shock should logically reach a steady state temperature because of the energy balance between the work being done by the shock to heat the oil and the convection cooling from the ambient environment. After fitting the data I found that the steady state temperature (the asymptote of the function) should be a + c, which I found to be about 90 C.


My work this week was mostly focused on concept generation for our final project. The first step in this process was to research possible heaters, some of which included flexible heating tape, heat blankets, and barrel heaters. In order to guide my research, I attempted to estimate the total heat capacity of the shock assembly, because an estimate of this value is necessary for choosing a heater that can supply the required amount of heat.


After asking Alex how much oil is contained in the shock body, I estimated the volumetric ratio of steel to aluminum in the shock, weighed the whole assembly, and used this knowledge, along with each material’s density and heat capacity, to estimate the total heat capacity of the shock. I calculated that the total heat capacity of the shock is about 2.5 kJ/C, which would lead to a required heat input of 150 kJ if we were to heat the shock from 20 C to 80 C. However, the necessary heat input will be much lower if the shock is left running while being heated.

It was another great week for the Hot Shocks, and although I unfortunately won’t be able to attend lab next week I can’t wait to see what my wonderful teammates will be able to accomplish!



This week I worked on the project proposal, presentation, and development of the plant model for the temperature controller. I also thought about material acquisition and what kind of heat flux we would need to maintain a reasonable temperature. Many of the heating sources used for this kind of work are intended to keep already warm containers warm, so it looks like our best bet would be to heat up the shock by running it at 90 RPM, and then keep it warm using a heat blanket or similar type of wraparound material. Eric and I discussed the feasibility of using a PID or PD controller to maintain temperature, and after we develop and initial model, we’ll begin a software implementation next week. We’ll need to decide on using an Arduino or myRIO. My preference would probably be Arduino because it is cheaper and there is a massive community from which we could get some assistance.


During this past week I worked on the project proposal and creating a feasible timeline for achieving our project goal. With assigned roles and deadlines our group can begin to tackle tasks that will allow us to get our device working and still allow for testing and troubleshooting.

In lab, I worked on gathering measurements for the shock at constant compression and rebound settings while the temperature ramped upwards to help create a temperature model for the oil. Knowing a steady state temperature for the oil allows us to determine what temperature we would like to bound our system at. In this upcoming week, I plan on working on the design for the heater and making sure that it is easy to attach and detach since it will need to be taken off between lab sessions. I also plan on finalizing temperature blankets research to find one that can apply enough heat to maintain our ideal temperature.


My focus this week has been a combination of preparing for the project proposal presentation and working on an initial model for our temperature controller.  While a high fidelity model is always ideal, I’ve decided to start with a basic dynamic model, as suggested by Spencer.  This week we ran some initial tests to figure out the temperature bounds for our controller to operate in.  Because we are only able to add heat to the system we must operate in a range above the system’s natural steady state temperature.  In order to correctly determine the coefficients to use in our initial model we will have to take more measurements and characterize the rates of heating and cooling as they relate to system temperature and time.  I predict that achieving temperature control will be achievable even without a high fidelity model because we are able to directly measure oil temperature and have direct feedback.  In the future we may want to control other variables using our controller that we cannot measure directly, like viscosity.  To do this we will definitely need an improved model and an observe for our controller.


This week in lab, I ran the viscometer tests with Les while the rest of my teammates gathered baseline temperature data from the shock dyno. Outside of lab, I calculated the viscosities of the shock oil by using a constant to correspond angular velocity to viscosity. This constant was derived from the calibration oils of known viscosities. I also did statistical analysis on precision errors from the viscometer data. I did not think of any ways to measure bias error during lab and wished I would have gathered data on human reaction bias error when operating the stopwatch.

Next week I plan on working on heater design for our project. I'm excited for our group to start working on the project! Go Hot Shocks!