Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1582111
  • 博文数量: 354
  • 博客积分: 8137
  • 博客等级: 中将
  • 技术积分: 5137
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-26 15:40
文章分类

全部博文(354)

文章存档

2010年(300)

2009年(54)

分类: 嵌入式

2010-07-17 15:04:10

前些日子在淘宝采购了一个步进电机,一直没用,丢在角落里面。今天实验室停电了,在出租房里有些无聊翻出来研究了下。

步进电机的基本原理我就不说了,百度能找出一大片来,懒的百度的可以, 简而言之就是能够通过输入脉冲的个数,确定旋转的角位移,一般用他来控制小车轮子的偏移角度等。

来看看我买到的步进电机:

外观

如题目所示,我买到的是型号为MP28GA的步进电机(左)和ULN2003APG的驱动芯片(右),具体参数如下:

电压
DC.V
电阻(25°C)
Ω
步距角
°
减速比 牵入转矩
mN.m
自定位转矩
mN.m
5 50 5.625/64 1/64
≥40
≥34.3
空载牵入频率

Hz
空载牵出频率

Hz
绝缘电阻

DC.500V
绝缘介电强度

AC.600V.1mA.1S
温升

K
噪音

dB(A)
≥500 ≥900 ≥50MΩ 无击穿或飞弧 <40 <40
MP28GA的步进电机相关参数

步进电机相励磁的励磁顺序如下表所示:

接线端 导线        
序号 颜色 1 2 3 4 5 6 7 8
5 + + + + + + + +
4 - -           -
3   - - -        
2       - - -    
1           - - -

ULN2003APG的驱动芯片驱动原理图如下所示:image

程序示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
;****************************步进电机的驱动*************************************
;FOSC = 12MHz
;---------------------------------------------------------------------------------
; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!!
; 本步进电机步进角为 5.625度 . 一圈 360 度 , 需要64个脉冲完成!!!
;---------------------------------------------------------------------------------
; A组线圈对应 P2.4
; B组线圈对应 P2.5
; C组线圈对应 P2.6
; D组线圈对应 P2.7
; 正转次序: AB组--BC组--CD组--DA组 (即一个脉冲,正转5.625度)
;----------------------------------------------------------------------------------
ORG 0000H
LJMP MAIN
ORG 0100H
 
MAIN:
;----------------------------正转--------------------------
MOV R3,#192 ;正转3圈共192个脉冲
START:
MOV R0,#00H
START1:
MOV P2,#00H
MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START ;对A的判断,当A=0时则转到 START
MOV P2,A
LCALL DELAY
INC R0
DJNZ R3,START1
MOV P2,#00H
LCALL DELAY1
;-----------------------------反转------------------------
MOV R3,#64 ;反转一圈共64个脉冲
START2:
MOV P2,#00H
MOV R0,#05
START3:
MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ START2
MOV P2,A
CALL DELAY
INC R0
DJNZ R3,START3
MOV P2,#00H
LCALL DELAY1
LJMP MAIN
;---------------------------转速控制-----------------------
DELAY: MOV R7,#40 ;步进电机的转速
M3: MOV R6,#248
DJNZ R6,$
DJNZ R7,M3
RET
;---------------------------延时控制----------------------
DELAY1: MOV R4,#20 ;2S 延时子程序
DEL2: MOV R3,#200
DEL3: MOV R2,#250
DJNZ R2,$
DJNZ R3,DEL3
DJNZ R4,DEL2
RET
;---------------------------正反转表----------------------
TABLE:
DB 30H,60H,0C0H,90H; 正转表
DB 00; 正转结束
DB 30H,90H,0C0H,60H; 反转表
DB 00; 反转结束
END

有不少童鞋问我要这个电机的资料,其实在这篇文章里面都提到了。为了不耽误大家使用的时间,还是把资料放在文章里面供大家下载吧,嘿嘿

阅读(3929) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~