求解步进电机慢的问题
本帖最后由 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 是步进电机内磁场变换的周期数
请问如何提高步进电机的速度呢? Who can tell me how?:D 看来论坛的大神都很忙啊,我要顶帖 ABCD每个节拍之间加个延时试试
页:
[1]