STM32ExampleCode-08-ULN2003

STM32ExampleCode-08-ULN2003

1. 简介

(1)步进电机

步进电机是将输入的脉冲信号转变成角位移,即给一个脉冲信号就转动一个角度的电机,可以通过控制脉冲频率,来控制电机转动的速度、加速度和角度。步进电机28BYJ-48的名称中,28表示电机直径28mm,B代表步进电机,Y代表永磁式步进电机PM,J代表减速型电机带减速箱,48表示四相八拍。
article008_08.png

(2)ULN2003

ULN20003是最常见的电机驱动器IC之一,由7对达林顿晶体管对的阵列组成,每对能够驱动高达500mA和50V的负载。该板上使用了七对中的四对,该板上有一个连接器,可以完美地匹配电动机的电线,这使得将电动机轻松连接到板上非常容易。还有用于四个控制输入的连接以及电源连接。该板上有四个LED,它们在四根控制输入线上显示活动(以指示步进状态)。它们在电机运行时提供良好的视觉效果。该板还带有一个ON / OFF跳线,用于隔离步进电机的电源。
article008_02.png

2. 概念

1) 转子

最中间标注为0~5的六个齿。顾名思义,它是要转动的。转子的每个齿上都带有永久的磁性,是一块永磁体,这就是永磁式。

2) 定子

外圈的8个齿。它是保持不动的,跟电机的外壳固定在一起。每个齿上都缠上了一个线圈绕组,正对着的2个齿上的绕组又是串联在一起的,也就是说正对着的2个绕组总是会同时导通或关断的,如此就形成了4相,即图中标注的ABCD,相对的2个齿是1相。四项五线多吃来那条线是电源线。

3) 拍数

完成一个磁场周期性变化所需脉冲数。一拍就是一个脉冲信号。以四相电机为例,四相四拍为 AB-BC-CD-DA(-AB…), 四相八拍为 A-AB-B-BC-C-CD-D-DA(-A…)

4) 步距角(步进角)

每接收到一个脉冲信号步进电机转动的角度。步距角 = 360° /(定子齿数 * 运行拍数),以八拍运行为例,电机主轴的步距角度为:360/(8 * 8)=5.625。再除以减速比64,得到输出轴的步距角5.625/64=0.087890625。八拍运行俗称半步,对应四拍运行则为整步。查到步距角参数,也可以反推需要360/5.625=64个脉冲信号转子才会转动1圈,(因为带减速箱结构所以需要再乘上减速比)64 * 64=4096个脉冲信号电机主轴才会转1圈。

5) 齿轮减速比

教程这款为1:64。即内部转子转动64圈,外部输出主轴才转动1圈。于是就是需要64×64=4096个拍数才会让输出轴转过1圈。

6) 空载启动频率

这款步进电机是550P.P.S。即每秒最多给出550个步进脉冲数才可以正常启动,需要单个节拍持续时间(或节拍的刷新时间)至少为1/550=1.8ms,当脉冲频率高于启动频率,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)

7) 保持转矩

步进电机通电但没有转动时,定子锁住转子的力矩。通常步进电机在低速时的力矩接近保持转矩。

8) 角度细分

一般由硬件驱动器完成。如果主轴转1圈需要200个脉冲,那么2细分就是转1圈需要400个脉冲。细分是通过影响电机的步距角来影响转角和转速
article008_03.png

3. 电机驱动

在目录“.\HARDWARE\MOTOR_BUJIN”下有motor_bujin.c和.h文件,是步进电机的驱动文件。
article008_05.png
可以在其中修改引脚等配置信息:
article008_04.png

4. 使用方法

1) 初始化

    Step_Motor_GPIO_Init(); //步进电机初始化

2) 电机控制

    motorNcircle(64,true);//正转1圈
    motorNcircle(64,false);//反转1圈

5. 示例工程

1) 打开工程

打开目录“.\USER”示例工程keil文件
article008_06.png
按要求接线:
article008_09.png

2) 编译烧录运行

效果:步进电机正传1圈后停1s,反转1圈后停1s,如此循环。

Licensed under CC BY-NC-SA 4.0