Freescale Semiconductor, Inc.

Freescale Semiconductor, Inc.

Software Design

Main Software Flowchart

When the start is successfully completed, the Running () function is called from main(). During the Running state, the commutation time preset calculations are provided by the CmtPreset() function, and commutation time set calculations are provided by the CmtSet() function.

During the Running, Start or Alignment states, the DecideStop () function is called to check drive stop conditions and can set the Stop_F flag. When the stop flag is set the MotorStop () function is called to stop the motor, and running, start, or alignment state is left. The software enters stand-by state.

Also, the commutation error (Cntr_Err>= MAX_ZC_ERR) and over-current (OverCurrent flag = 1) fault are checked in ERRHndl () and OVCurrent () functions during the Running, Start or Alignment states. If any error is detected, the function MotorStop () function is called. Then the software enters Fault state through the Fault() function. This is only left when the failures are cleared (variable Failure = 0). This decision is provided DecideCleSto () function, called from ErrorStop (). In manual control, the failures are cleared by setting the Start/Stop switch to Stop. In case of PC master software control, the failures are cleared by the ClearFail flag from the software. When the failures are cleared, the software enters Application Initialization.

Besides the main loop, there are three interrupts: timer 1, timer 2, and

PWM reload interrupts. They are described in Figure 5-6.

Interrupt Timer 1 is periodically called with period PER_CS_T1. The interrupt function provides dc-bus current measurement and virtual timer 3 service, where timer 1 is providing the timer 3 time base. When over-current is discovered, the OVC_F flag is set. Finally, the ADC is set according to the Nxt_Chnl variable to prepare speed potentiometer or temperature sensing. This interrupt is provided by the TIMACh1_Int() function.

Interrupt Timer 2 sets commutation actions. If commutation is enabled (CmtE_F flag is set), the following actions are done:

PWM commutation step

 

• Synchronization of timer 1, for current measurement with PWM

DRM028 — Rev 0

 

Designer Reference Manual

 

 

 

 

 

 

MOTOROLA

Software Design

87

 

For More Information On This Product,

 

 

Go to: www.freescale.com

 

Page 87
Image 87
Motorola M68HC08 manual Freescale Semiconductor, Inc