进电机的步进角度为θb时,考虑到IA=IB,则阶梯波型其任一阶的电流值为
同理,可求得A相和C相在细分时对应的阶梯波电流值。对(1)式求解,考虑D/A器件DAC0830的转换精度是8位,转换稳定时间是1 μs,故最大进行了128步细分的运算,相应求得其对应的细分电流值,并进行了相应的转换,得到对应的二进制数值列表。此时,列表全部的数值就是在实现128步细分时,对应阶梯波各阶的电流值。
2.3 多级细分驱动的实现
要在细分的基础上实现多级细分,就必须针对不同的细分档位生成不同的阶梯波。为此,该系统采用了循环增量查表法。首先建立阶梯波数值存储表格,有两种方法,一种是针对每种细分方式建立相应的表格,其特点是细分种类多样,但表格所占空间较大;另外一种,也就是该系统采用的,以最大细分档位对应的步数仅建立一个表格,大大减少了所需的存储空间,并减少了程序运行中的不稳定因素。在具体控制中,该系统通过设定循环增量基数,使不同的细分档位对应不同的细分步数,实现了多级细分驱动。
循环增量基数是指针对不同的细分档位,实现等间隔寻址时相应跳跃的步数。循环增量基数是在细分档位设定后,由相应的计算公式得到。由于该系统最大细分步数为128步,即表格最大长度为128个字节,若细分步数为m步,则循环增量基数为LB=(128/m)-1。不同的档位对应不同的循环增量基数,同一表格就产生了多级细分所需的阶梯波。
另外,在整步控制的基础上,若细分为m步,对每m步运行中的各项电流值进行分析比较,可发现存在以下规律,即各相电流值的变化趋势,随着相位变化循环地出现,如表1所示。
表1 细分控制中各相电流值变化规律
各相 A→B B→C C→A
A相 高→递减 电流值=0 增加→高
B相 增加→高 高→递减 电流值=0
C相 电流值=0 增加→高 高→递减
在表1中,每一种保持或变化都是持续m/2步,且可看出其良好的循环性。依据以上规律,在具体控制中,该系统单独对由A→B控制时各相相应的电流值变化,实现子程序控制,而对整体控制则采用圆周移位的方式实现,即随着合成磁势在A→B、B→C、C→A的转动,对同一输出地址,相应每m步的控制数据循环出现。采用这种方式,简化了实际控制程序,提高了控制效率。
|