2013 ASEE Annual Conference, Atlanta, Georgia.

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2013 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference.


This paper describes the evolution of a graduate and advanced undergraduate mechanical engineering course on microcontrollers and electromechanical control systems. The course begins with developing an understanding of the architecture of the microcontroller, and low-level programming in assembly language. It then proceeds to working with various functions of the microcontroller, including serial communications, interrupts, analog to digital conversion, and digital to analog conversion. Finally, the students learn how to characterize first and second order systems, and develop and implement their own controllers for a variety of electromechanical systems. The course takes the uncommon approach of teaching assembly language programming to mechanical engineering students, with the students using assembly language programming for approximately half of the course and the remainder using the C programming language. The authors believe that this approach helps students develop a better understanding of the architecture of the microcontroller and low-level routines found in embedded control applications. The course provides a bridge between traditional mechatronics courses that focus on electronics and interfacing, and lab-based control courses that use turnkey data acquisition systems and graphical programming tools such as Simulink or LabVIEW. The course has existed for over two decades, using a variety of microprocessor and microcontroller platforms. After evaluating numerous alternatives, the course was recently updated to use a 32-bit ARM Cortex-M3 microcontroller evaluation board from STMicroelectronics paired with custom interfacing circuitry. This platform was chosen not only for more modern microcontroller technology, but also for the availability of free development tools and very inexpensive evaluation boards. This allows the students to write and test their programs outside of scheduled lab times, along with the ability to cost-effectively utilize microcontrollers in future projects.


2013, ASEE

Date of this Version