Class Projects

Mechatronics: Underwater PZT Energy Harvester

Project goals: design and build an energy harvester for underwater electrical systems that utilizes piezoelectric (PZT) materials.

My team decided on a turbine system that utilizes a scotch yoke to convert the turbine’s rotational movement into linear motion. Our system successfully demonstrated a functional prototype for underwater PZT energy harvesting.

The project was completed with three other teammates. One of my teammate’s and I designed the system together, and then I oversaw the fabrication process.

Underwater PZT energy harvester demonstration.
Scotch yoke mechanism demonstration.
Underwater PZT energy harvester render (SolidWorks).

Design Optimization: Mechanical Systems

Optimization techniques can be used to find an ideal solution rather than finding just “a” solution. Here are some examples of mechanical systems that I optimized in this course:

  1. Slider-crank mechanism
    • Goal: maximize the slider’s speed given a constant angular velocity (ω) of 70 rad/s and an angle (θ) of 40°
    • Design variables: crank length (r), connecting rod length (l) (all other design variables can be written as a function of r and l)
    • Constraints: l 2.5r (Grashof’s law), 0.5 r 10, 2.5 l 25, 10 x 20
  2. Three cart system interconnected by springs where each cart is subjected to a unique unknown load. The number of springs and how they are arranged between the carts, the spring coefficients, and the unique cart loads are all unknown (black box system)
    • Goal: determine the location of each cart where the system’s potential energy is minimized
    • Design variables: the locations of each cart
    • Constraints: maximum displacement of each cart is [-10,10]
  3. Welded beam parameters
    • Goal: minimize the cost (material usage) of the welded beam
    • Design variables: weld seam height (h), weld seam length (l), beam thickness (t), beam width (b)
    • Constraints: weld shear stress, beam bending stress, bar buckling load, beam end deflection
1. Slider-crank mechanism.
2. Three cart system interconnected by springs.
3. Welded beam.

Electromechanics: Measuring Water Flow Rate with a Hall Effect Sensor

Project goals: demonstrate a real world application of a system that utilizes concepts from electromechanics.

My team built a liquid flow rate sensor using neodymium magnets attached to a turbine wheel and a hall effect sensor. The hall effect sensor was wired to a Raspberry Pi that was running a custom MATLAB program which counted the number of times the sensor was triggered. This was then used to calculate the flow rate of the water.

The project was completed with two other students. I designed the majority of the system, wired the breadboard circuit, and wrote the MATLAB program.

Close up on hall effect sensor and paddle housing.
Overview of flow meter demonstration.

Controls: Inverted Pendulum Controller Design

Project goals: design a control system within Simulink that is capable of stabilizing an inverted rotary pendulum by adjusting DC motor current.

The project required creating a digital twin of the pendulum within Simulink. The digital twin included considerations such as the pendulum arm’s density, DC motor physics (max torque, back-EMF, damping, etc.), angle sensor noise, etc. A PID controller was then integrated with the model. The controller was capable of stabilizing the motor when subjected to random force disturbances on the pendulum, it was also resistant to random sensor noise.

This project was completed with three other team members. My work involved creating the Simulink model and making the control system that stabilized the arm.

Simulink inverted pendulum model and control system GUI.
Inverted pendulum control block diagram.
Inverted pendulum balancing after reoccurring random disturbances.

Heat Transfer: Turbine Blade Cooling Channel Modeling

Project goals: determine the two-dimensional temperature distribution for the cooling channels within a gas turbine blade using finite difference methods.

The cooling channel region of interest can be simplified by identifying geometric/thermal symmetry lines. The boundary conditions for each node and their corresponding finite difference equation were then determined. This resulted in a system of 21 equations (one for each node) that can be solved for the temperature at each node (steady-state).

MATLAB was used to solve the system of equations. The two-dimensional temperature distribution can be seen in the lower right figure. The lower left figure shows the isotherms (constant temperature lines) across the cooling channel element’s nodes.

Cooling channel element isotherms (MATLAB).
Turbine blade cross-section with highlighted cooling channel element.
Cooling channel element node distribution with boundary conditions.
Cooling channel element 2D temperature distribution (MATLAB).

Finite Element Analysis: High Strength Die Stress Behavior Modeling

Project goals: find the stress concentration factor for a high strength die subjected to an axial load. Determine the maximum stress and its location.

The die can be accurately represented using an axisymmetric finite-element model. The die and it’s boundary/loading conditions was modeled in Ansys Mechanical R2. A maximum stress was found at the point where the fillet meets the smaller diameter of the pipe.

The maximum stress of the Ansys model was then used to determine the stress concentration factor, which was compared to a stress concentration chart for a shaft fillet in axial tension. The percent difference between the FEA and theoretical models was 6.3%.

Stress concentration chart for a shaft fillet in axial tension.
Axisymmetric die mesh with boundary and loading conditions (Ansys R2).
Axisymmetric die mesh tensile stress (Ansys R2).

Electromechanics:
Fly-By-Wire Control Interface Design

Project goals: determine haptic feedback device parameters for a fly-by-wire control interface that meets specified requirements (on-state force, off-state force, responsiveness, size, weight). The device consists of a coil wrapped around a ferrous spool, which produces a magnetic flux. The magnetic flux is used to vary the damping force induced on the controller via a magneto-rheological fluid (MRF).

The project consisted of modeling the system in order to determine the magnetic flux as a function of the various design parameters. This model was then used to determine the damping force for multiple design iterations.

This project was completed with two other team members. My primary responsibilities were to help with defining the magnetic flux and damping models as well as verifying the results with finite element analysis (FEMM and Ansys Maxwell).

a. FEMM magnetic flux plot overview, b. FEMM gap magnetic flux, c. Ansys Maxwell gap magnetic flux, d. Ansys Maxwell magnetic flux plot overview.
a. Comparison of magnetic flux across gap for FEMM and Ansys Maxwell, b. Flux gap position definition.

Acoustics: Tactile Keyboard

Project goals: build a basic tactile keyboard using an aluminum plate and a piezoelectric transducer.

Time-series data from a piezoelectric transducer was collected and processed in MATLAB. A time-series cross-correlation algorithm was used to determine which “key” on the plate was pressed based on prerecorded time-series data that was collected for each key.

This project was completed with one other team member. I wrote the majority of the MATLAB program and helped with the physical setup and experimental process.

Two-dimensional correlation map (plate knocked at 4th row, 4th column).
Tactile keyboard with grid system and piezoelectric transducer.
Correlation vs linear position index (4th index tapped).

Composites: Composite Layups Calculator

Project goals: write a program that computes the laminate stiffness matrices (extensional, bending, coupling) for a composite laminate with an arbitrary layup (unidirectional fibers).

The program was written in MATLAB. The user enters the principal material properties, lamina layer thickness, and the list of ply layer angles. If the user specifies applied forces and moments resultants, the program can also calculate the strains and curvatures of the layup. It can also determine the top and bottom stress for each lamina.

Example of a composite layup.