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(反转)
如下:      fd = open("/dev/GPIO-Stepper",0);
      if(fd <0){
                perror("open device stepper");
                exit(1);
      }

      for( i=0; i< period; ++i){
                ioctl(fd,ON,A);
                usleep(delay);
                ioctl(fd,OFF,A);

                ioctl(fd,ON,B);
                usleep(delay);
                ioctl(fd,OFF,B);

                ioctl(fd,ON,C);
                usleep(delay);
                ioctl(fd,OFF,C);

                ioctl(fd,ON,D);
                usleep(delay);
                ioctl(fd,OFF,D);

      }当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每个节拍之间加个延时试试
页: [1]
查看完整版本: 求解步进电机慢的问题