找回密码
 注册
关于网站域名变更的通知
查看: 266|回复: 1
打印 上一主题 下一主题

L298N+光耦驱动步进电机测试程序和原理图

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-17 13:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
L298N+光耦驱动步进电机测试程序和原理图
$ g8 k- B4 X) u: S" V' G+ _' k( S
4 q" u) ^+ ~% c+ I1 a. i( k
  Q8 ~- t3 W' k/ w( d% S9 Q( r
8 E  \# k4 W" o; _8 Y

$ v1 i' U, s( t* k: k# S/ t2 {6 R
下面是程序源码:

1 p: ~  t- k7 m6 q) d5 v
* Q4 w: t8 D# F( w/******************************步进电机的驱动*************************************5 J* w2 b! V+ V- h& j
;FOSC = 12MHz
' }6 c5 e  `; b, s* R- E4 U;---------------------------------------------------------------------------------
+ e$ E0 u8 j* ?. y, {8 R; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!!
7 i" V9 u% i* H% G/ Z) P. C; 本步进电机步进角为 5.625度 . 一圈 360 度 , 需要64个脉冲完成!!!- \; Q/ U$ b% N3 D- N8 M
;---------------------------------------------------------------------------------
! b( T: a4 F2 z2 J- W; A组线圈对应 P0.0
8 k. U* Q( R$ [/ M) H) J; B组线圈对应 P0.1' l/ E+ Y9 `* B+ B6 z( H
; C组线圈对应 P0.2- ~' K, y, ~* ~8 f* f2 g6 z+ h
; D组线圈对应 P0.3+ d+ h7 M. g& g' g7 ?5 h
; 正转次序: AB组--BC组--CD组--DA组 (即一个脉冲,正转5.625度)- `5 W) P( W. m2 m1 _6 `# W
;----------------------------------------------------------------------------------
1 j9 x2 F5 k1 C* L0 t4 X**********************************************************************************/' V8 S9 D8 u) H7 E- F  }0 K& @& X

8 K- e' P* k7 v) v% o7 V/*头文件*/, J6 p( H& `& S
#include       ! M6 z$ S5 N" |$ A, U2 |
#include ; X/ T! p( K3 n" o, A  w
#define uint unsigned int( [& ?- ]$ ]+ Y6 Y+ t# A
#define uchar unsigned char
, A2 h" Y/ u/ v#define nop() _nop_()* S2 {4 b1 b& S
/ n- f  D) ]4 U, C
uchar code table1[]={0x03,0x06,0x0c,0x09};  /*正转表*/" v2 o3 K  V- G% X
uchar code table2[]={0x03,0x09,0x0c,0x06};  /*反转表*/4 N7 f' ~# s7 ~/ Y6 L! L$ X4 z
#define motor P0. w) X8 o5 j$ U0 \' D
' O- M- U- B" W
void delay(uchar ms) /*延时*/
+ O! D# x% O) r5 R8 ~{, {# z3 {" M6 _: J+ ~, [
    uchar j;
5 B; J2 |- x! N; h& k    while(ms--){* d& U6 c* V9 t7 T* J% _
        for(j=0;j<250;j++)2 A' U& R5 c+ l5 ?+ W- b6 |$ m
            {;}1 e" Y  V3 O) X/ S1 o% y. r
        }   9 R* f/ L! Y8 Z) W
}
4 F+ }8 d+ K9 b- F% L( l
" F- E7 O8 }  O; ]( m5 W! }void main()* F3 x( U* Q4 e4 ~0 r+ s
{9 e- L0 _; u- U( u- l0 T6 C
        uchar i,j;
) r' P' x# U5 Y- `3 @; g        while(1){
6 c7 R( ^; M9 B  Y/ y0 b$ \            //正转3圈共192个脉冲  }/ x# _) k/ t2 Y
                j=0;
9 j6 f& @! [, |3 }5 u4 c                for(i=0;i<192;i++){( y: B( i, `' E1 Y& w6 a* b
                        motor = 0x00;/ n! W+ o- }5 \0 M! E" g
                        motor = table1[j];2 {" c: o% X! C- W
                        j++;
, I) Z) M6 p( `( j2 o                        if(j>=4) j=0;* p  D$ a( q9 [2 M4 [
                        delay(2);$ [, P  v# b* M( A8 g; d$ z6 r% I4 z: x
                        }2 T4 z) C3 u& I0 M) ]9 N8 c* a
                delay(200);* D) H, ~! T4 I( k" W
                delay(200);        0 m+ _, \! ?( ~2 I
                delay(200);
3 `- |7 ^- u- i) @3 D, ?7 N                delay(200);        0 l% ]" X6 c. x$ r
                delay(200);        " @9 }5 N$ i. K
                //反转2圈共128个脉冲+ a& i. e5 V+ V
                j=0;' t( G3 O' \& Z- X& T
                for(i=0;i<128;i++){* C, j" u% c5 c+ P
                        motor = 0x00;
- k3 {2 l+ e+ t9 x                        motor = table2[j];
5 o( s6 X3 A' {' p- g1 L8 `- [4 d3 s                        j++;
. U7 u9 b2 T0 ?9 \' s5 b8 ^                        if(j>=4) j=0;
& v, _+ [' C' _5 r0 |; B  p                        delay(2);
# y5 q/ ~! O2 H2 j. M/ h                        }0 i2 ]7 q+ }1 ]# u) H; v

% O9 U0 a8 v: j2 g. y
) |+ K1 m% z7 j$ m8 Z! S4 t…………余下代码请下载附件…………+ @/ m) |7 s- @6 v( o. T# `

4 [( z# q+ }( ^- K下载:
/ P9 \! _$ g1 `7 r2 t6 Y  y
游客,如果您要查看本帖隐藏内容请回复
' h7 k$ R! Z- Y5 E, ~" B

; r3 F% I; v( b9 A' R
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-23 05:06 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表