一  需要掌握的技能
希望经过前面介绍的电机开发的应用场景对学习电机应用开发产生浓厚的兴趣,并且能让你更
加坚定地开始学习电机应用开发。那么该如何学习呢?对于电机驱动开发工程师,会有如下基本
要求:
• 学好基本的数学知识
• 熟悉使用 C 语言,要求会使用指针、结构体及各种 C 库的使用
• 熟悉在 Keil5 下编写 stm32 程序并掌握高级定时器的使用
• 熟悉各种常用的设备通信协议,如 UART、I2C 及 SPI 等
• 了解步进电机、直流有刷电机、直流无刷电机、永磁同步电机及舵机的工作原理
• 熟悉并掌握 PID 闭环控制系统以及参数的整定
• 熟悉使用控制算法
• 熟悉使用 RTOS,例如:FreeRTOS、RT-Thread 等
总而言之,电机应用开发涉及领域极其广泛,不仅需要有编程功底,还需要具有数学功底,不要
看到数学两个字就拒之门外,当你可以控制直流电机转速时,你会发现原来 PID 闭环控制也不过
如此。电机控制是一个真正由理论到实践的过程,只有通过大量的公式推导和动手实践以及耐心
的调整参数,才能够深入的理解并掌握。
二.电机分类介绍
电机的简介
电机是一种可以在电能和机械能的之间相互转换的设备,其中发电机是将机械能转换为电能,电
动机是将电能转换为机械能。发电机的主要用于产生电能,用途单一,但是电动机主要用于产生
机械能,用途极其广泛。
 电机的分类
电机种类多种多样,自然分类也是多种多样的,可以按照工作电源种类划分、按照结构和工作原
理划分、按照启动与运行方式划分、按照用途划分、按照运转速度划分等等。可以说是分类五花
八门,但是在实际应用中,工程师会根据电机的特性来分,例如:对速度要求高的会选择直流电
机,对精度要求高的会选择步进电机等等;接下来我们将会从众多类型中的电机中选择几个具有
代表性、普遍性的常用电机。
直流电机
在直流电机中还分为普通的直流电机、直流减速电机,有刷和无刷,共分为:
• 直流有刷电机
• 直流有刷减速电机
• 直流无刷电机
• 直流无刷减速电机
这四种电机。从字面意思上就可以想象的到,普通的直流电机和直流减速电机相差的只有“减
速”,它们在构造上相差的是一个减速齿轮组。普通的直流电机当空载时,电机的转速由电压决

定; 直流减速电机的转速由齿轮组和电压决定;齿轮组的作用是,提供较低的转速,较大的力矩;
同时不同的减速比会提供不同的转速和力矩。这样就大大提高了减速电机的使用率。
    接下来就是有刷与无刷的区别:有刷和无刷的字面意思是有无碳刷;有刷电机电机工作时需要线
圈和换向器旋转,磁钢和碳刷不转,线圈电流方向的交替变化是随电机转动的换相器和电刷来完
成的。无刷直流电动机是采用半导体开关器件来实现电子换向的,使用电子开关器件代替传统的
接触式换向器和电刷。

步进电机
步进电机是一种可以将脉冲信号转换为角位移或线位移的开环控制电机,在空载低频的情况下,
一个脉冲就是一步,可以精准的控制旋转角度; 步进电机按照构造方式分类,分为三类分别是反
应式、永磁式和混合式。
伺服电机
什么叫伺服电机?伺服电机长什么样子?“伺服”一词是来源于希腊语“奴隶”的意思,那么伺服
电机也可以理解为绝对服从控制信号指挥电机,所以伺服电机是指在伺服系统中被控制的电机。
如果单指一个电机的话,那只能算一个被控的机械元件,但是加上闭环控制系统就可以称之为伺
服系统中的电机。
舵机
舵机是一种常见的伺服电机,由小型直流电机、控制电路板、电位计和齿轮组构成,舵机的用途
广泛;舵机可按照信号类型划分、按照齿轮划分、按照用途划分;舵机分 90°、180°、270° 和 360° 舵机,其中 180° 的舵机最为常见。
三  驱动器的分类
 有刷电机驱动器
直流有刷电机的驱动方法在之前已经详细的讲解过,这里就不再赘述了。其实本质上是使用 H 桥
电路进行驱动,核心电路 H 桥加上一些必要的外围电路,共同组成直流有刷电机的驱动器。H 桥
本身可作为集成电路使用,也可由分立元件构成。集成电路形式的 H 桥一般用于中小功率需求
的应用,或者是对电路面积有要求的场合。分立元件形式的 H 桥通常用于大功率或者超大功率
需求的应用,主要由 MOSFET 或 IGBT 晶体管组成。不过 MCU 的引脚是无法直接驱动 MOS 管
等元件的,需要加上专用的 MOS 管驱动芯片。下图是一款经典的直流有刷电机驱动芯片 L298N,
其内部集成了两个 H 桥
无刷电机驱动器
无刷电机也是使用 H 桥电路进行驱动的,只不过是电机的每一相都用一个半桥电路驱动,一个
三相无刷电机总共需要三个半桥,而不像直流有刷电机驱动那种使用全桥电路。跟直流有刷电机
电机一样,无刷电机驱动器也分集成电路形式和分立元件形式,但因为无刷电机需要换相操作

就算是分立元件形式也只是把半桥电路给独立了出来。
步进电机驱动器
步进电机不能直接接到直流或交流电源上工作,必须接入专用的驱动器才能正常使用。控制器将
步进脉冲和方向信号发送到步进电机驱动器,驱动器将控制器发来的步进脉冲信号转换为激励
步进电动机旋转所需的功率信号。步进电机驱动器通常都带有细分功能,可以对步距角和电流进
行细分,从而实现更请准的控制和更低的噪声震动。
伺服电机驱动器
伺服电机驱动器(servo drives),是一种用来驱动和控制伺服电机的控制器,属于伺服系统的一
部分。伺服电机驱动器接收和放大来自控制系统的命令信号,并将电流传输给伺服电机,以产生
与命令信号成比例的运动。这些命令信号通常对伺服电机的位置、速度和力矩等参数进行控制,
实现高精度的传动系统定位。附在伺服电机上的传感器将电机的实际状态反馈给伺服驱动器,驱
动器将实际电机状态与来自控制系统的命令状态进行比较。然后驱动器改变传给电机的电压、频
率或脉冲宽度,以纠正任何偏离命令的状态。下图是一款伺服电器驱动器,在实际应用中通常把
伺服电机和驱动器作为一个整体使用。
四 stm32 定时器详解及其4个实验
定时器与电机的关系
对于电机而言用什么去控制至关重要,具体的控制方法这与电机的内部构造和原理有关;
一般电机控制可以分成两种:电压控制和电流控制;小的时候应该都玩过四驱车并且拆过,四驱
车里面的小马达是上电就可以转的,那么什么情况可以使得这个小马达转速变快或者变慢呢?答
案很简单,两节干电池串联接在一起与一节干电池相比,一定是两节干电池的马达转速快;还有
一节干电池,满电与没电时的马达的转速差距也是很大的,这就是典型的 电压控制,通过改变电
压的大小来改变电机的特性;四驱车中的电机是直流电机,拆过小电机的都知道电机外壳的内测
有两块磁铁,那么如果说我可以控制两块磁铁的磁性是不是也能控制电机转动呢?还记得小时候
做过的将一根铁钉外缠慢带有绝缘皮的铜线,通电后可以吸引起缝衣针的实验么,这就是典型的
利用电流流向产生磁性,如果电机定子两侧换成这种结构那就可以通过控制电流来控制旋转了。
这种就是步进电机的大致原理(具体在步进电机基础章节会详细介绍),也是典型的 电流控制
那么怎么样才能更好的控制电压和电流呢?
手动控制?数字电路控制?貌似都不是一个有效并且高效的办法,最有效且性价比较高的就是
MCU 控制了,也就是单片机控制。单片机具有定时器这一外设,其实最主要的就是利用 MCU 可
以精准定时计时这一特性,但是 MCU 多种多样,有 AT89C51、AVR、stm32、等等,这些 MCU 都 有定时器,但是功能却不同,低端的 51 单片机只有定时功能,如果需要使用 PWM 或者脉冲,只 能使用模拟的方式输出;高端的 51、AVR 单片机可以直接输出 PWM,可定时器的主频不是很高 并且定时器的功能也不是很丰富,所以使用 stm32 就是一个非常好的选择了,它不仅拥有强大的 定时器外设,而且还有高级定时器可直接在硬件处理电机死区和刹车等问题,不仅减轻了 MCU
的压力而且可以精确地控制。

STM32-Chapter1-6电机开发概述,定时器之基本定时器定时高级定时器互补输出输入捕获输出比较实验相关推荐

  1. STM32 TIM定时器的使用(2)——输入捕获

    输入捕获实验是电容按键检测实验的前提所以需要先学习用TIM实现输入捕获 1.系列目录 基本计时实验 输入捕获实验(实验3的基础) 电容按键检测实验 输出PWM实验 PWM驱动无刷电机实验 2 .输入捕 ...

  2. STM32入门笔记(02):定时器之定时器中断、输入捕获和PWM输出(SPL库函数版)

    目录 定时器 8个定时器 定时器功能 定时器中断 常用通用定时器的寄存器 定时器中断实验目的: 定时器库函数及步骤 实验程序讲解 PWM 简介 STM32 PWM工作过程 PWM模式1 与 PWM模式 ...

  3. STM32定时器之中断延时

    STM32定时器之中断延时 STM32的定时器有通用定时器.基本定时器.高级定时器,我么们将选用基本定时器做一个简单的中断延时实验. 实现现象 在main中用一秒打印一个字符"main&qu ...

  4. [STM32F1]STM32F103滴答定时器定时不准?)

    STM32F103滴答定时器定时不准?       前几天调了1块F103ZET6的开发板,用了个系统定时器,感觉不准,最终找到原因是因为选错了时钟源. 今天来分享一下也算是给大家以后出现问题做个参考 ...

  5. stm32 输入捕获 测量脉宽

    选用通用定时器TIM5的CH1. PA0接一个按键,默认接GND,当按键按下时,IO口被拉高,此时,可利用定时器的输入捕获功能,测量按键按下的这段高电平的时间. 宏定义方便程序升级.移植,举个例子: ...

  6. 8、【STM32】定时器(TIM)——中断、PWM、输入捕获实验(一文精通定时器)

    目录 前言 理论学习 一.定时器中断 1.1.时基单元包括: 1.2.通用定时器功能 1.3.计数器模式 1.3 相关寄存器 二.定时器PWM输出 2.1.PWM输入模式 2.2.定时器PWM输出 2 ...

  7. STM32高级定时器TIM1生成互补PWM

    硬件:stm32f103zet6 开发工具:Keil uVision V5.26.2.0 下载调试工具:J-Link 最近在研究三相无刷电机FOC控制,肯定要对互补PWM了解透彻.记录一下学习过程. ...

  8. STM32 - CubeMX 的使用实例详细(04.1)- STM32F103的 - 定时器设定详细解释 - PWM波的产生 - 频率占空比的设定 - 软件代码分析

    前言:本文详细条例STM32 103定时器的设定 1 定时器简介 中等容量的STM32F103xx增强型系列产品包含1个高级控制定时器.3个普通定时器,以及2个看门 狗定时器和1个系统嘀嗒定时器. 下 ...

  9. STM32输入捕获实验

    STM32 输入捕获工作过程(通道1为例) 通过检测TIMx_CHx上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的捕获/比较寄存器(TI ...

最新文章

  1. Shell Sort 希尔排序 收藏
  2. COND SWITCH 操作符
  3. JS实现sleep功能 JS遍历document对象
  4. 【AVR ASF4库函数学习笔记】二、GPIO
  5. 如何在mysql中添加复选框_如何使用输入和复选框更新mysql
  6. [转载]Linux批量替换不同文件中的相同字符串
  7. 【PL/SQL】PL/SQL介绍
  8. oracle 12g 无监听,Oracle 12.2监听无法启动解决一例
  9. 解析几何:第六章 二次曲面(2)抛物面 二次锥面 柱面 一般二次曲面
  10. 用python获取某年日历表
  11. 微pe不识别nvme固态硬盘_WinPE无法识别NVMe SSD硬盘,如何重装系统
  12. 十一假期,终于过上了理想的生活节奏
  13. 惊艳的产品背后,是锐利的设计思维
  14. 用u盘重装微软官方win10专业版--详细操作文档
  15. TensorFlow学习笔记1:graph、session和op
  16. 汉诺塔递归的c语言实现(递归)
  17. 修身养性,为人处事100条
  18. ”linux学习之路” (感觉写的很好,更像是网络编程学习路线图)
  19. Bias Variance Tradeoff
  20. 转:工程师比科学家低一等吗? (末尾有本人的微小评论)

热门文章

  1. Windows7下PHP 7.1搭建开发环境
  2. 支持html5的页面刷新,qik的方法
  3. 2010年1月21日俱乐部活动,同方软件CTO周洪波博士主讲物联网
  4. PC企业微信HOOK接口,获取指定好友的详细信息
  5. 公众号 接入微信支付
  6. 关于微信公众号调起支付
  7. 快速搜索随机树(RRT---Rapidly-exploring Random Trees)入门及在Matlab中演示
  8. 封装基于zlib的minizip库用于解压缩zip文件
  9. 计算机毕业设计之java+springboot基于vue的人事管理系统-员工管理系统
  10. dataframe两个表合并_Spark DataFrame 不是真正的 DataFrame