用PC的USB端口控制多步进电机
此设计是基于USB-FIFO并行接口模块DLP-USB 245(详情参见www.alpdesign.com)。此模块提供8位双向数据总线和控制信号(WR, ,TXE),可用于控制PC和采用USB协议的任何外电路之间的数据流。
采用此模块不需要处理USB接口的麻烦复杂的事情。此单元与驱动器软件一起通过任何高级语言能容易和快速控制模块的功能,而不用过多地操心USB协议。
此控制器电路(图1)其他电路包括通用数字元件:8D触发器(74LS273)、反相器(7416)、3-8译码器(74LS 138)、达林顿阵列驱动器(ULN2003)。外部5V电源连接到USB-FIFO模块的引脚3、10、11。
电路工作如下:当PC没有数据送到USB-FIFO时,USB-FIFO发送缓冲器是空的,而 保持逻辑1。此使 和到8D触发器(IC2)的CLK为逻辑。所以IC2的输出保持不受影响。然而,假若PC送1字节到USB-FIFO接收缓冲器,则 拉到低态,自动指示数据的最低1个字节有效。
经过短延迟后,量位 和CLK到逻辑1,发送缓冲器的数据字节输出(DO~D7)锁存在IC2输出。一旦数据传输完成而且假若发送缓冲器变空,则 返回到逻辑1。这意味着无更多数据可用。依次置位 到低态,可进一步进行数据转输。
锁存数据的低4位(IC2的Q0~Q3)驱动其他4个74LS273 8D触发器(IC4~IC7),而输出Q4和Q5控制3-8译码器(IC3)。反相之后,译码器输出(A’,B’,C’,D’)做为IC4~IC7的时钟。达林顿阵列驱动器(IC8~IC7)升高IC4~IC7的输出,用于驱动步进电机线圈。因此,写1个正确的数据字节到IC1,PC可以选择4个步进电机中的一个电机并供电给所希望的线图。
例如,PC送OXOA到USB-FIFO,则选择步进电机1,在图形L1L2L3L4=1010下激励其线图。为了使步进电机前进一步,PC送OXO9做为下1个字节;反之,为了反向运行步进电机,PC送OXO6。
表1 列出步进电机控制(全步)字节数值。采用适当的变化,可以使电机工作在半步和微步状态。写字节的速率,即连续数据写之间的时间控制步进电机的速度。
除电流升高器和USB-FIFO变换器外,电路中的其他元件可以在1个CPLD/FPGA中实现。电机控制软件可以用C,VB或图像程序(如LabWIEW)进行开发。假若用IC1提供的VCP(Virtual COM Port)驱动器软件(可免费下载),应用程序将视USB步进电机控制器模块做为另1个COM端口。但是,忽略设置波特率的命令,以最快的速率发送数据,而不管应用波特率设置。也可以用Windows提供的D2XX Direct Drivers,这样可以直接控制每个操作,如FIFO写等。
表1 步进电机控制字节值

本文来源:电子产品世界 作者:
关于 USB 的相关解决方案
- 2009-03-04用PC的USB端口控制多步进电机
- 2008-07-30轻松驾驭嵌入式USB设计--USB完全解决方案全新登场
- 2008-05-13带全速USB接口的PICl8F4550应用设计
- 2008-04-21经USB端口的模拟和数字I/O
- 2008-02-26基于USB的数据采集系统的设计与研究
USB 相关产品动态
- 2009-10-19Cypress增加两款汽车级USB器件
- 2009-09-23NEC确认全球首款USB3.0产品
- 2009-09-21USB3.0商业化产品Intel秋季IDF会展闪亮登场
- 2008-12-26Symwave发布全球首款USB 3.0物理层解决方案
- 2008-11-14新思科技发布全套SuperSpeed USB IP解决方案

