资源简介

本方案是一套完整的无刷无感电机的控制源程序,称不上非常专业,但对无刷电机的初学者会起到非常大的帮助作用,这个程序是花了几个月从‘零'无刷开始做起来的,可以帮助初学者减少入门无刷电机控制的时间。 如有问题可以留言给我!

资源截图

代码片段和文件信息


#include “STM8S903K.h “
//#include “STM8S103F.h “
#include “typedefine.h“
#include “main.h“
#include “CMDBLDC.h“

//********************************************
//**********     六步PWM             ********
//********************************************
void BLDC_RUN_ONESTEP(uint8 BLDC_STEP)
{
// TIM1_CNTRH = 0 ;  //计数器清0
// TIM1_CNTRL = 0 ;
TIM1_EGR = SETB0 ;
switch(BLDC_STEP)
{
case 1 : // AB
PWMCOUT_PINENBLE = UpPin_UnValid ;
PWMBOUT_PINENBLE = UpPin_UnValid ;
PWMAOUT_PINENBLE = UpPin_Valid ;
P_AL = UnderPin_UnValid ;
P_CL = UnderPin_UnValid ;
P_BL = UnderPin_Valid ;
break ;
case 2 : //AC
PWMCOUT_PINENBLE = UpPin_UnValid ;
PWMBOUT_PINENBLE = UpPin_UnValid ;
PWMAOUT_PINENBLE = UpPin_Valid ;
P_AL = UnderPin_UnValid ;
P_BL = UnderPin_UnValid ;
P_CL = UnderPin_Valid ;
break ;
case 3 : //BC
PWMAOUT_PINENBLE = UpPin_UnValid ;
PWMCOUT_PINENBLE = UpPin_UnValid ;
PWMBOUT_PINENBLE = UpPin_Valid ;
P_AL = UnderPin_UnValid ;
P_BL = UnderPin_UnValid ;
P_CL = UnderPin_Valid ;
break ;
case 4 ://BA
PWMAOUT_PINENBLE = UpPin_UnValid ;
PWMCOUT_PINENBLE = UpPin_UnValid ;
PWMBOUT_PINENBLE = UpPin_Valid ;
P_BL = UnderPin_UnValid ;
P_CL = UnderPin_UnValid ;
P_AL = UnderPin_Valid ;
break ;
case 5 ://CA
PWMAOUT_PINENBLE = UpPin_UnValid ;
PWMBOUT_PINENBLE = UpPin_UnValid ;
PWMCOUT_PINENBLE = UpPin_Valid ;
P_BL = UnderPin_UnValid ;
P_CL = UnderPin_UnValid ;
P_AL = UnderPin_Valid ;
break ;
case 6 : //CB
PWMAOUT_PINENBLE = UpPin_UnValid ;
PWMBOUT_PINENBLE = UpPin_UnValid ;
PWMCOUT_PINENBLE = UpPin_Valid ;
P_AL = UnderPin_UnValid ;
P_CL = UnderPin_UnValid ;
P_BL = UnderPin_Valid ;
break ;
default : 
BLDCInit(0);
break ;
}

}
// ===================================== 
//  OVER CURRENT OUT
void TOCURR_OVER_VALUE(uint16 OUT_CUR)
{
ToCMPxH(TIM1_CCR4HOUT_CUR);
ToCMPxL(TIM1_CCR4LOUT_CUR);
}
//======= PWM OUT ==========
void TOPWMVALUE(uint16 OUT_PWM)
{
ToCMPxH(TIM1_CCR1HOUT_PWM);
ToCMPxL(TIM1_CCR1LOUT_PWM);
ToCMPxH(TIM1_CCR2HOUT_PWM);
ToCMPxL(TIM1_CCR2LOUT_PWM);
ToCMPxH(TIM1_CCR3HOUT_PWM);
ToCMPxL(TIM1_CCR3LOUT_PWM);
}





 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        321  2011-12-01 15:53  bldc\checkres.spy

     文件       2569  2011-11-15 16:26  bldc\CMDBLDC.c

     文件        282  2011-11-15 16:39  bldc\CMDBLDC.h

     文件       4118  2011-11-15 15:26  bldc\Debug\bldc_start.ls

     文件      14474  2011-11-15 15:26  bldc\Debug\bldc_start.o

     文件       8200  2011-12-17 08:05  bldc\Debug\cmdbldc.ls

     文件      17719  2011-12-17 08:05  bldc\Debug\cmdbldc.o

     文件      10565  2011-12-16 20:30  bldc\Debug\function.ls

     文件      17081  2011-12-16 20:30  bldc\Debug\function.o

     文件      32883  2011-12-17 08:05  bldc\Debug\main.ls

     文件      30197  2011-12-17 08:05  bldc\Debug\main.o

     文件      25927  2011-12-17 08:05  bldc\Debug\rk-1199.elf

     文件       1440  2011-12-17 08:05  bldc\Debug\rk-1199.lkf

     文件      43815  2011-12-17 08:05  bldc\Debug\rk-1199.map

     文件       5972  2011-12-17 08:05  bldc\Debug\rk-1199.s19

     文件      93356  2011-12-17 08:05  bldc\Debug\rk-1199.sm8

     文件      18211  2011-12-17 08:05  bldc\Debug\stm8s_it.ls

     文件      26263  2011-12-17 08:05  bldc\Debug\stm8s_it.o

     文件       6403  2011-12-16 20:30  bldc\Debug\stm8_interrupt_vector.ls

     文件      16646  2011-12-16 20:30  bldc\Debug\stm8_interrupt_vector.o

     文件      21755  2011-12-17 08:05  bldc\Debug\testcple.ls

     文件      21971  2011-12-17 08:05  bldc\Debug\testcple.o

     文件       1673  2011-12-14 10:10  bldc\function.c

     文件        319  2011-12-14 10:24  bldc\function.h

     文件      12887  2011-12-15 21:41  bldc\main.c

     文件       2187  2011-12-16 20:33  bldc\main.h

     文件       1452  2011-12-17 08:05  bldc\Release\rk-1199.lkf

     文件       1105  2011-12-16 20:33  bldc\rk-1199.dep

     文件       1002  2011-12-17 08:05  bldc\rk-1199.pdb

     文件      21831  2011-12-15 21:41  bldc\rk-1199.stp

............此处省略23个文件信息

评论

共有 条评论