您现在所在的是:

单片机论坛

回帖:8个,阅读:3590 [上一页] [1] [下一页]
977
redmanjack
文章数:31
年度积分:50
历史总积分:977
注册时间:2004/7/8
发站内信
发表于:2005/3/1 15:45:00
#0楼
请教高手:如何使用KEIL的C语言编程驱动步进电机?

我只知道步进电机是要靠发给电机脉冲来驱动和控制的,但是在如何编程就不会了,知道的大侠能不能贴上来,或者给我份资料:)

email: redmanjack@etang.com

感谢大家!
[此贴子已经被作者于2005-3-1 15:46:00编辑过]
16274
machelec 版主
文章数:7023
年度积分:-48
历史总积分:16274
注册时间:2003/12/11
发站内信
发表于:2005/3/1 15:53:00
#1楼
是否用运动控制卡?

[此贴子已经被作者于2005-3-1 15:53:31编辑过]
卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐卍卐
谓正途,崎岖当先
977
redmanjack
文章数:31
年度积分:50
历史总积分:977
注册时间:2004/7/8
发站内信
发表于:2005/3/1 16:30:00
#2楼
不用运动控制卡!
我希望电机输出的扭距是1.6牛米
2534
tuxw
文章数:732
年度积分:50
历史总积分:2534
注册时间:2004/6/5
发站内信
发表于:2005/3/1 19:56:00
#3楼
跟驱动器打交道就行了,至于输出扭矩只与电机和驱动器有关系数,跟程序基本无关

一般驱动器会给你三个控制信号入口:
1、脉冲----频率决定电机转速
2、方向----高、低电平决定电机转向
3、释放----断开电机,此时可以用手转动电机,视驱动器不同可能没有这个信号

另外可能还有细分模式设定,决定每个脉冲对应电机多大的转角

编程时真正需要关注的只有脉冲信号,一个需要注意的是驱动器的最小脉冲宽度——决定了最高频率即电高转速,二是升降丢步问题,升降速时对给定脉冲频率要作斜坡处理,不要突变就行了
请管理员帮忙注销掉我的帐号
不要联系我,直接注销好了,谢谢
977
redmanjack
文章数:31
年度积分:50
历史总积分:977
注册时间:2004/7/8
发站内信
发表于:2005/3/1 22:37:00
#4楼
楼上的兄弟,你说的很好呀!

你说的三个控制口我也知道

我要请教的是:

脉冲在程序里怎么表现,难道是靠延时?

你能举个简单点的程序的例子给我吗?

感谢感谢!!
2534
tuxw
文章数:732
年度积分:50
历史总积分:2534
注册时间:2004/6/5
发站内信
发表于:2005/3/2 12:20:00
#5楼
最简单直接的方法就是用延时了,不过这种方法在控制电机运转时不能做其它的事情

如用 P1.0 控制驱动器脉冲,驱动器低电平有效

sbit PULS = P1^0;

以下伪代码发一个脉冲

PULS = 0;
延时1;     // 须大于最小脉宽
PULS = 1;
延时2;

延时1+延时2 为脉冲周期,倒数为脉冲频率,决定电机的转速
循环执行则电机以固定速运转,调节延时时间则可变速
如果系统加有看门狗芯片,中间要加喂狗信号,避免连续运行时狗复位

比较好的方法是用定时中断控制输出脉冲
将需要的电机转速换算成频率,再换算成周期初始化定时,然后在定时中断中控制脉冲输出位
调节定时器的初始化值则可调节电机转速
请管理员帮忙注销掉我的帐号
不要联系我,直接注销好了,谢谢
977
redmanjack
文章数:31
年度积分:50
历史总积分:977
注册时间:2004/7/8
发站内信
发表于:2005/3/2 16:57:00
#6楼
问题1:什么叫“不过这种方法在控制电机运转时不能做其它的事情?”
按我理解是不是说电机运转时不能进行其他动作,如果要进行下其它动作,则必须先停止电机?

问题2:中断控制输出脉冲的话是怎么理解,能举个例子吗?
我理解中断控制的话是不是在一个持续的脉冲中进行中断,从而控制?如何实现呢?
2459
sgx
文章数:474
年度积分:50
历史总积分:2459
注册时间:2001/11/22
发站内信
发表于:2005/3/2 17:21:00
#7楼
1,不能做其它的事是因为程序现在处于延时中,如果用中断可以对中断次数加以计数,并通过中断次数的修改而改变其转速。
老兄:我建议你还是看看书吧!
骐骥一跃,不能十步;
驽马十驾,功在不舍
977
redmanjack
文章数:31
年度积分:50
历史总积分:977
注册时间:2004/7/8
发站内信
发表于:2005/3/2 18:43:00
#8楼
楼上的大哥,呵呵,知道了,有什么书介绍我看呀,我都找不到!

再问问:你的意思是不是通过记中断的次数使记时器记时,达到和延时一样的效果呢?

谢谢了哈!


关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004