Embedded Computing in Electromechanical Systems ME/EE 477 and MME 577
a syllabus
- Course description
- General information
- Textbooks (recommended)
- Homebrew text and notes
- Schedule
- Laboratory exercises and reports
- Assignments
- Video lectures
- Resources
- Slack
- Graduate student responsibilities
- Laboratory policies
- Homework, quiz, & exam policies
- Academic integrity policy
- Acceptable use of AI in coursework
- Access and accommodations
- Sexual misconduct/sexual harassment reporting
- University sanctioned activities
- Counseling and Wellness Center
- Religious Accommodation
- Center for Student Success
- Correlation of course & program outcomes
Course description
This course is an introduction to microprocessor-based measurement and control of electrical, mechanical, and electromechanical systems. Topics include microprocessor architecture, computer memory, C programming, hardware and software interfaces, and communications. Emphasis is placed on hardware and software interface design for real-time measurement, control, and user interface.
The course is designed for the Embedded Computing Laboratory, which is described in Resource 1 of Embedded Computing. Note that this course was developed in collaboration with Professor Joseph L. Garbini, who teaches a similar course at the University of Washington.
General information
- Actual office hours (CH 103C)
- Tue, Thu 3:20–5:50
- Virtual office hours (zoom, make appointment!)
- By appointment
- Office hours appointments
- make appointment
- Location
- Harned 213
- Times
- W 2:00–4:50
- Website
- ricopic.one/courses/me577_2020S
- Moodle
- Moodle
secrets
Textbooks (recommended)
(KR) Any introduction to the C programming language. For example, Kernighan, B. W. and Ritchie, D. M., The C Programming Language. Prentice Hall, 2nd Ed. 1988.
(PH) Patterson, David A. and Hennessy, John L. Computer Organization and Design: The Hardware Software Interface ARM Edition. Morgan Kaufmann Publishers, 2016.
(RW) Derek Rowell and David N. Wormley. System Dynamics: An Introduction. Prentice Hall, 1997.
(Ni) Norman S. Nise. Control Systems Engineering. Seventh Edition. Wiley, 2015.
Homebrew text and notes
A partial texts (with fill-ins) I’m writing will be posted on the Embedded Computing (EC) page.
They are being constantly updated, but I will let everyone know via Slack when each lecture is ready to be printed. Please print each lecture before class and bring it. There are fill-ins and such.
Throughout the semester, you should be ready to show these (current) in any class, with threat of a 5% lab report grade deduction for that week.
Schedule
The following schedule is tentative.
day | lectures | week | reading | due |
---|---|---|---|---|
Course introduction Lecture 00.01 Introduction to embedded computing Lecture 00.02 Embedded control Lecture 00.03 Computer architectures Lecture 00.04 Numeral systems Lecture 00.05 Binary and hexadecimal arithmetic Resource 1: High-level embedded system Resource 2: Embedded system intro Resource 7: Setting up the dev environment Lab Exercise 00 Getting started |
1 | C text | ||
Lecture 01.01 Memory Lecture 01.02/3 Processing Lab Exercise 01.1 C and high-level io drivers Lab Exercise 01.2 Lab Exercise 01.3 Lab Exercise 01.4 |
2 | C text | Lab 00 Ass 01 |
|
Lecture 02.01 A paper computer Lecture 02.02 C—operator precedence and associativity Lecture 02.03 Exploring C—compile-time integral constants Lecture 02.04 Exploring C—pointers Lab Exercise 02 Keypad mid-level primitives |
3 | C text | Lab 01 | |
Lecture 03.01 Data transmission Lecture 03.02 UARTs Lecture 03.03 Exploring C—structures Lecture 03.04 Exploring C—multi-dimensional arrays Lecture 03.05 Exploring C—custom data types Lab Exercise 03 Low-level character io |
4 | C text | Lab 02 | |
Lecture 04.01 Digital signals Lecture 04.02 Pulse-width modulation Lecture 04.03 Motor driving Lecture 04.04 Measuring motor position and velocity Lecture 04.05 Finite state machines Lab Exercise 04: Parallel io and control |
5 | Lab 03 | ||
Lab day | 6 | Ass. 2 | ||
Lecture 05.01 Threads Lecture 05.02 Interrupts Lecture 05.03 Boolean algebra on digital signals Lecture 05.04 Debouncing switches Lab Exercise 05 Introduction to interrupts |
7 | Lab 04 | ||
Lab day | 8 | |||
Lecture 06.01 ADC and DAC Lecture 06.02 Discrete dynamic systems Lecture 06.03 Discrete transfer functions Lecture 06.04 Biquad cascade transfer functions Lecture 06.05 Timer interrupts Lab Exercise 06 Transfer function generator |
9 | Lab 05 | ||
Lab day | 10 | |||
Lecture 07.01 DC motor velocity control Lecture 07.02 Designing a PI controller Lab Exercise 07 DC motor PI velocity control |
11 | Lab 06 | ||
Lab day | 12 | |||
Lecture 08.01 Path planning Lecture 08.02 Designing a PID controller Lab Exercise 08 DC motor PID position control |
13 | Lab 07 | ||
Lab day | 14 | |||
Presentations | 15 | Lab 08 |
Laboratory exercises and reports
For each laboratory exercise listed in the schedule, perform the following tasks.
- Do the assigned reading.
- Perform the laboratory procedure described in Embedded Computing.
- Write and submit to Moodle a lab report and source code.
Assignments
Assignment #1
- Do the assigned reading.
- Do EC Chapter 00 Exercises 2, 3, 6, 7, 8, 9, 10, 11, 12.
- Take the homework quiz.
Assignment #2
- Do the assigned reading.
- Do EC Exercise 04.1.
- Take the homework quiz.
Video lectures
Most lectures will be available online on my YouTube channel. I recommend subscribing and familiarizing yourself with the playlist for this course.
Resources
Class resources will be posted here throughout the semester.
Slack
Everyone is required to join the messaging service called “Slack.” We’ll use it to communicate with each other during the semester. The Slack team you need to join is called drrico. That’s a signup link. Be sure to join the channel #577-general-2020
.
Graduate student responsibilities
Graduate students have three additional responsibilities: (1) perform a literature search to understand an aspect of each laboratory exercise in greater depth; (2) as part of the introduction to each laboratory report (should be about a page in the standard format), summarize your research, citing least three academic sources; and (3) at the end of the semester, present a detailed description of an application of embedded computing, focusing on the embedded computing aspect of the application.
For resources pertaining to (1), see my Academic Literature Searching Tutorial.
Laboratory policies
A laboratory report will be due on Monday after the week it is due on the schedule. These reports will be submitted via Moodle and must be in accordance with the requirements provided here.
Laboratory procedures should be performed individually, although collaboration is encouraged. That is, discussions of how to accomplish aspects of the lab are great, but everyone should write their own code.
Laboratory reports should also be prepared individually.
Homework, quiz, & exam policies
Homework & homework quiz policies
When assigned, homework assignments should be completed by the Monday after the week it is due on the schedule. There will be a quiz over the assignment on Moodle.
Working in groups on homework is strongly encouraged, but work turned-in must be one’s own.
Exam policies
A midterm and a final exam may be given, but are not planned. If you require any specific accommodations, please contact me.
If applicable, 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.
Grading policies
Total grades in the course may be curved, but individual assignments will not be. They will be available on Moodle throughout the semester.
Assuming no exams are given, the grading breakdown is simple.
- Reports, code, assignments
- 100%
For graduate students, 10% of their grade will depend on their final presentation.
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:
- students will have a clear and thorough understanding of concepts, principles, and methods of embedded computing in electromechanical systems;
- students will understand basic computer architecture;
- students will understand basic C programming;
- students will be able to program an embedded computer;
- students will be able to design a basic feedback control system;
- students will be able to write a clear and thorough report of a laboratory exercise; and
- students will collaborate to complete laboratory exercises.
Desired program outcomes
In accordance with ABET’s student outcomes, our desired program outcomes are that mechanical engineering graduates have:
- an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
- 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
- an ability to communicate effectively with a range of audiences
- 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
- 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
- an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
- 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 | ✔ | ✔ | ✔ | | | | ✔ | ||||
✔ | ✔ | ✔ | | | | ✔ | ||||||
✔ | ✔ | ✔ | | | | ✔ | ||||||
✔ | ✔ | ✔ | | | | ✔ | ||||||
✔ | ✔ | ✔ | | | | ✔ | ||||||
✔ | ✔ | ✔ | | | | ✔ | ||||||
✔ | ✔ | ✔ | | ✔ | | ✔ |