采用多单片机实现多电机系统的并行控制

上传人:豆浆 文档编号:6857863 上传时间:2017-09-14 格式:DOC 页数:6 大小:399.50KB
返回 下载 相关 举报
采用多单片机实现多电机系统的并行控制_第1页
第1页 / 共6页
采用多单片机实现多电机系统的并行控制_第2页
第2页 / 共6页
采用多单片机实现多电机系统的并行控制_第3页
第3页 / 共6页
采用多单片机实现多电机系统的并行控制_第4页
第4页 / 共6页
采用多单片机实现多电机系统的并行控制_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《采用多单片机实现多电机系统的并行控制》由会员分享,可在线阅读,更多相关《采用多单片机实现多电机系统的并行控制(6页珍藏版)》请在金锄头文库上搜索。

1、采用多单片机实现多电机系统的控制在工业控制领域,有时会遇到三个以上的电机运动系统,对于这种运动系统,下面几种情况完全存在: 几个电机同时运动 某几个电机在运动的过程中也需要启动其他电机运动 在电机运动的过程中还需要执行其它操作,比如:对 I/O 设备进行操作,进行串口通讯等对于上面这些情况,单一的单片机控制系统将无法胜任。为了实现上述目的,我们研制了一套总线型的多单片机控制系统。1. 系统结构原理框图见图 1。在图 1 中,有一个主控制模块和若干驱动模块 、I/O 模块组成。主控制模块通过总线来控制 I/O 模块和驱动模块。从单片机与双端口 RAM 的数量则视电机的数量而定,有几个电机就需几个

2、从单片机与双端口 RAM。主单片机通过总线及双端口RAM 与从单片机进行通讯。总线上的信号有 D0D7、A0A7、WR、RD、TRIG 及若干译码电路产生的片选信号。单片机采用 89C52,其内部含有 8K 的 EEPROM 及 256 个字节的 RAM;双端口 RAM 采用 DALLAS 公司生产的 DS1609,它有 256 个字节的 RAM 单元,通过总线上的片选信号线可为每一片 DS1609 分配 256 个字节的地址。当需要某电机运动时,主单片机将每个电机的运动信息写入相应的双端口RAM双端口RAM从单片机从单片机驱动电路驱动电路地址锁存器D0D7总线驱动译码电路A8A15A0A7R

3、DWR主单片机TRIGI/O 接口板RS232图 1 总线型的多单片机控制器原理框图TRIG电机电机DS1609 中,然后通过 TRIG 信号线(可用 89C52 P1 口的某位,通过总线驱动后连接至每个从单片机的外部中断输入脚)发出一个负脉冲,通知每个从单片机读取各自的 DS1609中的信息,至此,主单片机与从单片机的通讯结束,转而去执行其它任务,主单片机并没有参与电机的运动控制,它只需下达命令给从单片机。电机的运动控制由从单片机来完成。从单片机接收到 TRIG 信号后,进入中断服务程序,读取 DS1609 中的信息。从单片机根据读取的信息来判断电机是否需要运动,以及作何种运动,运动的速度、

4、加速度、距离、方向等;由于从单片机各自独立地控制电机运动,互不干涉,因此,每个电机的运动速度、加速度、距离、方向均可以不同;由于主单片机是通过 TRIG 信号线下达任务的,如果在电机运动的时候将从单片机的外部中断屏蔽掉,而在电机不运动的时候再将从单片机的外部中断置为允许,这样,当主单片机的 TRIG 信号发出后,如果某个电机正在运动,则其对应的从单片机不会响应 TRIG 信号,而不运动的电机所对应的从单片机则会响应 TRIG信号,此从单片机则会根据主单片机发来的信息作出相应的反应,从而实现了在某个(或几个)电机运动的过程中还可以启动其它电机运动的目的。另外,主单片机与从单片机通过双端口 RAM

5、 芯片 DS1609 进行通信,这比使用串行端口进行通信具有无可比拟的优越性。采用串行的方式进行通信,其信息交换速度受到串行通信特点的限制,例如:当波特率为 9600 时,其传送一个字节需要 833 微秒,而单片机与双端口 RAM 之间的信息交换是以并行方式进行的,当单片机的时钟频率为 12MHz 时,单片机向双端口 RAM 传送一个字节只需 2 微秒。根据需要也可采用其它类型的单片机,而且,主、从单片机可以采用不同类型的单片机,以便实现各种不同的控制功能。由于主单片机与从单片机通过双端口 RAM 芯片 DS1609 进行通信,所需时间很短,具有实时效果,为实时插补提供了一种途径;而且,DS1

6、609 还提供了 256 个字节的RAM,这些存储单元可用来存放电机的运动数据,包括实时插补数据。可见,双端口RAM 作为主单片机与从单片机的通讯纽带,不仅提高了通信效率,而且增强了控制系统功能。2.1 主控制模块电路主控制模块电路原理图见图 2。图中的数据总线驱动电路采用 74LS245,是因为数据通道是双向的,当 74LS245 的 1 脚为高电平时,数据方向为从左向右;当 74LS245 的 1脚为低电平时,数据方向为从右向左。因此,当主单片机读取 8000HFFFFH 地址的数据时,74LS245 的 1 脚为低电平,数据方向为从右向左,这时,主单片机从总线读取数据;当向地址 8000

7、HFFFFH 中写入数据时,74LS245 的 1 脚为高电平,数据方向为从左向右,这时,主单片机向总线写入数据。对于译码电路,本人在实际应用中只控制了五个电机,因此采用 74LS138 译码器已足够使用,读者也可采用 416 译码器或其它译码电路,以便能满足更多电机系统的应用,但是无论采用何种译码电路,译码电路产生的译码信号所包含的地址范围不能小于 256 个字节,因为双端口 RAM DS1609 有 256 个字节。另外,如果需要,还可自己扩展程序存储器和数据存储器。2.2 驱动模块电路驱动模块电路原理图见图 3。驱动模块电路由 DS1609、89C52 及驱动电路构成。DS1609 具有

8、两个各自独立的控制、地址和输入输出引脚的端口,它允许两个不同的计算机总线读写存储器中的任意单元。双端口 RAM 芯片 DS1609 为单 5V 电源供电,输入、输出为 TTL 电平,其原理框图见图 4。7910111213141589C5274LS245总 线P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALE74LS24474LS373347813141718111256912151619A0A1A2A3A4A5A6A7246811131517379121416185119D0D1D2D3D4D5D6D723456789 111213141516171819174LS244

9、246P1.0RDWR191181614Y6Y5Y4Y3Y2Y1Y0Y774LS138512346A12A13A14A15P2.4P2.5P2.6P2.7RDWRTRIG图 2 主控制模块电路原理图RXDTXD串行接口电路由图 4 可知,DS1609 有 256 个字节的 RAM 单元,两组读写端口可同时读取 RAM 单元,但需注意的是:为了确保数据的正确性,应避免两组端口对同一单元同时进行写操作,或者一个端口在写某单元的同时另一个端口读该单元。双端口 RAM 芯片 DS1609 与总线及从单片机的连接如图 3 所示。在图 3 中,DS1609的 A 边端口 AD0AD7、WEA、OEA、CE

10、A 分别与总线上的 D0D7、WR、RD、CE 连接,B 边端口的 BD0BD7、WEB、OEB、CEB 分别与从单片机的 P0.0P0.7、WR、RD、ALE连接。由于 DS1609 的数据线 /地址线是多路复用的,即数据线与地址线使用相同的引脚,这正好与 89C52 的 P0 口的特性相吻合,当 89C52 进行读、写操作时,89C52 先把低 8 位地址送上 P0 总线,这时 ALE 为高电平,当 ALE 变低时,ALE 产生一个下降沿,此下降沿通过 DS1609 的 CEB 引脚触发 DS1609 的内部地址锁存器,将 89C52 的 P0 口上送出的地址信息锁存起来,随后 OE/WE

11、 信号有效,DS1609 将数据输出/输入。可见,DS1609 的CEB 与从单片机的 ALE 的连接,简化了 DS1609 与从单片机的连接,即省去了译码电路。89C52 的 P0、P2、P3 口可用于与驱动电路的接口或用于 I/O 接口。单片机与驱动电路的接口要视实际使用的电机类型及其驱动电路而定,这里不作叙述。图 4 DS1609 原理框图89C52RDWRALEP0RDWRYnD0D7BD0BD7AD0AD7OEBWEBCEBOEAWEACEADS1609图 3 驱动模块电路图总 线TRIG INT0驱动电路P0、P2、P32. 软件DS1609 是本控制器能否正常工作的关键,而且主、

12、从单片机也是通过 DS1609 实现对电机的控制,因此,这里只给出与 DS1609 有关的通信部分的软件流程。图 9 为主单片机与 DS1609 的通信,图 10 为从单片机与 DS1609 的通信。在 DS1609 中,有三个单元CHECK0,CHECK1,CHECK2,作为驱动模块的 READY 信息单元,当 TRIG 信号触发从单片机中断,从单片机将 CHECK0,CHECK1,CHECK2 三个单元清零,并且读取电机运动数据,然后,控制电机运动,电机运动结束后,再将 CHECK0,CHECK1,CHECK2 三个单元置入 AAH,作为 READY 标记,当主控制板查询到此三单元中有两个

13、单元为 AAH时,则认为该驱动器已准备好,可以再次对该驱动器发出运动指令及数据。开始初始化查询CHECK0CHECK1CHECK2驱动器 READY?NO将指令及数据写入 DS1609发出 TRIG 信号图 9 主单片机与 DS1609 的通信流程电机需要运动吗?YESNOYES进行 I/O操作有 I/O 操作吗?YESNO3. 全自动浮动块点胶机控制系统4. 结束语本文只是论述了对电机进行并行控制的一种方法,我们采用此控制方法已经实现了对步进电机、伺服电机的并行控制,并且已经在硬盘磁头浮动块装载机、硬盘头堆加载力测试系统、全自动浮动块点胶机、全自动弹性臂点胶机、全自动超声波焊机、全自动BFC 折弯机等自动化设备上使用,其并行控制功能在提高设备的效率和动作的合理性方面发挥了巨大作用。开 始初 始 化将 CHECK0、CHECK1、CHECK2 单元置入 AAH开中断并等待进入中断服务程序,关中断,将CHECK0、CHECK1、CHECK2单元清零,读取运动指令及数据TRIG 判断、运算,控制驱动电路驱动电机运动电机运动结束,将CHECK0、CHECK1、CHECK2 单元 置入AAH,关中断图 10 从单片机与 DS1609 的通信流程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号