找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: hufter
打印 上一主题 下一主题
收起左侧

51单片机精确控制步进电机(有TB6600驱动)

  [复制链接]
41#
ID:643296 发表于 2019-11-16 18:45 | 只看该作者
本帖最后由 jjj012 于 2019-11-21 16:59 编辑

请问需要达到每分钟7000转程序应该怎么修改呢
回复

使用道具 举报

42#
ID:411564 发表于 2019-12-16 13:53 | 只看该作者
可不可以一个信号十个脉冲,最快一秒钟有四十个信号,最慢一秒钟一个
回复

使用道具 举报

43#
ID:411564 发表于 2019-12-16 13:57 | 只看该作者
可不可以一个信号十个脉冲,最快一秒钟40~50个信号,最慢几秒钟一个
回复

使用道具 举报

44#
ID:683266 发表于 2020-1-10 11:52 | 只看该作者
资料可以分享一下么楼主
回复

使用道具 举报

45#
ID:475031 发表于 2020-2-3 16:33 | 只看该作者
楼主用心良苦。让我们练习打代码出来。,不让自己复制
。代码我打好了:


#include <reg52.h>
unsigned char timerl;
sbit ENA=P2^2; //位定义ENA为P1.1, 控制步进电机的使能
sbit DIR=P2^1; //位定义DIR为P1.0口,控制步进电机转向
sbit PWM=P2^0; //位定义PwM为P1.2,用来输出PMw波


void system_Ini()
{
TMOD|= 0x11;
TH1 = 0xfe; //11.0592MHz 0. 5ms定时
TL1 = 0x33;
TR1 = 1; //启动T1定时器
IE =0x8A; //开r0,I1中断,开总中断
}


main()
{
system_Ini(); //调用子函数初始化定时器T1
while (1)
{
if (timerl>10)//原始是10
//此处10很关键,决定这一个脉冲的周期时间,此处o. 5ms*10=5ms
{
timerl=0; //输出占空比为o.7的PwM波
}
if (timerl<3)
{
PWM=0;
}
else
{
PWM=1;
}
}
}
//[ t1 (0.5ms)中断] 中断中做PWM输出1000/ (0. 02ms*250)
//--- 1000/ (0.02ms*250)=200Hz, 也就是1秒中输出200个脉冲
void T1zd (void) interrupt 3 //开定时器1中断
{
TH1 = 0xfe; //11.0592Hz,0. 5ms初始化定时器,让定时器复位继续定时
TL1 = 0x33;
timerl ++;
//计数+1
}
回复

使用道具 举报

46#
ID:646536 发表于 2020-9-21 16:39 | 只看该作者
请问你采用的共阳极还是共阴极接法
回复

使用道具 举报

47#
ID:1005267 发表于 2022-2-15 15:45 | 只看该作者
17851000590 发表于 2019-5-10 16:13
麻烦问一下那个ENA,DIR,PUL六根线怎么接的啊

分阴极接法和阳极接法,阴极接时,负端接单片机,正端接5v电压
回复

使用道具 举报

48#
ID:582255 发表于 2023-1-3 22:29 | 只看该作者
鬼推磨 发表于 2020-2-3 16:33
楼主用心良苦。让我们练习打代码出来。,不让自己复制
。代码我打好了:


请问你接了实物没
回复

使用道具 举报

49#
ID:582255 发表于 2023-1-16 22:32 | 只看该作者
请问楼主ENA和DIR怎么都没有用到?还有一个疑问啊,停止是怎么操作?谢谢哈
回复

使用道具 举报

50#
ID:1016796 发表于 2023-1-25 15:24 来自手机 | 只看该作者
开环的控制,不能说精确,只能说控制
回复

使用道具 举报

51#
ID:686387 发表于 2023-1-27 17:09 | 只看该作者
正在学习中,感谢分享,正是需要的资料
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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