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

【经验分享】stm32智能小车之路之小车启动

[复制链接]
STMCU小助手 发布时间:2022-5-13 20:00
    第一初始化管脚,来进行控制电机,输出高低电平,方可让电机转动。# W% z3 N" R& k9 l0 v& d* X  ~# t
3 v. R. s. \+ ~* d- m& Y* A
( f2 J  `, s% O, F6 R4 D8 O* I
  1. /*******************************************************************************
    % B2 A" R% j4 w1 Y
  2. * 函数名字  : GPIO_Configuration(void)) d  R4 i7 e5 T$ ~/ Z" j$ c
  3. * 描述      : 初始化PE7~PE8为输出口.并使能这两个口的时钟        
    " u3 {" i* n/ H- }5 w3 r5 S
  4.                                                         Motor(电机输出引脚) IO初始化
    1 J# H2 _& R) J! C% A' T
  5. * 输入      : 无& g, t3 U* M2 [
  6. * 输出      : 无% o1 S, n1 i! Y
  7. * 返回值    : 无2 E0 R7 b4 z9 g$ i) Z# j
  8. *******************************************************************************/  ?, U8 f4 o2 ?8 m
  9. void GPIO_Configuration(void)
    / j' {6 G, @9 D8 A. V& y+ n& {
  10. {
    7 b( R# y4 p/ o0 ~: M, E
  11.         //PE.7~PE.8  小车后轮控制引脚
    : o+ v. Z8 N* H3 n- Y6 f$ \
  12.         //PE.9!PE.10        风扇控制引脚
    8 S! v6 Q+ `1 u5 ?8 _, q4 @
  13.         & G5 s( }4 p* A3 g1 l+ L
  14.         GPIO_InitTypeDef GPIO_InitStructure;6 V3 @! o6 l& E) P4 e% Y4 P6 P$ l
  15.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);                        //使能PE端口时钟
    ' y( G3 g/ |/ V0 x8 q
  16. 6 B" R7 ~* o$ ^7 \% @3 \
  17.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;        //Motor-->PE.7 ...  Motor-->PE.10 端口配置
    7 h6 K1 V* p$ Z" B3 |' K# p1 e
  18.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                                                    //推挽输出
    : g, p# z. e# q& A% }! p
  19.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                                                 //IO口速度为50MHz
    / s' h5 J: ]9 T  R
  20.         GPIO_Init(GPIOE, &GPIO_InitStructure);                                                                         //根据设定参数初始化GPIOE
    . A+ l8 Z% I7 J! w( x* ^* V
  21.         GPIO_ResetBits(GPIOE,GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10);                                                                         //PE.7.....PE10 输出低电平' e( U, K8 g, h& E
  22.         
    6 b$ d( E2 w( o9 _- k6 A
  23. }
复制代码
" ~! c1 k9 R+ f* T+ J
        带代码中都做了详细的介绍,我就不过多的介绍了。不会的可以问我。主要是管脚的配置,都是直接调用的库 函数,这可比51简单多了,不用直接和寄存器打交道,直接和库函数交流就行,太方便了。
8 W, f) w; U  H. U: I     主函数里面直接初始化下管脚就行:
3 R/ _- W' h9 R/ f. v# p& u' n7 _0 r  k
  1. GPIO_Configuration(void);
    - p; u/ V4 E  E' s; B* A' R9 }
  2. int main(void)* A9 W% A  `" U  ^" W6 Q. P# r
  3. {. H: B4 o' k. b2 |% b# Z# ?/ K
  4.    while(1);7 ^0 r8 @- J" l: p( |/ F0 ~
  5. }
复制代码
  n& h5 p" u; D" W' @4 w! ]. w
ok!一切打工高成,用J-Link 或者通过串口下到核心板中去,连接上线,就ok了。
; x+ d$ n- ~- z; o; i9 M9 F, z) ?9 i9 l
关于连线问题,这个非常重要,我当初就是没有将线接对,导致高了半天,电机也不转,我用的电机驱动模块是L198N的。
+ s# G# Y5 G, t/ C0 s3 }. C7 a" k9 |8 ?  y( X- m4 _! i
41XK]%%BOR8EWMJ4R@@KVW9.png 7 I3 T* E$ w5 D( d% r. l
, d) Y& l. g# }+ N5 `. o
贴上电路原理图:4 d8 S. o( i8 `. R  h9 P/ p* \

3 ~' e2 p& C' J: |3 n* e8 Z A)}OMQWNAZG}081S%GP1VE5.png ( V- w. o$ i9 r* v- r! @

' {% h4 i" g8 m6 e         相信大家都能看懂,不懂的看看模电、数电稍微懂点电路常识应该都懂吧。嘿嘿……
9 a8 ^7 j! Y, x, d. M0 }
( `8 b- g* Q/ x$ |! O8 }5 a        可以看到小车跑的很快,速度应该很快的。不过不是我们想要的效果,下一篇介绍,怎样控制小车的速度……( X7 m, x7 c6 D; l

3 N# C& F$ U/ R5 _4 F; F9 |电机驱动模块注意不要接反了,容易烧坏,我就烧坏了一个8 O. u! n4 I# ~# u4 Z. J' r

; {. R% q1 k1 }$ i5 t       上面接线的时候注意电机驱动模块使能端的跳线帽不要拿下来,否则不起作用,下一篇在调节小车速度的时候会将跳线帽拿下来,然后接根线进行控制速度,及PWM调速法。
( _3 @% D- o- p* j9 L* [0 t+ H8 O7 K  W: d: \

& H* R& c" m9 s/ Y% q1 ?
, Q  m: h1 N. E: D9 ?7 `! g, O4 g, n' k
赞 收藏 评论0 发布时间:2022-5-13 20:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版