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

【基于STM32F3的电机控制】_给力外围之 internal voltage reference

[复制链接]
Lovely_STM32 发布时间:2015-10-11 15:43
本帖最后由 Lovely_STM32 于 2015-10-11 15:49 编辑
! b9 y0 ^+ D. S  [, B" f4 r  z/ V! y2 _7 p  `. Q  S5 k  x# z
      Vref(internal voltage reference)在STM32F1时代就有了。
  w5 j) M6 I( I2 d
% L6 x- S" l, O; U9 I1.2V±5%的初始精度;
, V8 l. k) J8 Q) C6 `100ppm/℃的温度漂移;
( X6 y( E3 `6 O; J9 zData based on characterization results, not tested in production;
* G7 {" ^+ j5 e9 o8 j8 ?/ nGuaranteed by design, not tested in production;; T( F# k, \4 @2 z2 Z3 S6 y1 g

9 @! O2 P7 [+ u2 F      今天STM32F3仍然是如此描述,但有一点有很大提高,每个芯片的Vref都进行了校准,并且提供了校准值(Internal reference voltage calibration values),在某种意义上可以理解为芯片的Vref已经有工厂测试了。8 q7 x: Z' |$ R+ {4 F, d$ i# }
      FOC应用中,有好多值使用的是标幺值,也有好多值要使用绝对值,与VDD/VERF+相关的部分更是如此。于是使用高精度的电源芯片,例如LM1117_3v3_1%,或者使用外部高精度Vref都是必需的。
6 m2 l& [0 T2 \  o! y3 L      而使用STM32F3的内部Vref已经可以达到同样的设计招标了!可以用内部Vref来校准VDD/VERF+,代价是多一个对VDD或VDDA_VREF+的校准过程和使用过程中的数据校准,四个应用中的STM32F302CBT6的校准数据如下:9 b; T/ n* `. ?" j
+ a% v+ J1 J, P! r' ?- Z# n1 y0 [
测量得到的VDD数据          校准得到的VDD数据       误差
5 Y7 ]: ]+ g  O2 H3.368V                            3.370V                         +0.05%2 f) R. b8 [; d' b; A5 ~
3.361V                            3.359V                         -0.05%
0 I3 K  ~, O2 Q6 ?! i) `& ]3.371V                            3.357V                         -0.4%7 t+ a/ ~: i) x
3.368V                            3.371V                         +0.09%
# z$ O( b3 M( z  [7 d1 ]1 S. ~
* T: l4 \! U. c1 {      如此的测试数据,你一定也可以感受到蝴蝶女神的轻盈之美!
% d# ~. l' g* y      当她扇动美丽的翅膀飞舞之时,我都闻到了随风而至的醉人的芬芳!!
4 a! J/ D! [% U3 r: K( X% u% l7 d! S
4 F( L+ @2 Y# |: v$ |//-----     SystemFirmware_TemperatureMeasure_Ts_pro / 系统固件_TemperatureMeasure      -----
% ^/ h3 d  f& q* A- Y' |void  SystemFirmware_TemperatureMeasure_Ts_pro( void )2 d* @- c0 g* [' ~
  {                                                         // Tb: 128ms                 ' w% Q  T) ]0 ~" u( c; @( A& {" I

  e: ?, P. v- d0 ^7 r- qu8  cBuff;          % N4 {# A" V% @' b
s32 _wBuff;
* ~+ i) J/ @; I( L- G  [/ z5 }8 Hu32 wVTs,wVref,wBuff;
3 e6 B5 w, E* D+ b3 v% A
. L& |/ T; \/ S' k# n2 l7 W  |static  u8  cTBuff  =0,
; L6 f: P7 g7 B/ o3 k5 E3 g# Z            cCntBuff=0;   
# A$ z* S- j) h' J$ v* R
7 F5 a% H9 e. E" i$ E1 _    cTBuff++;
8 H3 f; g# q/ y% y    if( ( cTBuff & 0x7  ) == 0 )                     // Tb: 1s: D. |. a1 C& S
      {                                                     // device temp calculate1 ]  V. e- t: g3 s( r' a0 V. N1 o
( y# V  n8 N  b7 r
        cCntBuff++;' t, w( {& Q) [$ P% h
        sSystemFirmWare._wTempDeviceDataBuff[ (cCntBuff&0x7) ]  = sSystemFirmWare.sTemperatureInput[0xe].iAdcBuff;3 ~* |$ S. ^) ~6 o$ `
        sSystemFirmWare._wVrefDataBuff           [ (cCntBuff&0x7) ]  = sSystemFirmWare.sTemperatureInput[0xf].iAdcBuff;9 G% g- o3 u/ D
6 G; O# ?/ e' v' l  ^
                                                            // VrefCal
) S6 U6 ~/ @, q        sSystemFirmWare.iVrefCal = *(vu16*)(0x1FFFF7BA);% y0 d& M/ s/ K' O- O: ]' Q6 Y
                                                            // TsCal
0 l  m% n2 Z# v; A5 s6 ], _0 L& k        sSystemFirmWare.iTsCal1  = *(vu16*)(0x1FFFF7B8);
+ K# B; E2 v' u- b& r        sSystemFirmWare.iTsCal2  = *(vu16*)(0x1FFFF7C2);
9 ?) U( ~* v! D- ]% j
9 u1 O1 w7 O0 J3 g  Q        for( cBuff=0,wVTs=0,wVref=0;cBuff<8;cBuff++ )  
7 V' }7 }$ ]2 l) A$ Y          {
- S, S5 [" y$ W. ?3 a1 m            wVTs +=sSystemFirmWare._wTempDeviceDataBuff[ cBuff ];
) O# s: Z$ \! t5 `+ m- _            wVref+=sSystemFirmWare._wVrefDataBuff           [ cBuff ];
- N9 ]2 f: t/ L$ A          }# ^9 R/ p# D6 N( q5 x4 }  W+ ~" V
% \2 @* `% a) h
        wVTs >>= 3;
: A. B: q3 a! d9 R        wVref>>= 3;
) R/ i+ B& a! L        sSystemFirmWare.wVref = wVref;. y: b6 h7 a6 a1 z( v2 T
                                                            // Vcc 校准 @ VrefCal
# H: p* m* y7 U8 Z2 K        wBuff = 3300;# I( k1 g" H1 p! n
        wBuff*= sSystemFirmWare.iVrefCal;
4 F% H$ K  K5 k9 s        wBuff/= (wVref+1);
3 h4 f3 O3 k. d7 x- t' w4 g* |( j# W. L9 ?
        sSystemFirmWare.iVssAx1000 = wBuff;/ `8 G" Q) w( ?1 d8 N# f- J. D
    }
% f4 R( N) g2 f3 n* p9 ?7 }  }
( o* t9 t% s8 W% ?0 C5 J: ]( o. N. M$ ~7 _

% g+ y  k4 M8 y+ B" v3 T. T; H7 k1 }) r; c# R. h- a5 E! m) v
: e  ^+ @* P" F7 Q6 `1 @
收藏 评论4 发布时间:2015-10-11 15:43

举报

4个回答
你好我好大家好! 回答时间:2015-10-11 16:39:23
st做的芯片是越来越适合控制电机了
franki 回答时间:2015-10-11 23:23:08
谢谢 分享  
lkl0305 回答时间:2015-10-12 08:49:37
多谢分享!
JackieLaura 回答时间:2015-10-12 12:12:15
不错,谢谢分享
stmcu.org.png

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版