CAN总线控制舵机毕业论文 - 图文

更新时间:2024-05-17 13:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CAN总线控制舵机毕业论文

目录

摘 要 .................................................... 错误!未定义书签。 ABSTRACT .................................................. 错误!未定义书签。 1 引言 ..................................................................... 3 1.1选题目的及意义 .......................................................... 3 1.2现场总线的发展趋势 ...................................................... 3 1.3本次选题的工作内容及任务 ............................................... 4 1.4本次设计的先进性 ........................................................ 4 1.5 本章小结 ............................................................... 5 2 CAN总线的概念及其相关协议 ................................................ 6 2.1 CAN总线的概念 .......................................................... 6 2.2 CAN总线的特点 .......................................................... 8 2.3 CAN总线的分层结构和通信协议 ........................................... 9 2.4报文发送及其帧结构 .................................................... 11 2.5 错误类型和界定 ........................................................ 17 2.6 CAN总线通信原理 ....................................................... 17 2.7 本章小结 .............................................................. 19 3 系统的硬件组成 .......................................................... 20 3.1 CAN总线控制舵机系统的总体设计方案 ..................................... 20 3.2 STM32F103RBT6简介 .................................................... 21 3.3 CAN节点接口芯片介绍 ................................................... 28 3.4舵机控制器介绍 ......................................................... 32 3.5 按键处理 .............................................................. 33 3.6 本章小结 .............................................................. 34 4 系统的软件设计 .......................................................... 35 4.1 系统软件的总统设计..................................................... 35 4.2下位机数据采集处理软件设计 ............................................ 35

1

4.3 CAN节点的软件设计 ..................................................... 36 4.4上位机软件设计 ......................................................... 40 4.5 本章小结 .............................................................. 49 5 结论与展望 .............................................................. 50 5.1 结论 .................................................................. 50 5.2 展望 .................................................................. 50 致谢 ...................................................... 错误!未定义书签。 参考文献 .................................................................. 51 附录 ...................................................................... 54 1主节点程序 ............................................................... 54 2从节点程序 ............................................................... 69

2

1 引言

1.1选题目的及意义

1.1.1选题目的

⑴ 学习和掌握CAN总线的概念及其相关的协议。

⑵ 学习STM32系列单片机原理及其接口应用,学会利用单片机解决具体问题。 ⑶ 学会利用微处理器、CAN控制器、CAN收发器及其相关的器件设计几个总线节点,实现各节点之间的通信。

⑷ 学习c++软件开发语言,在Visual C++开发环境下开发MFC上位机显示界面,实现主节点和计算机的通信。 1.1.2选题意义

舵机是比较精密的伺服系统,通过PWM信号控制,输出位置与控制信号脉宽成对应关系,控制方法简单,在工业领域和其他方面得到广泛的应用。对于由多个舵机组成的舵机系统的控制方式一般有2种: (1)集中控制

在同一电路板上同时产生多路PWM控制信号,通过信号延长线接人舵机进行控制。这种方式信号间的互扰比较严重,舵机经常出现抖动现象。 (2)分散控制

舵机控制器安装在舵机附近,通过串口与主控制器通信。这种方式控制的稳定性和效率比较低,很难满足实时性要求高的系统的要求。为了解决这些缺点,设计了这套系统,系统采用CAN总线传输控制指令,CAN总线的传输速率可以达到1 Mb/s,有效地解决了系统的实时性问题;PWM信号产生电路安装在舵机附近,并采用硬件计数器产生,这样有效地降低了信号的互扰,增强了系统的稳定性。

1.2现场总线的发展趋势

现场总线技术自70年代诞生至今,由于它在减少系统线缆,简化系统安装、

3

维护和管理,降低系统的投资和运行成本,增强系统性能等方面的优越性,引起人们的广泛注意,得到大范围的推广,导致了自动控制领域的一场革命。 1.2.1、国内现场总线的发展趋势 国内现场总线的发展趋势是:

① 多种现场总线在国内展开激烈竞争,竞争的重点是应用工程; ② 国内自己开发的现场总线产品开始投入市场; ③国内各行业的现场总线应用工程迅速发展。 1.2.2、现场总线应用工程的发展趋势 1、通过应用技术发挥现场总线的优势 2、不同类型的现场总线组合更有利于降低成本 3、现场总线的本质是信息处理现场化

4、网络的设计,一般控制系统也有网络设计问题,网络设计的重点是从物理形态上考虑通信网络和输入、输出线缆网络的布置。

1.3本次选题的工作内容及任务

本课题主要采用基于ARM Cortex作为内核的STM32F103RBT6微处理器作为舵机控制核心.并采用SN65HVD230作为CAN智能节点的核心收发模块,设计出了小型舵机控制系统,能完成舵机的实时控制、双向通信等功能。论文的主要内容如下: l.从CAN总线的技术规范、特点、协议、应用及其典型器件等几个方面对CAN总线技术进行了研究,为智能网络控制的数据通信做准备。

2.系统的硬件电路设计。适于CAN总线的智能网络控制的硬件部分主要包括上位机和下位机两部分,其中下位机由微处理器实施舵机控制,再控制CAN控制实现报文的发送与接收;上位机实现数据的显示与存储等控制功能。CAN收发器完成上位机与下位机的数据传输,实现了CAN总线的通信。

3.系统的软件编制。根据硬件结构、软件任务,采用合适的程序设计方法,绘制程序流程图,采用C语言进行程序编制,其中上位机的界面显示利用VC的MFC控制台进行编程。软件部分主要包括主程序、键盘检测、CAN总线通信、上位机界面显示等。

1.4本次设计的先进性

4

在对舵机的控制中,采用不同的控制方法会使控制的成本和精度以及控制的实时性等有巨大的差别,特别是在多路舵机的控制中,常规控制会增加控制的难度、占用更多的控制引脚,给设计人员带来很大的困扰。本设计采用CAN总线控制多路舵机,减少了对硬件资源的占用,提高了控制的精度,降低了控制成本,对于多路舵机的控制具有很重要的意义。

1.5 本章小结

本章主要介绍了本次设计目的意义,然后介绍了现场总线的发展现状和发展趋势,还介绍了现场总线控制的发展概况。对现场控制总线有一个总体上的把握和全新的认识。最后,介绍了本次设计的工作内容及设计任务,为后续的设计工作做整体上的安排。

5

2 CAN总线的概念及其相关协议

2.1 CAN总线的概念

CAN(Controller Area Network)即控制器局域网,可以归属于工业现场总线的范畴,是目前国际上应用最广泛的开放式现场总线之一。CAN 最初出现在汽车工业中,80年代由德国Bosch公司最先提出。最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。由于CAN总线的特点,其应用范围目前已不仅局限于汽车行业,已经在自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域中得到了广泛应用。

由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。随着应用领域的增多,CAN的规范从CAN 1.2 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。

下面我们介绍一下CAN中的一些基本概念。 1. 报文

总线上的报文以不同的固定报文格式发送,但长度受限。当总线空闲时任何连

接的单元都可以开始发送新的报文。 2. 信息路由

在CAN系统中,一个CAN节点不使用有关信息结构的任何信息。这里包含一些重要的概念。

系统灵活性:节点可在不要求所有节点及其应用层改变任何软件和硬件的情况下,被接于CAN网络

报文通信:一个报文的内容由其标识符ID命名 成组:采用报文滤波,所有节点均接收报文。

数据相容性:可以确保报文同时被所有节点或者没有节点接收。

6

3. 位速率

不同的系统,CAN 的速度不同。在一个给定的系统里,位速率是唯一的,并且是固定的。 4. 优先权

在总线访问期间,识别符定义一个静态的报文优先权。 5. 远程数据请求

通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的识别符命名的。 6. 仲裁

只要总线空闲,任何单元都可以开始发送报文。具有较高优先权报文的单元可以获得总线访问权。如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。

仲裁的机制确保了报文和时间均不损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一“隐性”电平而监视的是一“显性”电平(见总线值),那么单元就失去了仲裁,必须退出发送状态。 7. 错误检测

为了获得最安全的数据发送,CAN 的每一个节点均采取了强有力的措施以便于错误检测、错误标定及错误自检。 要进行检测错误,必须采取以下措施:

? 监视(发送器对发送位的电平与被监控的总线电平进行比较) ? 循环冗余检查 ? 位填充 ? 报文格式检查

? 错误检测的执行 8. 故障界定

CAN 节点能够把永久故障和短暂扰动区别开来。故障的节点会被关闭。 9. 总线值

7

CAN总线具有两种逻辑状态,隐性和显性。显性表示逻辑”0”,隐性表示逻辑“1”。显性状态下,VCAN-H和VCAN-L两者差分电压大于2V。隐性状态下,VCAN-H和VCAN-L两者电压差为0。 “显性”位和“隐性”位同时传送时,总线的结果值为“显性”。比如,在总线的“写与”执行时,逻辑0代表“显性”等级,逻辑1代表“隐性”等级。 10. 应答

所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答,对于不连贯的报文,接收器作出标志。

2.2 CAN总线的特点

CAN总线属于总线式串行通信网络,由于采用了许多新技术以及独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的性能、可靠性、实时性和灵活性。其特点可以概括如下:

1. 通信方式灵活。CAN为多主方式工作,网络上任一节点均可在任意时间主动的向网

络上的其他节点发送信息,而不分主从,且无需站地址等节点信息。利用这一特点,可以方便的构成多机备份系统。

2. CAN网络上的节点信息分成不同的优先级,可以满足不同的实时要求。

3. CAN网络上采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先

级较低的节点会主动退出发送,而优先级最高的节点可以不受影响的继续传送数据,从而大大的节省了总线冲突仲裁时间,尤其是在网络负荷很重的情况下也不会出现网络瘫痪的情况。

4. CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接

受数据,无需专门的“调度”。

5. CAN的直接通信距离最远可达10Km(传输速率5Kb/s以下);通信速率最高可达

1Mb/s(此时通信距离最长为40m)。

6. CAN上的节点数主要取决于总线驱动电路,目前可达110个;报文标示符可达2032

种(CAN2.0A),而扩展标准(CAN2.0B)的报文标示符几乎不受限制。

7. CAN总线通信格式采用短帧格式,传输时间短,受干扰概率低,具有极好的检错效

果。每帧字节数最多为8个,可以满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节也不会占用过长的总线时间,从而保证通信的实

8

时性。

8. CAN的每帧信息都有CRC校验及其他检错措施,保证了数据通信的可靠性。 9. CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数 据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判断等多项工作 10. 据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判断等多项工作。 11. CAN的通信介质可为双绞线、同轴电缆或光纤,选择灵活。

12. CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作

不受影响。

2.3 CAN总线的分层结构和通信协议

2.3.1 CAN总线的分层结构

CAN遵从OSI模型。按照OSI基准模型,其结构划分为两层:数据链路层和物理层。数据链路层划分为逻辑链路控制(LLC)和媒体访问控制(MAC)。物理层又划分为物理信令(PLS)、物理媒体附属装置(CPMA)和媒体相关接口(MDI)。其结构功能如图2-1所示: 1. LLC子层功能

LLC子层提供的功能包括:帧接收滤波、超载通知和恢复管理。

帧接收滤波:在LLC子层上开始的帧跃变是独立的,其自身操作与先前的帧跃变无关。帧内容由标识符命名,标识符并不能指明帧目的地,但描述数据的含义,每个接收器通过帧接收滤波确定此帧与其是否有关。

超载通知:如果接收器内部条件要求延迟下一个LLC数据帧或LLC远程帧,则通过LLC予层开始发送超载帧,最多可产生两个超载帧,以延迟下一个数据帧或远程帧。

恢复管理:发送期间,对于丢失仲裁或被错误干扰的帧,LLC予层具有自动重发功能。在发送成功前,帧发送服务不被用户认可。 2. MAC子层结构功能

MAC子层功能由IEEE802.3中规定的功能模型描述,在此模型中将MAC子层划分为完全独立的两个部分,即发送部分和接收部分。此两部分功能如下: 发送部分功能包括: 1) 发送数据封装

接收LLC帧并接收接口控制信息;CRC循环计算:通过向LLC帧附加SOF、RTR位、

9

保留位、CRC、ACK和EOF构造lQAC帧。

数据链路层 逻辑链路子层 接收滤波 超载通知 恢复管理 媒体访问控制子层 数据封装/拆装 帧编码(填充/解除填充) 媒体访问管理 错误监测 出错标定 应答、串行化/解除串行化 故障界定 监控器 位编码/解码 位定时 同步 (驱动器/接收器特性) 总线故障管理

图2-1 CAN总线的分层结构

2) 发送媒体访问管理

确认总线空闲后,开始发送过程(通过帧间空闲应答);MAC帧串行化;插入填充位(位填充);在丢失仲裁的情况下,退出仲裁并转入接收方式;错误检测(监控、格式校验);应答校验;确认超载条件;构造超载帧并开始发送;构造出错帧并开始发送;输出串行流至物理层准备发送。 接收部分功能包括: 1) 接收媒体访问管理

10

本文来源:https://www.bwwdw.com/article/hvq7.html

Top