Real-Time Computing for Mechanical Engineers Companion Website
RTC Website
0 Getting started
0.1 Real-time computing for a mechatronic system
0.2 The development system
0.3 Programming languages: their uses and differences
0.4 Getting started with C
0.5 The myRIO C library
0.6 The T1 C library
0.7 Summary
0.8 Problems
L0 Programming the target computer
1 Real-time computing fundamentals and programming the high-level user interface
1.1 Computer architectures
1.2 Computer realization and packaging
1.3 A programming model for the ARM processor
1.4 Numeral systems
1.5 Memory and its contents
1.6 The Paper Computer
1.7 Real-time computing
1.8 Applications: feedback control and real-time measurement
1.9 The design problem, objectives, functions, and requirements
1.10 C characters, pointers, strings, floats, and functions
1.11 Introducing the UI functions of the T1 library
1.12 Summary
1.13 Problems
L1 Programming the high-level User Interface
2 Efficient design and programming the midlevel User Interface
2.1 Efficiency for real-time computing
2.2 Algorithmic efficiency
2.3 Programmatic efficiency and efficient C programs
2.4 C operator precedence and associativity
2.5 The UI functions of the T1 library
2.6 Summary
2.7 Problems
L2 Programming the Midlevel User Interface
3 Digital communication, signals, and programming the low-level user interface
3.1 Information theory and digital communication fundamentals
3.2 Digital signals
3.3 Digital inputs and outputs and pull resistors
3.4 Modes of digital communication
3.5 Digital communication standards and protocols
3.6 Universal asynchronous receivers-transmitters
3.7 I/O communication channels for the myRIO
3.8 C structures
3.9 Programming the myRIO Universal Asynchronous Receiver/Transmitters (UARTs)
3.10 Programming the myRIO DIO lines
3.11 C multidimensional arrays
3.12 Summary
3.13 Problems
L3 Programming the low-level user interface
4 Motor control, finite-state machines, and waiting for real-time computing
4.1 Modeling the Electromechanical Subsystem
4.2 Open-loop control and the step response
4.3 Driving PMDC motors
4.4 Measuring motor position and velocity
4.5 Finite state machines
4.6 Waiting for real-time computing
4.7 Summary
4.8 Problems
L4 Finite state machine and open-loop control
5 Real-time scheduling with threads and interrupts, digital circuits, and mechanical switches
5.1 Real-time and conventional operating systems and kernels
5.2 Real-time scheduling
5.3 Real-Time Linux and Its Application Programming Interface
5.4 Interrupts and their handling in real-time computing
5.5 Digital circuits and logic gates
5.6 Transistors in digital circuits
5.7 Mechanical switches
5.8 Debouncing mechanical switches
5.9 Summary
5.10 Problems
L5 Introduction to interrupts
6 Digital realization of dynamic systems
6.1 Analog signals
6.2 ADC and DAC hardware
6.3 Sampling
6.4 Discrete-Time Systems
6.5 Analog Input/Output of the myRIO
6.6 Timer interrupts and their programming
6.7 Summary
6.8 Problems
L6 Realizing a discrete dynamic system
7 Closed-loop motor velocity control with a digital controller
7.1 Continuous feedback control systems and their performance
7.2 The root locus and proportional control
7.3 PI controller design via the root locus
7.4 Digital control systems
7.5 Digital velocity control of DC motors
7.6 The target controller design
7.7 Summary
7.8 Problems
L7 Motor velocity control
8 PID Motor Position Control and Path Planning
8.1 Derivative compensation
8.2 PID controller design
8.3 Motor position control with PID
8.4 Realizing a PID Controller: Causality and PIDF Controllers
8.5 Automatic Design of Target Motor Control
8.6 Path planning
8.7 Summary
8.8 Problems
L8 Motor position control
A Target and development systems
A.1 General T1 target system
A.2 Specific T1 target systems
A.3 General D1 development system
A.4 Specific D1 development systems
B Laboratory components
C Git version control
C.1 Setting up your \texttt {workspace} as a Git repository
C.2 A remote Git repository
D Utility C Function Documentation
D.1 Saving data from C to a MATLAB data file
D.2 A table editor
E MATLAB functions
E.1 Function \texttt {sos2header()} for converting controllers to C
F Code repository index
G Additional target computer feature programming
G.1 Programming the myRIO PWM outputs
G.2 Programming the target computer AIO
H Discrete approximations of some continuous controllers
I Lists of Figures and Tables
I.1 List of figures
I.2 List of tables
J Acronyms and Initialisms
TX▾
T1
myRIO system with an analog current amplifier
T2
myRIO system with an digital (PWM) voltage amplifier
DX▾
D1
Eclipse dev system
D1a
D1 system with for x86, VirtualBox hypervisor, Windows 10 Pro VM OS, and Eclipse Kepler SR2. For a T1 target system.
Using this website