你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32电机培训】- 基于MC SDK5.0 PI组件接口函数做在线参数...

[复制链接]
TLLED 发布时间:2018-8-31 22:53
     实验3:基于MC SDK5.0 PI组件接口函数做在线参数修改。
4 d7 z/ j) `% u0 q5 P   1、实验内容:5 {6 J( q) r1 V9 d, K6 d. X5 X0 w1 S/ b
01.png / s. X4 ?4 q$ n: M& T0 v! z+ v
02.png 3 i; p$ E* O1 o/ X
    2、程序修改;
# ?, G7 T) n; z  I$ D2 l8 h( u    在生成的源码上修改,内容如下:
8 J9 Q( Y6 ~& g6 y2 V    main.c内容修改:  [" w$ S" B+ }  @; R( L: y' D" O
程序的顶部增加mc_extended_api.h头文件。
+ m7 s+ v8 @( g+ C/* USER CODE BEGIN Includes */2 Y5 N% q. x7 h* N# p6 H
#include "mc_extended_api.h"
8 H0 Z: n' [$ V/* USER CODE END Includes */1 _' z5 c% O2 A5 Q6 a
$ `" K% @4 t$ d  Q% V  e. c1 @
* d; `3 B# s, n$ J1 X( ~! @
/* USER CODE BEGIN PV */
- E0 h9 |5 g/ r0 ?5 U2 @/ P' q/* Private variables ---------------------------------------------------------*/
3 n4 ^- V! `0 x5 Q" U  o/ L9 rMCT_Handle_t *pMctHdl;                       //定义的变量
  J7 W' X+ D" }; W! Estatic int16_t Speed_Kp,Speed_Ki;5 E# K5 e4 U4 i4 ^
/* USER CODE END PV */: I9 E6 X; n: J; Y! e! B7 R

3 o+ C* I$ F# dint main(void)) Q# N4 n  y; P  Q
{, n, i+ t) N: P# N3 H
  /* USER CODE BEGIN 1 */7 K0 d. j) g, a( B% \# I! ~2 j
  /* USER CODE END 1 */
" w. x2 Q, X6 ~! t7 ?1 S! v: }
  /* MCU Configuration----------------------------------------------------------*/
3 H3 O+ C  M: {) h( h# @, c% _" m% B( |0 U6 K! @0 F
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */) f! G* }6 n, v  Y4 O
  HAL_Init();2 V8 r/ r1 h1 Z) T
! _: I1 X9 t, s% n
  /* USER CODE BEGIN Init */" L$ j* x! ^7 Q& _9 B- h- E
5 p/ Z; h/ Q) k  T7 Y9 E
  /* USER CODE END Init */' J& \9 a3 P2 I0 I5 A+ g( O  g6 Y7 y6 O

) \- W; D: h. ~* Y) A" f' W/ X  /* Configure the system clock */
+ f+ a; I: w0 D  SystemClock_Config();% k) M2 B9 c9 a# b0 Q& q2 d

" n2 A. a" [5 x4 u* f7 e/ W  /* USER CODE BEGIN SysInit */$ J. a9 Q' S- Z

% q2 y6 |' T% f  /* USER CODE END SysInit */! r2 p5 V& O5 L) _

* x  N( X+ _! t8 |# W  /* Initialize all configured peripherals */
# F( i( C" \( c! O2 p4 E; n  MX_GPIO_Init();( @  {5 {- D3 m. l  E! F0 ?) t# S) A
  MX_ADC1_Init();& m, `& a5 z% i- {' }
  MX_DAC_Init();+ u* ~9 b* K6 P: y! k' j1 t2 c  x0 o
  MX_TIM1_Init();
- J- L, w0 T+ i; P8 [! j  MX_USART2_UART_Init();- c1 ]' n# t' \7 ~. j1 p
  MX_MotorControl_Init();, v, A% g6 f% L4 M
" H9 }  v1 ^+ ?4 @0 l
  /* Initialize interrupts */7 _8 R4 W: h7 u2 B* e
  MX_NVIC_Init();7 [4 f+ n3 b5 M: j
  /* USER CODE BEGIN 2 */
$ b- a8 J0 H* i% V( B' K5 P4 _7 D& ^0 R
   pMctHdl = GetMCT(M1);
: I% O9 R5 Q; }5 x- B0 T2 Z* v3 V# }    Speed_Kp= PID_GetKP(pMctHdl->pPIDSpeed);1 R5 L9 C4 P1 o% J) n
    Speed_Ki= PID_GetKI(pMctHdl->pPIDSpeed);
" Q5 k/ D1 p2 L1 M! P8 p  u/ H# ?    PID_SetKP(pMctHdl->pPIDSpeed,Speed_Kp*2);7 R* P$ \( P5 j4 A, ~
    PID_SetKI(pMctHdl->pPIDSpeed,Speed_Ki*2);# X9 Q1 i. w) d2 Y, |7 s# H( s  T3 K

0 y& s( D, t! d  /* USER CODE END 2 */
5 A* f3 Y8 z  |& l  Z) x. d5 D# J0 F
  /* Infinite loop */
/ s) Z6 Y3 T: W2 ]  /* USER CODE BEGIN WHILE */
# j; }0 L7 {3 g& Z( ]  while (1)9 L4 j3 r  `( t6 T, P, f
  {  G0 p" B9 s. R7 f9 O7 ~  F
- ^# i( y( v7 S2 b$ f
  /* USER CODE END WHILE */9 `* `- q& }; z, N
. e' P4 R0 X8 e1 ~% T
  /* USER CODE BEGIN 3 */+ b+ `3 z/ U* f* [& F- |3 z" E
' {) O7 K+ c8 `2 E3 w% i6 S
  }1 t4 W& q! a. k; P; B1 b- {
  /* USER CODE END 3 */- P% }5 ?' X" Z
& p9 f5 Z9 v3 O
}& e* V$ k2 D' k3 U7 K' O. F
3 I* l; s9 O9 T3 }; N3 a
- N  [5 b7 z7 f8 Q( @# e
3、程序执行的结果:
, d! g+ E) w! Y+ M* H. p' B7 n) u3.1、原始PID数据. a; ^! c- k1 A9 b
    PID_SetKP(pMctHdl->pPIDSpeed,Speed_Kp*1);
* |) ]% q" P0 D6 [0 B
    PID_SetKI(pMctHdl->pPIDSpeed,Speed_Ki*1);
7 I9 M# `- @8 p9 d' a, o/ i9 O% _- C* c% o, O. O& E
2yssj.png
2 S; k  v7 _& ^: w9 [& o   
6 l& b' `; v; ~; f% t: }4 x/ I3.2、2倍PID数据% X  _2 K; `. y; ^
    PID_SetKP(pMctHdl->pPIDSpeed,Speed_Kp*2);
, q4 r3 e4 Q1 e% [5 \4 g! O1 }
    PID_SetKI(pMctHdl->pPIDSpeed,Speed_Ki*2);5 E4 b& Z' W7 @9 u" u

( f3 {0 |1 ~7 l4 c0 r' P 1.png
& o0 y7 y8 F) g2 z5 K/ Z( p
" \% A8 O2 M% _  _, c' O. H3.3、0.5倍PID数据3 V' C& y/ k% `$ Z4 k9 \* L* V
    PID_SetKP(pMctHdl->pPIDSpeed,Speed_Kp*0.5);
. p% h( r7 P. W" x+ {0 K
    PID_SetKI(pMctHdl->pPIDSpeed,Speed_Ki*0.5);
" C& i1 j5 J' r( ~5 P2 c8 y# @1 \8 | 305.png
& R# I/ h4 Q" M+ Y( y- b* @

" z! H) G1 k# s2 B: t1 e
% m, w" j9 b3 K" h3 Z8 v9 s4 y
$ f2 Y) R2 f5 J8 h5 z% U$ O+ D" x# {$ ~6 x% x/ W

8 |% l9 G4 `6 h$ q' d- J
0 k6 h/ N5 ?9 B# z7 n9 G( ]. z8 v5 [2 p  J( D3 ^

; {0 @8 {8 x- G4 b" d- o8 @! H
$ B1 ]# |, \3 D& T& I) d: l1 A% K
# u3 B" A  K4 j  ?5 q- p  8 U3 X7 P& E4 @: H& U
收藏 评论2 发布时间:2018-8-31 22:53

举报

2个回答
wawjik2008 回答时间:2018-8-31 23:36:13
楼主用的302的板吗
TLLED 回答时间:2018-8-31 23:38:23
wawjik2008 发表于 2018-8-31 23:365 O. R* p6 {5 N- p: G  g7 T
楼主用的302的板吗

# o; g# P& D" ]F302的板子

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版