www.ti.com
•
Highly optimized function: This function enables faster and multiple control loop execution than what
is possible using standard ANSI-C routines.
2.2
Digital Motor Control (DMC) Library
2.2.1
DMCLib Overview
The digital motor control library is composed of C functions (or macros) developed for C2000 motor
control users. These modules are represented as modular blocks in C2000 literature in order to explain
system-level block diagrams clearly by means of software modularity. The DMC library modules cover
nearly all of the target-independent mathematical functions and target-specific peripheral configuration
functions, which are essential for motor control. These modules can be classified as:
Transformation and Observer Modules
Signal Generators and Control Modules
Peripheral Drivers
Real-Time Debugging Modules
In the DMC library, each module is separately documented with source code, use, and background
technical theory. All DMC modules allow users to quickly build, or customize their own systems. The
library supports three principal motor types (induction motor, BLDC and PM motors) but is not limited to
these motors.
The DMC modules — implemented in IQmath — are used to construct both sensored and sensorless
control systems. An earlier version of the DMC library (legacy) was released for the F281x series
SPRC080, and F280x series SPRC215. Starting in 2010, the libraries were revised with optimized macro
usage for system examples using F2803x (Piccolo) and F2833x (Delfino) families and integrated into
controlSUITE. For more on the motor control methodology and available resources, visit the
Control
Site. There are two releases of the math_blocks in controlSUITE; the fixedv1.1 supports all three
motor types and is only valid for fixed processors. The v2.0 supports both fixed (all) and float (induction
motor and PM motors) system examples.
The DMC library components have been used by TI to provide system-level motor control examples. In
the motor control code, all DMC library modules are initialized according to the system specific
parameters, and the modules are inter-connected to each other. At run-time the modules are called in
order. Each motor control system is built using an incremental build approach, which allows some sections
of the code to be built at a time, so that the developer can verify each section of the application one step
at a time. This is critical in real-time control applications, where so many different variables can affect the
system, and where many different motor parameters need to be tuned.
2.2.2
Incremental System Build Methodology
It is well known that, regardless of how much planning has gone into a system engineering project;
chances are the final system won't work for the first time, usually because some subtle target dependency
or requirement has been overlooked. This is normal engineering, and if a contingency plan or debug
methodology has been comprehended, it's not a problem. However, if not anticipated ahead of time, this
can become frustrating and time-consuming. To prevent this, the system comes pre-packaged within a
framework, incorporating various system build levels or debug steps as part of the normal system software
flow. A customer can move from a current build level to any other build level quickly, and without risk of
losing configuration or run-time information related to previous build levels.
SPRUGI6 – September 2010
Submit Documentation Feedback
Clarke, Park, Phase Voltage Calculation, Sliding Mode
Observer, BEMF Commutation, Direct Flux Estimator,
Speed Calculators and Estimators, Position Calculators
and Estimators etc.
PID, Commutation Trigger Generator, V/f Controller,
Impulse Generator, Mod 6 Counter, Slew Rate Controllers,
Sawtooth & Ramp generators, Space Vector Generators
etc.
PWM abstraction for multiple topologies and techniques,
ADC Drivers, Hall Sensor Driver, QEP Driver, CAP Driver
etc
DLOG module for CCS graph window utility, PWMDAC
module for monitoring the control variables through
oscilloscope.
Copyright © 2010, Texas Instruments Incorporated
Software Tools
TI Motor
TMS320C2000 Motor Control Primer
5
Need help?
Do you have a question about the TMS320C2000 and is the answer not in the manual?
Questions and answers