Mechatronics Systems Design

These 6 labs were completed as part of the group lab assignments for the ME 552 Mechatronic System Design course at the University of Michigan.

Lab 1: Electronics Lab

A general summary of the required tasks for this lab is as follows:

  1. Design a lead-lag compensator using resistors, capacitors and only one op-amp to achieve the transfer function assigned by the professor.

  2. Design a circuit to sum four analog voltages using resistors, capacitors, and only one op-amp and feed a series of input voltages (provided by the professor) using LabView.

  3. Build a voltage divider circuit and conduct a series of provided experiments.

 

Lab 2: Magnetic Levitation System

A general summary of the required tasks for this lab is as follows:

  1. Design and implement the controls and bread-board circuit for a magnetic levitation system.

  2. Derive and present a detailed model of the overall physical system encompassing all aspects such as the sensor, electronic circuits, actuator and driver, electromagnetic actuator, mechanical system, etc.

  3. For each sub-system, list all the key modeling assumptions and mathematical approximations and justify these assumptions and approximations.

  4. Linearize any non-linear components/aspects for each of the sub-system models above to obtain linear models for each sub-system. Combine these sub-system models to derive a linear mathematical model for the overall physical system. Reduce this linear model to an LTI transfer function between an input and an output.

  5. Conduct “parameter identification” for any physical parameters that are “needed” in your nonlinear and/or linear models.

  6. Run a few simulations in Simulink with various initial conditions, and compare the time response predicted by the linear and non-linear models.

  7. Based on the derived linearized model of the open-loop physical system, design a Lead controller using the Matlab function called sisotool.

  8. Implement this controller in linear and non-linear Simulink models of the system.

 

Lab 3: DC Motor Servo System

A general summary of the required tasks for this lab is as follows:

  1. Demonstrate the ability to spin the motor shaft of the servo in response to a command from LabView and read shaft angular position output from the encoder using LabView.

  2. Determine the maximum continuous current that the motor can handle and provide a physical and mathematical justification for this value. Do the same for the maximum continuous and intermittent (or peak) current values that the servo-amp can output to the motor.

  3. Create a model for the entire system (DC motor, optical encoder, and servo-amplifier). Generate transfer functions between Vref (Input) and Motor Angle (Output), and Vref (Input) and Motor Velocity (Output). Present model in a clearly labeled block diagram. Also, create a model in Simulink.

  4. Based on the overall system model, design two controllers in Matlab/Simulink – one for position control and one for velocity control. Design both controllers such that it meets the objectives provided by the professor.

  5. Implement these controllers and engage in a series of experiments to answer the provided questions about coulomb friction, saturation, quantization, etc.

 

Lab 4: Inverted Pendulum System

A general summary of the required tasks for this lab is as follows:

  1. Develop a physical model for the overall system including all hardware components involved.

  2. List all the engineering assumptions that you have made in coming up with this physical model. Provide justification/rationale for all these assumptions.

  3. Derive a mathematical model for the overall system.

  4. Capture this complete mathematical non-linear model in Simulink. Linearize the model about the operating point of interest. Express the linearized model parametrically in the following two forms: transfer functions and state-space form.

  5. Identify all the pertinent parameters of the system that are required for the purpose of simulation and controller design. Identify parameter values as best as you can from the available datasheets. For the parameters not provided, either rely on simple calculations, solid-models, or on simple experiments to measure the parameter values.

  6. Compare the open-loop linear and nonlinear models with the experimental set-up.

  7. Design a balancing controller based on the linearized system model.

  8. Design a Swing-up Controller.

  9. Implement the two controllers (balancing controller and swing-up controller) using LabView. Compare the experimental closed-loop results with the non-linear simulation model.

  10. Instead of a state-space controller, design a classical controller to achieve the balancing. Demonstrate the classical controller through simulation using the non-linear model. Compare the simulation results to those from the full-state feedback controller.

  11. Model various parasitic effects (friction, backlash/deadband, quantization, discretization, saturation, noise, and time delay) one at a time in Simulink and report the effect of each on the system performance.

 

Lab 5: Inertial Sensors

A general summary of the required tasks for this lab is as follows:

  1. Download and review the datasheets of the optical encoder, the three-axis accelerometer, the dual-axis rate-gyro, and the two PCBs provided for the lab.

  2. Get the appropriate power supplies, connecting wires, and any other components that you need to set-up this experiment. Carry out the necessary wiring/connections between the DAQ board, the power-supplies, and the sensors.

  3. Use only inertial sensors (one or more) to estimate the inverted pendulum (from Lab 4) angle at low frequencies (generally within 2Hz) use the provided sensing schemes.

  4. Present time domain output plots that overlay the inertial sensor measurement result along with a measurement from the optical encoder for the purpose of comparison.

  5. Report the sensitivity between the measured angle and output voltage.

  6. Report the peak to peak noise level in the voltage measurement and corresponding fluctuation in the angular measurement for any fixed pendulum angle.

  7. Use filters to get “cleaner” measurements and vary the strength of the filter and observe how this changes the quality of the measurement. Report how the magnitude error, phase lag, and signal noise change as you move the pendulum with an amplitude of 25 deg at 0.5Hz, 1 Hz, and 2Hz frequencies.

  8. Hold the horizontal arm fixed and move the pendulum faster, by hand, to test your sensors at higher frequencies.

  9. Implement a sensor fusion scheme. Decide which and how many inertial sensors to use. Decide what order filters to use and what cut off frequency to employ. Provide a clear block diagram based schematic that illustrates the complementary sensing or fusion scheme(s) that was implemented. Provide mathematical derivations to show why your choice of sensors and your sensor fusion scheme should work in theory. Experimentally demonstrate the effectiveness of your sensor fusion scheme in terms of magnitude error, phase lag, and noise/resolution over a low as well as high frequency range.

 

Lab 6: Stepper Motor-based Motion System

A general summary of the required tasks for this lab is as follows:

  1. Review and understand the Stepper Motor driver chip (Allegro A3967 chip) data-sheet.

  2. Provide a complete electrical wiring diagram of the entire experimental set-up – including the driver chip, the PCB, the power supply(s), motor, encoder, and DAQ system.

  3. Go through each pin on the A3967 chip and explain its functionality as well as what it should be connected to.

  4. Command the motor to move by one full step. Then observe the displacement response of the rotor using the encoder measurement. Based on these measurements and any other information that you may gather about the motor, determine the mechanical natural frequency and damping associated with a single step response. More specifically, capture the single-step dynamics of this stepper motor via a transfer function – from a commanded position input to the actual position output.

  5. Without any gradual ramp up, change the pulse-train command instantly from 0 steps per second to “X” steps per second. Vary X from a small value to a large value and determine the highest value of X (and corresponding rotor angular spend in deg/sec or rev/s) that you can achieve from this stepper motor without losing synchronization.

  6. Create a trapezoidal velocity profile that spans 4 full rotations of the motor shaft (1440 degrees). The profile should include an acceleration region, constant speed region, and deceleration region. The profile should also meet the requisite constraints (provided by the professor).

  7. Compare and comment on the motion performance seen in the various stepping modes ( full stepping, half stepping, and quarter stepping).

Previous
Previous

Implementing TAI on a Desktop 3D Printer using an Arduino Mega 2560

Next
Next

Control of a Cartesian Drawing Bot