关于X-CUBE-SPN7的库
有大神把这个库研究的很明白的吗?我现在刚开始做电机控制,用的STM32的芯片,想从这个库开始着手,现在手上没有ST对应的开发板,不过有一个其他的板子,准备做BLDC的无感,但是看这个库没看怎么明白,不知道从哪里开始,这个库给的例程好像不完整,不是一个能让电机跑的工程,大神们有没有已经跑过的相关工程可以发我参考下,或者留个联系方式,咨询下。之前有个官方电机的培训,希望对楼主有帮助:https://www.stmcu.org.cn/module/forum/thread-612763-1-1.html zero99 发表于 2017-9-26 17:11
之前有个官方电机的培训,希望对楼主有帮助:https://www.stmcu.org.cn/module/forum/thread-612763-1-1.html ...
额,谢谢,不过这个好像都主要是针对PMSM的FOC算法的,不是针对BLDC void MC_ADCx_SixStep_Bemf() //¼ÆËã¹ýÁãµã
{
if(__HAL_TIM_DIRECTION_STATUS(&HF_TIMx))
{
HAL_GPIO_WritePin(GPIO_PORT_COMM,GPIO_CH_COMM,GPIO_PIN_SET);
/* UP-counting direction started */
/* GET the ADC value (PHASE CURRENT)*/
if(SIXSTEP_parameters.STATUS != START && SIXSTEP_parameters.STATUS != ALIGNMENT)
{
switch (SIXSTEP_parameters.step_position)
{
case 6:
{
if(SIXSTEP_parameters.demagn_counter >= SIXSTEP_parameters.demagn_value)
{
SIXSTEP_parameters.ADC_BUFFER = HAL_ADC_GetValue(&ADCx);
if(PI_parameters.Reference>=0)
{
if(SIXSTEP_parameters.ADC_BUFFER> SIXSTEP_parameters.ADC_BEMF_threshold_UP)
{
MC_SixStep_ARR_Bemf(1);
SIXSTEP_parameters.BEMF_Tdown_count = 0;
}
}
else
{
if(SIXSTEP_parameters.ADC_BUFFER< SIXSTEP_parameters.ADC_BEMF_threshold_DOWN)
{
MC_SixStep_ARR_Bemf(0);
}
}
}
else SIXSTEP_parameters.demagn_counter++;
}
break;
这个库函数里面过零点检测的语句是 if(SIXSTEP_parameters.ADC_BUFFER> SIXSTEP_parameters.ADC_BEMF_threshold_UP)这句吗??看不懂是什么意思啊?谁能解释下吗? 还有void MC_SixStep_ARR_Bemf(uint8_t up_bemf) 这个函数是用来干嘛的??(也是库函数里面的,与过零点检测函数配合使用),一直都没搞懂这两个函数的意思。。。
页:
[1]