基于CAN总线的分布式电机控制.doc
《基于CAN总线的分布式电机控制.doc》由会员分享,可在线阅读,更多相关《基于CAN总线的分布式电机控制.doc(11页珍藏版)》请在沃文网上搜索。
1、 基于CAN总线的分布式电机控制摘 要 本文探讨的是利用CAN总线的接口技术实现对从属电机转速的实时调控的系统,此次实验以C51单片机为控制核心进行数据的收发、处理,并设计相应的上位机程序实现PC机与MCU的通信,将各个从属单片机的发送的电机速度通过CAN反馈到PC机软件界面以供实时查看,并且通过上位机发送电机的速度至下位机,所要接受调控的电机所处的MCU便接受此数据并调节点击相应的速度。该实验结果表明该系统工作稳定,人机界面合理易用,实时图像监控及各个电机状态控制良好,并可以为系统升级作了接口。关 键 词:C51单片机; SJA1000; 串口通信; CAN总线目 录0引言20.1 系统工作
2、流程30.2 系统各个组成部分及其功能介绍30.3 系统各个组成部分的核心部件或技术41 系统设计41.1 硬件电路设计41.2节点主要元件电路原理51.3系统总体核心电路设计原理61.4 软件设计72.系统测试103结语104 参考文献115 致谢110引言 CAN总线是控制器局域网总线的简称,它属于现场总线范畴,是一种能有效支持分布式控制或实时控制的串行通信网络,它可将挂接在现场总线上作为网络节点的智能设备连接成网络系统,并进一步构成自动化系统,从而实现基本的控制、补偿、计算、参数修改、报警、显示、监控、优化及控管一体化的综合自动化功能。CAN总线智能节点在分布式控制系统中起着承上启下的作
3、用。它位于传感器和执行机构所在的现场,一方面和上位机进行通信,以完成数据交换;另一方面又可根据系统的需要对现场的执行机构或者传感器进行控制和数据采集。它常常将一些简单的过程控制程序放在底层模块中,从而减少了通信量,提高了系统控制的实时性。0 系统陈述0.1 系统工作流程 图0.1 系统工作流程图 首先工作人员利用计算机发送数据ID+速度,该数据被主MCU接收,该主MCU将数据发送到CAN网络上,各个从MCU均接收此数据,然后各个MCU对数据进行判断是否符合自己的ID,如果符合则接收此数据并将此速度发送至电机调整电机速度,同时将电机运转后的速度在发送到CAN网络上,主MCU就会从CAN上接收到此
4、数据并传到计算机上供工作人员校审;如果不符合则将此数据丢弃并维持自己的状态。0.2 系统各个组成部分及其功能介绍 如上系统工作流程图0.1所示,系统共分为三大部分,位于最上层的是计算机,这是人机交互的部分,远程操作人员在此操作室内负责各个电机的转速的调控工作,工作人员可以查看各个电机的转速及转向,以确定各个电机的运转状态是否正常及是否达到要求,若要改变其中电机的速度时工作人员只需要输入电机的ID号+速度(例如1234),则就是对1号电机的速度调整为234 r/s,接着计算机就会显示该1号电机反馈的速度,工作人员就可以根据返回的速度判断该电机的运转情况是否符合要求。 第二部分则是主MCU,这部分
5、的功能是作为PC机与电机之间的联络部分,它的功能是接收计算机发送的数据即ID+速度,将此数据处理成合理的格式后传递给各个从MCU,同时各个从MCU 也可以讲各自电机的速度发送给此主MCU,主MCU便对此数据处理后发送给计算机。 第三部分则是从MCU,这部分的MCU将主MCU发送来的速度发送至各自的电机,使电机以此速度运转,并将运转后的速度发聩给主MCU。位于第二部分与第三部分之间的那部分则是本系统的核心基础:CAN网络,该网络就是负责将主MCU发送的数据以广播的形式传递到各个从MCU,同时各个MCU也将自己的数据发送到这个网络上,该CAN控制器SJA1000按照网络协议将发送来的数据按其优先级
6、将最高优先级的从MCU发送来的数据发送给主MCU,然后是第二,第三级的数据发送过去。0.3 系统各个组成部分的核心部件或技术首先第一部分主要是计算机,此计算机作为人机交互部分使用的是VISUAL VBASIC 开发的上位机程序。第二、三部分主要是硬件和软件部分,第二、三部分的核心器件就是C51单片机系统的核心控制部分,软件部分则是基于C语言的下位机程序,实现系统地功能。作为第二第三部分的联络环节则是本系统的核心基础CAN网络,本文选择SJA1000控制器 1 系统设计1.1 硬件电路设计l CAN总线接口硬件电路的设计硬件电路的设计主要是CAN 通信控制器与微处理器之间和CAN总线收发器与物理
7、总线之间的接口电路的设计。CAN通信控制器是CAN总线接口电路的核心,主要完成CAN的通信协议,而CAN总线收发器的主要功能是增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),实现热防护等。l CAN节点核心器件及其选择目前广泛流行的CAN总线器件有两大类:一类是独立的CAN控制器,如82C200、SJA1000及Intel82526/82527等,另一类是带有在片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。本课题选取PHILIPS公司的SJA1000 CAN控制器以及82C250总线收发器,主要是考虑到SJA1000支持CAN 2.0A
8、/B规约。而82C250可以支持110个CAN节点,并且国内市场上PHILIPS的产品型号比较多,购买比较方便。l CAN总线接口电路SJA1000 在电路中是一个总线接口芯片,通过它实现上位机与现场微处理器之间的数据通信。该电路的主要功能是通过CAN总线接收来自上位机的数据进行分析组态然后下传给下位机的控制电路实现控制功能,当CAN总线接口接收到下位机的上传数据,SJA1000就产生一个中断,引发微处理器产生中断,通过中断处理程序接收每一帧信息并通过CAN总线上传给上位机进行分析。AT89C51是CAN总线接口电路的核心,其承担CAN控制器的初始化、CAN的收发控制等任务。CAN总线接口框图
9、见图1.图1 CAN总线接口框图1.2节点主要元件电路原理 图2 接口主要元件电路原理图接口主要元件电路原理图见图2,在进行电路设计时应注意以下几点,否则达不到预期的效果。(1)总线两端必须接两个终端匹配电阻RT,忽略掉它们,会使数据通信的抗干扰性及可靠性大大降低。(2)PCA82C250为CAN控制器和物理总线之间的接口,它可以提供向总线的差动发送能力和CAN控制器的差动接收能力,TXD和RXD引脚分别发送经过驱动后的发送和接收信号。其引脚8(RS)可以选择2种不同的工作方式:把该引脚直接与地相连,系统将处于高速工作方式,在这种方式下,为避免射频干扰,建议使用屏蔽电缆作总线;而在波特率较低,
10、总线较短时,一般采用斜率控制方式,上升及下降的斜率取决于RS的阻值,实践表明15-200k为RS较理想的取值范围,在这种方式下,可以使用双绞线作总线。(3)SJA1000的TX1脚悬空,RX1引脚的电位必须维持在约0.5VCC上,否则,将不能形成CAN协议要求的电平逻辑。因本系统传输距离近,环境干扰小,可以不用电流隔离,这样可以直接把82C250的VREF端与SJA1000的RX1相连,从而简化了电路。(4)设计时将SJA1000的CLOCKOUT的时钟信号接至AT89C51的时钟电路输入端,作为AT89C51的外部时钟输入,解决了时钟同步问题;SJA1000中断输出信号/INT接至AT89C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CAN 总线 分布式 电机 控制
