天嵌 ARM开发社区

 找回密码
 注册
查看: 2483|回复: 3

求解步进电机慢的问题

[复制链接]
shruger 发表于 2012-11-25 14:24:36 | 显示全部楼层 |阅读模式
本帖最后由 shruger 于 2012-11-25 14:26 编辑

额,步进电机型号不知道是哪种,了解的参数为:5伏4相50欧姆

硬件是用uln2003驱动,然后四相连接ARM板的4个GPIO口.

软件上,实现步进电机驱动采用单4拍:A-B-C-D(正转) A-D-C-B(反转)
如下:
  1.         fd = open("/dev/GPIO-Stepper",0);
  2.         if(fd <0){
  3.                 perror("open device stepper");
  4.                 exit(1);
  5.         }

  6.         for( i=0; i< period; ++i){
  7.                 ioctl(fd,ON,A);
  8.                 usleep(delay);
  9.                 ioctl(fd,OFF,A);

  10.                 ioctl(fd,ON,B);
  11.                 usleep(delay);
  12.                 ioctl(fd,OFF,B);

  13.                 ioctl(fd,ON,C);
  14.                 usleep(delay);
  15.                 ioctl(fd,OFF,C);

  16.                 ioctl(fd,ON,D);
  17.                 usleep(delay);
  18.                 ioctl(fd,OFF,D);

  19.         }
复制代码
当delay设置为 10000或者更大的时候转不起来,1000会慢慢转动,走一圈大概要几秒的样子,到1000以内速度基本不会变了。
PS: period 是步进电机内磁场变换的周期数
请问如何提高步进电机的速度呢?
 楼主| shruger 发表于 2012-11-26 12:36:53 | 显示全部楼层
Who can tell me how?:D
 楼主| shruger 发表于 2012-11-27 22:53:44 | 显示全部楼层
看来论坛的大神都很忙啊,我要顶帖
一般不拔刀 发表于 2012-11-27 23:39:43 | 显示全部楼层
ABCD每个节拍之间加个延时试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-29 16:19 , Processed in 1.031257 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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