版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
目录
1. 概述
步进电机的主要特性:
- 步进电机必须驱动才可以运转,驱动信号必须为脉冲信号,无脉冲电机静止,若加入适当的脉冲信号,则会以一定的角度(称为步角)转动。转动的速度与脉冲频次成正比。
- 以减速比1:64,步进角度为5.625/65度。若转一圈,则需要360/5.625*64=4096个脉冲信号。
- 步进电机具有瞬间启动和紧急停止的优越特性。
- 改变脉冲的顺序,可以方便的改变转动的方向
步进电机28BYJ-48名称含义:
24:表示步进电机的有效最大外径为24毫米
B: 表示步进电机“步”字汉语拼音首字母
Y: 表示永磁式“永”字汉语拼音首字母
J: 表示减速型“减”字汉语拼音首字母
BYJ: 组合即为永磁式减速步进电机
48:表示四相八拍
5V:表示额定电压为5V,且为直流电压
2. 硬件设计
电机控制顺序及数学模型 |
|||||||||
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
橙 |
A |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
黄 |
B |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
粉 |
C |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
蓝 |
D |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
|
|
0x08 |
0x0C |
0x04 |
0x06 |
0x02 |
0x03 |
0x01 |
0x09 |
3. 软件设计
驱动步进电机:周期输出脉冲。
停止步进电机:关闭输出脉冲
#define MotoA 0x08
#define MotoAB 0x0C
#define MotoB 0x04
#define MotoBC 0x06
#define MotoC 0x02
#define MotoCD 0x03
#define MotoD 0x01
#define MotoDA 0x09
#define MotoSTOP 0x00
const uint32_t MOTO[8] ={MotoA,MotoAB,MotoB,MotoBC,MotoC,MotoCD,MotoD,MotoDA};
/* 依照A->AB->B->BC->C->CD->D->DA 驱动,异或反向驱动 */
/* 停止: MotoSTOP */