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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
L298N+光耦驱动步进电机测试程序和原理图3 _, _! \4 @6 N) j5 o% |; c

# M5 D+ `0 }/ O  ]& ?% K1 D

' c  [2 k+ h3 a' O4 z# T) n; d " ]* j5 ]8 {7 f( f
: l6 v3 k1 I% w9 S

8 U, p0 V1 m/ y$ n7 q: ^下面是程序源码:

8 Z) C; j* d9 |+ m) r2 p4 x$ i  \2 P1 F$ ]
/******************************步进电机的驱动*************************************
* D3 ?4 z# H* @;FOSC = 12MHz
# e2 z  O1 A% ?* I( I2 m* t3 M( _. ]' k;---------------------------------------------------------------------------------
# Y' q1 s- d2 g; M! }" Q- H3 R; K; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!!
4 e/ R: e( H. }+ C  ?$ L; 本步进电机步进角为 5.625度 . 一圈 360 度 , 需要64个脉冲完成!!!8 l( Q* Q# ^! f  F! v! y$ Q
;---------------------------------------------------------------------------------' B$ ]2 ^. \/ K2 R
; A组线圈对应 P0.0
4 j; E( ]0 R& Q/ d' B; B组线圈对应 P0.1
# ^  ^3 N" Y2 S; C组线圈对应 P0.22 P  B% s9 H8 t" q  A
; D组线圈对应 P0.3, s! k7 c% W- V6 `
; 正转次序: AB组--BC组--CD组--DA组 (即一个脉冲,正转5.625度)
7 G. ~! r0 {! [# E;----------------------------------------------------------------------------------
8 b- N' W6 Y& m) E**********************************************************************************/
9 o; {5 ]* K! Z5 z# a- r: m, L. d1 m, I+ B$ `5 S9 O" z
/*头文件*/' Z- Y  j, ?4 f( U4 [2 y) f
#include       0 U5 J+ M! |! O# p+ |3 S) J
#include
& P+ Z6 i5 O, E  I9 b( Q; V2 b#define uint unsigned int
2 \* A9 P7 `/ T6 e#define uchar unsigned char  g1 L- Y! f, K
#define nop() _nop_(): b: W8 r% y( t2 d. `2 {  z
; p3 w4 v- q; U" f4 k" j9 c6 j* A
uchar code table1[]={0x03,0x06,0x0c,0x09};  /*正转表*/
7 E' s5 A3 a" y" B3 Z9 Y: Kuchar code table2[]={0x03,0x09,0x0c,0x06};  /*反转表*/8 f; ]& s' V; ?8 k, G
#define motor P0- I9 p) y0 f( ?; l: f7 I
7 \1 `& F  D, U
void delay(uchar ms) /*延时*/1 \% \  r: g: Y# X& u( C
{
# L1 g: ?4 x  B! u( E    uchar j;
. }- A4 j) g7 C/ M" z$ j    while(ms--){( _: g9 h$ J2 F/ ^+ q, x
        for(j=0;j<250;j++)  R3 \$ d1 ]) V$ V! t: m
            {;}
' Y9 h- z. e/ ^! V" ^1 v! }* _        }   
/ f5 Y9 L/ g# O3 O. Y}
6 y$ b7 t, }- D7 o# R0 F
- s& k; J  M3 h% E  `void main()! R0 L2 G$ [5 f% ]. T
{
0 [4 Z; g2 Y, t6 p6 g# N        uchar i,j;1 ]. G' V5 C! ]9 T" w
        while(1){! _+ F: R8 {6 N' L1 @$ t
            //正转3圈共192个脉冲9 @" X: P1 C8 R; H! E7 i
                j=0;3 R! E, k0 s# G7 i( G+ v' j2 p: z
                for(i=0;i<192;i++){7 o; `4 V$ ^3 v4 C- F' @
                        motor = 0x00;
, K6 \8 {# a$ d) w                        motor = table1[j];! I7 ^9 c: B6 n: z- l- [
                        j++;9 B" Q8 b9 u" ^) `* J$ j
                        if(j>=4) j=0;
0 O7 P9 D  M3 I+ I( R! c' J# z                        delay(2);
! w( n, V( T% v                        }
" _! o2 \4 ?* W6 `7 i% R: C                delay(200);. K/ x. O& Y8 _2 d0 `) ]4 d/ i- \
                delay(200);        1 }% t) z( u; H3 M' H/ X6 y: Y9 S  `$ v$ S
                delay(200);
3 z0 ?6 O6 W6 c4 S0 `                delay(200);        1 Z% H. q5 ^" N; ?  z" ~6 Y0 {
                delay(200);        $ R: T, x3 Z3 `- O; [
                //反转2圈共128个脉冲* U7 i6 B0 c* J4 M2 G9 G
                j=0;
: T  G9 C  n+ L! n; N( x                for(i=0;i<128;i++){2 S7 n! A2 O* B8 D) J/ A" G" @
                        motor = 0x00;
7 m+ T5 o/ w, p3 }' e3 M; D                        motor = table2[j];+ `5 Z" j$ `" p8 C! R
                        j++;, g' Y% ]- S6 p* \1 f3 T
                        if(j>=4) j=0;& l+ k) Q3 y9 Q9 v& h
                        delay(2);: }3 p3 m: T) \) n
                        }$ A. ~4 j- i/ w9 Q
8 ^  Z( e7 L: a  ?+ T$ r% D
. L% v8 g- l& n- U
…………余下代码请下载附件…………6 F0 K/ Z3 T/ p# [4 p
+ y5 }/ M4 l5 n, q, g# J
下载:% S! w9 a- C. H
游客,如果您要查看本帖隐藏内容请回复
/ P! D+ C9 \$ V8 H9 R. W1 I+ D
5 O, I5 U, Z; z6 U) `
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-21 06:25 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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