X-CUBE-SPN11 for X-NUCLEO-IHM11M1: 6Step_Lib.c File Reference

X-CUBE-SPN11 for X-NUCLEO-IHM11M1

6Step_Lib.c File Reference

This file provides the set of functions for Motor Control library. More...

#include "6Step_Lib.h" #include <string.h>

Go to the source code of this file.

Functions

int16_t MC_PI_Controller (SIXSTEP_PI_PARAM_InitTypeDef_t *, int16_t)
 
uint16_t MC_Potentiometer_filter (uint16_t)
 
uint64_t MCM_Sqrt (uint64_t wInput)
 It calculates the square root of a non-negative s64. More...
 
int32_t MC_GetElSpeedHz (void)
 
int32_t MC_GetMechSpeedRPM (void)
 
void MC_SixStep_NEXT_step (void)
 
void MC_Speed_Filter (void)
 
void MC_SixStep_ARR_step (void)
 
void MC_SixStep_TABLE (uint8_t)
 
void MC_SixStep_Speed_Potentiometer (void)
 
void MC_Set_PI_param (SIXSTEP_PI_PARAM_InitTypeDef_t *)
 
void MC_Task_Speed (void)
 
void MC_SixStep_Alignment (void)
 
void MC_Bemf_Delay (void)
 
void MC_TIMx_SixStep_timebase (void)
 
void MC_ADCx_SixStep_Bemf (void)
 
void MC_SysTick_SixStep_MediumFrequencyTask (void)
 
void MC_SixStep_Ramp_Motor_calc (void)
 
void MC_SixStep_EnableInput_CH1_E_CH2_E_CH3_D (void)
 Enable Input channel CH1 and CH2 for STSPIN230. More...
 
void MC_SixStep_EnableInput_CH1_E_CH2_D_CH3_E (void)
 Enable Input channel CH1 and CH3 for STSPIN230. More...
 
void MC_SixStep_EnableInput_CH1_D_CH2_E_CH3_E (void)
 Enable Input channel CH2 and CH3 for STSPIN230. More...
 
void MC_SixStep_DisableInput_CH1_D_CH2_D_CH3_D (void)
 Enable Input channel CH2 and CH3 for STSPIN230. More...
 
void MC_SixStep_Start_PWM_driving (void)
 Enable PWM channels for STSPIN230. More...
 
void MC_SixStep_Stop_PWM_driving (void)
 Disable PWM channels for STSPIN230. More...
 
void MC_SixStep_HF_TIMx_SetDutyCycle_CH1 (uint16_t)
 Set the Duty Cycle value for CH1. More...
 
void MC_SixStep_HF_TIMx_SetDutyCycle_CH2 (uint16_t)
 Set the Duty Cycle value for CH2. More...
 
void MC_SixStep_HF_TIMx_SetDutyCycle_CH3 (uint16_t)
 Set the Duty Cycle value for CH3. More...
 
void MC_SixStep_Current_Reference_Start (void)
 Enable the Current Reference generation. More...
 
void MC_SixStep_Current_Reference_Stop (void)
 Disable the Current Reference generation. More...
 
void MC_SixStep_Current_Reference_Setvalue (uint16_t)
 Set the value for Current Reference. More...
 
void MC_SixStep_ARR_Bemf (uint8_t)
 
void MC_UI_INIT (void)
 
void UART_Set_Value (void)
 
void UART_Communication_Task (void)
 
void MC_SixStep_Init_main_data (void)
 
void CMD_Parser (char *pCommandString)
 
void MC_SixStep_Speed_Val_target_potentiometer (void)
 
void MC_SixStep_RESET ()
 
void MC_Set_Speed (uint16_t speed_value)
 
void MC_StartMotor ()
 
void MC_StopMotor ()
 
void MC_SixStep_INIT ()
 
void MC_EXT_button_SixStep ()
 
void HAL_IncTick (void)
 This function is called to increment a global variable "uwTick" used as application time base. More...
 
uint32_t HAL_GetTick (void)
 Povides a tick value in millisecond. More...
 

Variables

SIXSTEP_Base_InitTypeDef SIXSTEP_parameters
 
SIXSTEP_PI_PARAM_InitTypeDef_t PI_parameters
 
uint16_t Rotor_poles_pairs
 
uint32_t mech_accel_hz = 0
 
uint32_t constant_k = 0
 
uint32_t Time_vector_tmp = 0
 
uint32_t Time_vector_prev_tmp = 0
 
uint32_t T_single_step = 0
 
uint32_t T_single_step_first_value = 0
 
int32_t delta = 0
 
uint16_t index_array = 1
 
int16_t speed_tmp_array [FILTER_DEEP]
 
uint16_t speed_tmp_buffer [FILTER_DEEP]
 
uint16_t HFBuffer [HFBUFFERSIZE]
 
uint16_t HFBufferIndex = 0
 
uint8_t array_completed = FALSE
 
uint8_t buffer_completed = FALSE
 
uint8_t UART_FLAG_RECEIVE = FALSE
 
uint32_t ARR_LF = 0
 
int32_t Mech_Speed_RPM = 0
 
int32_t El_Speed_Hz = 0
 
uint16_t index_adc_chn = 0
 
uint16_t index_motor_run = 0
 
uint16_t test_motor_run = 1
 
uint8_t Enable_start_button = TRUE
 
uint16_t index_ARR_step = 1
 
uint32_t n_zcr_startup = 0
 
uint16_t index_startup_motor = 1
 
uint16_t target_speed = TARGET_SPEED
 
uint16_t shift_n_sqrt = 14
 
uint16_t cnt_bemf_event = 0
 
uint8_t startup_bemf_failure = 0
 
uint8_t speed_fdbk_error = 0
 
__IO uint32_t uwTick = 0
 
uint8_t dac_status = DAC_ENABLE
 
uint16_t index_align = 1
 
int32_t speed_sum_sp_filt = 0
 
int32_t speed_sum_pot_filt = 0
 
uint16_t index_pot_filt = 1
 
int16_t potent_filtered = 0
 
uint32_t Tick_cnt = 0
 
uint32_t counter_ARR_Bemf = 0
 
uint64_t constant_multiplier_tmp = 0
 

Detailed Description

This file provides the set of functions for Motor Control library.

Author
System lab - Automation and Motion control team
Version
V1.0.0
Date
06-July-2015
Attention

© COPYRIGHT(c) 2015 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file 6Step_Lib.c.

Generated by   doxygen 1.8.11