• 大小: 598KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-07
  • 语言: 其他
  • 标签: stm8  有感BLDC  

资源简介

有感无刷电机驱动程序 已调试通过。 主控芯片stm8s903,HALL换向

资源截图

代码片段和文件信息

/* MAIN.C file
摘要:
1.PD7延时反转,指示系统工作。
2.上电,按指定PWM输出换相,实现电机基本运转功能。
3.换相依据为HALl信号,采用PORTD中断功能完成.
总之,上电根据HALL状态换相,并在输出PWM信号后,电机会转动,
同时HALL信号不断改变,然后进入捕获中断,进行及时换相。
如此实现电机的运转控制。
2013.5.8
 */
#include “stm8s.h“

#define STM8_FREQ_MHZ 16
#define PWM_FREQUENCY 16000

static const u32 hArrPwmVal = ((u16)((STM8_FREQ_MHZ * (u32)1000000)/PWM_FREQUENCY));
//PWM信号周期

#define PWMOUT 0
//按15%占空比输出


//六步法中,CH1\CH2通道极性及使能配置
//六步法中,CH3通道极性及使能配置
//ABACBCBACACB
//const unsigned char PWM_EN1_TAB[6]={0x010x010x100x100x000x00}; //1为使能 //已改为:CH1->A
//const unsigned char PWM_EN2_TAB[6]={0x000x000x000x000x010x01};

const unsigned char PWM_EN1_TAB[6]={0x000x000x100x100x010x01};
//六步法中,CH1\CH2通道极性及使能配置
const unsigned char PWM_EN2_TAB[6]={0x010x010x000x000x000x00};
//六步法中,CH3通道极性及使能配置

static unsigned char DIR_F=0;//DIR_F=1 -> CW DIR_F=0 -> CCW
unsigned char bHallSteps[2][8]={
{72014357}//正转
{75341027}//反转
};
//unsigned char bHallSteps[2][8]={
//{74052317}//正转
//{71325047}//反转
//};
//0 1 2 3 4 5 6 7 8
// 4     
//上桥臂开关控制端口定义
#define MCO1_PORT GPIOC
#define MCO1_PIN GPIO_PIN_3
#define MCO3_PORT GPIOC
#define MCO3_PIN GPIO_PIN_7
#define MCO5_PORT GPIOC
#define MCO5_PIN GPIO_PIN_6

//下桥臂开关控制端口定义
#define MCO0_PORT GPIOC
#define MCO0_PIN GPIO_PIN_2
#define MCO2_PORT GPIOC
#define MCO2_PIN GPIO_PIN_1
#define MCO4_PORT GPIOE
#define MCO4_PIN GPIO_PIN_5
//下桥臂低电平开关管导通
#define PWM_A_OFF MCO0_PORT->ODR |= (u8)MCO0_PIN; 
#define PWM_B_OFF MCO2_PORT->ODR |= (u8)MCO2_PIN; 
#define PWM_C_OFF MCO4_PORT->ODR |= (u8)MCO4_PIN; 

#define PWM_A_ON MCO0_PORT->ODR &= (u8)(~MCO0_PIN); 
#define PWM_B_ON MCO2_PORT->ODR &= (u8)(~MCO2_PIN); 
#define PWM_C_ON MCO4_PORT->ODR &= (u8)(~MCO4_PIN); 

//霍尔引脚定义
#define H1_PORT GPIOD->IDR
#define H1_PIN  BIT2

#define H2_PORT GPIOD->IDR
#define H2_PIN  BIT3

#define H3_PORT GPIOD->IDR
#define H3_PIN  BIT4



/* Private vars and define */
#define BIT0 0x01
#define BIT1 0x02
#define BIT2 0x04
#define BIT3 0x08
#define BIT4 0x10
#define BIT5 0x20
#define BIT6 0x40
#define BIT7 0x80

//换相子函数声明
void Commutation(unsigned char bHallStartStepunsigned int OutPwmValue);

unsigned int outpwm=0;

u16 Conversion_Val;

//初始化按键,指示灯端口
void GPIO_int(void)
{
 /* LEDs */
GPIO_Init(GPIOD GPIO_PIN_7 GPIO_MODE_OUT_PP_HIGH_FAST);
}

//系统时钟配置:内部16M
void Clock_init(void)
{
/* Select fCPU = 16MHz */
  CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
}

//换相电路开关管IO初始化
void PWM_IO_init(void)
{
  //PB012 下桥臂0有效 配置为高电平
GPIO_Init(MCO0_PORT MCO0_PINGPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(MCO2_PORT MCO2_PINGPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(MCO4_PORT MCO4_PINGPIO_MODE_OUT_PP_HIGH_FAST);

//PC123 上桥臂1有效配置为低电平
GPIO_Init(MCO1_PORT MCO1_PINGPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(MCO3_PORT MCO3_PINGPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(MCO5_PORT MCO5_PINGPIO_MODE_OUT_PP_LOW_FAST);
}

void Tim1_in

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

     文件       6465  2018-11-11 22:26  7.7.2 RUN WITH HALL_MY\bldc.dep

     文件        974  2018-11-11 22:26  7.7.2 RUN WITH HALL_MY\bldc.pdb

     文件      16786  2018-11-08 18:39  7.7.2 RUN WITH HALL_MY\bldc.stp

     文件        500  2018-11-10 21:23  7.7.2 RUN WITH HALL_MY\bldc_Programmer\bldc_STVP.stp

     文件        103  2018-11-10 21:23  7.7.2 RUN WITH HALL_MY\bldc_Programmer\bldc_STVP_OPTION BYTE.hex

     文件        455  2018-11-10 21:24  7.7.2 RUN WITH HALL_MY\checkres.spy

     文件      37735  2018-11-10 21:22  7.7.2 RUN WITH HALL_MY\Debug\bldc.elf

     文件       2387  2018-11-08 18:27  7.7.2 RUN WITH HALL_MY\Debug\bldc.lkf

     文件      41032  2018-11-10 21:22  7.7.2 RUN WITH HALL_MY\Debug\bldc.map

     文件      14252  2018-11-10 21:22  7.7.2 RUN WITH HALL_MY\Debug\bldc.s19

     文件     106076  2018-11-10 21:22  7.7.2 RUN WITH HALL_MY\Debug\bldc.sm8

     文件      31546  2018-11-10 21:22  7.7.2 RUN WITH HALL_MY\Debug\main.ls

     文件      12257  2018-11-10 21:22  7.7.2 RUN WITH HALL_MY\Debug\main.o

     文件      44376  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_adc1.ls

     文件      18362  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_adc1.o

     文件      38676  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_clk.ls

     文件      18658  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_clk.o

     文件      10330  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_exti.ls

     文件       4490  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_exti.o

     文件      10529  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_gpio.ls

     文件       6919  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_gpio.o

     文件     117482  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_tim1.ls

     文件      57927  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8s_tim1.o

     文件      72848  2013-05-10 12:04  7.7.2 RUN WITH HALL_MY\Debug\stm8s_tim5.ls

     文件      36579  2013-05-10 12:04  7.7.2 RUN WITH HALL_MY\Debug\stm8s_tim5.o

     文件       5537  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8_interrupt_vector.ls

     文件       2813  2018-11-10 14:34  7.7.2 RUN WITH HALL_MY\Debug\stm8_interrupt_vector.o

     文件     114637  2013-05-09 16:08  7.7.2 RUN WITH HALL_MY\Libraries\inc\stm8s.h

     文件      15026  2011-02-25 17:22  7.7.2 RUN WITH HALL_MY\Libraries\inc\stm8s_adc1.h

     文件      11473  2011-02-25 17:22  7.7.2 RUN WITH HALL_MY\Libraries\inc\stm8s_adc2.h

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

评论

共有 条评论