51单片机和ULN2003驱动5线四相步进电机怎么调转速
本帖最后由 救赎自我- 于 2022-2-16 17:22 编辑大佬们请问怎么改动以下程序来调节我的电机转速呢
#include"reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit MOTOA=P1^0;
sbit MOTOB=P1^1;
sbit MOTOC=P1^2;
sbit MOTOD=P1^3;
#define SPEED 200
void delay(u16 i)
{
while(i--);
}
void main()
{
P1=0x00;
while(1)
{
MOTOA=1;
MOTOB=0;
MOTOC=0;
MOTOD=0;
delay(SPEED);
MOTOA=0;
MOTOB=1;
MOTOC=0;
MOTOD=0;
delay(SPEED);
MOTOA=0;
MOTOB=0;
MOTOC=1;
MOTOD=0;
delay(SPEED);
MOTOA=0;
MOTOB=0;
MOTOC=0;
MOTOD=1;
delay(SPEED);
}
} {:10_256:}我也不懂,只能乱猜了,我看到有个speed。#define SPEED 200 你试试改这条后面的数值 阿萨德按时 发表于 2022-2-16 16:33
我也不懂,只能乱猜了,我看到有个speed。#define SPEED 200 你试试改这条后面的数值
兄弟 这条语句好像是延时信号传输 给步进电机消抖用的 应该不是这里{:10_266:} 本帖最后由 小伤口 于 2022-2-16 18:04 编辑
我觉得修改SPEED就是调速的{:10_250:}
SPEED越小高低电平变化越快脉冲频率越快,应该可以调速吧 小伤口 发表于 2022-2-16 18:02
我觉得修改SPEED就是调速的
SPEED越小高低电平变化越快脉冲频率越快,应该可以调速吧
好吧这个地方好像200是最佳值了高了低了都会变慢或者抖动{:10_285:} 阿萨德按时 发表于 2022-2-16 16:33
我也不懂,只能乱猜了,我看到有个speed。#define SPEED 200 你试试改这条后面的数值
兄弟 我找到了 这条语句后面200是最佳数值 改成别的要么抖动要么减速{:10_299:} 救赎自我- 发表于 2022-2-17 10:08
兄弟 我找到了 这条语句后面200是最佳数值 改成别的要么抖动要么减速
{:10_297:}是改哪条调速,分享下让我也涨涨知识 阿萨德按时 发表于 2022-2-17 10:13
是改哪条调速,分享下让我也涨涨知识
好像是通过定时器延时 我还在探索{:10_245:}
页:
[1]