基于ATMEGA48单片机的仪表步进电机的细分控制原理及应用
从以上的分析可知,两相四拍是整步运转不细分,两相八拍其实是2细分。合成的磁场和电流矢量夹角以90o和45o的方式变化,如此往复循环。 本文引用地址: //m.amcfsurvey.com/article/160311.htm
参考相关资料后不难发现:细分驱动技术常用近似正弦波的阶梯型电流代替矩形波电流,产生一个微步旋转磁场,从而带动电机以更小的步距角转动,其电流波形和旋转磁场矢量如图1所示。同时由于正弦波电流变化平滑,使电机运行更平稳、噪声更小。即通过改变相邻两相(A,B)电流的大小和方向(A相正弦波和B相余弦波矢量叠加),以改变合成磁场的夹角,通过电流矢量合成的方式来控制步进电机运转。
硬件设计和软件编程
根据细分原理可知,对于两相步进电机,需要同时控制两组线圈的电压大小和方向才能达到合成电流矢量控制的目的,控制线圈的电流大小有两种方案:其一是通过单片机写入数字量,由数模转换器件输出模拟电压,控制线圈电流大小;其二是通过某些单片机自带的PWM引脚输出占空比可控的方波,用其交流有效值控制线圈电流大小。很显然,按照正弦规律变化的占空比决定了线圈电流大小也按照相同的正弦规律变化。线圈的电压施加方向可以通过逻辑门电路来实现。
综上,选用具有两路16位精度PWM功能的ATMEGA48单片机,外围硬件电路设计如图2。
使用该单片机具有PWM功能的PB1和PB2连接PWM_A和PWM_B,使用两个普通引脚连接DIR_A和DIR_B即可实现对电机的控制。原理说明如下:电机的A、/A、B、/B分别对应四输入与门电路的3、6、8、11引脚。在DIR_A和DIR_B为低电平时,门电路的1、9引脚为0状态,三极管Q3、Q4截止,门电路的4、12引脚由于上拉处于1状态,这样,与门电路的3、8输出为0,即A、B为0;此时与门电路的6、11输出与PWM_A和PWM_B保持一致,即/A、/B由PWM_A和PWM_B决定。在其他状态下,也具有同类特点:A和/A之间、B和/B之间的通电极性由DIR_A和DIR_B决定;A和/A之间、B和/B之间的电流大小由PWM_A和PWM_B的占空比决定。而且只要三极管Q3、Q4工作正常,与门电路就不会出现逻辑混乱的情况。
配合硬件的设计,软件上编写了一个由64个数据组成的数组,分别对应了0~90o正弦波幅度变化的8位数字量化值(以阶梯波的方式模拟了64点正弦波抽样),每个值用来控制输出波形占空比,实际上参与了电流矢量夹角转动90o过程中其电流大小的计算。众所周知,正弦、余弦波相位相差90o,在已知0~90o正弦波幅度变化表后,同样可以得出90o~180o、180o~270o、270o~360o(0o)的正弦波、余弦波幅度变化表,所以通过0~90o正弦波幅度变化的8位数字量化表的演化,就可以在两相八拍(二细分)的基础上把电流矢量夹角分成四个象限,配合极性的控制,在每个象限中把A或/A的正弦波和B或/B的余弦波作8种组合,在每种组合中完成电流大小的变化,最终作到两相64拍(16细分)的控制。而且,最巧妙的一点就在于:通过选择64个数据对应每90o范围的正弦波的64个点,就可以用一个字节的大小来作为区分4个象限的标志,便于对正、余弦的角度进行演化,即0~63对应0~90o,64~127对应90o~180o,128~191对应180o~270o,192~255对应270o~360o。
两相64拍A、B、/A、/B的驱动状态表如表3(以B为起始状态)。
由于仪表指针从当前角指向目标角时,变化量会有不同。为保证指针响应灵敏、无抖动,必须在正、反转时考虑加、减速控制。程序中,可以根据变化量的大小和正负设定几个控制区间,分别写入不同的延时参数,根据此延时参数来控制电流大小、方向(改变PWM_A和PWM_B、DIR_A和DIR_B)变化时间,就达到了加、减速的控制的目的。
结语
通过双PWM方式控制两相步进电机,既达到了高精度细分的目的,又在硬件成本上得到了优化。在现有电路的后级增加功率驱动电路并作程序的少量修改,就可以做成高精度、多细分步进电机驱动器。
评论