DORDT UNIVERSITY ENGINEERING DEPARTMENT
EMBEDDED MICROCONTROLLER SYSTEMS--EGR 304
(Spring 2020)

PROBLEM SETS

(Last update: 5/04/2020 5:14 pm)
PS
#  
Assigned Due Returned Assignment
10

5/04 --- ---   Topics: Privacy & Security in Embedded Sys
             Message Brokering Services
  Read: Chapter 17 in our textbook.
             Also read Message Brokers from IBM.
9

4/15 4/24 4/28   Topics: Synchronous serial interfacing, USB
 
  Browse: the Universal Serial Bus Specification
             version 2.0 (Click the link above and
             download the zip file. Then within the
             zip file find file usb20.pdf. Browse
             that file.)
 
  Read: Selected pages of the above file as
             suggested in the essay questions.
 
  Download these essay questions.
  Use a word-processor to answer the essay
             questions.

  Then upload your file (click link) to Canvas.
 
  Optional: Browse the entire web site of usb.org
             The specs. are in the "document library"
             which can be accessed from a small link
             in the fine-print near the bottom of the
             home page.
8

3/27 4/03 Graded
auto-
matic-
ally

Nothing
to
return
  Topics: Synchronous serial interfacing, Ethernet
  Read this Ethernet Tutorial.
 
  Take this twenty-question quiz on Ethernet.
  E-mail your quiz grade to Prof. De Boer.
  You are encouraged to repeat the quiz until
  you get a perfect grade. Turn in only your
  best grade.
 
  Optional: Example Python sockets using TCP/IP
  Optional: Books in Dordt's Library
  Optional: Wikipedia article Ethernet
7

2/28 3/27 4/01   Topics: Task scheduling, Measuring freq, period
             Memory, AC load control, Serial
             interfacing and RS-232, Ethernet
 
  Read RS-232 in Wikipedia
 
  Do this problem:
  Plot voltage vs. time of the Tx line in RS-232
  for sending this text: "Z#" (without the
  quotation marks, with a capital "Z"). Assume
  ±12 V signal voltages, 53 kbaud, eight data
  bits, and one stop bit. Be sure to label your
  axes properly. An ASCII table can be found in
  many places, e.g. http://www.asciitable.com
  Note that the illustration in the Wikipedia
  reading does not have properly labeled axes.
  Specifically the the independent axis lacks
  scale and units.
 
  Optional: The entire RS-232 standard is
  available from Dordt's library. Interface
  Between Data Terminal Equipment And Data
  Circuit-Terminating Equipment Employing Serial
  Binary Data Interchange
TK7887.5 .I57 1997
 
  Optional: Read about teleprinters.
 
  Very Optional: Listen to a Teletype machine.
  And see a Teletype machine connected to a
  Digital Equipment Corporation (DEC, a brand)
  model PDP-8/e computer. This computer could be
  booted "manually" via a bank of switches that
  allows the direct entry of machine code word-by
  word, executing each instruction as fast as the
  operator can enter the code. Wow, that's fast!
 
  Optional: Example of RS-232 debug ports in
  various products leaving security vulnerabilities.
 
  Turn in your homework HERE
 
  On Tuesday, 3/17, the due date on this assignment was
  changed from 3/20 to 3/27 to accommodate the recent
  efforts related to slow the spread of corona virus.
6

2/14 2/28 3/02   Topics: Position sensing, interrupts
  Read: Class notes on position sensing
  including relative vs. absolute position,
  issues with vibration, quadrature sensing,
  V-scan and U-scan techniques.
  Also read Section 10.2 in Lee and Seshia
  Also read this overview on interrupts
  and this on Arduino interrupt programming
 
  Do these problems on encoders and interrupts.
  Hints on Problem 3.19
 
  Optional related information:
  Details on a particular relative encoder
  Wikipedia article: "Rotary encoder"
  Detail of a 13-bit grey code absolute encoder.
  Wikipedia on Single-track grey code
  If you are a fan of the Raspberry Pi and/or
  Multithreaded programming (a foundation for
  object-oriented programming) you might like to
  look at Ch 11 in Lee and Seshia.
5

1/31 2/14 2/19   Topics: Digital-to-analog conversion, actuators
             solenoids, motors
  Scan through Chapters 2 and 3 of The Data
  Conversion Handbook, 2005 ed. Walt Kester.
 
  Read: Freescale's tutorials on motors.
  DC Motors
  Brushless DC Motors
  Stepper Motors
  Switched Reluctance Motors
  Brushless AC Motors
  (Now hosted by NXP, which bought out Freescale.)
  A few caveats about the above tutorials. . .
  In the illustration of the "Switched Reluctance"
  motor, the rotor will assume an induced
  magnetic field to oppose the applied magnetic
  field. This is not illustrated, probably
  because it might imply that the rotor is
  permanently magnetized, which it is not. It is
  just iron (or a steel alloy).
  In the illustration of the "AC Induction Motor"
  the coloration of the induced magnetic field
  in the rotor is backwards. According to Lens'
  Law, the induced field will oppose the applied
  magnetic field from the stator. Thus the red
  (north) pole of the stator will face a green
  (south) pole on the rotor, just as in any other
  motor.
 
  Also read Jones on Stepping Motors
 
  Do these problems on motors
  Helpful link: Lin model 211-13-01 and note
  the "Torque Curves" tab.
 
  (On 2/05 the due date on this assignment was changed
  from 2/07 to 2/14.)
4

1/24 1/31 2/12   Topics: Driving powerful loads, switch debouncing
            source modeling, decibels, signals and
            wiring, single-ended vs. differential
            analog-to-digital conversion, aliasing.
  Read: Classroom slides.
            Lee & Sechia, all of Ch 7, and in Ch. 10
            Sections 10.1.1, 10.1.2, 10.1.4, 10.1.5.
 
  Do in Lee & Sachia on page 207, Ex. 2, 3.
  Also draw a schematic to show to connect a
  hex-pad to an Arduino and be able to read the
  key-presses. Assume that the loop() program
  will repeat rapidly (at least 100 times a
  second). Specify how to connect the keypad to
  specific GPIO pins of the Arduino, how to set
  up each GPIO pin, and how to collect the key-
  presses in the loop procedure. Here is a
  typical hex keypad
Turn in your work on
  paper in class on Friday, 1/31
3

1/17 1/24 2/03   Topics: Parallel Interfacing, I/O drivers
  Read: Classroom slides.
            Multiplexing and Charlieplexing,
            Multiplexing a Keypad,
            Debouncing a switch or keyboard
                                                      (don't miss p2)
  Do Problem Set #3 found here.
  LED (LTL4243) information you will need is here.
  Use "Test Condition" or "Typical" data.
  Nominal forward current is 10 mA.
  (Abs. max. data is the verge of breakdown.)
  Turn in your work on paper in class on Friday, 1/24
2

1/13 1/17 1/27

Results
shown
via
the
link
above
  Topics: Version control of software
  Read: Classroom slides
  This assignment is designed to be worked mostly
  during the lab on Wed. 1/15.
 
  Follow this guide.
  Your finished work will be in dDB's repo.
  No other work needs to be turned in.
1

1/10 1/13 1/27

Since
this
was
an
elec-
tronic
sub-
miss-
ion,
no
physical
item
to
return
  Read the Preface and Chapter 1 from the
  Lee & Seshia textbook.
  View "Development Environments Overview"
  Briefly browse Getting Started with Arduino.
  Briefly browse this datasheet.
 
  Do the introductory problems
  Note the microcontroller chip on the Arduino Uno
  is part number "ATmega328P-PU"
 
  Turn this problem set in electronically.
  Save your answers as doc or docx format.
  Upload the file to Canvas via this link.

Note 1) Homework solutions are usually available one or two class periods after the due date. Click the "returned date" on this page to access the solutions. If the "Returned" date is not a link (is black, not gold) then the solution is not yet posted. Check back later. If you click the link and get a login screen instead of the solutions, log in using your usual courses@dordt username and password. Then use the back icon (or alt-left-arrow on the keyboard) twice to get back to the link on this page and click the link again. The link only works when you are logged in to courses@dordt.

Note 2) Problems sets shown above with no "assigned" date are tentative. More problems might be added, expected due dates might change, but problems shown will eventually be assigned.

Note 3) If you are having difficulty reading the latest version of this page it may have to do with your browser's cached memory. Read this note on cached pages to solve the problem.