Adding Quadrature Encoder Driver Block
In the Simulink® Library Browser, add the eQEP block from C2000™ Microcontroller Blockset > F2837xD.
The eQEP block reads the quadrature encoder pulses and increments the position count. This block outputs the quadrature encoder pulse for the mechanical rotor position wraparound when the quadrature encoder index pulse is read.
See the section Quadrature Encoder Interface Configuration in Model Configuration Parameters for configurations related to the quadrature encoder.
In C28x eQEP block parameters dialog box, configure the quadrature encoder to read the quadrature encoder pulse count in the Texas Instruments® processor and wrap the pulse counter output when index pulse is found as shown in this table.
Tab and Parameter in eQEP Block | Settings |
---|---|
General > Module | eQEP1 |
General > Sample time | -1 |
Position counter > Output position counter | on |
Position counter > Maximum position counter value (0~4294967295) | 2^16-1 |
Position counter > Position counter reset mode | Reset on the first index event |
Position counter > Output latch position counter on index event | on |
Position counter > Index event latch of position counter | Falling edge |
Rename the block as eQEP.
eQEP1 module is selected because the quadrature encoder is connected to the QEP_A
interface on the LaunchPadXL28379d hardware board. The sample time is
-1
because the library block is function-call triggered by the
ADC interrupt synchronously. The maximum position counter value is
2^16-1
because the position counter uses a 16-bit architecture in
the library driver block. The position counter reset mode setting wraps the position
count when the index pulse is read.
Add the eQEP driver block module to the mcb_pmsm_foc_sim/Current
control
subsystem as shown in this figure.