阅读 | 订阅
阅读 | 订阅
控制系统

用PC的USB端口控制多步进电机

星之球激光 来源:中国自动化网2013-01-14 我要评论(0 )   

此设计是基于 USB -FIFO并行 接口 模块 DLP -USB245。此模块提供8位双向数据 总线 和控制信号(WR,,TXE),可用于控制PC和采用USB协议的任何外电路之间的数据流。 采用...

    此设计是基于USB-FIFO并行接口模块DLP-USB245。此模块提供8位双向数据总线和控制信号(WR,,TXE),可用于控制PC和采用USB协议的任何外电路之间的数据流。

  采用此模块不需要处理USB接口的麻烦复杂的事情。此单元与驱动器软件一起通过任何高级语言能容易和快速控制模块的功能,而不用过多地操心USB协议。

  USB(通用串行总线)有很多优点,广泛应用于总线应用中。本文所示的4步进电机用的USB基控制器就是一个应用实例,此控制器是用便宜的现成元件构建的。此电路不需要微控制器DSP。此电路用简单的逻辑电路和应用软件来控制步进电机的选择、顺时针或反时钟运行和步大小(全步,半步或微步)。

  此控制器电路(图1)其他电路包括通用数字元件:8D触发器(74LS273)、反相器(7416)、3-8译码器(74LS138)、达林顿阵列驱动器(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个74LS2738D触发器(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列出步进电机控制(全步)字节数值。采用适当的变化,可以使电机工作在半步和微步状态。写字节的速率,即连续数据写之间的时间控制步进电机的速度。

  表1步进电机控制字节值

步进电机控制字节值

  除电流升高器和USB-FIFO变换器外,电路中的其他元件可以在1个#p#分页标题#e#CPLD/FPGA中实现。电机控制软件可以用C,VB或图像程序(如LabWIEW)进行开发。假若用IC1提供的VCP(VirtualCOMPort)驱动器软件(可免费下载),应用程序将视USB步进电机控制器模块做为另1个COM端口。但是,忽略设置波特率的命令,以最快的速率发送数据,而不管应用波特率设置。也可以用Windows提供的D2XXDirectDrivers,这样可以直接控制每个操作,如FIFO写等。

 

转载请注明出处。

暂无关键词
免责声明

① 凡本网未注明其他出处的作品,版权均属于激光制造网,未经本网授权不得转载、摘编或利用其它方式使用。获本网授权使用作品的,应在授权范围内使 用,并注明"来源:激光制造网”。违反上述声明者,本网将追究其相关责任。
② 凡本网注明其他来源的作品及图片,均转载自其它媒体,转载目的在于传递更多信息,并不代表本媒赞同其观点和对其真实性负责,版权归原作者所有,如有侵权请联系我们删除。
③ 任何单位或个人认为本网内容可能涉嫌侵犯其合法权益,请及时向本网提出书面权利通知,并提供身份证明、权属证明、具体链接(URL)及详细侵权情况证明。本网在收到上述法律文件后,将会依法尽快移除相关涉嫌侵权的内容。

网友点评
0相关评论
精彩导读