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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
L298N+光耦驱动步进电机测试程序和原理图. S# X* P* ]* m: i; S6 h1 k

' r  J$ z' \3 u; U# |
" `1 y# l# ?; a0 R5 M" h9 c
; I$ Y& o* d' o) K/ J

4 e  K+ q2 H) C' G* _& {9 q  _# R& U0 y! i
下面是程序源码:
* Q& G$ a$ a( O) Z  K7 o

* H, ?+ [" C" p) D1 e+ G$ j, Q0 n/******************************步进电机的驱动*************************************
* Z0 _* q, ~8 p5 n5 n;FOSC = 12MHz
# m0 L) a4 f2 a;---------------------------------------------------------------------------------
$ x9 f2 X: u2 g, P9 l) |8 m; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!!
2 U6 \7 H) V# K; 本步进电机步进角为 5.625度 . 一圈 360 度 , 需要64个脉冲完成!!!
& g& X9 S' C7 ~3 n' E9 ^5 l;---------------------------------------------------------------------------------- z" T) r$ p# L# F
; A组线圈对应 P0.0
( I+ J/ B" ~( v' ~' o; B组线圈对应 P0.1* C! O- h1 [; t
; C组线圈对应 P0.2
& O: H: }" l; f! F1 f3 i; o; D组线圈对应 P0.3( v2 X% c  R1 S, O/ C( o7 ]
; 正转次序: AB组--BC组--CD组--DA组 (即一个脉冲,正转5.625度)+ o6 T) A0 @' `) k! H, l: |* L
;----------------------------------------------------------------------------------
/ z1 m1 |1 o* `2 A% V7 q) p**********************************************************************************/
+ ~# Y/ n6 l+ h. I
0 v* Y3 ?  R% ~* c* G/*头文件*/+ @7 J& B" [" z' M7 z" d3 E
#include       " p6 _9 p& X7 M( G7 |9 k
#include ! [0 p+ ?" T5 d0 q- r# P
#define uint unsigned int5 F. A& e3 m& i) N3 j2 L; J9 h
#define uchar unsigned char4 J6 X  ]! B  b0 O* _
#define nop() _nop_()1 `5 q/ [5 L6 b; S
4 T: M6 k: I# L7 R+ o4 [# E; ]
uchar code table1[]={0x03,0x06,0x0c,0x09};  /*正转表*/9 s; o2 H7 b6 Q; h& w0 f! w
uchar code table2[]={0x03,0x09,0x0c,0x06};  /*反转表*/
) m/ B! K  t5 h7 [. Z#define motor P0
: C2 g3 `, Q; S, |( z1 b, v- D) p# z3 |3 a. p
void delay(uchar ms) /*延时*/; K1 [9 ^- z9 M
{
  X' F2 A& E8 ^) o1 \$ v* J    uchar j;/ a  ?- D5 Z* A3 l
    while(ms--){2 {' Q$ L. G) }8 g$ ?2 t. r
        for(j=0;j<250;j++)) z$ m; g" p8 R2 p! u
            {;}
' b) a* w; c+ r' j( l2 m        }   + k/ f' l1 n, O, C
}: t( e3 ]- s) V& R. H: m  F
( Q4 i. W- u( p; [  M4 Q
void main()5 D8 _" O, S7 w; Z6 E
{5 E$ z# W  S' N
        uchar i,j;% I& P; Y# K% V
        while(1){2 ?& J& p/ a8 }  I8 h; \! w
            //正转3圈共192个脉冲2 s- s  }6 K: j7 X; s# D
                j=0;
/ C2 V9 }$ ~( i& t# X                for(i=0;i<192;i++){9 ~" V- |+ M, i
                        motor = 0x00;
+ u1 o0 p: Q) P9 K2 Z5 N3 I                        motor = table1[j];
' W& O6 w, h5 P* |; Q0 ^                        j++;- w% C9 q8 Z  [% P/ W' a+ u
                        if(j>=4) j=0;
, J) A( e  I4 E( a# f  w& m( s3 U                        delay(2);9 }" X! s2 N  s% x$ O
                        }! t" q; j+ J9 h% R- h% g
                delay(200);
- d) H) A! x! x5 u. q% j2 {* Y, M                delay(200);        $ l+ y2 M7 j2 r4 s- m9 D" c) q
                delay(200);5 u; H8 ]  E( \: k  n" R& b+ g
                delay(200);        & i3 h7 P9 {: n. v$ B
                delay(200);        
% [$ {2 u4 t' I8 C# d                //反转2圈共128个脉冲
# l3 r  h: f8 u- c5 \- _                j=0;
9 j/ l4 j: v9 `" x+ N( v" }! f8 P                for(i=0;i<128;i++){
6 y& H& Q1 ]  ]0 [$ p                        motor = 0x00;
) Q  t+ J$ N, p7 o( Q3 P                        motor = table2[j];+ L6 m# G% [: L
                        j++;0 y* t% k% b# J$ I$ R
                        if(j>=4) j=0;
4 ~! Q! p7 V$ Q' B' Q                        delay(2);7 _( p  @, u% H% r& p( O% X. `
                        }) T3 {( k1 i( X# W) L+ j" B

& J/ ]* G! E* r; n) r3 N2 r! e! C* J$ Z* ^$ m1 n, E7 p% q
…………余下代码请下载附件…………) |$ E2 g& s7 [. \( k- l

4 n9 g% ?' K) T9 n3 X4 F7 x( ~下载:
* v( q2 \- c9 ?; W( N  |
游客,如果您要查看本帖隐藏内容请回复

; o0 g  _+ _$ W! ^$ D7 z

$ i( z/ b, ?3 m6 @' `7 v+ R
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-19 18:09 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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