Embedded Computing and Mechatronics with the PIC32 Microcontroller
- 12h 6m
- Kevin M. Lynch, Matthew L. Elwin, Nicholas Marchuk
- Elsevier Science and Technology Books, Inc.
- 2016
For the first time in a single reference, this book provides the beginner with a coherent and logical introduction to the hardware and software of the PIC32, bringing together key material from the PIC32 Reference Manual, Data Sheets, XC32 C Compiler User's Guide, Assembler and Linker Guide, MIPS32 CPU manuals, and Harmony documentation. This book also trains you to use the Microchip documentation, allowing better life-long learning of the PIC32. The philosophy is to get you started quickly, but to emphasize fundamentals and to eliminate "magic steps" that prevent a deep understanding of how the software you write connects to the hardware.
Applications focus on mechatronics: microcontroller-controlled electromechanical systems incorporating sensors and actuators. To support a learn-by-doing approach, you can follow the examples throughout the book using the sample code and your PIC32 development board. The exercises at the end of each chapter help you put your new skills to practice.
Coverage includes:
- A practical introduction to the C programming language
- Getting up and running quickly with the PIC32
- An exploration of the hardware architecture of the PIC32 and differences among PIC32 families
- Fundamentals of embedded computing with the PIC32, including the build process, time- and memory-efficient programming, and interrupts
- A peripheral reference, with extensive sample code covering digital input and output, counter/timers, PWM, analog input, input capture, watchdog timer, and communication by the parallel master port, SPI, I2C, CAN, USB, and UART
- An introduction to the Microchip Harmony programming framework
- Essential topics in mechatronics, including interfacing sensors to the PIC32, digital signal processing, theory of operation and control of brushed DC motors, motor sizing and gearing, and other actuators such as stepper motors, RC servos, and brushless DC motors
About the Authors
Kevin Lynch received his BSE in Electrical Engineering from Princeton University and his PhD in Robotics from Carnegie Mellon University, and he is currently Professor and Department Chair of the Mechanical Engineering Department at Northwestern University. He has been teaching mechatronics at Northwestern for over 15 years, and he has been awarded Northwestern’s highest teaching awards. He publishes and lectures widely on his research in robotics. He is a Fellow of the IEEE.
Nick Marchuk is a Lecturer in Mechatronics and directs the Mechatronics Design Lab at Northwestern University. He teaches introductory and advanced courses in mechatronics and directs student projects in electromechanical design. He received his BS degree in Mechanical Engineering from Johns Hopkins University and his MS in Mechanical Engineering from Northwestern.
Matthew Elwin is currently a PhD candidate in Mechanical Engineering at Northwestern University, where he has served as a teaching assistant for its mechatronics course. He earned BA and BE degrees in engineering sciences from Dartmouth College in 2009 and his MS in Mechanical Engineering from Northwestern in 2013. His research is in swarm robotics.
In this Book
-
Figure Credits
-
Quickstart
-
Hardware
-
Software
-
Using Libraries
-
Time and Space
-
Interrupts
-
Digital Input and Output
-
Counter/Timers
-
Output Compare
-
Analog Input
-
UART
-
SPI Communication
-
I2C Communication
-
Parallel Master Port
-
Input Capture
-
Comparator
-
Sleep, Idle, and the Watchdog Timer
-
Flash Memory
-
Controller Area Network (CAN)
-
Harmony and its Application to USB
-
Sensors
-
Digital Signal Processing
-
PID Feedback Control
-
Feedback Control of LED Brightness
-
Brushed Permanent Magnet DC Motors
-
Gearing and Motor Sizing
-
DC Motor Control
-
A Motor Control Project
-
Other Actuators