找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1344|回复: 1
收起左侧

通过单片机与DM542驱动器控制电机,如何使其来回转动呢?现在只能控制其正转或反转

[复制链接]
ID:1048790 发表于 2022-10-27 21:40 | 显示全部楼层 |阅读模式
#include <REGX52.H>

unsigned char timer0;
sbit ENA=P1^0;
sbit PWM=P1^1;
sbit DIR=P1^2;

void delay(unsigned int a)
{
     unsigned char b=0;

         while(a--)
         {
            for(b=0;b<200;b++)
                {
                }
        }
}

void kongzhi_Init()
{
    TMOD|=0X11;
    TH1=0XFE;
    TL1=0X33;
    TR1=1;
    IE=0X8A;
}
void Tlzd() interrupt 3
{
    TH1=0XFE;
    TL1=0X33;
    timer0++;
}
void main()
{
     kongzhi_Init();
           while(1)
                 {
     while(1)
     {
                        
                                  DIR=1;
        if(timer0>0.1)
        {
            timer0=0;
        }
        if(timer0<1)
        {
            PWM=0;
        }
        else
        {
            PWM=1;
        }
                                       
     }
                      DIR=1;
                 if(timer0>0.1)
        {
            timer0=0;
        }
        if(timer0<1)
        {
            PWM=0;
        }
        else
        {
            PWM=1;
        }  
                                
     }
         }


步进电机1.JPG
步进电机2.JPG
回复

使用道具 举报

ID:123289 发表于 2022-10-28 08:37 | 显示全部楼层
除楼主说的之外,还有个起动、刹车问题,特别是在负载重的情况下。
要点:F = M * a,加速度不能超过负载需要的牵引力。否则会失步而振动。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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