10098|18

44

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【ST电机评测】测评前期准备(软件配置) [复制链接]

 
本帖最后由 gyp1 于 2018-6-7 10:34 编辑

测评前期准备

       感谢EE这次的ST电机测评活动,很荣幸的被选中。本人非电机专业,如果测评中出现错误请各位指出,并且希望有问题可以一起探讨。
收到申请通过的通知后,几天板子就送到了。刚拿到手就拿起相机怕了几张,很精致,还附带了电机和电源。

       板子分为两个部分,一个是F302核心板,另一块是电机驱动板,通过插座连接,便于更换。核心板上部为板载ST-LINK,同时引出串口。核心板F302通过ST-LINK引出的MCO作为时钟源,板载按键连接至PC13,作为电机启停按键。驱动板自带电位器可用于电机调速连接至PB1即为ADC1的12通道,通过改变跳线,可以选择单电阻或三电阻的电流取样方式。还引出DAC接口。
我在官网下载了X-CUBE-MCSDK-FUL5.0.3的全开源版本(需要申请),并安装。其他必备的软件包括STM32CubeMX、KEIL MDK 5、STMStudio等。
1.首先连接核心板和驱动板
       将电机和电源按照正确的方式接入驱动板,使用usb线连接板载ST-LINK(需要安装好相关驱动),V2.1版本的ST-LINK自带串口(VCP),连接至F302的串口2(PA2、PA3),这样可以省略USB-TTL模块,同时板子也将串口2引出。
2.获取电机参数
       电机参数是调试电机成功与否的基础,所以必须要保证得到正确的电机参数,通常情况下电机厂商会将参数公布,但是大部分电机的参数不会很容易的获取到,如果是以前的话我会通过直流电桥测量电机线圈电阻,然后通过恒流电压源和示波器测量相电感然后计算反电动势常数(太麻烦了。。。)。现在不需要这么做了。

       因为F4和F3系列是支持通过板子自动计算电机参数的(真的很方便),这时就要使用MotorProfiler这个软件了,将板子与电脑连接好后,启动软件,选择板子型号。
       填入电机极对数,板子附带的电机极对数为7,1700kv,电源为12V,所以估算出电机最大转速2W/RPM,类型选择表贴式(SM-PMSM)。按Start Profile然后会按照3个步骤对电机进行分析,测量参数(过程中可能会因为转速过高而发生过流,软件会自动进行调整)。等测量好后,保存这个电机参数即可(按SAVE命名并保存,稍后会用到)。
软件部分
3.下载CUBE所用的F3的 HAL库,修改CUBE库F3的.h源文件
       通常先把常用的命令进行重定义(以前标准库的习惯)
typedef  uint32_t u32;
typedef  uint16_t  u16;
typedef  uint8_t u8;
       下载好HAL库文件后进入CUBE的Repository文件夹(通过CUBE设置),修改stm32f3xx.h,根据需要添加。(\Repository\STM32Cube_FW_F3_V1.9.0\Drivers\CMSIS\Device\ST\STM32F3xx\Include\stm32f3xx.h)
4. MotorControl Workbench
       电机参数检测好后即可使用Workbench生成程序并调试电机了,软件界面如下
       下半部分是官方提供的例程,可供参考,本次板子对应P-NUCLEO-IHM001-BullRunning。首先新建工程,选择对应的控制板和电源板,电机可以选择我们之前生成的电机文件(如果使用自己的电机那就必须要选择这个了)或者选择BR2804-1700KV这个电机。

Workbench主界面包括电机参数配置、电源及桥电路、驱动、控制IO几个部分。
       电机参数部分可以修改电机参数、传感器参数等。电源及桥电路部分可以修改电源电压,电流取样方式及其放大倍数等。驱动部分可以修改传感器模式、PWM频率、死区时间、电流环速度环频率、和辅助功能如电流前馈和弱磁控制等。控制IO部分可以修改PWM输出引脚,电压电流取样引脚,串口调试引脚等。
       以前使用过FOC4.3的电机库,新版本界面没有太大改动。官方已经将相关引脚配置好,所以大部分内容是不需要修改的,需要关注到的是这次使用的PWM频率为30K,使用3电阻取样,板载的3个取样电阻为0.33欧姆,取样放大倍数为1.53,T-rise为700ns(过滤噪声)。桥电路方面没有使用单独的MOS管(之前使用12管方案),而是使用集成款L6230 DMOS,不需要下桥臂信号,同时带有3相过流保护与使能信号。
       传感器使用无传感器加观察法的方式(Sensor-less(Obs+PLL))(还可以选择高频注入法)同时可配置辅助传感器(当主传感器失效超过一定次数时进入辅助传感器),可选择的有(Obs+Cordic)或者霍尔传感器。
       本次电流环截止频率为6000rad/s,1个PWM周期执行一次,速度环1ms执行一次,这些参数可根据实际情况进行更改。更改电机最大转速为18000RPM后进行编译
5.利用Workbench通过Cube编译
       编译完成后进入所在文件夹,更改其安全属性,赋予文件夹内的文件的全部用户权限(win10下MDK添加文件夹的时候会导致程序假死,可能是个例,根据情况修改。)
6.IOC文件修改(STM32 CUBE)
       进入工程所在文件夹找到IOC文件,这次是基于官方例程进行修改,所以大部分引脚均已经配置好了,我们只需要添加电位器所在引脚PB1,即为ADC1通道12。同时修改按键触发方式为外部中断下降沿触发,使能外部中断,然后进行编译。



编译完成后即可打开工程文件进行编辑了。
7.添加常用的.h配置文件(KEILMDK 5.25)
       建立文件夹Inc,将根目录下Inc中常用的配置文件加入MDK文件列表中,方便调试。
drive_parameters.h最足要的配置文件,大部分配置参数在这个文件中,包括电流环Id Iq、速度环PID、PWM频率、死区等参数。
pmsm_motor_parameters.h 电机参数。
power_stage_parameters.h电源,电流取样等参数。
6.在主函数中添加外部中断回调函数,添加自定义按键
(在/* USER CODE BEGIN 4*/的用户程序部分添加,以防止后期再编译丢失)
/* USER CODE BEGIN 4 */
voidHAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
  if(GPIO_Pin ==Start_Stop_Pin)
  {
      if(Start_Stop_Mode==0)
      {
          MC_AcknowledgeFaultMotor1();
          Start_Stop_Mode=1;
          MC_StartMotor1();
      }
      else
      {
           Start_Stop_Mode=0;
           MC_StopMotor1();
      }
  }  
}
/* USER CODE END 4 */

编译完成后即可烧录到板子上进行调试,可通过按键进行启停。
这样测评准备工作完成。下一部分进行电机测评的几个任务。

此内容由EEWORLD论坛网友gyp1原创,如需转载或用于商业用途需征得作者同意并注明出处

image035.png (451.67 KB, 下载次数: 1)

image035.png

image004.jpg (33.71 KB, 下载次数: 1)

image004.jpg
此帖出自stm32/stm8论坛

最新回复

1:Main sensor , Auxiliary sensor. 分别是说哪里? 2:这里 12 的意思是什么?作用? 3:这里好像说是设堵转的。如果不是100%会怎样? 4: 这里如果选择了会怎样? 我用的是SDK4.2  详情 回复 发表于 2018-8-2 14:24
点赞 关注
 

回复
举报

1903

帖子

0

TA的资源

版主

沙发
 
好东西啊,羡慕
此帖出自stm32/stm8论坛

点评

是的 板子很不错  详情 回复 发表于 2018-6-7 10:59
 
 

回复

44

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

是的 板子很不错
此帖出自stm32/stm8论坛
 
 

回复

1903

帖子

0

TA的资源

版主

4
 
是电机和电机模块不错
此帖出自stm32/stm8论坛
 
 
 

回复

579

帖子

33

TA的资源

纯净的硅(初级)

5
 
本帖最后由 mcu200689 于 2018-6-7 22:05 编辑

谢谢分享,很详细了,MotorProfiler是单独的一个软件吗
此帖出自stm32/stm8论坛
 
 
 

回复

579

帖子

33

TA的资源

纯净的硅(初级)

6
 
官网下载X-CUBE-MCSDK-FUL5.0.3被拒了,楼主能否分享一下
此帖出自stm32/stm8论坛

点评

给你个链接吧 http://www.stmcu.org/document/detail/index/id-218780  详情 回复 发表于 2018-6-8 09:11
 
 
 

回复

7173

帖子

195

TA的资源

五彩晶圆(高级)

7
 
楼主请教下  SDK安装后路径里的工程不能直接用么  原来都要自己配置的哇  修改里面的代码添加电位器引脚之类都需要自己配置么 有没有相关资料
此帖出自stm32/stm8论坛

点评

那个是可以直接用的,我主要是想加一些自定义的东西,资料就是看他给的原理图,我就是看原理图配置的  详情 回复 发表于 2018-6-8 09:26
 
 
 

回复

44

帖子

0

TA的资源

一粒金砂(中级)

8
 
mcu200689 发表于 2018-6-7 22:08
官网下载X-CUBE-MCSDK-FUL5.0.3被拒了,楼主能否分享一下

给你个链接吧 http://www.stmcu.org/document/detail/index/id-218780
此帖出自stm32/stm8论坛
 
 
 

回复

44

帖子

0

TA的资源

一粒金砂(中级)

9
 
常见泽1 发表于 2018-6-8 08:42
楼主请教下  SDK安装后路径里的工程不能直接用么  原来都要自己配置的哇  修改里面的代码添加电位器引脚之 ...

那个是可以直接用的,我主要是想加一些自定义的东西,资料就是看他给的原理图,我就是看原理图配置的
此帖出自stm32/stm8论坛

点评

那个我编译没法通过。不管是SDK5.0.1只有IAR工程 SDK5.0.3有keil和IAR 都无法编译通过  详情 回复 发表于 2018-6-8 10:43
那个我编译没法通过。不管是SDK5.0.1只有IAR工程 SDK5.0.3有keil和IAR 都无法编译通过  详情 回复 发表于 2018-6-8 10:42
 
 
 

回复

7173

帖子

195

TA的资源

五彩晶圆(高级)

10
 
gyp1 发表于 2018-6-8 09:26
那个是可以直接用的,我主要是想加一些自定义的东西,资料就是看他给的原理图,我就是看原理图配置的

那个我编译没法通过。不管是SDK5.0.1只有IAR工程 SDK5.0.3有keil和IAR 都无法编译通过
此帖出自stm32/stm8论坛
 
 
 

回复

7173

帖子

195

TA的资源

五彩晶圆(高级)

11
 
gyp1 发表于 2018-6-8 09:26
那个是可以直接用的,我主要是想加一些自定义的东西,资料就是看他给的原理图,我就是看原理图配置的

那个我编译没法通过。不管是SDK5.0.1只有IAR工程 SDK5.0.3有keil和IAR 都无法编译通过
此帖出自stm32/stm8论坛

点评

我试了一下我的好像是一样的,它里边的工程是为了给CUBE做模板的,你还得用MotorControl Workbench生成工程,方法我上面讲了  详情 回复 发表于 2018-6-8 11:31
 
 
 

回复

44

帖子

0

TA的资源

一粒金砂(中级)

12
 
常见泽1 发表于 2018-6-8 10:43
那个我编译没法通过。不管是SDK5.0.1只有IAR工程 SDK5.0.3有keil和IAR 都无法编译通过

我试了一下我的好像是一样的,它里边的工程是为了给CUBE做模板的,你还得用MotorControl Workbench生成工程,方法我上面讲了
此帖出自stm32/stm8论坛

点评

恩 我知道可以生成 官方文档里有 谢谢了  详情 回复 发表于 2018-6-8 11:36
 
 
 

回复

7173

帖子

195

TA的资源

五彩晶圆(高级)

13
 
gyp1 发表于 2018-6-8 11:31
我试了一下我的好像是一样的,它里边的工程是为了给CUBE做模板的,你还得用MotorControl Workbench生成工 ...

恩 我知道可以生成 官方文档里有 谢谢了
此帖出自stm32/stm8论坛
 
 
 

回复

5220

帖子

236

TA的资源

管理员

14
 
以前在论坛没见你冒过泡,首帖很给力哈
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

哈哈,测评已经写完了,还在检查,早测完有没有优势啊  详情 回复 发表于 2018-6-9 13:58
 
 
 

回复

44

帖子

0

TA的资源

一粒金砂(中级)

15
 
nmg 发表于 2018-6-9 11:14
以前在论坛没见你冒过泡,首帖很给力哈

哈哈,测评已经写完了,还在检查,早测完有没有优势啊
此帖出自stm32/stm8论坛

点评

nmg
哈哈,咱们以往的评测里还真没有对于完成时间的鼓励 不过你要是早点完成基本评测,可以考虑一下拓展评测和新旧版本电机驱动库的对比评测,这2方面的内容对于最终评选会比较有竞争力  详情 回复 发表于 2018-6-10 22:36
 
 
 

回复

5220

帖子

236

TA的资源

管理员

16
 
gyp1 发表于 2018-6-9 13:58
哈哈,测评已经写完了,还在检查,早测完有没有优势啊

哈哈,咱们以往的评测里还真没有对于完成时间的鼓励

不过你要是早点完成基本评测,可以考虑一下拓展评测和新旧版本电机驱动库的对比评测,这2方面的内容对于最终评选会比较有竞争力
此帖出自stm32/stm8论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

17
 
好像挺有搞头的呢
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

18
 


1:Main sensor , Auxiliary sensor. 分别是说哪里?
2:这里 12 的意思是什么?作用?
3:这里好像说是设堵转的。如果不是100%会怎样?
4: 这里如果选择了会怎样?
我用的是SDK4.2

微信图片_20180802141748.png (51.54 KB, 下载次数: 0)

微信图片_20180802141748.png
此帖出自stm32/stm8论坛

点评

1和2:Main sensor为电机启动时首先使用的传感器,你现在为无感观测器的方式,当主传感器失败(返回错误)超过你设置的12次后进入辅助传感器(比如霍尔)。 3:我没具体试过,不过估计是反电动势达到设置的某个阈值  详情 回复 发表于 2018-8-2 16:07
 
 
 

回复

44

帖子

0

TA的资源

一粒金砂(中级)

19
 
山巅王 发表于 2018-8-2 14:24
1:Main sensor , Auxiliary sensor. 分别是说哪里?
2:这里 12 的意思是什么?作用?
3:这里好像 ...

1和2:Main sensor为电机启动时首先使用的传感器,你现在为无感观测器的方式,当主传感器失败(返回错误)超过你设置的12次后进入辅助传感器(比如霍尔)。
3:我没具体试过,不过估计是反电动势达到设置的某个阈值时判断为堵转。
4:这个我不清楚,G1为“CORD_GAIN1“,按下变成K1,猜测都是判断观测器收敛的参数
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表