This commit is contained in:
parent
9cb048ddaa
commit
986d1841c7
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"gd32f4xx_it.h": "c",
|
||||||
|
"3626motor.h": "c"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
#include "3626motor.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void motor3606_io_Init()
|
||||||
|
{
|
||||||
|
rcu_periph_clock_enable(RCU_GPIOC);
|
||||||
|
rcu_periph_clock_enable(RCU_GPIOD);
|
||||||
|
rcu_periph_clock_enable(RCU_GPIOE);
|
||||||
|
|
||||||
|
gpio_mode_set(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_PIN_9);
|
||||||
|
gpio_output_options_set(GPIOC, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);
|
||||||
|
|
||||||
|
gpio_mode_set(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_PIN_10);
|
||||||
|
gpio_output_options_set(GPIOD, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
|
||||||
|
|
||||||
|
gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_0);
|
||||||
|
gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1);
|
||||||
|
gpio_output_options_set(GPIOE, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0| GPIO_PIN_1);
|
||||||
|
|
||||||
|
rcu_periph_clock_enable(RCU_SYSCFG);
|
||||||
|
gpio_mode_set(GPIOE, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_10);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
H_BRIDGE_POWER_ON;
|
||||||
|
// V_BRIDGE_POWER_ON;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,36 @@
|
||||||
|
#ifndef __3626_MOTOR_H_
|
||||||
|
#define __3626_MOTOR_H_
|
||||||
|
#include "gd32f4xx_it.h"
|
||||||
|
#include "includes.h"
|
||||||
|
|
||||||
|
/* 水平电机正向旋转 */
|
||||||
|
#define H_Forward_Rotation gpio_bit_reset(GPIOC, GPIO_PIN_9)
|
||||||
|
/* 水平电机反向旋转 */
|
||||||
|
#define H_Reverse_Rotation gpio_bit_set(GPIOC, GPIO_PIN_9)
|
||||||
|
|
||||||
|
/* 垂直电机正向旋转 */
|
||||||
|
#define V_Forward_Rotation gpio_bit_reset(GPIOD, GPIO_PIN_10)
|
||||||
|
/* 垂直电机反向旋转 */
|
||||||
|
#define V_Reverse_Rotation gpio_bit_set(GPIOD, GPIO_PIN_10)
|
||||||
|
|
||||||
|
|
||||||
|
/* 驱动器电源控制引脚 */
|
||||||
|
#define H_BRIDGE_POWER_OFF gpio_bit_reset(GPIOE,GPIO_PIN_0)
|
||||||
|
#define H_BRIDGE_POWER_ON gpio_bit_set(GPIOE,GPIO_PIN_0)
|
||||||
|
|
||||||
|
#define V_BRIDGE_POWER_OFF gpio_bit_reset(GPIOE,GPIO_PIN_1)
|
||||||
|
#define V_BRIDGE_POWER_ON gpio_bit_set(GPIOE,GPIO_PIN_1)
|
||||||
|
|
||||||
|
|
||||||
|
void motor3606_io_Init();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
|
@ -1,9 +1,9 @@
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
/// FULL_BRIDGE文件
|
/// FULL_BRIDGE<EFBFBD>ļ<EFBFBD>
|
||||||
///
|
///
|
||||||
///
|
///
|
||||||
/// 包含hall捕获、六步驱动等
|
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>hall<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
/// @file full_bridge.c
|
/// @file full_bridge.c
|
||||||
/// @author LH
|
/// @author LH
|
||||||
/// @date 2022-07-19
|
/// @date 2022-07-19
|
||||||
|
@ -34,11 +34,11 @@ HALL_State V_Hall_state;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
********************************六步换向法***********************************/
|
********************************<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***********************************/
|
||||||
static unsigned int h_pwm_duty;
|
static unsigned int h_pwm_duty;
|
||||||
static unsigned int v_pwm_duty;
|
static unsigned int v_pwm_duty;
|
||||||
/*!
|
/*!
|
||||||
\brief none pwm占空比设置
|
\brief none pwmռ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -50,7 +50,7 @@ void h_pwm_duty_change(unsigned int pwm_duty)
|
||||||
h_pwm_duty = pwm_duty;
|
h_pwm_duty = pwm_duty;
|
||||||
|
|
||||||
}
|
}
|
||||||
//垂直
|
//<EFBFBD><EFBFBD>ֱ
|
||||||
void v_pwm_duty_change(unsigned int pwm_duty)
|
void v_pwm_duty_change(unsigned int pwm_duty)
|
||||||
{
|
{
|
||||||
v_pwm_duty = pwm_duty;
|
v_pwm_duty = pwm_duty;
|
||||||
|
@ -59,7 +59,7 @@ void v_pwm_duty_change(unsigned int pwm_duty)
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief hall状态获取
|
\brief hall״̬<EFBFBD><EFBFBD>ȡ
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -94,7 +94,7 @@ unsigned char v_hall_senser_value_get()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none U相进,V相出
|
\brief none U<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -112,7 +112,7 @@ void h_uh_vl()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none W相进,V相出
|
\brief none W<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -130,7 +130,7 @@ void h_wh_vl()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none W相进,U相出
|
\brief none W<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -148,7 +148,7 @@ void h_wh_ul()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none V相进,U相出
|
\brief none V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -166,7 +166,7 @@ void h_vh_ul()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none V相进,W相出
|
\brief none V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -184,7 +184,7 @@ void h_vh_wl()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none U相进,W相出
|
\brief none U<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -201,7 +201,7 @@ void h_uh_wl()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none 六步换向,对于120°hall,正转顺序为546231,反转顺序为:7-正转顺序,,(最终再减1)
|
\brief none <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120<EFBFBD><EFBFBD>hall<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת˳<EFBFBD><EFBFBD>Ϊ546231<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת˳<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>7-<EFBFBD><EFBFBD>ת˳<EFBFBD><EFBFBD>,,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ټ<EFBFBD>1<EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -218,7 +218,7 @@ pctr h_six_step_commu[6] =
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none U相进,V相出
|
\brief none U<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -236,7 +236,7 @@ void v_uh_vl()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none W相进,V相出
|
\brief none W<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>V<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -254,7 +254,7 @@ void v_wh_vl()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none W相进,U相出
|
\brief none W<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -272,7 +272,7 @@ void v_wh_ul()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none V相进,U相出
|
\brief none V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -290,7 +290,7 @@ void v_vh_ul()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none V相进,W相出
|
\brief none V<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -308,7 +308,7 @@ void v_vh_wl()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none U相进,W相出
|
\brief none U<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -325,7 +325,7 @@ void v_uh_wl()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none 六步换向,对于120°hall,正转顺序为546231,反转顺序为:7-正转顺序,,(最终再减1)
|
\brief none <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120<EFBFBD><EFBFBD>hall<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת˳<EFBFBD><EFBFBD>Ϊ546231<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת˳<EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>7-<EFBFBD><EFBFBD>ת˳<EFBFBD><EFBFBD>,,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ټ<EFBFBD>1<EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -345,33 +345,33 @@ void uvw()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none 水平直流无刷六步换向
|
\brief none ˮƽֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
\note LH @2022.07.21
|
\note LH @2022.07.21
|
||||||
*/
|
*/
|
||||||
//中断里调用
|
//<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
void h_bldc_six_step()
|
void h_bldc_six_step()
|
||||||
{
|
{
|
||||||
// H_ADC2_Phase_current();
|
// H_ADC2_Phase_current();
|
||||||
if(g_ptz.hori_start_stop_set == PTZ_HORI_START)
|
if(g_ptz.hori_start_stop_set == PTZ_HORI_START)
|
||||||
{//电机处于启动状态
|
{//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||||
H_Hall_state.Hall_value = h_hall_senser_value_get();
|
H_Hall_state.Hall_value = h_hall_senser_value_get();
|
||||||
if((H_Hall_state.Hall_value <= 6)&&(H_Hall_state.Hall_value >= 1))
|
if((H_Hall_state.Hall_value <= 6)&&(H_Hall_state.Hall_value >= 1))
|
||||||
{
|
{
|
||||||
// if(g_ptz.hori_direction_set == PTZ_HORI_DIR_RIGHT)
|
// if(g_ptz.hori_direction_set == PTZ_HORI_DIR_RIGHT)
|
||||||
// {//电机正转- 1
|
// {//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת- 1
|
||||||
// h_six_step_commu[(7-H_Hall_state.Hall_value) -1]();
|
// h_six_step_commu[(7-H_Hall_state.Hall_value) -1]();
|
||||||
// }else{//电机反转
|
// }else{//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת
|
||||||
// h_six_step_commu[H_Hall_state.Hall_value -1]();
|
// h_six_step_commu[H_Hall_state.Hall_value -1]();
|
||||||
// }
|
// }
|
||||||
//直齿云台转向
|
//ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨ת<EFBFBD><EFBFBD>
|
||||||
if(g_ptz.hori_direction_set == PTZ_HORI_DIR_RIGHT)
|
if(g_ptz.hori_direction_set == PTZ_HORI_DIR_RIGHT)
|
||||||
{//电机正转- 1
|
{//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת- 1
|
||||||
|
|
||||||
h_six_step_commu[H_Hall_state.Hall_value -1]();
|
h_six_step_commu[H_Hall_state.Hall_value -1]();
|
||||||
}else{//电机反转
|
}else{//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת
|
||||||
h_six_step_commu[(7-H_Hall_state.Hall_value) -1]();
|
h_six_step_commu[(7-H_Hall_state.Hall_value) -1]();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -380,35 +380,35 @@ void h_bldc_six_step()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*!
|
/*!
|
||||||
\brief none 垂直直流无刷六步换向
|
\brief none <EFBFBD><EFBFBD>ֱֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
\note LH @2022.07.21
|
\note LH @2022.07.21
|
||||||
*/
|
*/
|
||||||
//中断里调用
|
//<EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
void v_bldc_six_step()
|
void v_bldc_six_step()
|
||||||
{
|
{
|
||||||
// V_ADC0_Phase_current();
|
// V_ADC0_Phase_current();
|
||||||
if((g_ptz.vert_start_stop_set == PTZ_VERT_START) && (g_ptz.vert_pid.mode == PID_ADJUST_SPEED))
|
if((g_ptz.vert_start_stop_set == PTZ_VERT_START) && (g_ptz.vert_pid.mode == PID_ADJUST_SPEED))
|
||||||
{//电机处于启动状态
|
{//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
||||||
V_Hall_state.Hall_value = v_hall_senser_value_get();
|
V_Hall_state.Hall_value = v_hall_senser_value_get();
|
||||||
if((V_Hall_state.Hall_value <= 6)&&(V_Hall_state.Hall_value >= 1))
|
if((V_Hall_state.Hall_value <= 6)&&(V_Hall_state.Hall_value >= 1))
|
||||||
{
|
{
|
||||||
if(g_ptz.vert_direction_set == PTZ_VERT_DIR_UP)
|
if(g_ptz.vert_direction_set == PTZ_VERT_DIR_UP)
|
||||||
{//电机正转- 1
|
{//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת- 1
|
||||||
v_six_step_commu[V_Hall_state.Hall_value -1]();
|
v_six_step_commu[V_Hall_state.Hall_value -1]();
|
||||||
}else{//电机反转
|
}else{//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת
|
||||||
v_six_step_commu[(7-V_Hall_state.Hall_value) -1]();
|
v_six_step_commu[(7-V_Hall_state.Hall_value) -1]();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// if(g_ptz.vert_pid.PidUT_float < 0)
|
// if(g_ptz.vert_pid.PidUT_float < 0)
|
||||||
// {//换种思路,PID计算为负数时,反向转动
|
// {//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˼·<EFBFBD><EFBFBD>PID<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>
|
||||||
// if(g_ptz.vert_direction_set == PTZ_VERT_DIR_UP)
|
// if(g_ptz.vert_direction_set == PTZ_VERT_DIR_UP)
|
||||||
// {//电机正转- 1
|
// {//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת- 1
|
||||||
// v_six_step_commu[(7-V_Hall_state.Hall_value) -1]();
|
// v_six_step_commu[(7-V_Hall_state.Hall_value) -1]();
|
||||||
// }else{//电机反转
|
// }else{//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת
|
||||||
// v_six_step_commu[V_Hall_state.Hall_value -1]();
|
// v_six_step_commu[V_Hall_state.Hall_value -1]();
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
@ -422,7 +422,7 @@ void v_bldc_six_step()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none 垂直方向调速,自锁
|
\brief none <EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -455,7 +455,6 @@ void hori_dir_speed_start(unsigned int verf)
|
||||||
TIMER_CH0CV(TIMER2) = verf;//U199;//
|
TIMER_CH0CV(TIMER2) = verf;//U199;//
|
||||||
TIMER_CH1CV(TIMER2) = 0;//V
|
TIMER_CH1CV(TIMER2) = 0;//V
|
||||||
TIMER_CH2CV(TIMER2) = 0;//W
|
TIMER_CH2CV(TIMER2) = 0;//W
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void hori_dir_speed_stop(void)
|
void hori_dir_speed_stop(void)
|
||||||
|
@ -473,7 +472,7 @@ void hori_dir_speed_stop(void)
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none 电机启动
|
\brief none <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -481,7 +480,7 @@ void hori_dir_speed_stop(void)
|
||||||
*/
|
*/
|
||||||
void h_start_motor()
|
void h_start_motor()
|
||||||
{
|
{
|
||||||
//定时器使能
|
//<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
|
||||||
// timer_enable(TIMER2);
|
// timer_enable(TIMER2);
|
||||||
h_pwm_duty_change(0);
|
h_pwm_duty_change(0);
|
||||||
TIMER_CH0CV(TIMER2) = 0 ;//
|
TIMER_CH0CV(TIMER2) = 0 ;//
|
||||||
|
@ -492,12 +491,12 @@ void h_start_motor()
|
||||||
H_EN2_OFF;//V
|
H_EN2_OFF;//V
|
||||||
H_EN3_OFF;//W
|
H_EN3_OFF;//W
|
||||||
|
|
||||||
// timer_interrupt_enable(TIMER2,TIMER_INT_UP);//定时器更新中断使能
|
// timer_interrupt_enable(TIMER2,TIMER_INT_UP);//<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><EFBFBD>
|
||||||
}
|
}
|
||||||
|
|
||||||
void v_start_motor()
|
void v_start_motor()
|
||||||
{
|
{
|
||||||
//定时器使能
|
//<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>
|
||||||
// timer_enable(TIMER3);
|
// timer_enable(TIMER3);
|
||||||
v_pwm_duty_change(0);
|
v_pwm_duty_change(0);
|
||||||
TIMER_CH0CV(TIMER3) = 0 ;//
|
TIMER_CH0CV(TIMER3) = 0 ;//
|
||||||
|
@ -508,12 +507,12 @@ void v_start_motor()
|
||||||
V_EN2_OFF;//V
|
V_EN2_OFF;//V
|
||||||
V_EN3_OFF;//W
|
V_EN3_OFF;//W
|
||||||
|
|
||||||
// timer_interrupt_enable(TIMER3,TIMER_INT_UP);//定时器更新中断使能
|
// timer_interrupt_enable(TIMER3,TIMER_INT_UP);//<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><EFBFBD>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none 电机停止
|
\brief none <EFBFBD><EFBFBD><EFBFBD>ֹͣ
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -522,7 +521,7 @@ void v_start_motor()
|
||||||
void h_stop_motor()
|
void h_stop_motor()
|
||||||
{
|
{
|
||||||
h_pwm_duty_change(0);
|
h_pwm_duty_change(0);
|
||||||
// //输出低电平
|
// //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ
|
||||||
TIMER_CH0CV(TIMER2) = 0;
|
TIMER_CH0CV(TIMER2) = 0;
|
||||||
TIMER_CH1CV(TIMER2) = 0;
|
TIMER_CH1CV(TIMER2) = 0;
|
||||||
TIMER_CH2CV(TIMER2) = 0;
|
TIMER_CH2CV(TIMER2) = 0;
|
||||||
|
@ -530,15 +529,15 @@ void h_stop_motor()
|
||||||
H_EN1_OFF;//U
|
H_EN1_OFF;//U
|
||||||
H_EN2_OFF;//V
|
H_EN2_OFF;//V
|
||||||
H_EN3_OFF;//W
|
H_EN3_OFF;//W
|
||||||
// //定时器关闭
|
// //<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>
|
||||||
// timer_disable(TIMER2);
|
// timer_disable(TIMER2);
|
||||||
// timer_interrupt_disable(TIMER2,TIMER_INT_UP);//定时器更新中断使能
|
// timer_interrupt_disable(TIMER2,TIMER_INT_UP);//<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><EFBFBD>
|
||||||
}
|
}
|
||||||
|
|
||||||
void v_stop_motor()
|
void v_stop_motor()
|
||||||
{
|
{
|
||||||
v_pwm_duty_change(0);
|
v_pwm_duty_change(0);
|
||||||
// //输出低电平
|
// //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD>ƽ
|
||||||
TIMER_CH0CV(TIMER3) = 0;
|
TIMER_CH0CV(TIMER3) = 0;
|
||||||
TIMER_CH1CV(TIMER3) = 0;
|
TIMER_CH1CV(TIMER3) = 0;
|
||||||
TIMER_CH2CV(TIMER3) = 0;
|
TIMER_CH2CV(TIMER3) = 0;
|
||||||
|
@ -546,9 +545,9 @@ void v_stop_motor()
|
||||||
V_EN1_OFF;//U
|
V_EN1_OFF;//U
|
||||||
V_EN2_OFF;//V
|
V_EN2_OFF;//V
|
||||||
V_EN3_OFF;//W
|
V_EN3_OFF;//W
|
||||||
// //定时器关闭
|
// //<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>
|
||||||
// timer_disable(TIMER3);
|
// timer_disable(TIMER3);
|
||||||
// timer_interrupt_disable(TIMER3,TIMER_INT_UP);//定时器更新中断使能
|
// timer_interrupt_disable(TIMER3,TIMER_INT_UP);//<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ʹ<EFBFBD><EFBFBD>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -557,7 +556,7 @@ void v_stop_motor()
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief hall引脚初始化
|
\brief hall<EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -565,11 +564,11 @@ void v_stop_motor()
|
||||||
*/
|
*/
|
||||||
static void hall_io_init(void)
|
static void hall_io_init(void)
|
||||||
{
|
{
|
||||||
// //配置引脚时钟
|
// //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
|
||||||
// rcu_periph_clock_enable(RCU_GPIOE);
|
// rcu_periph_clock_enable(RCU_GPIOE);
|
||||||
//
|
//
|
||||||
// //水平——PE10-H1,PE11-H2,PE12-H3,,垂直PE13-H1,PE14-H2,PE15-H3
|
// //ˮƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>PE10-H1,PE11-H2,PE12-H3<48><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱPE13-H1,PE14-H2,PE15-H3
|
||||||
// //设置引脚为输入模式
|
// //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
||||||
// gpio_mode_set(GPIOE, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_10);
|
// gpio_mode_set(GPIOE, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_10);
|
||||||
// gpio_mode_set(GPIOE, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_11);
|
// gpio_mode_set(GPIOE, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_11);
|
||||||
// gpio_mode_set(GPIOE, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_12);
|
// gpio_mode_set(GPIOE, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_12);
|
||||||
|
@ -591,7 +590,7 @@ static void hall_io_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief none 驱动桥引脚初始化
|
\brief none <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
||||||
\param[in] none
|
\param[in] none
|
||||||
\param[out] none
|
\param[out] none
|
||||||
\retval none
|
\retval none
|
||||||
|
@ -615,9 +614,9 @@ void bridge_io_init(void)
|
||||||
gpio_mode_set(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_15);
|
gpio_mode_set(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_15);
|
||||||
gpio_output_options_set(GPIOD, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10| GPIO_PIN_11| GPIO_PIN_15);
|
gpio_output_options_set(GPIOD, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10| GPIO_PIN_11| GPIO_PIN_15);
|
||||||
|
|
||||||
//GD改版后驱动策略进行了修改————新增驱动桥电源控制引脚,便于驱动器的断电复位等
|
//GD<EFBFBD>İ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķϵ縴λ<EFBFBD><EFBFBD>
|
||||||
gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_0);//水平电源控制引脚
|
gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_0);//ˮƽ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1);//垂直电源控制引脚
|
gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_1);//<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
gpio_output_options_set(GPIOE, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0| GPIO_PIN_1);
|
gpio_output_options_set(GPIOE, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0| GPIO_PIN_1);
|
||||||
|
|
||||||
H_EN1_OFF;
|
H_EN1_OFF;
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
/*-Editor annotation file-*/
|
/*-Editor annotation file-*/
|
||||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
|
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
|
||||||
/*-Specials-*/
|
/*-Specials-*/
|
||||||
define symbol __ICFEDIT_intvec_start__ = 0x08010000;
|
define symbol __ICFEDIT_intvec_start__ = 0x08000000;
|
||||||
/*-Memory Regions-*/
|
/*-Memory Regions-*/
|
||||||
define symbol __ICFEDIT_region_ROM_start__ = 0x08010000;
|
define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
|
||||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF;
|
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF;
|
||||||
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
||||||
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
|
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue