#define STEPMOTOR_IOCTRL_PHASE 0x13 staticintstep_fd = -1
char *STEP_DEV="/dev/exio/0raw"//定义一个指针指向步进电机的驱动 程序
/********* A, AB, B, BC, C CD, D, DA ***/
char stepdata[]={0x10,0x30,0x20,0x60,0x40,0xc0,0x80,0x90}//各 个相位对应的值
void Delay(int t) //延时函数 { int i
for(t>0t--)
for(i=0i<400i++)}
/***************************************************** ***********/
int main(intargc, char **argv) {
int i = 0
if((step_fd=open(STEP_DEV, O_WRONLY))<0){ printf("Error opening /dev/exio/0raw device\n")return 1} /*
打开设备的驱动程序,由于LINUX把所有的设备都模拟成文件。 step_fd=open(STEP_DEV,0_WRONLY)实际调用的函数为:
staticint s3c2410_exio_open(structinode *inode, struct file *filp) //驱动程序中的设备打开程序 */
for () {
for (i=0i<sizeof(stepdata)/sizeof(stepdata[0])i++) { ioctl(step_fd, STEPMOTOR_IOCTRL_PHASE, stepdata[i])}
/*程序进入一个死循环,这样可以使电机在没有人为停止的状况下,一直的 转动下去。
*第二层for语句循环一次即电机转动一周。函数ioctl()对应函 数*s3c2410_exio_ioctl()
*而这个函数最终将调用函数do_stepmotor_run((char)arg)使步进电 机转动起来。 */
printf("Delay(100)\n")Delay(100)}
close(step_fd)//程序结束时关闭设备 printf("Step motor start running!\n")return 0}本文来自百度文库,你可以搜搜,其中答案更详细的!
看下图,就是步进电机的时序及接线图。
2相4拍(按图解释):
第一拍(第一次的脉冲信号):1~3组成的线圈黄线加+电压,兰线加-电压;2~4组成的线圈橙色加+,蓝色加-电压。结果是:电机移动了一个步进角的;
第2,3,4拍类推,结果是:电机向一方向给移动了一个步进角的;如此重复1,2,3,4电机就不停的转。如果反过来执行4,3,2,1,那电机就会反转,第一拍和第二拍(每拍之间的)时间长短就决定了电机的频率从而影响到转速
按照正常接线4个端口依次接A,A\,B,B\。
8拍实际上是这样的:A-AB-B-BA\-A\-A\B\-B\-B\A-A
这里面隐含了一个0的问题,就是比如第一拍A为1,则A\为0.则AA\通电。BB\不通电。
第二拍A,B为1,则A\,B\为0.AA\通电。BB\通电。依次类推,从而实现2细分,比如1.8度的电机就控制成0.9度的了。
扩展资料:
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。
虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
步进电机和驱动器的选择方法:
1 判断需多大力矩:静扭矩是选择步进电机的主要参数之一。负载大时,需采用大力矩电机。力矩指标大时,电机外形也大。
2 判断电机运转速度:转速要求高时,应选相电流较大、电感较小的电机,以增加功率输入。且在选择驱动器时采用较高供电电压。
3 选择电机的安装规格:如57、86、110等,主要与力矩要求有关。
4 确定定位精度和振动方面的要求情况:判断是否需细分,需多少细分。
5 根据电机的电流、细分和供电电压选择驱动器。
步进电机从其结构形式上可分为反应式步进电机(Variable Reluctance,VR)、永磁式步进电机Permanent Magnet,PM)、混合式步进电机(Hybrid Stepping,HS)、单相步进电机、平面步进电机等多种类型,在我国所采用的步进电机中以反应式步进电机为主。
步进电机的运行性能与控制方式有密切的关系,步进电机控制系统从其控制方式来看,可以分为以下三类:开环控制系统、闭环控制系统、半闭环控制系统。半闭环控制系统在实际应用中一般归类于开环或闭环系统中。
1 反应式:定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.2°、但动态性能差、效率低、发热大,可靠性难保证。
2 永磁式:永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角大(一般为7.5°或15°)。
3 混合式:混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好,步距角小,但结构复杂、成本相对较高。
按定子上绕组来分,共有二相、三相和五相等系列。最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好。
该种电机的基本步距角为1.8°/步,配上半步驱动器后,步距角减少为0.9°,配上细分驱动器后其步距角可细分达256倍(0.007°/微步)。由于摩擦力和制造精度等原因,实际控制精度略低。同一步进电机可配不同细分的驱动器以改变精度和效果。
参考资料:百度百科-步进电机
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)