2002 Microchip Technology Inc.
Preliminary
DS30485A-page 121
PIC18FXX39
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.
FIGURE 14-3:
LAYERS OF THE
MOTOR CONTROL
ARCHITECTURE STACK
EXAMPLE 14-1:
MOTOR CONTROL ROUTINE USING THE ProMPT APIs
ProMPT Motor
Hardware
Application Program
Interface (API)
Application Software
Parameters
Control Kernel
Methods
and User Interface
Void main()
{
unsigned char i;
unsigned char j;
ProMPT_Init(0);
// Initialize the ProMPT block
i = ProMPT_SetFrequency(10);
// Set motor frequency to 10Hz
for (i=0;i<161;i++)
// Set counter for 10 sec @ 1/16 sec per tick
{
j = ProMPT_Tick(void);
// Tick of 1/16 sec
ProMPT_ClearTick(void);
// 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++)
// Set counter for 20 Sec @ 1/16 sec per tick
{
// (2 loops of 10 Sec each)
j = ProMPT_Tick(void);
// Tick of 1/16 Sec
ProMPT_ClearTick(void);
// Clearing the Tick flag
j = ProMPT_Tick(void);
// Tick of 1/16 Sec
ProMPT_ClearTick(void);
// Clearing the Tick flag
}
i = ProMPT_SetFrequency(0);
// Set motor frequency to 0 Hz (stop)
while(1);
}
// End of the task
相关PDF资料
PIC18F4439-I/ML IC MCU FLASH 6KX16 EE A/D 44QFN
PIC18F2439-I/SO IC MCU FLASH 6KX16 EE A/D 28SOIC
PIC16F687-I/SO IC PIC MCU FLASH 2KX14 20SOIC
PIC16F877AT-I/PTG IC MCU FLASH 8KX14 W/AD 44 TQFP
PIC16F877A-I/LG IC MCU FLASH 8KX14 W/AD 44PLCC
PIC12LC509AT-04I/MF IC MCU OTP 1KX12 LV 8-DFN
PIC12C509AT-04I/MF IC MCU OTP 1KX12 8-DFN
PIC24F08KL301-I/SS IC MCU 16BIT 8KB FLASH 20-SSOP
相关代理商/技术参数
PIC18F4539-I/P 功能描述:8位微控制器 -MCU 24KB 1408 RAM 32 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F4539-I/P 制造商:Microchip Technology Inc 功能描述:IC 8BIT FLASH MCU 18F4539 DIP40
PIC18F4539-I/PT 功能描述:8位微控制器 -MCU 24KB 1408 RAM 32 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F4539IPT 制造商:MICRO CHIP 功能描述:NEW
PIC18F4539T-E/ML 功能描述:8位微控制器 -MCU 24KB 1408 RAM 32 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F4539T-E/PT 功能描述:8位微控制器 -MCU 24KB 1408 RAM 32 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F4539T-I/ML 功能描述:8位微控制器 -MCU 24KB 1408 RAM 32 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC18F4539T-I/PT 功能描述:8位微控制器 -MCU 24KB 1408 RAM 32 I/O RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT