智能制造网

登录

电气设备/工业电器电机直流电机

无刷直流电机控制方案3

供应商:
上海伺锴电子科技有限公司
企业类型:
其他

产品简介

1KF8S1101面向BLDC控制的特性2软件库特点3开发套件的使用3.1DEMO板主要接口说明3.2开发软件的安装3.3建立KungFu8项目3.4添加源文件3.5样例程序清单3.6库文件4基于KF8S1101开放套件实现实际项目的开发4.1有霍尔模式、无霍尔模式选择4.2电机正反转模式选择4.3

详细信息

1   KF8S1101面向BLDC控制的特性

u ChipON自主的KungFu内核——高效的处理器平台

Ø  典型的RISC架构,程序存储器和数据存储器分开

Ø  具有88位寄存器组成的寄存器组堆

Ø  SFR无需分组,简化程序设计和代码密度

Ø  16bit指令代码,多数指令在一个周期内完成

Ø  工作频率*高20MHZ

u 面向BLDC控制的丰富的外设

Ø  带死区控制的增强型PWM,每个通道极性可独立设置

Ø  紧急故障输入端口,内部自带比较器,自动关断PWM输出

Ø  可触发ADC事件,PWM中间点采样电流

Ø  内部集成无霍尔信号检测阵列,降低外围器件成本

2      软件库特点

u 简单易用,提供完整的样例程序

u 支持有霍尔模式/无霍尔模式

u 平稳的无霍尔启动算法

u PI恒流控制

u 详尽完善的方案保护功能

u 改进的控制算法,电机适应性广

u 针对不同电机参数,只需在头文件中更改宏定义参数

u 提供硬件参考电路,结合样例程序,用户针对具体应用开发周期短

3       开发套件的使用

提供完整的开发环境(IDE)、ANSI C99标准的C编译器、仿真器、编程器和DEMO 评估板,详尽的用户手册和免费的软件源程序代码。用户无需设计硬件即可进行马达驱动性能的评估,方便用户针对具体应用添加和删减代码,开发出符合需求、高性价比的产品。

下图为基于KF8S1101芯片设计的工作电压DC24VDEMO板。

 

 

 

 

 

1  KF8S1101 BLDC DEMO

 

 

 

3.1    BLDC控制板主要接口说明

1.电机相线接口,从上到下依次为电机相线UVW

2.控制板工作电源,左边为正,右边为负。Rated Voltage 额定电压: 24V DC),Voltage Range 使用电压范围: 9-26VDC)。

3.电机霍尔信号接口,从左到右依次霍尔电源、霍尔信号U相、霍尔信号V相、霍尔信号W相、霍尔地。

4.电机正反转控制信号,跳线帽接上电机逆时针运行,跳线帽去除电机顺时针运行。

5.MCU程序下载接口。

6.电机启停控制按键,按一次开启,再按一次关闭。

7.电机转速调整旋钮。

8.电机运行状态指示灯。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.2    开发软件的安装

使用ChipOnChipON IDE v1.1.0版本的开发环境和ANSI C99标准的C编译器,按照向导以正常安装顺序将软件安装到电脑上。

 

3.3    建立KungFu8项目

运行ChipON IDE v1.1.0,选择工作空间地址。

新建一个项目。注意项目类型需要选择KF8-C。进入下一步,选择芯片型号KF8S1101,再点击下一步就建好了项目。

3.4    添加源文件

把提供的源程序文件(包括.c文件和.h文件)复制到新建项目下。鼠标放到项目名上点右键,选择粘贴,覆盖掉原来的“main.c”文件。

 

 

选择构建项目。

 

 

将库文件“CommutationRun.o”、“BEMF.o”粘贴到项目里的“Release”。

 

鼠标指向项目名称单击右键选择“属性”,选择“C/C++ 构建”下的设置,修改 C 链接器 命令参数,加入“CommutationRun.o”和“BEMF.o”。

这时再选择构建项目,即可成功的生成HEX文件。

 

3.5    样例程序清单

Ø 源程序C文件

Ø 源程序头文件

3.6    库文件

库文件包含下面两个文件

库文件对应的两个头文件为“CommutationRun.h”和“BEMF.h”,主要声明了库文件中包含的两个函数,

voidBEMFFuction(void);         //感生电动势过零点检测处理函数

voidCommutationInSpect(void); //换相检测处理函数

 

库函数中变量声明全部以“CHIPON_”开头,程序中用的函数名不要以其开头命名,以免出现重复。

 

 

 

库函数中用到的公有变量有:

unsignedchar fGlobe_SynchronizingRectify;//同步续流状态标志

unsignedchar SensorlessFirstCommutation;//无传感器模式初始换向状态标志

unsignedchar FrontTimesAfterZeroStart;  //静态启动换向次数计数器

unsignedchar CntForPWMTwo;              //PWM 2 占空比

unsignedchar fGlobe_SensorlessStatus;   //有无传感器模式标志

unsignedchar Fwd_RevFlag;               //正反转标志

unsignedchar fGlobe_MotorBrockStart;    //开始堵转标志

unsignedchar fGlobe_MotorBrock;        //堵转标志

unsignedchar fGlobe_Run;                //系统运行标志

unsignedchar U8Globe_PwmShadow;        //PWM占空比

库函数中用到的宏定义为:

#defineHALL_PORT               P2         //霍尔信号状态寄存器

#define   HALL_STATE_012        0x07       //hall 有效位(低三位)

 

4   基于KF8S1101开放套件实现实际项目的开发

针对实际项目开发时,程序只需做少量的修改即可实现功能。

4.1    有霍尔模式、无霍尔模式选择

样例程序中在子函数“void InitSystem(void)”里通过检测按键是否长按来选择有霍尔模式或者无霍尔模式,实际应用中只需把变量直接赋给所需的值即可实现模式选择。目前库文件中有霍尔模式只适合霍尔电角度为120°的电机,如果是60°电角度的话需要和我们联系,重新提供霍尔角度为60°电角度的库文件。

fGlobe_SensorlessStatus= 1;  //无霍尔模式fGlobe_SensorlessStatus= 0;  //有霍尔模式

 

4.2    电机正反转模式选择

样例程序中在子函数“void FWDREV_Function(void)”里通过检测“FWD_REVIO口是高电平还是低判断来调节电机转向,实现顺时针或者逆时针旋转。实际应用中只需把变量直接赋给所需的值即可实现电机旋转方向的选择。

SYFwd_Rev =0;       //电机正向选择

SYFwd_Rev =1;       //电机反向选择

4.3    不同类型电机参数修改

实际应用中会涉及到不同参数的BLDC电机,只需根据电机参数修改“system.h”里的宏定义即可。

/*电流参数*/

#define  SENSOR_RES                 0.05  //电流传感器阻值 ohm

#define  CURRENT_AMP                6.5   //电流放大器放大倍数

#define  LIMITCURERNT_REALY         1.5    // 均值电流限制值A

#define  BLOCKING _CURRENT_START_A 0.885 // 堵转判断电流值A

#define  RECTIFY_CURRENT_START_A   0.45  // 同步整流开始值A

#define  PEAK_CURRENT_LIM_A          4      // 峰值电流限制值A

/*电机堵转时间,20ms周期*/

#define  BROCKTIME                 70     //堵转计数器 70*20ms = 1.4s

在线询价