基于ATMEGA48单片机的仪表步进电机的细分控制

发布者:学海星空最新更新时间:2011-09-16 关键字:ATMEGA48  仪表步进电机  细分控制 手机看文章 扫描二维码
随时随地手机看文章

 仪表步进电机

  步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机某相线圈加一脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变得非常简单。虽然步进电机已被广泛地应用,但步进电机并不像普通的直流电机、交流电机那样在常规下使用。它必须在双环形脉冲信号、功率驱动电路等组成控制系统下使用。

  仪表步进电机属于步进电机中体积、功耗较小的类别,可以由单片机或专用芯片的引脚直接驱动,不需外接驱动器,因而在仪表中被用于指针的旋转控制。

  需求分析

  本方案中使用的仪表具有如下特点和设计参数:

  ●指针响应灵敏、走位准确,即收到驱动脉冲后不能丢步;

  ●指针转动平稳,即指针从当前位置到目标位置之间的走位要平稳,正、反转都不能出现抖动;

  ●两相、步距角10o、转动范围300o。

  根据技术参数可知,采用两相四拍和两相八拍时的步距角为10o和5o,在300o的范围内只能作30和60个刻度划分,在实际应用中,会发现指针步距角不能满足要求而且抖动不可避免。为了实现指针高精度的准确走位和平稳运转,要对步进电机步距进行高分辨率细分,这也是设计的难点所在。

  步进电机的细分技术是一种电子阻尼技术,其主要目的是提高电机的运转精度,实现步进电机步距角的高精度细分。其基本概念为:步进电机通过细分驱动器的驱动,其步距角变小了。如驱动器工作在10细分状态时,其步距角只为电机固有步距角的十分之一。以两相四拍为例:当电机工作在不细分的整步状态时,控制系统每发一个步进脉冲,电机转动10o;而用细分驱动器工作在10细分状态时,电机只转动了1o。细分功能完全是由驱动器或单片机靠精确控制电机的相电流所实现的,与电机本身无关。

  细分原理 

 

  两相四拍A、B、/A、/B的驱动状态表如表1所示。

  两相八拍A、B、/A、/B的驱动状态表如表2所示。

  从以上的分析可知,两相四拍是整步运转不细分,两相八拍其实是2细分。合成的磁场和电流矢量夹角以90o和45o的方式变化,如此往复循环。

  参考相关资料后不难发现:细分驱动技术常用近似正弦波的阶梯型电流代替矩形波电流,产生一个微步旋转磁场,从而带动电机以更小的步距角转动,其电流波形和旋转磁场矢量如图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方式控制两相步进电机,既达到了高精度细分的目的,又在硬件成本上得到了优化。在现有电路的后级增加功率驱动电路并作程序的少量修改,就可以做成高精度、多细分步进电机驱动器。

关键字:ATMEGA48  仪表步进电机  细分控制 引用地址:基于ATMEGA48单片机的仪表步进电机的细分控制

上一篇:AT90CAN单片机CAN通信模块介绍及软件编程
下一篇:Flash单片机自编程技术

推荐阅读最新更新时间:2024-03-16 12:41

51单片机PWM细分控制步进电机的研究
为什么要PWM细分呢?因为这样可以是步进电机运行平稳、减小噪音、增大转速(MAX的)、增加力矩…… 为什么要强调是51单片机呢?因为51单片机没有硬件PWM模块,所以只能软件模拟了…… 研究这玩意儿,我走了许多弯路,看了许多文献,最后发现,尽信书不如无书…… 就用28系列4相5线电机来说吧。 整步驱动(四相四拍)时序为: A相 B相 C相 D相 1拍 1 0 0 0 2拍 0 1 0 0 3拍 0 0 1 0 4拍 0 0 0 1 我想没人用这样的方式来驱动吧,这震动也太大了。 2细分驱动(四相八拍)时序为: A相 B相 C相
[单片机]
51单片机PWM<font color='red'>细分</font><font color='red'>控制</font><font color='red'>步进电机</font>的研究
ATmega48 上电复位
上电复位 (POR) 脉冲由片内检测电路产生。检测电平请参见 Table20。 无论何时 VCC 低于检测电平 POR 即发生。 POR 电路可以用来触发启动复位,或者用来检测电源故障。 POR电路保证器件在上电时复位。VCC 达到上电门限电压后触发延迟计数器。在计数器溢出之前器件一直保持为复位状态。当 VCC 下降时,只要低于检测门限,RESET 信号立即生效。
[单片机]
<font color='red'>ATmega48</font> 上电复位
ATmega48 掉电检测
ATmega48/88/168 具有片内 BOD(Brown-out Detection) 电路,通过与固定的触发电平的对比来检测工作过程中 VCC 的变化。此触发电平通过熔丝位 BODLEVEL 来设定。 BOD的触发电平具有迟滞回线以消除电源尖峰的影响。这个迟滞功能可以解释为VBOT+ = VBOT+ V HYST/2 以及 V BOT- V HYST/2 。 Notes: VBOT 可能低于某些器件的最小标称工作电压。对于有这种情形的器件,在产品测试时 将做VCC = VBOT 的实验。这保证了在芯片工作电压 VCC 降至微处理器已经无法正常工 作之前,掉电复位必定发生。ATmega48V/88V/168V 用 BODL
[单片机]
<font color='red'>ATmega48</font> 掉电检测
基于XC2267M的仪表步进电机控制
随着现代电子技术的发展,中高档汽车上的组合数字仪表越来越多地采用“机电一体化”的步进电机。步进电机又称脉冲电动机,它能将输入的脉冲信号变成不连续的机械动作,是一种将电脉冲转化为角位移的执行机构。对步进电机的每一相来讲,输入的是一个脉冲列,只要控制好电脉冲,就能精确控制步进电机的角位移量,转速和转矩。从这个意义上来说,步进电机控制的核心是PWM(脉冲宽度调制)细分控制技术。 用单片机来控制步进电机已有近15年的发展历史。出于降低总体成本的考虑,长期以来所采用的芯片都是8位单片机。由于单片机自身性能的局限性,对于步进电机的控制常常采用不彻底的细分控制或带外设的细分控制。不彻底的细分控制一般是将步进电动机的控制位置数(以两相步进电机为
[工业控制]
基于XC2267M的<font color='red'>仪表</font>盘<font color='red'>步进电机</font><font color='red'>控制</font>
精密控制系统中步进电机的电细分技术研究
摘要:采用具有电细分的步时电机驱动技术可实现精密控制系统中高精度的位移。基于单片机的直流电压控制的电细分驱动技术,避免了绕组互感带来的误差,提高了细分精度。实验表明,当采用精密丝杆机构、螺距为1mm、步进电机步距离为1.8%26;#176;、实现128细分时,可调整组件每步位置移动为0.04μm,最大误差为15%,均方误差为3.9%。 关键词:步进电机 直流电压控制 细分 在许多精密控制系统中需要有较高的位移精度。为实现高精度的位移与调整,常采用具有电细分的步进电机驱动技术。步进电机具有控制简单、无积累误差等优点。通常步进电机的电细分驱动有斩波恒流驱动与脉冲宽度调制驱动等方法。而采用单片机直流电压控制的电细分驱动方式,则具有线
[传感技术]
单片机与TA8435的步进电机细分控制
1 步进电机 步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变为角位移,即给一个脉冲,步进电机就转一个角度,因此非常合适单片机控制,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,电机则转过一个步距角,同时步进电机只有周期性的无累积误差,精度高。 步进电动机有如下特点: 1)步进电动机的角位移与输入脉冲数严格成正比。因此,当它转一圈后,没有累计误差,具有良好的跟随性。 2)由步进电动机与驱动电路组成的开环数控系统,既简单、廉价,又非常可靠,同时,它也可以与角度反馈环节组成高性能的闭环数控系统。 3)步进电动机的动态响应快,易于启停、正反转及变速。 4)速度可在相当宽的范
[工业控制]
ATmega48 中断向量
本节描述 ATmega48/88/168 的中断处理。更一般的 AVR 中断处理请参见 P11” 复位与中断处理 ” 。 (点击图片放大) ATmega48 典型的复位和中断设置如下: 地址···代码 ···代码说明 0x000 rjmp RESET ; 复位处理 0x001 rjmp EXT_INT0 ; IRQ0处理 0x002 rjmp EXT_INT1 ; IRQ1处理 0x003 rjmp PCINT0 ; PCINT0处理 0x004 rjmp PCINT1 ; PCINT1处理 0x005 rjmp PCINT2 ; PCINT2处理 0x006 rjmp WDT ;看门狗定时器处理 0x007 rjmp TIM
[单片机]
<font color='red'>ATmega48</font> 中断向量
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved