采用MCU和DSP实现基于USB的4步进电机控制器设计

出处:电子系统设计 发布于:2020-04-23 14:05:37

  USB的众多便利使设计师能将该总线用于许多应用。例如,图中显示的是一个利用现成的便宜器件搭建的基于USB的4步进电机控制器。该电路采用MCU和DSP。它利用简单逻辑电路和应用软件控制步进电机的选择、其顺/逆时针的运行方向以及三种步进幅度:全步、半步和微步。

  该设计基于一个USB转FIFO的并行接口模块(IC1)。这款名为DLP-USB245M的模块提供8位双向数据总线和诸如WR、RD、RXF和TXE等控制信号,利用这些信号控制PC和任何采用USB协议的外接电路的数据流。

  利用该模块免去了需应付繁琐的USB接口的工作。另外,该模块带可通过语言容易快速地控制模块功能的驱动器软件,从而无需太多牵挂USB协议。

  该控制器电路的其余部分包括诸如8D触发器(74LS273)、反向器(7416)和3/8译码器以及达林顿阵列驱动器(ULN2003)等通用数字器件。USB转FIFO模块采用外接5V供电,5V接至脚3、10和11。

  其工作过程如下:当PC不向USB转FIFO模块发送数据时,IC1的发送缓存器为空,且RXF保持逻辑1。这使得D触发器(IC2)的RD和CLK为逻辑0,所以,IC2的输出保持不变。但,若PC向USB转FIFO模块接收缓存器发送一个字节,则RXF被拉低,自动指示少有1字节数据可用。

 

  经过短暂延时后,它将RD和CLK信号置1,且发送缓存器的数据字节输出(出现在D0-D7)在IC2的输出被锁存。一旦数据传输完成且如果发送缓存器为空,RXF返回逻辑1。这意味着没更多数据可用。此举,又将RD置为逻辑0,以便能进一步传输数据。

  锁存数据低4位(IC2的Q0-Q3)驱动其它4个8D触发器(74LS273),而Q4和Q5控制3/8译码器(IC3)。在反向后,译码器的输出(A‘、B’、C‘、D’)作为IC4-IC7的时钟。达林顿阵列驱动器(IC8-IC11)放大IC4-IC7的输出,以便它们可驱动步进电机线圈。这样,通过向IC1写入一个正确字节,PC可选择4个步进电机之一并如愿驱动其电机线圈。

  例如,当PC向USB转FIFO模块发送数据0x0A时,步进电机1被选且其线圈以L1 L2 L3 L4 = 1 0 1 0的模式得电。为使步进电机1前转一步,PC发送的下一个字节是0x09;若想使其反转,PC发送0x06。

  表中列出的是控制4个步进电机以全步运行的字节值。通过适当变化,用户可以半步和微步操控电机。数据字节写入的速率——也即,连续数据的写入间隔——控制步进电机的速度。

  除电流放大器和USB-FIFO转换器外,分立器件可用CPLD/FPGA实现。可以多种方式开发电机控制软件。你可采用C或VB或类似LabVIEW等图形程序。若采用与IC1一道提供的VCP(虚拟COM端口)驱动器软件(),应用程序将视USB步进电机控制器模块为另一个COM口。但,设置波特率的指令将被忽略且数据将以快的速度被发送(而不管应用的波特率设置)。你还可采用Windows提供的D2XX直接驱动器,这样,你就可直接控制各项操作,比如“FIFO_写”等。

  为对电路功能进行基本测试,你既可利用提供的DLPTEST应用软件或简单借助诸如Hyperterminal等串口程序来不断发送所需字节。在此展示的设计采用12和5V外接电源。所以,你必须留意,当关闭PC或USB集线器(若使用)时,USB总线内的电流也被关断。

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!