Mechatronics EE/ME 345

a syllabus

Course description

This course is an introduction to the mathematical modeling and design of electrical, mechanical, and electro-mechanical systems. A system dynamical approach is used, which allows different energy domains to be modeled within a unified framework. Circuit elements covered include resistors, capacitors, inductors, diodes, transistors, and operational amplifiers. (Adopted from the course catalog.)

General information

Instructor
Rico AR Picone, PhD
Actual office hours (CH 103C)
Tue, Thu 3:20–5:50
Virtual office hours (zoom, make appointment!)
By appointment
Office hours appointments
make appointment
Classroom location
Cebula 101
Times
Tue, Thu 2:00–3:20 pm
Class Zoom (password on Moodle)
us02web.zoom.us/j/85867102410
Moodle
moodle.stmartin.edu

secretssssssssss

Discord

Everyone is required to join the messaging service called “Discord.” We’ll use it to communicate with each other during the semester. The Discord server you need to join is called drico. That’s an invitation link. Be sure to join the channel #345.

Textbooks

Derek Rowell and David N. Wormley. System Dynamics: An Introduction. Prentice Hall, 1997. (Required. Abbreviation: RW)

Agarwal, A. and Lang, J. Foundations of Analog and Digital Electronic Circuits. Elsevier Science, 2005. (Recommended.)

Paul Horowitz and Winfield Hill. The Art of Electronics. Third Edition. Cambridge University Press, 2015. (Recommended. Abbreviation: HH)

Homebrew texts and notes

Partial texts (with fill-ins) I’m writing will be posted on the following pages:

We’ll do the entire El text and the first four chapters of DS.

Have a service such as that of the SMU Computer Resource Center print them in bulk for you (start with El for now). Whichever printing service you use, I recommend binding them such that pages can be replaced (e.g. three-ring bindable) in case there are major revisions to a section during the term.

In either case, you are required to have a binder (or equivalent) with Electronics Lectures 01.01 – 01.03 ready to show by our second class to avoid a 10% deduction on your first homework grade. (Or you can show me those lectures on your note-taking tablet, if that’s your preferred method.)

Throughout the semester, you should be ready to show these (current) in any class, with threat of 10% homework grade deductions.

Video pre-class lectures

Before every class, there will be one or more video lectures you will be required to watch! See the Schedule. I’ve uploaded them all to YouTube. Watch them with the texts printed out, filling in the blank sections as you go.

I recommend subscribing and familiarizing yourself with the playlists for this course.

Schedule

The following schedule is tentative. Bonus lectures denoted "+" are optional, but so is this class.

day pre-class lectures to watch week reading due
none (00 if you feel like it) 1 HH 1.1–1.3 Ass. 1
Electronics lectures
01.01 Voltage, current, resistance, and all that
+01.01.1 Answering question about KCL
01.02 Voltage dividers
01.03 Sources or supplies
01.04 Thevinin's and Norton's theorems
01.05 Output and input resistance
2 HH 1.4 Ass. 2
01.06 Capacitors
01.07 Inductors
02.01 Sign convention
02.02 Circuit analysis methodology
02.03 Circuit analysis: sinusoidal input 3 HH 1.5–1.6 Ass. 3
02.04 Transient and steady-state response
03.01 Phasor representation of voltage and current
03.01.1 Converting among trigonometric, phasor/polar, and rectangular form
03.02 Impedance
4 HH 1.7–1.9 Ass. 4
03.03 Impedance circuit analysis methodology
03.04 Voltage and current dividers with impedance
04.01 Transformers
04.02.1 Diodes
5 HH 2.1–2.2 Ass. 5
04.02.2 Diodes example
04.02.3 Iterative estimation of diode resistance
04.03 MOSFETs
04.04 Operational amplifiers
04.04.2 Inverting opamp example
6 HH 3, 4 Ass. 6
Review
Robots 7 RW Ch 1, 2
Exam 1
Dynamic Systems lectures
01.00 Introduction to dynamic system representations
01.01 The systems approach
01.02 State-determined systems
01.03 Energy, power, and lumping
01.04 Mechanical translational elements
8 RW Ch 3 Ass. 7
01.05.1 Mechanical rotational elements
01.05.2 Mechanical rotational elements
01.06 Electrical elements
01.07 Generalized through- and across-variables
01.08 Generalized one-port elements
Fall Break 9 RW Ch 4 Ass. 8
02.01 Introduction to linear graphs
02.02 Sign convention brass tacks
+02.02 Sign convention part I
+02.02 Sign convention part II 02.03 Element interconnection laws
02.04 Systematic linear graph modeling
03.01 State variable system representation
03.02 State and output equations
03.03 Graphs to state-space I normal trees
10 RW Ch 5 Ass. 9
03.04.1 Graphs to state-space II algorithm
03.04.2 Graphs to state-space II electronic example
+03.04.3 Perrin's mocha state space model
+03.04.4 Bridged-T circuit state-space model example
03.04.5 SS model of a coupled shaft via linear graph
03.05 SS model of a translational mechanical system
03.06.1 SS model of a rotational mechanical system
+03.06.2 Speedometer state-space example
11 RW Ch 5 Ass. 10
03.07 Between state-space and ODEs
03.07.2 State-space to ODEs examples
Exam 2 12 RW Ch 6 Ass. 11
04.01 Ideal transducers
04.02 Modeling with transducers
+04.02.2 SS model of a winch driven by a motor
04.03.1 DC motors
04.03.2 DC motors
04.04.1 A real electromechanical system
04.04.2 A real electromechanical system
14 Ass. 12
+04.04.3 Ribbon microphone state-space model
04.05 Steady-state DC motor performance
TBD 13
Thanksgiving
04.06 Transient DC motor performance
+04.06.2 Motorized wire dispenser state-space model
    - StateMint file
+04.06.3 Designing with motors
15 TBD
Course Review
Tuesday: Final Exam 16

Development environment

The following development environment will be used for all class examples and assignments. The three primary pieces of software, Anaconda (Python), Git, and VS Code are available for free on all major operating systems. All of this except VS Code is installed on engineering lab computers (including those in the classroom).

Anaconda

Anaconda is a distribution of Python that includes the conda package and environment manager.

Download and install Anaconda. The default Anaconda environment is base, which is fine to use as long as you don’t want to work on multiple projects.

To edit or create an environment, on Windows open the Anaconda Prompt app, or on macOS, open the Terminal app. To create a new environment, use the command

conda create --name <environment-name> python=3.11 numpy scipy matplotlib sympy

The Python version is specified and the final arguments here are a list of packages to install (those given here are what I recommend as a default).

To install additional packages, make sure your environment is activated first (base is automatically activated):

conda activate <environment-name>

To install additional packages to the activated environment, use the installation formula (e.g., those here). For instance, to install the sympy package,

conda install conda-forge::sympy

All though it can cause compatibility issues if it is mixed with conda install packages, you can install packages with pip to an Anaconda environment. For instance,

pip install engcom

If an environments.yml file is provided by someone (maybe me) with a Python version and several packages to install, move that file to your current working directory (or cd to its location) and execute the command

conda env create -f environment.yml

Git

Git is an amazing version control tool for code development and collaboration. I use it for everything.

Install Git from the instructions here.

VS Code

This is currently the most popular code editor/integrated development environment (IDE) for many programming languages and tasks.

Setting up your VS Code environment

Do the following to set up your VS Code environment:

  1. Download and install VS Code. It is available on all major platforms. It can be installed on your user account on a lab computer.
  2. Open VS Code.
  3. Under the “Extensions” tab (left-side navigation), install the Python extension.
  4. Windows users: type ctrl+` to open a terminal. Click the dropdown next to the + sign and select “Select Default Profile.” From the dropdown, select “Git Bash.”
  5. Type ctrl+shift+P (macOS cmd+shift+p), type Python: Select Interpreter, and press Enter. Select from the list the python.exe file in an anaconda directory with the name base (or an environment you created). This selects the Anaconda environment base.
  6. Create a new file with ctrl+N. Write the following in the file:

     import numpy as np
     import sympy as sp
     import scipy
     import matplotlib.pyplot as plt
        
     print("Hello, world!")
    
  7. Click the “play” button in the top right (Run Python File in Dedicated Terminal). The terminal should display the output Hello, world!.

Machine Learning Packages

Here are some helpful machine learning packages.

CVXPY for Convex Optimization

The convex optimization package CVXPY is excellent for optimization problems. (Here is the documentation.) Install it in your conda environment with the following command:

conda install -c conda-forge cvxpy

Keras with TensorFlow

I recommend using Keras with a TensorFlow backend for building neural networks.

Install these packages into your conda environment (unfortunately we have to use pip instead of conda for these, making the environment a bit fragile). The installation is different for each OS. The installation instructions are here.

Robot Mentoring, Designing, and Building

We will be collaborating with the local OlyBot robotics team, which will be participating in the FIRST Tech Challenge (FTC) game, which will be announced September 7. There are two primary aspects of our collaboration:

  1. Mentoring: We will mentoring the OlyBot students. They will be working in Panowicz, mostly on Saturday afternoons 1–5 pm.
  2. Designing and Building: We have secured up to $1500 in funds to design and build our own bot as if we were participating in the game. We’ll be able to play “challenge” matches with the OlyBots team, which should be great fun.

Everyone in the class has to mentor or participate in the design+build process, or both. Your participation will be graded (see below). I will “coach” the design+build team, and we’ll take some time in class to work on the project.

Mentor Team

Members:

Design-Build Team

Members:

Macy B. Stewart C. Christopher C. Connor D. Charles G. Miles J. Sarah M. Noe O. Mallory P. Joel R. Karis S. John S. Claire S. Joseph W. Hang W. Zhangyu Y.

Milestones:

Scrimmages with OlyBots:

Resources

Class resources will be posted here throughout the semester.

Homework and exam policies

Homework policies

Weekly homework will be "due" on Fridays, but it will not be turned in for credit. However — and this is very important — each week you will grade your own homework.

Self-grading checklists will be available on moodle each Friday (around mid-day), and must be completed by Sunday (before midnight).

Working in groups on homework is strongly encouraged, but the self-assessment should reflect your own work.

Exam policies

The midterm and final exams will be in-class. If you require any specific accommodations, please contact me.

Calculators will be allowed. Only ones own notes and the notes provided by the instructor will be allowed. No communication-devices will be allowed.

No exam may be taken early. Makeup exams require a doctor’s note excusing the absence during the exam.

The final exam will be cumulative.

Grading policies

Total grades in the course may be curved, but individual homework quizzes and exams will not be. They will be available on moodle throughout the semester.

Homework
20%
Robot Mentoring or Design/Build
20%
Exam 1
20%
Exam 2
20%
Final Exam
20%
secrets

Academic integrity policy

Cheating or plagiarism of any kind is not tolerated and will result in a failing grade (“F”) in the course. I take this very seriously. Engineering is an academic and professional discipline that requires integrity. I expect students to consider their integrity of conduct to be their highest consideration with regard to the course material.

What is academic integrity? Saint Martin’s University is a community of faculty, students and staff engaged in the exchange of ideas in the ongoing pursuit of academic excellence. Essential to our mission is a focused commitment to scholarly values and intellectual integrity, and a respect for the ideas, beliefs and work of others. This commitment extends to all aspects of academic performance. All members are expected to abide by ethical standards both in their conduct and their exercise of responsibility to themselves and toward other members of the community. As an expression of our shared belief in the Benedictine tradition, we support the intellectual, social, emotional, physical and spiritual nurturing of students.

What is academic dishonesty? Saint Martin’s University defines academic dishonesty as violating the academic integrity of an assignment, test and/or evaluation of any coursework. This dishonest practice occurs when you seek to gain for yourself or another an academic advantage by deception or other dishonest means. You have a responsibility to understand the requirements that apply to particular assessments and to be aware of acceptable academic practice regarding the use of material prepared by others. Therefore, it is your responsibility to be familiar with the policies surrounding academic dishonesty as these may differ from other institutions.

Acceptable use of AI in coursework

Any use of technology that misleads a reviewer in assessing the student’s mastery of a specific set of skills or knowledge is a type of intellectual dishonesty, that is, a type of cheating. Students who are unsure about the appropriateness of using an artificial intelligence tool (or “AI”) should check with the instructor before using it. This includes the use of tools that generate text, images, video, code, and other works. If you are permitted by your instructor to use one or more AI tools in producing your work, you should disclose the use of that tool. You should say which tool you used and how you used it. Then if you use specific AI generated content (text, images, videos, audio, code, and so on) you should cite it in the style (APA, MLA, and so on) specified by your instructor.

Access and accommodations

Your experience in this class is important to me. If you have already established accommodations with Disability Support Services (DSS), please communicate your approved accommodations to me at your earliest convenience so we can discuss your needs in this course.

If you have not yet established services through DSS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but are not limited to mental health, attention-related, learning, vision, hearing, physical or health impacts), you are welcome to contact DSS at 360-438-4580 or dss.testing@stmartin.edu or smu.dss@stmartin.edu. DSS offers resources and coordinates reasonable accommodations for students with disabilities and/or temporary health conditions. Reasonable accommodations are established through an interactive process between you, your instructor(s) and DSS. It is the policy and practice of the Saint Martin's University to create inclusive and accessible learning environments consistent with federal and state law.

Sexual misconduct/sexual harassment reporting

Saint Martin’s University is committed to providing an environment free from sex discrimination, including sexual harassment and sexual violence. There are Title IX/sexual harassment posters around campus that include the contact information for confidential reporting and formal reporting. Confidential reporting is where you can talk about incidents of sexual harassment and gender-based crimes including sexual assault, stalking, and domestic/relationship violence. This confidential resource can help you without having to report your situation to the formal reporting process through the Interim Dean of Students – Ms. Ann Adams MBA, Associate VP of Human Resources – Ms. Cynthia Johnson, Public Safety – Ms. Sharon Schnebly, or the Office of the Provost – Dr. Tanya Smith Brice, unless you request that they make a report. Please be aware that, in compliance with Title IX and under the Saint Martin’s University policies, educators must report incidents of sexual harassment and gender-based crimes including sexual assault, stalking, and domestic/relationship violence. If you disclose any of these situations in class, on papers, or to me personally, I am required to report it.

University sanctioned activities

If you are absent from class due to university-sanctioned activities, such as sports, it is your responsibility to request that the absence be excused; otherwise, the absence will be recorded as unexcused. Absent students are responsible for catching up with the class, and if any assignments are due on the day of the absence, it is your responsibility to turn in the assignments on time (prior to class). Assignments may be submitted as an attachment to an email.

Counseling and Wellness Center

There may be times, as a college student, when personal stressors interfere with your academic performance and your daily life. The Counseling and Wellness Center supports students by addressing mental and emotional well-being with FREE and confidential services. To schedule an appointment, call 360-412-6123 or email counselingcwc@stmartin.edu or stop by the CWC (1st floor St. Raphael Center).

If you would rather not go to the CWC or need support in the evenings and weekends, please consider using the TimelyCare app (timelycare.com/smusaints) to speak with a mental health provider, free, 24/7, from your phone or computer.

Religious Accommodation

Saint Martin's University, in honor of the sacredness of the individual, and being deeply rooted in the Catholic Benedictine tradition of higher education, values the many religious and spiritual practices of our campus community. Saint Martin's University supports our students in their ongoing journey of becoming. In compliance with Washington State Law RCW 28B.137.010, Saint Martin's University reasonably accommodates students for reasons of religious observances.

Center for Student Success

The Center for Student Success offers free academic services for all Saint Martin's students. The Center provides subject-area peer tutoring in science, technology, nursing, engineering, math, business, accounting, economics, world languages and other subjects. At the Writing Center, students meet with writing tutors to discuss their academic, personal, and professional writing. The Advising Center works with students on academic advising, connecting with campus support resources, transition and self-exploration guidance, personalized academic improvement plans, learning workshops, and support for changing majors. Disability Support Services is also located in the Center for any student with a disability who needs accommodations. For more information on the Center for Student Success, or to sign up for a tutoring, advising, or DSS meeting, see the website: stmartin.libcal.com/appointments.

Correlation of course & program outcomes

In keeping with the standards of the Department of Mechanical Engineering, each course is evaluated in terms of its desired outcomes and how these support the desired program outcomes. The following sections document the evaluation of this course.

Desired course outcomes

Upon completion of the course, the following course outcomes are desired:
  1. students will have a clear and thorough understanding of concepts, principles, and methods of modeling mechanical, electrical, and electro-mechanical systems;
  2. students will be familiar with the operation and input and output characteristics of the following electrical circuit elements:
    • resistors,
    • capacitors,
    • inductors,
    • diodes,
    • transistors, and
    • operational amplifiers;
  3. students will understand the designs of basic circuits;
  4. students will be able to model electrical and mechanical systems with a unified modeling technique;
  5. students will be able to construct state-space models (including state equations) of electrical, mechanical, and electro-mechanical systems;
  6. students will be able to analyze the characteristics of system models;
  7. students will be able to solve for first- and second-order linear (time-invariant) system responses;
  8. students will be able to solve for general linear (time-invariant) system responses;
  9. students will understand the larger contexts of electro-mechanical system dynamics, especially with regard to technology development and society; and
  10. students will be able to communicate what they are learning and its broader contexts.

Desired program outcomes

In accordance with ABET's student outcomes, our desired program outcomes are that mechanical engineering graduates have:
  1. an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  2. an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
  3. an ability to communicate effectively with a range of audiences
  4. an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
  5. an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
  6. an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
  7. an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Correlation of outcomes

The following table correlates the desired course outcomes with the desired program outcomes they support.
desired program outcomes
1 2 3 4 5 6 7
desired course outcomes 1