你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
IHM08M2双电机FOC控制开源板用户手册原理图参考代码调试说...
[复制链接]
mmuuss586
发布时间:2019-8-9 11:12
阅读主题, 点击返回1楼
赞
0
收藏
3
评论
49
分享
发布时间:2019-8-9 11:12
请先
登录
后回复
49个回答
mmuuss586
回答时间:2019-8-9 11:54:25
a0a.1 32b0c
ST LINK的SWD及串口接线说明:
$ O8 |' ~! l* D' v. v- J. m
# w6 h- l6 w/ U% T
按上图所示一对一接线即可(ST LINK背面朝上),RST和3.3V电源可不接。
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 11:55:17
a0a.1 32b0c
二、软件说明
3 C" K# T# W* H' x: j! |7 ]
新建工程板子选择
# c3 v1 m" ?: {, p
文件工程系统选择为双电机且控制板选择自定义:
3 l( u2 b4 g! e! @# t6 c
; q- Y+ |) \1 e8 {/ k c
驱动板选择都选IHM08M1-3Sh:
, P( |7 Q+ c8 n6 F/ m t
8 n- a0 {$ |0 w$ ]/ O
/ b4 L5 L- W& L' d/ w2 N# r
6 u N/ V5 m! q- r) L! E! ^
选择对应的电机参数并点击OK:
' ^; a7 g5 W( ^0 K" J
. t5 Y3 [+ `: r
保存工程到需要的文件夹:
0 d3 @8 {, H) N
( w5 q( ?1 K" X2 ~% R p# o2 [
MCU选择:
/ |% R( `# \1 X( ?" N
0 \/ z: E Z* Z0 P, O
MCU选择为STM32F303VE:
' h- z' F7 m7 e+ [( ~2 [3 M
- e, x( `# N/ S( j) t6 R( b6 X. g! x% D
关闭电机1、2温度检测接口(如硬件有用到则加上):
+ q2 Q; F; l5 R' ?! C s- Z
! r3 [& Z' f: c. t n& |
DA功能选择设置未用到全部关闭:
% ?6 v' s2 k& V) k, t
, Y0 B2 [ }: {+ B
用户接口设置:
3 R3 F& o* Q) v1 E5 m. } X) D
; p% C! e/ Y% C$ L" K- w
关闭按键接口:
4 r; p4 f1 Q( k1 x7 F: b6 V2 [) y
, J& g0 ?2 P4 j8 f( M: r' I l: [
母线电压设置电机1打钩,电机2关闭:
/ {5 x* v9 `. c4 |& ^0 X# N
1 i3 @ e, b% Q6 J: q; f
电压检测放大倍数比例修改:
/ g- h8 B+ B/ t1 Z) F
; N2 h3 f A- J2 ]6 [" e
电流检测界面设置:
/ R+ _% b, c0 B* s
: B! r3 k/ E7 g% X: ^6 ~2 p
打开后如下图并修改电流放大倍数
8 w9 Q" ~/ c' l j
5 B0 a# t* v1 L) U
AD采样电流放大倍数设置界面值修改:
+ {0 z/ m8 I8 L& \2 t+ k% _& I
" p( g; R/ `( y6 R7 Z9 Z9 q |/ b
AD采样电流放大倍数设置好保存
; W+ y6 ^9 w7 B r2 t
J$ W! S; a4 \5 t; E1 D* U
模拟输入及保护设置:
9 H. L/ F' z, h
- g# g) S1 ?) F" q
母线电压采样根据图纸进行设置(PA1),采样时钟设置为最大:
8 S8 }& p7 h r
3 ~4 q2 ]* M6 ]: S/ ?2 ?
& K0 [' [7 z. F$ g% a; t, E9 Y$ h
电机1、2电流检测端口及采样时钟如下:
" p* M0 B% m/ G$ q2 A" y
/ |9 M, @( t& ] m. a4 M8 Z
' d2 j1 U; W4 T+ d
4 k0 r8 f: f& T# i4 j3 @. h' Q& z
数字IO口设置点开下面图片:
+ ~. |/ ?$ @5 z+ a, W5 j
+ f4 O; g6 x$ u& X! Q8 C2 D" P
根据硬件图纸设计端口进行设置:
' }4 P) _9 R3 a7 s% C% {' R/ H( N
PWM输出端口设置:
" O0 L( V1 B& q$ _9 s
刹车输入端口设置:
+ ~# |1 g+ k) d9 N& q# c* {
HALL或编码器接口设置(无感启动则无法设置):
5 v* ]% E) j; i' G
串口波端口及波特率设置:波特率改为115200
, j, l- T0 r4 l# ]5 O! \6 }& C/ U7 N
串口端口引脚设置:
6 U" A, Z% R3 D
按键启动/停止端口设置:
# n- j9 b1 ^6 @( q% h9 |/ x/ h
电机1,2设置参考如下图所示:
) ] a3 p) t: N6 E
8 m: X4 Y) f4 }5 Y5 b% F" O
( r; _ D' G2 b% R6 _5 @ Q
电机1、2驱动界面IO控制高低电平设置:
: p9 u8 Z2 e- i# S: J4 f
. S, ^9 ^$ n: i7 e2 h
上下桥都改为高电平控制:
/ i" M1 s$ ~4 s2 c8 N
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 11:55:34
a0a.1 32b0c
驱动界面设置(双电机计算能力有限):
1 n. l4 @* I; v1 ^1 `
降低PMW频率:设置为16K或以下
3 X9 s! J) X9 M
目标速度:设置为734,可设置为额定速度的15%到85%左右,太低会无法启动;太高启动电流太大;
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 11:55:56
a0a.1 32b0c
无感启动界面设置设置为5段加速(时间、速度、电流都需要设置):
' Y$ @" O6 d# M9 S* e/ w
' p: [9 R- G+ A: X5 f$ d# Q4 ?
有感编码器启动设置(电流可以根据实际需要设置大些)
3 r5 \# J+ l, s! ?% z, h
% o' [+ F( p4 [% S$ ]3 }: x
电机1、2设置(双击打开电机图标)
( F0 O( b7 n: u8 |% D! v3 N
" P+ `) `8 y: a* J
如果是HALL接口打钩霍尔接口并输入霍尔角度;
$ M0 x7 B( t8 V
如果是编码器接口打钩编码器接口并线数;
* G1 ?! L6 r; f2 G0 x0 c( W6 X
如果是无感可跳过;
' Z4 l5 }" o* p& ^
- E+ ~: o5 }( O9 X/ Q
速度反馈接口设置(默认无感,无感可跳过)
: m8 ^. D% }% ~/ z
/ K3 \2 b3 j* J; c8 @# p2 A
比如设置HALL接口
" O6 S7 E8 c7 g( x. a! l+ G. y7 l
, c& j2 H9 j: D$ o+ @( q t
如无其它修改则生成工程(选择相应的工程文件)
8 H6 J) e2 Y2 ^: @+ e3 o% @
生成按钮:
" c: E ?( w! h! N8 y' ^/ h) d: ~
8 t; Q' g8 m5 Z5 P2 |6 v6 o
c, _* V+ O* y( W
等待生成工程完成
3 e0 ~) W& H5 r
0 T; U5 }/ V9 Q7 x- k
在对应的存放目录下,打开生成的MDK工程文件
. C9 J- j: k% }* L$ |
4 x1 p. b$ t9 J
设置仿真下载接口为st link
0 `, g8 Z$ V( v; L9 ~( o: u
5 V6 o# I+ O ]6 [% ]6 v* g8 Y/ G
选择仿真接口为SWD速率为4M
_# k2 O _$ \) {
& X7 {) X8 _% P. |
添加芯片FALSH的加载算法
5 v) [5 t5 X# r) j, q
$ X/ E4 I9 R: @' a% C
点击KEIL MDK的编译按钮编译程序
- \' Y* l: R! y+ p2 r
9 l) Z- l' A, B, b" S( e$ u7 y# h
点击load下载程序(先连接好线和电源,再通电)。
" d- v. f5 E8 T% N8 |. l0 _
( d7 F# K1 k" `2 C/ r; N# C+ g
正常下载程序后,通过按板子的USER1按钮,即可启动电机;
& r; B; {4 [/ {5 X$ |; g8 A
点击WORKBENCH的GUI按钮进行在线串口调试
$ [0 r4 ~$ m' m
' r( N5 b! a# I( f; w+ I( y
或通过WOROBENCH的在线调试界面调试,选择相应的串口,波特率设置为115200
8 V. j6 \8 ?: a3 E* Z" O8 S
" u! T& _8 I, y- h
如无问题点击start按钮可正常转:
; |# c6 z3 u! U' @+ w
/ L) R0 T$ B% q* _* K
正常转如下图所示
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 11:56:21
a0a.1 32b0c
三、调试补充说明
( @& z4 n0 h) H& x* s5 N: J
最好先确定下电机参数(电机找电机厂或自己测试或用我们IHM08-V4+NUCLEO-F302R8板子进行测试)。
. J! z6 G, |6 d) E6 {
首先,需要再次确认ST MC Workbench中所有设置的参数是否和实际的硬件
, s5 v' J, l3 z" v
参数一致:如电机的相关参数,驱动部分的参数,单片机IO设置等。
' d' A3 k8 t' u4 h; v
• 如果有其中任意一个参数设置错误,可能导致电机永远也无法正确启动。
! M$ c4 y1 T$ U; P6 q' j" {+ f
• 如果有需要,可以让电机运行在开环模式,来测量Tnoise和Trise相关参数。
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 11:56:45
a0a.1 32b0c
如果启动后立即出现硬件过流保护,可能由以下原因导致:
3 `. A; b1 H7 F* }$ `0 O4 }
• 选择了错误的电流采样方式
6 K, m0 g: b! t
• 选择了错误的电流采样参数:如取样电阻值,放大倍数, ICS增益, Tnoise, Trise等.
4 T3 p3 U+ R5 \; S
• 电流环的调节带宽过高:3电阻采样建议为2000rad/s, 单电阻采样建议为1000rad/s
9 K6 g1 L- R0 g+ C# z O9 E1 v
• 由于布线受到干扰而导致误触发硬件过流保护,需要检查硬件设计。
* m: Z8 t( ?. o& D) J+ l% O, j
如果出现电机只动一下,但是没有加速动作:
; _7 Q, K- J( s4 V* {$ z# s
• 这种问题一般是因为开环电流不够大导致无法拖起转子加速,有时出现开环启动完成,
6 V' J% Q9 S: ~* x/ U+ d1 }
但报启动失败故障,这时:
8 E1 o4 U1 F2 D$ C- P; R1 h2 a
• 需要减低加速率,或提高开环启动电流
' @( K3 G; m$ _( v o
如果以上方法可以解决,但是不能保证100%有效,请尝试增加定位功能。
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 11:57:02
a0a.1 32b0c
如果转子可以转动并且有加速动作,但是还是会停止并且报“速度反馈失败”错误,可能由以下原因导致:
; H( x9 J6 H' P' a+ T# x
• 启动成功的限制条件过于宽松导致过早切入闭环。
D ?) Y! I& S9 A% F
• 如下的方法可以解决这样的问题:
* J' o7 z& r# D. s* b6 k- {
• 提高“连续成功启动输出测试”值,正常情况下请不要大于5。
- d& R1 n3 E( `/ Q3 g$ m
• 提高最小启动输出速度。
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 11:57:19
a0a.1 32b0c
如果采用 以上方法导致开环的最终速度过高,或没有解决问题,可以尝试以下方法:
1 C7 S3 i3 c; R$ p3 L
• 减少观测器的增益G2,它可以降低扰动对速度反馈的影响。
2 J. K4 v; H' P; P# p, V) o
• 通常G2应该按照/2,/4,/6,/8方式来减少。
; q" b& ~7 N/ t* z
• 放宽观测器的收敛条件,这样使观测器更容易收敛:
1 Q) ~' q: p$ B0 p1 _* M
• 使用新的电机库,可以设置速度变化波动为80%(PLL) ,或400%(Cordic)。
& ?3 P6 t+ h0 v& s5 @* h
• 这种情况下需要增加反向电动势幅度与估算速度一致性的检查。
4 g7 h' L# e. Q$ ]& w
• 更改速度/扭矩的爬升率:根据实际负载和转子的惯性等情况,让加速度更加柔和,防止突然加速导致对反向电动势估算的扰动。
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 11:59:54
a0a.1 32b0c
无感启动G2增益修改界面:
" y9 B# [8 N. u* }+ T* b
1 }% c: b9 y( h% J" w; [+ @
" [0 z2 _2 A( c
四、开源补充说明
" E& p# s$ g, X; n* ?: |6 {5 G
如果确实需要原理图和PCB的用户,请联系我们的客服或管理员私下索取谢谢!
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-9 12:00:42
a0a.1 32b0c
:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D:D
赞
评论
回复
支持
反对
唐英tcy
回答时间:2019-8-11 17:50:53
a1024a.1 32b0c
谢谢分享
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-12 09:36:54
a0a.1 32b0c
' ?3 J7 V1 m# p
谢楼上支持
赞
评论
回复
支持
反对
Paderboy
回答时间:2019-8-12 10:20:51
a0a.1 32b0c
赞赞赞,多谢分享。。
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-12 13:04:38
a0a.1 32b0c
+ [. y! _& F0 D8 i2 g5 k7 L- x
谢楼上版主支持
赞
评论
回复
支持
反对
mmuuss586
回答时间:2019-8-12 13:17:02
a1024a.1 32b0c
:D
赞
评论
回复
支持
反对
1
2
3
4
/ 4 页
下一页
所属标签
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
# w6 h- l6 w/ U% T
按上图所示一对一接线即可(ST LINK背面朝上),RST和3.3V电源可不接。
新建工程板子选择# c3 v1 m" ?: {, p
文件工程系统选择为双电机且控制板选择自定义:
驱动板选择都选IHM08M1-3Sh:
选择对应的电机参数并点击OK:' ^; a7 g5 W( ^0 K" J
保存工程到需要的文件夹:0 d3 @8 {, H) N
MCU选择:/ |% R( `# \1 X( ?" N
MCU选择为STM32F303VE:
关闭电机1、2温度检测接口(如硬件有用到则加上):
! r3 [& Z' f: c. t n& |
DA功能选择设置未用到全部关闭:% ?6 v' s2 k& V) k, t
用户接口设置:3 R3 F& o* Q) v1 E5 m. } X) D
; p% C! e/ Y% C$ L" K- w
关闭按键接口:4 r; p4 f1 Q( k1 x7 F: b6 V2 [) y
, J& g0 ?2 P4 j8 f( M: r' I l: [
母线电压设置电机1打钩,电机2关闭:
1 i3 @ e, b% Q6 J: q; f
电压检测放大倍数比例修改:
; N2 h3 f A- J2 ]6 [" e
电流检测界面设置:
打开后如下图并修改电流放大倍数
5 B0 a# t* v1 L) U
AD采样电流放大倍数设置界面值修改:
" p( g; R/ `( y6 R7 Z9 Z9 q |/ b
AD采样电流放大倍数设置好保存; W+ y6 ^9 w7 B r2 t
模拟输入及保护设置:9 H. L/ F' z, h
母线电压采样根据图纸进行设置(PA1),采样时钟设置为最大:
3 ~4 q2 ]* M6 ]: S/ ?2 ?
& K0 [' [7 z. F$ g% a; t, E9 Y$ h
电机1、2电流检测端口及采样时钟如下:
4 k0 r8 f: f& T# i4 j3 @. h' Q& z
数字IO口设置点开下面图片:+ ~. |/ ?$ @5 z+ a, W5 j
根据硬件图纸设计端口进行设置:
PWM输出端口设置:
刹车输入端口设置:
HALL或编码器接口设置(无感启动则无法设置):
串口波端口及波特率设置:波特率改为115200, j, l- T0 r4 l# ]5 O! \6 }& C/ U7 N
串口端口引脚设置:6 U" A, Z% R3 D
按键启动/停止端口设置:# n- j9 b1 ^6 @( q% h9 |/ x/ h
电机1,2设置参考如下图所示:
8 m: X4 Y) f4 }5 Y5 b% F" O
电机1、2驱动界面IO控制高低电平设置:
上下桥都改为高电平控制:/ i" M1 s$ ~4 s2 c8 N
降低PMW频率:设置为16K或以下
目标速度:设置为734,可设置为额定速度的15%到85%左右,太低会无法启动;太高启动电流太大;
有感编码器启动设置(电流可以根据实际需要设置大些)
% o' [+ F( p4 [% S$ ]3 }: x
电机1、2设置(双击打开电机图标)( F0 O( b7 n: u8 |% D! v3 N
" P+ `) `8 y: a* J
如果是HALL接口打钩霍尔接口并输入霍尔角度;
如果是编码器接口打钩编码器接口并线数;
如果是无感可跳过;' Z4 l5 }" o* p& ^
速度反馈接口设置(默认无感,无感可跳过)
比如设置HALL接口" O6 S7 E8 c7 g( x. a! l+ G. y7 l
, c& j2 H9 j: D$ o+ @( q t
如无其它修改则生成工程(选择相应的工程文件)8 H6 J) e2 Y2 ^: @+ e3 o% @
生成按钮:" c: E ?( w! h! N8 y' ^/ h) d: ~
8 t; Q' g8 m5 Z5 P2 |6 v6 o
等待生成工程完成
0 T; U5 }/ V9 Q7 x- k
在对应的存放目录下,打开生成的MDK工程文件
设置仿真下载接口为st link
选择仿真接口为SWD速率为4M
添加芯片FALSH的加载算法
$ X/ E4 I9 R: @' a% C
点击KEIL MDK的编译按钮编译程序
点击load下载程序(先连接好线和电源,再通电)。
正常下载程序后,通过按板子的USER1按钮,即可启动电机;
点击WORKBENCH的GUI按钮进行在线串口调试
或通过WOROBENCH的在线调试界面调试,选择相应的串口,波特率设置为1152008 V. j6 \8 ?: a3 E* Z" O8 S
" u! T& _8 I, y- h
如无问题点击start按钮可正常转:; |# c6 z3 u! U' @+ w
/ L) R0 T$ B% q* _* K
正常转如下图所示
最好先确定下电机参数(电机找电机厂或自己测试或用我们IHM08-V4+NUCLEO-F302R8板子进行测试)。
首先,需要再次确认ST MC Workbench中所有设置的参数是否和实际的硬件
参数一致:如电机的相关参数,驱动部分的参数,单片机IO设置等。
• 如果有其中任意一个参数设置错误,可能导致电机永远也无法正确启动。! M$ c4 y1 T$ U; P6 q' j" {+ f
• 如果有需要,可以让电机运行在开环模式,来测量Tnoise和Trise相关参数。
• 选择了错误的电流采样方式
• 选择了错误的电流采样参数:如取样电阻值,放大倍数, ICS增益, Tnoise, Trise等.4 T3 p3 U+ R5 \; S
• 电流环的调节带宽过高:3电阻采样建议为2000rad/s, 单电阻采样建议为1000rad/s9 K6 g1 L- R0 g+ C# z O9 E1 v
• 由于布线受到干扰而导致误触发硬件过流保护,需要检查硬件设计。
如果出现电机只动一下,但是没有加速动作:; _7 Q, K- J( s4 V* {$ z# s
• 这种问题一般是因为开环电流不够大导致无法拖起转子加速,有时出现开环启动完成,
但报启动失败故障,这时:
• 需要减低加速率,或提高开环启动电流' @( K3 G; m$ _( v o
如果以上方法可以解决,但是不能保证100%有效,请尝试增加定位功能。
• 启动成功的限制条件过于宽松导致过早切入闭环。 D ?) Y! I& S9 A% F
• 如下的方法可以解决这样的问题:* J' o7 z& r# D. s* b6 k- {
• 提高“连续成功启动输出测试”值,正常情况下请不要大于5。- d& R1 n3 E( `/ Q3 g$ m
• 提高最小启动输出速度。
• 减少观测器的增益G2,它可以降低扰动对速度反馈的影响。
• 通常G2应该按照/2,/4,/6,/8方式来减少。
• 放宽观测器的收敛条件,这样使观测器更容易收敛:
• 使用新的电机库,可以设置速度变化波动为80%(PLL) ,或400%(Cordic)。& ?3 P6 t+ h0 v& s5 @* h
• 这种情况下需要增加反向电动势幅度与估算速度一致性的检查。4 g7 h' L# e. Q$ ]& w
• 更改速度/扭矩的爬升率:根据实际负载和转子的惯性等情况,让加速度更加柔和,防止突然加速导致对反向电动势估算的扰动。
1 }% c: b9 y( h% J" w; [+ @
" [0 z2 _2 A( c
四、开源补充说明
如果确实需要原理图和PCB的用户,请联系我们的客服或管理员私下索取谢谢!
谢楼上支持
谢楼上版主支持