| Electronic Components Datasheet Search |
|
PIC18F4539-E/MLSQTP Datasheet(PDF) 123 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
PIC18F4539-E/MLSQTP Datasheet(HTML) 123 Page - Microchip Technology |
|
123 / 322 page ![]() 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 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |