登录
首页
单片机论坛
回帖
发帖
正文
主题:请教:如何使用KEIL的C语言编程驱动步进电机?
点击:3691 回复:8
楼主
编辑
引用
管理
redmanjack
请教高手:如何使用KEIL的C语言编程驱动步进电机?
我只知道步进电机是要靠发给电机脉冲来驱动和控制的,但是在如何编程就不会了,知道的大侠能不能贴上来,或者给我份资料:)
email: redmanjack@etang.com
感谢大家!
最后修改:
2005-3-1 15:46:00
05-03-01 15:45
1楼
编辑
引用
管理
machelec
是否用运动控制卡?
最后修改:
2005-3-1 15:53:31
05-03-01 15:53
2楼
编辑
引用
管理
redmanjack
不用运动控制卡!
我希望电机输出的扭距是1.6牛米
05-03-01 16:30
3楼
编辑
引用
管理
tuxw
跟驱动器打交道就行了,至于输出扭矩只与电机和驱动器有关系数,跟程序基本无关
一般驱动器会给你三个控制信号入口:
1、脉冲----频率决定电机转速
2、方向----高、低电平决定电机转向
3、释放----断开电机,此时可以用手转动电机,视驱动器不同可能没有这个信号
另外可能还有细分模式设定,决定每个脉冲对应电机多大的转角
编程时真正需要关注的只有脉冲信号,一个需要注意的是驱动器的最小脉冲宽度——决定了最高频率即电高转速,二是升降丢步问题,升降速时对给定脉冲频率要作斜坡处理,不要突变就行了
05-03-01 19:56
4楼
编辑
引用
管理
redmanjack
楼上的兄弟,你说的很好呀!
你说的三个控制口我也知道
我要请教的是:
脉冲在程序里怎么表现,难道是靠延时?
你能举个简单点的程序的例子给我吗?
感谢感谢!!
05-03-01 22:37
5楼
编辑
引用
管理
tuxw
最简单直接的方法就是用延时了,不过这种方法在控制电机运转时不能做其它的事情
如用 P1.0 控制驱动器脉冲,驱动器低电平有效
sbit PULS = P1^0;
以下伪代码发一个脉冲
PULS = 0;
延时1; // 须大于最小脉宽
PULS = 1;
延时2;
延时1+延时2 为脉冲周期,倒数为脉冲频率,决定电机的转速
循环执行则电机以固定速运转,调节延时时间则可变速
如果系统加有看门狗芯片,中间要加喂狗信号,避免连续运行时狗复位
比较好的方法是用定时中断控制输出脉冲
将需要的电机转速换算成频率,再换算成周期初始化定时,然后在定时中断中控制脉冲输出位
调节定时器的初始化值则可调节电机转速
05-03-02 12:20
6楼
编辑
引用
管理
redmanjack
问题1:什么叫“不过这种方法在控制电机运转时不能做其它的事情?”
按我理解是不是说电机运转时不能进行其他动作,如果要进行下其它动作,则必须先停止电机?
问题2:中断控制输出脉冲的话是怎么理解,能举个例子吗?
我理解中断控制的话是不是在一个持续的脉冲中进行中断,从而控制?如何实现呢?
05-03-02 16:57
7楼
编辑
引用
管理
sgx
1,不能做其它的事是因为程序现在处于延时中,如果用中断可以对中断次数加以计数,并通过中断次数的修改而改变其转速。
老兄:我建议你还是看看书吧!
05-03-02 17:21
8楼
编辑
引用
管理
redmanjack
楼上的大哥,呵呵,知道了,有什么书介绍我看呀,我都找不到!
再问问:你的意思是不是通过记中断的次数使记时器记时,达到和延时一样的效果呢?
谢谢了哈!
05-03-02 18:43
工控新闻
东芝推出采用TOLL封装的第3代650V SiC MOSFET
德力西电气携手京东工业共绘价值协同新生态
携手共赴“智”造未来!埃马克推动大洋精锻工艺进阶之路
工业机器人“排位战”再升级,2025年上半年 TOP10厂商市占率达近65%
皮尔磁:以市场为导向,定义安全自动化新标准
正泰电器:“智慧电器”与“绿色能源”双轮驱动 上半年净利润同比增长32.90%
革新外观检测方式!三菱电机外观检测软件MELSOFT VIXIO正式发售
佛山市人工智能与智能机器人产业联盟成立,五大产业载体挂牌
更多新闻资讯