找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1617|回复: 3
收起左侧

基于51单片机的控制四线步进电机仿真设计

[复制链接]
ID:554216 发表于 2022-1-16 23:00 | 显示全部楼层 |阅读模式
一、硬件设计
硬件使用了51单片机,L297和L298。

CW/CWW是控制电机方向,高电平正转,低电平反转。

CLOCK是时钟信号,给一个脉冲,便会有一个步进。

HALF/FULL是选择一次半步进还是全步进。假如电机步进一次90°,那么半步进就是45°。

仿真图

仿真图


二、软件设计
使用定时器来进行精确的定时,然后在定时器中断中改变步进电机状态。
  1. #include <reg52.h>
  2. #include "main.h"

  3. sbit DIR1 = P1^0;
  4. sbit CLK1 = P1^1;

  5. #define CW   0
  6. #define CCW  1
  7. #define STOP 2

  8. u8 motorState = 0;

  9. void Timer0Init(void)                //5毫秒@12.000MHz
  10. {        
  11.         TMOD = 0x01;                //设置定时器模式
  12.         TL0  = 0x78;                //设置定时初始值
  13.         TH0  = 0xEC;                //设置定时初始值
  14.         TF0  = 0;                    //清除TF0标志
  15.         TR0  = 1;                    //定时器0开始计时
  16.         ET0  = 1;
  17.         EA   = 1;
  18. }

  19. void main()
  20. {
  21.         Timer0Init();
  22.         motorState = CCW;        
  23.         while(1)
  24.         {
  25.         }
  26. }

  27. void Timer0() interrupt 1
  28. {
  29.         static int counts = 0;
  30.         TL0 = 0x78;                    //设置定时初始值
  31.         TH0 = 0xEC;                    //设置定时初始值
  32.         counts++;
  33.         if(counts>10)//每隔10*5*2ms电机转动一个步距
  34.         {
  35.                 if(motorState == CW)
  36.                 {
  37.                         DIR1 = 1;
  38.                         CLK1 = !CLK1;
  39.                 }else if(motorState == CCW)
  40.                 {
  41.                         DIR1 = 0;
  42.                         CLK1 = !CLK1;
  43.                 }else
  44.                 {
  45.                         CLK1=0;
  46.                 }
  47.                 counts=0;
  48.         }
  49. }
复制代码

若有收获,就点个赞吧


评分

参与人数 1黑币 +30 收起 理由
admin + 30 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1003125 发表于 2022-1-22 20:52 | 显示全部楼层
有创意,我就要这种资料
回复

使用道具 举报

ID:977804 发表于 2022-2-26 09:50 来自手机 | 显示全部楼层
你好,我的步进电机也是4线,不知道能不能也按你的方案
回复

使用道具 举报

ID:276663 发表于 2022-2-26 10:04 | 显示全部楼层
怎么研究细分
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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