电机产品选择介绍

学习电机应用基础

C语言编程

电机例程使用HAL库,必须先入门学习过STM32 HAL库开发。若没有接触过HAL开发,可以先看HAL视频入门学习,包含F1至H7芯片异同知识点。必须至少掌握GPIO做普通输入输出,串口,中断,定时器章节。

概念性介绍

单片机加驱动板 与 现成驱动器 区别:

①单片机加驱动板:由 单片机/电机开发板 编写程序使用PWM来控制驱动板高功率电路部分进而控制电机,需要了解电机控制细节原理,再编写具体程序实现细节原理流程。

②现成驱动器:可理解为集成了单片机和高功率电路部分一体产品,同时已经包含了①中描述的驱动程序。 当有现成的 步进/有刷/无刷/伺服 驱动器,驱动器接适合的电机,再由单片机或者PLC或者其他设备根据驱动器上有的接口来控制,常用的有脉冲信号接口,串口/485/232/CAN通讯,旋钮调速/模拟电压信号调速。

对应于野火产品,有步进电机驱动器,单片机只发送脉冲和方向信号给驱动器来控制转动。 没有现成的 有刷/无刷/伺服 驱动器,而是有刷和无刷驱动板(没有伺服板),需要单片机/电机开发板结合电机教程中的驱动例程和驱动板进而控制电机。

了解教程主要学习内容

1 电机分类和驱动器介绍

2 基于STM32定时器外设详解

3 必须掌握基础:

①控制步进电机:

使用现成步进电机驱动器,SMT32芯片脚发送单路PWM脉冲给步进驱动器 由驱动进而控制电机基本旋转。理解步距角、细分、脉冲之间的关系,编写程序驱动步进电机转过指定的角度或以指定的速度运行。

②有刷驱动板与有刷电机:

控制有刷电机通常需要两个PWM控制电机速度和旋转方向,可以是通用/高级定时器的两个通道,或者也可以是高级定时器的一组互补通道,理解H桥,编写程序控制PWM占空比控制电机速度,控制H桥两个对角线上的MOS管通道进而控制电机旋转方向。

②无刷驱动板与霍尔无刷电机:

驱动无刷电机需要使用一个高级定时器的三组互补PWM通道来驱动,也就是需要6路PWM通道,在一个半桥上是一组互补通道,基础驱动方式为使用霍尔传感器的6步驱动方式。

4 进阶内容

①控制步进电机:

对带增量式编码器的步进电机实现PID闭环速度位置控制,步进电机梯形、S型加减速的原理概念、公式推导的详解以及程序代码编写,对于双轴步进电机,使用直线插补和圆弧插补实现双轴步进电机的同时控制

②有刷驱动板与有刷电机:

对带霍尔编码器有刷电机实现机PID闭环速度位置控制。

②无刷驱动板与霍尔无刷电机:

利用霍尔传感器实现电机PID闭环速度位置控制。

③无刷驱动板与带霍尔/增量式编码器PMSM:

主要介绍如何使用ST官方FOC库生成代码验证,例程使用5.44版本。 由库自己完成控制算法,查阅官方资料手册来学习使用库提供函数。

学习选择

初学者建议最易用步进电机驱动器或者舵机,控制一对步进驱动器与步进电机只需要发送一路PWM脉冲和方向高低信号即可。

想研究电机驱动原理可以学习有刷驱动板程序作为基础再学习无刷驱动板程序。

对于PMSM电机,也可以使用无刷电机的6步驱动方式,更适合使用ST FOC库生成的代码工程验证,见下方表格图二。电机教程中的FOC章节为介绍ST FOC库使用,FOC原理复杂,目前没有单独讲解FOC原理。

细节参数

在大概理解了上述内容后,再查看下图列出的电机开发板和电机、电机驱动器主要对比参数,单独详细参数可以由淘宝详情页查看,或者从 https://embedfire.com/download/ 中间点击下载产品手册。

请将图片另存为或者单独打开窗口放大查看