基于STM32的智能小车

第一章 基于STM32的智能小车方案设计


基于STM32的智能小车–电机驱动设计

  • 基于STM32的智能小车
  • 前言
  • 一、电机是什么?
  • 二、常见电机分类
    • 1.有刷电机
    • 2.无刷电机
  • 二、有刷电机和无刷电机在调速上的差异
  • 三、电机芯片介绍
    • 1.L293D芯片
    • 2.L298N芯片
  • 四、直流电机的控制实例
  • 五、软件驱动代码编写
  • 总结

前言

本篇主要针对某宝上制作智能小车过程中用到的电机设计进行统一阐述,为大家提供参考。


一、电机是什么?

电动机(Motors)是把电能转换成机械能的设备,它是利用通电线圈在磁场中受力转动的现象制成,分布于各个用户处,电动机按使用电源不同分为直流电动机和交流电动机,他能提供的功率范围很大,从毫瓦级到万千瓦级。电动机的使用和控制非常方便,具有自起动 、加速、制动、反转、掣住等能力。
 

二、常见电机分类

1.有刷电机

  • 有刷电机:有刷电机是内含电刷装置的将电能转换成机械能(电动机)或将机械能转换成电能(发电机)的旋转电机。区别于无刷电机,电刷装置是用来引入或引出电压和电流的。有刷电机是所有电机的基础,它具有启动快、制动及时、可在大范围内平滑地调速、控制电路相对简单等特点。
  • 有刷电机是大家最早接触的一类电机,中学时物理课堂上介绍电动机也是以它为模型来展示的。有刷电机的主要结构就是定子+转子+电刷,通过旋转磁场获得转动力矩,从而输出动能。电刷与换向器不断接触摩擦,在转动中起到导电和换相作用。

2.无刷电机

  • 无刷电机:无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。
  • 无刷电机中,换相的工作交由控制器中的控制电路(一般为霍尔传感器+控制器,更先进的技术是磁编码器)来完成。

二、有刷电机和无刷电机在调速上的差异

实际上两种电机的控制都是调压,只是由于无刷直流采用了电子换向,所以要有数字控制才可以实现了,而有刷直流是通过碳刷换向的,利用可控硅等传统模拟电路都可以控制,比较简单。

1、有刷马达调速过程是调整马达供电电源电压的高低。调整后的电压电流通过整流子及电刷地转换,改变电极产生的磁场强弱,达到改变转速的目的。这一过程被称之为变压调速。

2、无刷马达调速过程是马达的供电电源的电压不变,改变电调的控制信号,通过微处理器再改变大功率MOS管的开关速率,来实现转速的改变。这一过程被称之为变频调速。

三、电机芯片介绍

1.L293D芯片

2.L298N芯片

L298N驱动模块,可以驱动2个直流电机,可分别实现正转,反转功能.

  1. 具有信号指示。
  2. 转速可调
  3. 抗干扰能力强
  4. 具有过电压和过电流保护
  5. 可单独控制两台直流电机
  6. 可单独控制一台步进电机
  7. PWM脉宽平滑调速
  8. 可实现正反转

四、直流电机的控制实例

使用直流/步进两用驱动器可以驱动两台直流电机。分别为M1和 M2。引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控 制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态, 既将短接帽短接)实现电机正反转就更容易了,输入信号端IN1接 高电平输入端IN2接低电平,电机M1正转。(如果信号端IN1接低 电平, IN2接高电平,电机M1反转。)控制另一台电机是同样的 方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正 转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B 控制M2调速。


五、软件驱动代码编写

电机驱动IO定义–右电机使能IO为例

  1. 相关引脚宏定义

  1. GPIO初始化

  1. 电机运动


  1. 方向控制


总结

基于STM32智能小车的电机控制介绍就到这里