找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5336|回复: 2
收起左侧

L298n同步控制两个直流电机转速

[复制链接]
ID:318910 发表于 2018-4-29 14:49 | 显示全部楼层 |阅读模式
//-------------函数声明 变量定义---------------
#include<reg51.h>
#include<intrins.h>
#include<absacc.h>
//-------------定义引脚------------------------
sbit PWM=P1^0;                                           //pwm波形输出
sbit PWM1=P1^2;        
sbit DR=P1^1;                                           //方向控制
sbit DR1=P1^3;
#define time_data 0x9C                   //定时器预置值
#define PWM_T 100                                   //定义PWM的周期T为10ms
unsigned char PWM_t;                           //pwm_t为脉冲宽度,时间为0~10ms
unsigned char PWM_count;                   //输出PWM周期计数
unsigned char time_count;                   //定时计数
bit direction;                                           //方向标志位
//函数功能:初始化定时器
void timer_init()
{
        TMOD=0X22;                                           //定时器为工作模式2
        PCON=0X00;
        TF0=0;
        TH0=time_data;                                   //保证定时时长为0.1ms
        TL0=TH0;
        ET0=1;
        TR0=1;                                                   //开始计数
        EA=1;                                                   //中断允许
}
//函数功能:设置PWM脉冲宽度和设定方向
void setting_PWM()
{
        if(PWM_count==0)                                //初始设置
        {
                PWM_t=100;
                direction=1;
        }
}
//函数功能:定时器中断处理程序         ,,,
void IntTimer0()interrupt 1
{
        time_count++;
        DR=direction;
        DR1=direction;
        if(time_count>=PWM_T)
        {
                time_count=0;
                PWM_count++;
                setting_PWM();                                 //每输出1个PWM波计数一次
        }
        if(time_count<PWM_t)
        {
                PWM=1;
                PWM1=1;
        }
        else
        {
                PWM=0;
            PWM1=0;
        }
}
//-------------主函数-----------
void main()
{
        
        timer_init();
        setting_PWM();
        
}

评分

参与人数 2黑币 +55 收起 理由
1261280117 + 5 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:209158 发表于 2019-8-10 09:07 | 显示全部楼层
我想问问你所谓的同步怎么做到的   这照样是开环控制,针对不同电机的不同物理特性一个L298n也做不到同步
回复

使用道具 举报

ID:636068 发表于 2019-11-12 09:54 | 显示全部楼层
付振 发表于 2019-8-10 09:07
我想问问你所谓的同步怎么做到的   这照样是开环控制,针对不同电机的不同物理特性一个L298n也做不到同步

TMC的有用过吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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