Difference between revisions of "ME 333 Introduction to Mechatronics (Archive Winter 2016)"

From Mech
Jump to navigationJump to search
Line 8: Line 8:
* '''Final demo''' (in lieu of final exam): Monday Mar 16 3-5 PM (12:30-1:50 section) and Wednesday Mar 18 9-11 AM (11-12:20 section)
* '''Final demo''' (in lieu of final exam): Monday Mar 16 3-5 PM (12:30-1:50 section) and Wednesday Mar 18 9-11 AM (11-12:20 section)
* Office Hours: TBA
* Office Hours: TBA
!--
<!--
* Quick links:
* Quick links:
** [https://northwestern.instructure.com/courses/310 Canvas Course Management System]
** [https://northwestern.instructure.com/courses/310 Canvas Course Management System]
Line 14: Line 14:
** [https://groups.google.com/a/u.northwestern.edu/forum/#!forum/me333-2014.me Google discussion forum]
** [https://groups.google.com/a/u.northwestern.edu/forum/#!forum/me333-2014.me Google discussion forum]
** [[NU32: What is in the NU32 Kit|NU32 kit]]
** [[NU32: What is in the NU32 Kit|NU32 kit]]
--!
--!>


== Purpose of this Course ==
== Purpose of this Course ==

Revision as of 23:48, 24 November 2014

Winter Quarter 2015

First day of class is Tuesday January 6.

  • Section 20: Prof. Kevin Lynch, T Th, 11:00-12:20
  • Section 21: Prof. Nick Marchuk, T Th, 12:30-1:50
  • TAs:
  • C Peer Instruction Sessions: TBA
  • Final demo (in lieu of final exam): Monday Mar 16 3-5 PM (12:30-1:50 section) and Wednesday Mar 18 9-11 AM (11-12:20 section)
  • Office Hours: TBA
 The first assignments are designed to get you up to speed on the C programming language, which we will use throughout the course.
  • Have a laptop with at least 2 USB ports. Any operating system is fine. One port will be used to program and communicate with your PIC microcontroller, and the other will be used for your portable oscilloscope.
  • Be prepared to buy your class kit, consisting of the portable nScope oscilloscope, the NU32 PIC32 development board, and lots of other goodies. Price $125 if you are starting from scratch; $75 if you already have the nScope.

Student Contract

By signing up for this course, you agree to complete the checklist above before the course starts. You agree to stay engaged during the class period; even if your computer is open, no facebook or other distractions that will lessen your contribution to the class. You understand that learning from classmates, and helping classmates, is encouraged, up to the stage of conceptualizing solutions. You are not allowed to fully complete a solution in a team. You understand that plagiarism is not tolerated. You will report instances of plagiarism you are aware of. Plagiarism includes, but is not limited to:

  • Allowing another student to copy your work.
  • Copying another student's work, in whole or in part.
  • Transforming copied sections of code or solutions to try to disguise their origin.
  • Borrowing code or solutions from others not in the course, e.g., code found on the internet, without attribution. Borrowing code found on the internet is acceptable if the source is clearly indicated in your code comments, and if you understand how the code works.

On our part (faculty and TAs), we commit to do our best to provide you a curriculum and set of experimental materials to get you up to speed on sophisticated mechatronics integration as quickly and efficiently as possible, while giving you a foundation in concepts needed to go further in future projects and courses.

Prerequisite

ME 233 Electronics Design or similar (EECS 221, 225) is required. You will be expected to analyze circuits with resistors, capacitors, inductors, diodes, transistors, and op-amps. You can find refresher material and a sample quiz at this page.

Reading

Required:

Grading

Grades will be approximately 40% quizzes and 60% assignments and L-comps (including the final project). We will have short quizzes once a week at the beginning of class covering material on the previous assignment. Bring a sheet of paper you can turn in with your quiz answers. (Your lowest quiz score, assignment score, and L-comp score will be dropped.) We will have a final project and demo in lieu of a final exam.

All quizzes, assignments, and L-comps have equal weight, regardless of how many points they are graded out of. If one assignment is graded out of 20 points, and the next out of 40, the formula for calculating your total grade for these two assignments would be 0.5*(score1/20) + 0.5*(score2/40).

Homework Submission

All homework (except in the first week) will be submitted using the Canvas Course Management System. All homeworks should be submitted by 11 AM on the day it is due (i.e., before the first section of the day). Late homeworks will not be accepted.

Here are a few guidelines/tips associated with homework submissions:

  • Upload files individually. No more zip archives!
  • Unless otherwise stated, L-Comps should be in a single file.
  • Be neat and make sure your answers are easy to follow. Messy hard-to-follow assignments make TAs cranky, and you don't want cranky TAs grading your assignment!
  • When asked to submit C code for a given programming assignment, we are only concerned with receiving the relevant source files, i.e., all *.c and *.h files. We do not want entire IDE/MPLAB X projects or executables/object files.
  • If you upload an image of handwritten work make sure that the text appears clearly and the picture is oriented portrait style.
  • When writing your responses, please follow any instructions on how to write your response. For example, if we ask for a snippet of code, please do not submit your entire C program with header files and a main routine. We typically are only expecting a few lines of code that solves the problem.
  • When submitting written responses, we prefer PDF files, but will accept word documents (.doc, .docx), .txt, and .rtf files.
  • It helps both us and you if you format your code nicely. Clean looking code is easier for us to grade and easier for you to debug. Text editors with IDEs such as Netbeans and MPLAB X have tools for auto-formatting code. For example, highlighting a region and hitting Alt+Shift+f (Linux and Windows) will format that region according to your local formatting preferences.
  • When you compile your code, pay attention to any compiler warnings. They are there for a reason! You should be able to eventually get your code to produce no warnings. Often if a piece of code is not working, the warnings will give a clue as to why.

Schedule

This course is (partially) "flipped": you watch video lectures and do readings in advance of class, and during class, you should have plenty of opportunity for questions and interaction with the instructors and TAs as you work on assignments. The purpose of this is to try to maximize the value of the class time. In a typical lecture, 80% of the material is the same every time it is given, and the other 20% is interactive and variable based on student questions. In a flipped class, we hope to flip this percentage, to better tailor the class to student needs. You will have time with the instructors while your brains are actually on and working on the material (not just scribbling notes), the times when you are most likely to have questions. Making the video lectures available should also allow people to spend more or less time on the lecture portion, depending on their backgrounds. If the material is difficult for you, you can pause or rewind.

Please keep track of any questions you have as you watch the videos! Bring these questions to class; it will make for a livelier classroom. (Or use the forum if you prefer.)

All readings, videos, and C code can be found at this page: ME 333 Readings, Videos, and Sample Code. We will cover almost all of the Appendix, a Crash Course in C, in the first 1.5 weeks of class, so you can work ahead and do all the readings, watch all the videos, and do all the problems, if you have time over the break. But at a minimum, you must do the winter break assignment.

After the first two weeks of class, we will have video lecture comprehension questions (L-comps) due before every class, assignments due every Tuesday, and quizzes every Thursday (on the material covered in the assignment turned in on Tuesday). L-comps and assignments are turned in using Canvas before 11 AM the day of the class.

Winter Break

Reading due for first class: pages 1-9 of A Crash Course in C
Videos: 1-7 of A Crash Course in C
Assignment 1: Exercises 1-4, 6-8, 10-11, 14-15 of A Crash Course in C. Bring your laptop to class and demonstrate your HelloWorld.c program.

Class 1 (T 1/7) ---CANCELED---

Class 2 (Th 1/9)

Assignment due: Hand in paper versions of your solutions at the beginning of class.
In-class demo: Exercise 1.
Assignment discussion
Brief review of videos and readings
Discussion
Begin next assignment: Exercises 16-17, 19-20, 25-26, 28-30, 32. Pay for your equipment at this site.

At home:

Videos (and L-comps): 8-16 of a Crash Course in C. L-comps can be found at the bottom of the "description" portion of the video. You need to click it to expand it.
Reading: Through page 23 of a Crash Course in C, and the rest as reference

Class 3 (T 1/14)

Before 11 AM: Turn in assignment and L-comps (Canvas)
In-class demo: Exercise 32. Download the slightly updated Crash Course in C reading.
Assignment discussion
Brief review of videos, readings, and L-comps
Discussion
Begin next assignment: Exercise 33. If you have not yet, pay for your equipment at this site.

At home:

Videos (and L-comps): none
Reading: Rest of a Crash Course in C as reference
Programming and Pizza! Wed 1/15, 6-8 PM, courtest of ASG's Student-Faculty Interaction Grants. Tech B211, ME conference room. Get help from classmates and instructors on any C questions.

Class 4 (Th 1/16)

Before 11 AM: Turn in assignment (Canvas)
In-class demo: Exercise 33.
Assignment discussion
Quiz: On C
Intro to Programming the PIC32:
Download the following documentation:
* Chapter 1
* PIC32MX5xx/6xx/7xx Family Data Sheet (Dec 2013)
* PIC32 Reference Manual (Dec 2013)
Download and install the following software:
* Both MPLAB X IDE and XC32 compiler (further down on same page)
* FTDI driver for your computer
* PIC32quickstart.zip
* Windows only: the PuTTY terminal emulator
When installing the software, you may need to update your Java for the MPLAB X IDE. Answer "yes" if you are asked if you want to update your path when installing anything. Mac OS X may not allow you to install since the software is from an "untrusted" developer. You can override that by control-clicking on the dmg and choosing "Open".
Assignment: Download and install all of the above.

At home:

Assignment: Finish the downloads and installations, as described above.
Videos (and L-comps): Videos 1-4 of Chapter 2. L-comps can be found at the bottom of the "description" portion of the video (click on it to expand it).
Reading: Chapter 1 (you can ignore 1.4.2, 1.5, and 1.6.2) and Chapter 2. If you get the programs in 1.4.1 and 1.6.1 working, great! If not, ask questions on the forum or we'll do it in class on Tuesday. Don't destroy your board!

Class 5 (T 1/21)

Before 11 AM: Turn in L-comps (Canvas). No separate assignment to hand in today!
In-class demo: We will make sure that everyone can run simplePIC.c and talkingPIC.c. No demo grades today.
Brief review of videos, readings, and L-comps
Discussion
Begin next assignment, due next Tuesday: Problems 3-16 of Chapter 2 and problems 1-4, 6-8, 9 (parts a, c, d, and f only), and 10 of Chapter 3. Demo next Tuesday: Chapter 3 exercise 6.

At home:

Videos (and L-comps): video 17 of a Crash Course in C and all four videos for Chapter 3
Reading: Chapter 3.

Class 6 (Th 1/23)

Before 11 AM: Turn in L-comps (Canvas)
Quiz: on Chapter 2 L-comps.
Brief review of videos, readings, and L-comps
Discussion
Continue current assignment

At home:

Videos (and L-comps): Chapter 4 (only one video!)
Reading: Chapter 4

Class 7 (T 1/28)

Before 11 AM: Turn in assignment and L-comps (Canvas)
In-class demo: Exercise 6 of Chapter 3.
Assignment discussion
Brief review of videos, readings, and L-comps
Discussion
Begin next assignment, due next Tuesday: Chapter 4 exercises 1, 2, and 3 (a) and (b), and Chapter 5 exercises 3, 5, 7, and 8. Demo next Tuesday: Chapter 4 exercise 3(b).

At home:

Videos (and L-comps): Chapter 5 (2 videos)
Reading: Chapter 5

Class 8 (Th 1/30)

Before 11 AM: Turn in L-comps (Canvas)
Quiz: on material through assignment turned in Tuesday
Brief review of videos, readings, and L-comps
Discussion
Continue current assignment

At home:

Videos (and L-comps): Chapter 6 (5 videos)
Reading: Chapter 6

Class 9 (T 2/4)

Before 11 AM: Turn in assignment and L-comps (Canvas)
In-class demo: Chapter 4 exercise 3(b).
Assignment discussion
Brief review of videos, readings, and L-comps
Discussion
Begin next assignment, due next Tuesday: Chapter 6 exercises 1-8, 13, 15-18. Demo next Tuesday: Exercise 18.

At home:

Videos (and L-comps): Chapter 7 (3 videos)
Reading: Chapter 7

Class 10 (Th 2/6)

Before 11 AM: Turn in L-comps (Canvas)
Quiz: on material through assignment turned in Tuesday
Brief review of videos, readings, and L-comps
Discussion
Continue current assignment

At home:

Videos (and L-comps): Chapter 8 (4 videos)
Reading: Chapter 8
Monday: help session in ME conference room B211, 6-8 PM

Class 11 (T 2/11)

Before 11 AM: Turn in assignment and L-comps (Canvas)
In-class demo: Chapter 6 exercise 18.
Assignment discussion
Brief review of videos, readings, and L-comps
Discussion
Begin next assignment, due next Tuesday:
Assignment Part 1

At home:

Videos (and L-comps): Chapter 9 (3 videos)
Reading: Chapter 9

Class 12 (Th 2/13)

Before 11 AM: Turn in L-comps (Canvas)
Quiz: on material through assignment turned in Tuesday
Brief review of videos, readings, and L-comps
Discussion
Continue current assignment
Assignment Part 2
Example Code for Part 2

At home:

Videos (and L-comps): On PID control (5 videos)
Reading: none
Monday: help session in ME conference room B211, 6-8 PM

Class 13 (T 2/18)

Before 11 AM: Turn in assignment and L-comps (Canvas)
In-class demo:
Assignment discussion
Brief review of videos, readings, and L-comps
Discussion
Begin next assignment, due next Tuesday:
Assignment Parts 3 and 4
Sample Code
uart_plot.m

At home:

Videos (and L-comps): Analog input (1 video)
Reading: Chapter 10

Class 14 (Th 2/20)

Before 11 AM: Turn in L-comps (Canvas)
Quiz: on material through assignment turned in Tuesday
Brief review of videos, readings, and L-comps
Discussion
Continue current assignment
Assignment Parts 3 and 4
out.hex
pid_plot.m
comm.txt

At home:

Videos (and L-comps): Brushed Permanent Magnet DC Motors (7 videos!) Notes: (1) Because there are a lot of videos, these L-comps will count double of the usual L-comps. (2) Because this material is critical to the in-class motor characterization we will do on Tuesday, it is critical you watch these videos. Therefore, these L-comps are not eligible to be dropped as your lowest L-comps.
Reading: Chapter 11
Monday: help session in ME conference room B211, 6-8 PM

Class 15 (T 2/25)

Before 11 AM: Turn in assignment and L-comps (Canvas)
In-class demo: Square wave control of LED output.
Assignment discussion
Brief review of videos, readings, and L-comps
Discussion
Begin next assignment, due next Tuesday: Exercises 3-6 of Chapter 11. Begin exercise 4 in class. For the experimental characterization (exercises 4-6), assume the motor is a 6 V motor and the coils can dissipate 5 W continuously (I^2 R) before overheating. The encoder has 99 lines per revolution. No demo on Tues of next week.

At home:

Videos (and L-comps): Gears and Motor Sizing (3 videos)
Reading: Chapter 12

Class 16 (Th 2/27)

Before 11 AM: Turn in L-comps (Canvas)
Quiz: on material through assignment turned in Tuesday
Brief review of videos, readings, and L-comps
Discussion
Continue current assignment

At home:

Videos (and L-comps): Motor Control (4 videos)
Reading: Chapter 13
Monday: help session in ME conference room B211, 6-8 PM

Class 17 (T 3/4)

Before 11 AM: Turn in assignment and L-comps (Canvas)
In-class demo: None.
Assignment discussion
Brief review of videos, readings, and L-comps
Discussion
Begin final project: Download:

At home:

Finish wiring H-bridge, current sensor, and encoder counter chips.
Videos (and L-comps): None
Reading: Complete Chapter 13.

Class 18 (Th 3/6)

Before 11 AM: Demonstrate you can successfully use your matlab diagnostics code to interact with the H-bridge, current sensor, and encoder counter chips.
Quiz: on material through assignment turned in Tuesday (last quiz!)
Discussion
Continue final project. Due Tuesday: show that your current loop PI tuning works, and show that you successfully read the motor angle, in your own code.

At home:

Videos (and L-comps): None
Reading: None
Monday: help session in ME conference room B211, 6-8 PM

Class 19 (T 3/11)

Before 11 AM: Nothing to turn in, just the demo...
In-class demo: Show that your current loop PI tuning works, and show that you successfully read the motor angle, in your own code.
Discussion
Continue final project

At home:

Videos (and L-comps): None
Reading: None

Class 20 (Th 3/13)

Before 11 AM:
Quiz: No quiz!
Discussion
Continue final project


Final Demo: Monday 3/17, 3-5 PM or Wednesday 3/19, 9-11 AM. Electronic submission by Wednesday 3/19, 11 AM.

nScope

nScope website

FAQ

Q: Do I need to know the C language to take this course?

A: No. But if you already know C, there is still plenty else in this course for you. If you already know C, know how to use microcontrollers for real-time control, and have a good understanding how common sensors and actuators work and how to interface to them, this course may not be for you. Consider taking ME 433 Advanced Mechatronics in the spring quarter.


Q: Is there an independent project?

A: There is no large independent project. There will be a two-week project at the end of the course, but there will be no machining. For a significant project, do a quarter-long project in ME 433 Advanced Mechatronics, offered in the spring quarter. ME 333 is good preparation for ME 433.


Q: What kind of laptop do I need?

A: You need a laptop with at least 2 USB ports. Any operating system is fine.