关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 用单片机和CPLD实现步进电机的控制

用单片机和CPLD实现步进电机的控制

作者:时间:2008-06-13来源:中电网 收藏

  是一种将转换成角位移的伺服执行器件。其特点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度的变化的影响、误差不会长期积累,这给实际的应用带来了很大的方便。它广泛用于消费类产品(打印机、照相机)、工业控制(数控机床、工业机器人)、医疗器械等机电产品中。

本文引用地址:http://www.eepw.com.cn/article/84181.htm

  通常的步进控制方法是采用(PC机、等)配合专用的步进驱动控制器来实现,这存在成本较高、各个环节搭配不便(不同类的必须要相应的驱动控制器与之配对)等问题。

  器件具有速度快、功耗低、保密性好、程序设计灵活、抗干扰能力强、与外围电路接口方便等特点,越来越多的应用于各种工控、测量、仪器仪表等方面。同时单片机非常适合应用于需要复杂的控制算法的场合。因此本设计采用的方法是:用单片机采集现场信号后计算出步进电机运转所需的控制信息后,再传给把接收到的信息转换成步进电机实际的控制信号(运转方向、运转速度)输出给电机的驱动电路。这样的好处是单片机与各行其是。单片机可以专注于处理输入信号与输出信息之间的转换等复杂的算法.不必占用过多的资源去直接控制电机,也减小了由此引入干扰的可能性;CPLD只需把单片机传送过来的信息转换成电机的控制信号。这样就发挥了单片机和CPLD两者的优点。

  1 步进电机原理简介

  通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。

  我们使用的单极四相步进电机为例。其结构如图1:

  四个绕组引出四相(相A1相A2相B1相B2)和两个公共线(接到电源的正机)。把绕组的某一相接到电源的地线。这样该绕组就会受到激励。我们采用四相八拍的控制方式,即1相与2相交替导通,这样可提高分辨率。每一步可转0.9°控制电机正转的励磁顺序如下表:

单极四相步进电机

  若要求电机反转,将励磁信号倒过来传送即可。

  2 步进电机控制方案

  控制系统的框图如下

控制系统的框图

  本方案采用AT89S51作为主控制器件。它与AT89C51兼容,同时还增加了SPI接口和看门狗模块,这不但使程序调试变得方便而且也使程序运行更加稳定。在方案中该单片机主要实现现场信号的采集并计算出步进电机运转的方向和速度信息。然后传送给CPLD。

  CPLD采用EPM7128SLC84-15,EPM7128是可编程的大规模逻辑器件,为ALTERA公司的MAX7000系列产品。具有高阻抗、电可擦等特点,可用单元为2500个,工作电压为+5V。CPLD接收到单片机发送过来的信息后,转换成对应的控制信号输出给步进电机驱动器。驱动器则把控制信号处理后输入电机绕组,实现了电机的有效控制。

  2.1 电机驱动器硬件结构

  电机的驱动器采用如下电路:

电机的驱动器电路

  其中R1-R8的电阻值为320Ω。R9-R12的电阻值为2.2KΩ。Q1-Q4为达林顿管D401A,Q5-Q8为S8550。J1、J2与步进电机的六条引线相连

  2.2 CPLD硬件电路的设计

  使用CPLD器件使电路的设计变得十分简洁。我们只需要把CPLD的脚引出来, 接上相应的外围器件就可以了。CPLD与专用数字芯片(如74SC164等)的一个重要区别是其 口的功能可任意在软件上设定,这样在硬件设计中便可只用考虑电源线与地线的分布。以减小高频电流噪声对数据传输的影响。

  在设计CPLD电路时,电源、时钟以及与目标芯片都可通过接插件进行连接。最后在管脚锁定的时候把CPLD的I/O分别与单片机和电机电路部分相连就可以了,这样使电路的安装调试变得更加简便。

  2.3 控制的实现

  由于篇幅的限制。在此只讨论单片机与CPLD逻辑接口部分以及CPLD中控制信号的产生部分。

  首先说明单片机和CPLD逻辑接口的问题。AT89S51与EPM7128SLC84的I/O电压都为5V。所以它们的I/O可以直接连接。无需增加额外的电路。如果使用的是I/O电压为3.3V的可编程逻辑器件,则需要考虑逻辑接口这个问题。

  同时通过时序分析. 我们可以知道该系统中EPM7128SLC84的输入信号建立时间Ts=8ns。也就是说输入CPLD的信号必须持续8ns以上才能够被CPLD识别。单片机如采用12MHZ的晶振,则信号的改变时间为微秒级,完全满足这个条件。



评论


相关推荐

技术专区

关闭