English
Language : 

PIC18F4539 Datasheet, PDF (123/322 Pages) Microchip Technology – Enhanced FLASH Microcontrollers with Single Phase Induction Motor Control Kernel
14.4 Developing Applications Using
the Motor Control Kernel
The Motor Control kernel allows users to develop their
applications without having knowledge of motor con-
trol. The key parameters of the motor control kernel can
be set and read through the Application Program Inter-
face (API) methods discussed in the previous section.
The overall application can be thought of as a protocol
stack, as shown in Figure 14-3. In this case, the API
methods reside between the user’s application and the
ProMPT kernel, and are used to exchange parameter
values. The motor control kernel sets the PWM duty
cycles based on the inputs from the application
software.
A typical motor control routine is shown in
Example 14-1. In this case, the motor will run at 20 Hz
for 10 seconds, accelerate to 60 Hz at the rate of
10 Hz/s, remain at 60 Hz for 20 seconds, and finally
stop.
PIC18FXX39
FIGURE 14-3:
LAYERS OF THE
MOTOR CONTROL
ARCHITECTURE STACK
Application Software
and User Interface
Application Program
Interface (API)
Methods
Parameters
ProMPT Motor
Control Kernel
Hardware
EXAMPLE 14-1: MOTOR CONTROL ROUTINE USING THE ProMPT APIs
Void main()
{
unsigned char i;
unsigned char j;
ProMPT_Init(0);
i = ProMPT_SetFrequency(10);
// Initialize the ProMPT block
// Set motor frequency to 10Hz
for (i=0;i<161;i++)
{
j = ProMPT_Tick(void);
ProMPT_ClearTick(void);
}
// Set counter for 10 sec @ 1/16 sec per tick
// Tick of 1/16 sec
// Clearing the Tick flag
ProMPT_SetAccelRate(10);
// Set acceleration rate to 10 Hz/sec
i = ProMPT_SetFrequency(60);
// Set motor frequency to 60 Hz
for (i=0;i<161;i++)
{
j = ProMPT_Tick(void);
ProMPT_ClearTick(void);
j = ProMPT_Tick(void);
ProMPT_ClearTick(void);
}
i = ProMPT_SetFrequency(0);
while(1);
}
// Set counter for 20 Sec @ 1/16 sec per tick
// (2 loops of 10 Sec each)
// Tick of 1/16 Sec
// Clearing the Tick flag
// Tick of 1/16 Sec
// Clearing the Tick flag
// Set motor frequency to 0 Hz (stop)
// End of the task
 2002 Microchip Technology Inc.
Preliminary
DS30485A-page 121