无感FOC电机控制代码


AN1078无感FOC文档的代码,开环启动,电流观测模型,SMO。没有库,全是源码,新手上手FOC的参考代码。
资源截图
代码片段和文件信息
/*******************************************************************************
Copyright (c) 2014 released Microchip Technology Inc. All rights reserved.

Microchip licenses to you the right to use modify copy and distribute
Software only when embedded on a Microchip microcontroller or digital signal
controller that is integrated into your product or third party product
(pursuant to the sublicense terms in the accompanying license agreement).

You should refer to the license agreement accompanying this Software for
additional information regarding your rights and obligations.

SOFTWARE AND DOCUMENTATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND
EITHER EXPRESS OR IMPLIED INCLUDING WITHOUT LIMITATION ANY WARRANTY OF
MERCHANTABILITY title NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT SHALL MICROCHIP OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER
CONTRACT NEGLIGENCE STRICT LIABILITY CONTRIBUTION BREACH OF WARRANTY OR
OTHER LEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES
INCLUDING BUT NOT LIMITED TO ANY INCIDENTAL SPECIAL INDIRECT PUNITIVE OR
CONSEQUENTIAL DAMAGES LOST PROFITS OR LOST DATA COST OF PROCUREMENT OF
SUBSTITUTE GOODS TECHNOLOGY SERVICES OR ANY CLAIMS BY THIRD PARTIES
(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF) OR OTHER SIMILAR COSTS.
*******************************************************************************/

// *****************************************************************************
// *****************************************************************************
// Section: Included Files
// *****************************************************************************
// *****************************************************************************
#include “field_weak.h“
#include “general.h“
#include “smcpos.h“
#include “periph.h“

T_FD_WEAK_PARM fdWeakParm;

int16_t FieldWeakening(int16_t qMotorSpeed)
{
    /* if the speed is less than one for activating the FW */
    if (qMotorSpeed <= fdWeakParm.qFwOnSpeed)
    {
        /* set Idref as first value in magnetizing curve */
        fdWeakParm.qIdRef = fdWeakParm.qFwCurve[0];
    }
    else
    {
        /* Index in FW-Table. The result is left shifted 11 times because
        /* we have a field weakening table of 16 (4 bits) values and the result
        /* of the division is 15 bits (16 bits with no sign). So
        /* Result (15 bits) >> 11 -> Index (4 bits). */
        fdWeakParm.qFWPercentage = FracDiv((qMotorSpeed - fdWeakParm.qFwOnSpeed)   
   Q15(OMEGAFIELDWK - OMEGANOMINAL + 1));
        fdWeakParm.qIndex = fdWeakParm.qFWPercentage >> 11;

        /* Interpolation betwen two results from the Table. First mask 11 bits
        /* then left shift 4 times to get 15 bits again.*/
        fdWeakParm.qInterpolPortion = (fdWeakParm.qFWPercentage & 0x07FF) << 4;

        fdWeakParm.qIdRef = fdWeakParm.qFwCurve[fdWeakParm.qIndex] 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     5058263  2014-07-02 11:23  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTAN1078 Demo ReadMe dsPIC33EV256GM106 Int Op Amp PIM (MPLAB X).pdf
     文件        5963  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTatan2CORDIC.s
     文件        2919  2014-09-11 15:24  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTcontrol.h
     文件        2323  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTControl.inc
     文件      337761  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTDEMO.dmci
     文件        3966  2014-09-11 15:25  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTfield_weak.c
     文件        3490  2014-09-11 15:26  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTfield_weak.h
     文件        3268  2014-09-11 15:29  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTgeneral.h
     文件        2103  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTgeneral.inc
     目录           0  2014-09-11 15:56  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTlib
     文件       96117  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTmcp802x_de2.c
     文件       18075  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTmcp802x_de2.h
     文件        3395  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTmeas_curr.h
     文件        2287  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTmeas_curr.inc
     文件        4304  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTmeas_curr.s
     文件        2132  2014-04-04 14:12  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTparms.h
     文件       37254  2014-06-30 18:11  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTperiph.c
     文件        8899  2014-09-11 13:23  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTperiph.h
     文件       39788  2014-09-11 15:50  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTpmsm.c
     目录           0  2014-09-11 16:07  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.X
     目录           0  2014-09-11 16:07  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuild
     目录           0  2014-09-11 16:07  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefault
     目录           0  2014-09-11 16:07  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction
     目录           0  2014-09-11 16:07  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction\_ext
     目录           0  2014-09-11 16:07  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction\_ext1472
     文件        4512  2014-09-11 15:52  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction\_ext1472atan2CORDIC.o
     文件          73  2014-09-11 15:52  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction\_ext1472atan2CORDIC.o.d
     文件        7084  2014-09-11 15:52  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction\_ext1472field_weak.o
     文件         182  2014-09-11 15:52  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction\_ext1472field_weak.o.d
     文件       31992  2014-09-11 15:52  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction\_ext1472mcp802x_de2.o
     文件         183  2014-09-11 15:52  AN1078_dsPIC33EV256GM106_SINGLEMOTOR_LVMCDB_HURSTPMSM.Xuilddefaultproduction\_ext1472mcp802x_de2.o.d
............此处省略55个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)