单片机/MCU论坛
直播中

张海涛

12年用户 134经验值
擅长:基础元器件 模拟与电源 射频微波与天线 网络与通信
私信 关注
[问答]

直流减速电机

高手们,有直流减速电机的资料程序么?发来小弟拜读下。。。谢谢。。

回帖(4)

柳兔宝

2011-8-27 23:14:12
你是用什么芯片驱动 电机的
举报

张海涛

2011-8-28 13:01:35
引用: liutubao 发表于 2011-8-27 23:14
你是用什么芯片驱动 电机的

       L298
举报

柳兔宝

2011-9-2 22:26:08
用PWM控制 298,可以用含有PWM功能的单片机做,或者是定时器不过定时器不是很精确
举报

张海涛

2011-9-3 00:30:58
引用: liutubao 发表于 2011-9-2 22:26
用PWM控制 298,可以用含有PWM功能的单片机做,或者是定时器不过定时器不是很精确 ...

我现在用两个定时器输出两路PWM波,控制两个直流减速电机,靠,什么问题都有。。。。咋办,你那有现成的没?我这查资料,看的,你看看对不对。
#include
#include
#define uchar unsigned char
#define uint unsigned int    //头文件,宏定义//
***it ML_0=P0^0;
***it ML_1=P0^1;   //左边电机,输入接P1 0 1口,右边电机,接P1 2 3
***it MR_0=P0^2;
***it MR_1=P0^3;
uchar ML_count1,ML_num1;
uchar MR_count1,MR_num1;
void init_t0()
{
TH0=176;
TL0=176;
TR0=1;
ET0=1;
EA=1;
}
void init_t1()
{
TH1=176;
TL1=176;
TR1=1;
ET1=1;
EA=1;
}
void main()
{
init_t0();
init_t1();
ML_num1=10;
MR_num1=10;
ML_0=0;
MR_0=0;
while(1)
{
}
}
void timer0() interrupt 1
{
ML_count1++;
if(ML_count1==ML_num1)
  ML_1=0;
if(ML_count1==20)
{
  ML_count1=0;
  ML_1=1;
}
TH0=176;
TL0=176;
}
void timer1() interrupt 1
{
MR_count1++;
if(MR_count1==MR_num1)
  MR_1=0;
if(MR_count1==20)
{
  MR_count1=0;
  MR_1=1;
}
TH1=176;
TL1=176;
}

举报

更多回帖

发帖
×
20
完善资料,
赚取积分