




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式技术课程论文嵌入式技术课程论文 单位(学 院): 学 生 姓 名: 专 业: 学 号: 指 导 教 师: 设计时间: 年 月题目:基于CAN总线的三电机协同控制摘 要本文提出了一种简便实用的基于CAN总线的多电机协同控制系统设计方案。本设计中,CAN总线系统智能节点由最小系统、CAN总线接口电路、电机驱动模块、测速模块及人机界面几部分组成。本设计采用内置CAN控制器的STM32F103作为主控芯片,结合高速CAN隔离收发器CTM1050T进行CAN通信;利用单片机的高级定时器产生占空比可调的PWM波,通过L298N大功率直流电机驱动板,控制电机运转;采用反射式光电开关TCRT5000及双
2、电压比较器LM393组成测速模块,将测得的速度脉冲接单片机外部中断处理;由此可获得设定速度与实际转速之间的偏差,运用PID算法,实现电机的闭环调速;此外,采用操作简便、显示内容丰富多彩的触摸屏作为人机交互界面,向主节点输入电机控制指令,同时向用户反映实际转速等信息。本设计的关键在于CAN总线通信,即主节点将转速控制信息传送到CAN总线进行广播,从节点均可从总线上获取该报文并几乎同时执行其中的指令。CAN通信的实时性,为主从电机的同步运行提供了坚实的保障。本文从CAN协议规范、CAN通信机制等方面对CAN总线进行了详细的介绍。然后基于模块的概念,进行系统的软硬件设计以及调试。3电机的协同测试结果
3、表明该设计方案能较好地实现协同控制,具有很好的实用价值。 目 录前 言1第一章 绪论2第一节 基于CAN总线的三电机协同控制简介2一、 三电机协同控制分类2二、 三电机协同控制方式2第二节 现场总线以及CAN总线的概述4一、 现场总线在多电机协同控制系统中的应用4二、 CAN总线的概述5第三节 研究的目的与意义7第四节 本章小结8第二章 基于CAN的总线三电机协同控 制系统总体设计方案9第一节 总体设计要求9第二节 总体设计框架9第三节 各个模块设计方案的论证10一、 节点模块的选择10二、 电机模块总体设计13第四节 本章小结13第三章 基于CAN总线的三电机协同控制系统硬件设计14第一节
4、硬件设计14一、 最小系统的设计14二、 CAN总线接口电路设计16三、 驱动模块的设计17四、 测速模块的设计18五、 电源模块的设计19第二节 本章小结20第四章 基于CAN总线的多电机协同控制系统软件设计21第一节 CAN通信模块的软件设计21一、 CAN总线的初始化21二、 收发报文程序设计22第二节 测速程序的设计23第三节 本章小结24第五章 系统调试及实现25第一节 硬件调试25第二节 软件调试25第三节 系统调试及实现25第四节 本章小结26结 论27附 录28一、CAN节点部分源程序:28二、系统调试实物图38- IV -前 言 在当代,单电机生产模式已经无法满足现代工业的发
5、展需求,多电机协同控制成为人们改善并发展电机在工业中控制作用的新探索点。因此,需要科研人员去研究多个电机的同步控制问题让多个电机能在生产环境下协调的运行。工业自动化研究中,作为运动控制的一个分支多个电机协同控制很早就被人们提及,科研人员通过不懈的研究和努力从控制方式的实现、控制策略以及控制算法都对多电机的协同控制做了很大的提升,已经在早期的机械总轴方式的基础上又提出了一种更为实用可靠的控制方式即电方式控制。本文也正是在电方式控制基础上展开研究,因此对于我们来说本文基于CAN总线的三电机协同控制的研究对于改善多电机协同控制具有较高的实用价值。现场总线是指将现场设备与工业过程控制单元、现场操作站等
6、互连而形成的计算机网络具有全数字化、分散、双向传输、多分支的特点。工业自动化研究中,快速发展的工业总线技术也对研究多电机协同控制技术的改善以及研究发展起到很大的促进效果。现场总线是一种实时的、可靠的、低廉的、串行的这些特点都促使他们在现代工业中有了广泛的应用。而快速发展的工业总线技术也对研究多电机协同控制技术的改善以及研究发展起到很大的促进效果。为多电机协同控制的研究提供了新视角以及条件。CAN总线、Profibus总线、CC-LINK总线都是当下发展比较成熟的现场总线,价格比较便宜以及比较实用是这些总线的相似点,这也使现场总线与多电机协同控制结合研究提供了可能。本设计主要选取CAN总线作为总
7、线控制,其除了有以上大部分总线所具有的优点外,还具有自己的独特优势。笔者将在后文为读者详细说明。综合分析,我认为这是一件非常值得的并且非常有意义的事能够对基于CAN总线的三电机协同控研究探索。第1章 绪论第1节 基于CAN总线的三电机协同控制简介1、 三电机协同控制分类 通常可以将多电机协同控制分为三类,主要是主和从电机以相同的速度运转,我们一般称这空控制为多电机的同步控制;另外一种主电机与从电机及从电机与从电机间以某种比例关系的速度运转,在一定的场合往往需要各个电机间以某种比例关系来运转,且这种比例关系是可以根据运用场合的不同而改变的,我们称这种主、从电机速度按比例关系保持不变的控制为协调控
8、制;第三种是主电机与从电机间以及从电机与从电机间保持恒定的速差运转,这种控制方式在日常生产中也得到很广泛的运用。我们对于多电机协同控制的研究根据选择的控制分类不同,研究的软硬件设计也会跟着改变。 本设计预期达到的目标是实现主电机与从电机以相同的速度实现运转控制的效果。2、 三电机协同控制方式 机械总轴同步控制方式形成较早控制策略相对于其他控制方式也较简单,且在早期的升船机、造纸机、纺织印染机等得到广泛的运用。主要是通过一台大功率电机来拖动机械总轴使系统中其他的电机通过各自的齿轮绞合在总轴上。机械总轴控制方式虽然同步性比较高、机械结构较为固定,但往往系统的结构较为复杂、且系统中得各个单元的干扰较
9、为强烈、工作噪音大、灵活性差、传动范围和距离小、单元负载小、系统成本高。 电方式协同控制方式是模拟机械总轴控制方式通过控制多台电机的转速、转角等信息实现多电机的协同控制。这种方式不受距离的约束,同时,这种控制方式在同步性、灵活性性上都比机械总轴控制方式较好。电方式并且克服了机械方式的种种缺点,对外部的扰动有比较高的抗扰能力。 主令同步控制方式是指系统在共同的输入信号作用下,各个电机由各自的电机驱动模块功率驱动下形成的物理上相互独立的单元。各个电机模块间不会相互干扰。在这种控制方式下,如果主、从电机在受到较少扰动的情况下具有较高的同步效果。主令控制方式系统虽然在启停阶段系统的同步性能很好、不同单
10、元不受距离的限制等优点,但是,如果系统的某个节点受到外界扰动的干扰作用,会出现失同步的现象,不适用于同步性要求严格的场合。主令控制方式结构如下图1.1所示。 图1.1 主令控制方式 主从多电机协同控制方式适用于主节点主电机受到较大干扰而从节点从电机一般不收环境干扰的场合。各个从电机把主电机在某个时刻受到的干扰信号作为从电机的输入信号。主从多电机协同控制方式主要有以下两种情况:第一种情况是第一台为主电机其他未从电机。主电机根据系统给定信号的信息运转,同时主电机的输出信号控制其他从电机的运转。主从控制形式一结构如下图1.2所示。图1.2 主从控制形式一 第二种情况是:第一台电动机为主机,最后一台电
11、动机为从机,其余的电动机充当双重角色,既是主机又是从机。主从控制形式二如下图1.3所示。图1.3 主从控制形式二 通过上面的比较我们不难发现采用主从方式进行多电机的协同控制。第2节 现场总线以及CAN总线的概述1、 现场总线在多电机协同控制系统中的应用现场总线是指将能够将工业生产某些设备与工控制单元按一定的控制方式进行相互连接得网络,计算机网络具有全数字化、分散、双向传输、多分支的特点。它的关键标志是能双向多节点、总线式全数字通讯。工业自动化研究中,快速发展的工业总线技术也对研究多电机协同控制技术研究以及改善有比较大的促进效果。现场总线是一种实时的、可靠的、低廉的、串行的这些特点都促使他们在现
12、代工业中有了广泛的应用。 当前国际具有代表性的现场总线现场总线技术与产品是CC-LINK、Profibus、CANBus等。本节将对以上几种总线简单介绍和性能比较,分析各种总线的优缺点来让我们做出正确的选择。1、 CC-LINKCC-LINK(control&conmunication Link)总线是有日本推出的一种开放式总线并在亚洲市场得到广泛的运用。CC-LINK总线可以实现循环传输和瞬时传输两种通信方式,是一种可以快速处理即时信息和控制即时数据的现场网络系统。CC-LINK总线主要由特定功能的通信模块和I/O借口链接而成并通过PLC来协调通信网络的工作。CC-LINK起源于亚洲
13、并迅速得到广泛的应用,CC-LINK总线数据在传输速度快、价格,性能等方面比其他的总线更优越。2、 ProfibusProfibus(Process Fieldbus,过程现场总线)是德国西门子推出的适用于流程自动化和制造业自动化、交通电力的一种总线标准。它由3部分组成:Profibus-DP用于现场级的高速数据传输,实现设备级自动控制系统与设备级分散的I/O之间的通信;Profibus-PA用于过程自动化;Profibus-FMS用于车间监控层,实现控制器与现场设备、控制器之间的通信。Profibus采用OSI模型的第1、2层,Profibus-FMS还定义了第7层。它支持主从、令牌传递通信
14、。3、CANCAN(Controller Area Network,控制器局域网)是德国Bosch公司为汽车应用而开发的一种有效支持分布式实时控制的串行通讯网络。它采用OSI模型的第1、2、7层。CAN总线支持多主方式运行,采用非破坏性位仲裁机制确定数据块的优先级,有效地避免了冲突等待;采用短帧结构,通信实时性好,且每帧都有CRC校验及其它检错措施,可靠性高;对报文而非站地址进行编码,可实现全局广播、一点对多点、点对点等多种传输方式;节点发生严重错误时,具备自动退出总线功能。鉴于其可靠性、实时性、灵活性方面的突出优势,CAN总线的使用已不再限于汽车行业,在工业自动化、医疗设备、工业设备、机器人
15、等领域都得到了广泛应用。 上述几种现场总线的比较如下图1.1所示表1.1 几种现场总线的性能比较 由于性能对比,CAN总线性能卓越。故我们选取CAN总线作为我们本次研究多电机协同控制的现场总线。2、 CAN总线的概述在1993年,CAN总线通过ISO认证并有ISO颁布ISO11898CAN国际标准,为CAN总线在国际的广泛运用铺平了道路。1、 CAN总线工作原理 CAN总线是一个串行通信网络,能支持分布式实时控制。主节点以广播形式将要传播的数据在CAN总线上广播,位于CAN总线上的从节点都能接受到来之主节点的数据报文。无论报文是发送给哪一个节点,总线上每个节点都对其进行接收。报文开头的标识符I
16、D,定义了报文的优先级7,并且在一个系统中ID唯一。当多个节点同时抢占总线取时,根据ID优先级进行仲裁,决定总线访问权(ID值越小,报文优先级越高)。当一个节点要向其它节点发送数据时,该节点的CPU将标识符和要发送的数据传送给CAN控制器,处于准备状态;当总线空闲时,马上进入发送状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时,网上的其它节点处于接收状态。 CAN总线可以在硬件和软件没有改动的情况下进行节点的扩展,使其具有极高的灵活性。同时,允许分布过程同步化,即总线上控制器需要测量数据时,可从网络上获取,而无须每个控制器都有自己独立的传感器。2、 CAN总线协议规范与差错检测 根
17、据OSI模型1、4、7层可以将CAN分为物理层和数据链路层,CAN总线协议结构模型如下图1.4所示。图1.4 CAN协议模型 物理层和数据链路层根据协议的不同实现不同的功能。物理层描述了节点间的实际传输速率、同步机制、电平信号等信息。数据电路曾又可以分为两层,即MAC层和LLC层。介质访问控制层主要是为了节点间报文传输提供服务,而协议传送主要是在传输层完成。CAN总线错误处理与检测主要是在传输层完成。位错误、形式错误、CRC错误等是CAN总线存在的主要错误类型。与此相对应的主动/被动错误、离线状态时CAN节点间三种错误状态。这三种错误状态所对应的状态图如下图1.4所示。图1.5 CAN错误状态
18、图第3节 研究的目的与意义本课题设计是在学习CAN总线协议规范的基础上,将其应用到多电机协同控制系统中,利用CAN总线的实时性、可靠性与灵活性,改善协同控制的快速性、精度等性能,以满足现代协同控制系统愈来愈苛刻的生产要求。总线技术在控制系统中的应用,已经改变了原有系统的体系结构,掀起了一场巨大的变革,而CAN总线作为最有前途的现场总线之一,毫无疑问,具有广阔的发展前景。本课题的最终目的在于通过对基于CAN通信的多电机协同控制系统的设计,学习和理解CAN通信的工作机制,掌握其设计方法,在实际应用中获得更深的体会;同时增强学习新理论技能并进行实际应用的能力,以及提升对科技发展前沿的灵敏度。本课题的
19、研究意义在于实现一种有效支持分布式实时控制的系统,它通过成本低廉的双绞线进行实时通信,达到电机同步运行的目的。在控制系统日益分散化的今天,该设计具有重要的实用价值。第4节 本章小结 本章对多电机协同控制系统的发展历史及趋势、控制方式及控制策略进行了简单介绍,阐述了总线技术对协同控制系统的优化作用,并经过分析比较,论证CAN总线在多电机协同控制系统中的适用性。此外,本章还简要介绍了基于CAN总线的多电机协同控制系统设计的目的与意义,其主要内容,以及该设计的创新之处与今后的研究思路。第2章 基于CAN的总线三电机协同控 制系统总体设计方案第1节 总体设计要求该方案基于CAN总线的3电机协同控制主要
20、采用主从控制方式通过CAN总线及其接口电路、最小系统、电机驱动电路、测速电路等来实现控制从电机与主电机以相同的速度运转。设计用STM32F103作为主控芯片,通过CAN总线接口电路实现CAN通信;利用STM32F103芯片的定时器产生PWM波,通过电机的驱动电路来控制主、从电机的运转;同时作品为实现电机的闭环调速,根据PID算法设计了测速电路模块来实时获取实际电机运转速度与预设速度的偏差;此外,人机界面采用操作简便的触摸屏向用户实时反应转速及其他信息大大优化了系统的性能。本设计完全满足设计初衷提出的一下几点要求:1 让两台从电机与主电机以相同的速度运转;2 主、从电机间通信主要通过CAN通信网
21、络实现。第2节 总体设计框架该设计主要采用内置CAN控制器的STM32F103作为主控芯片,并通过五个电路模块的软硬件设计使功能得以实现。主、从电机间每台电机都独立的设计一个完整的系统去控制电机,然后主、从电机间再通过CAN通信系统实现通信以完成转速同步的效果。系统结构框图如下。图2.1 系统结构框图第3节 各个模块设计方案的论证1、 节点模块的选择基于CAN总线的3电机协同控制的主控芯片的选择主要有两种方案:第一种是51系列单片机;第二种是使用ARM系列处理芯片(本设计基于CAN总线的三电机协同控制主要选用STM32F103)。根据选择的主控芯片的不同,相应的CAN总线接口电路设计方案也随之
22、改变。 第一种方法MCU选用51单片机,主控芯片与CAN总线间通过CTM1050T连接。51系列单片机是一种8位功能可扩展的处理器,内部用可供使用的定时器或者计数器,另外还有32个I/O口线以及一个全双工通信口。CTM1050T主要由CAN隔离器、CAN收发器等组成,这些模块都被集成在小于3cm芯片内部。芯片的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平并且具有DC 2500V的隔离功能及ESD保护作用。 第二种方法MCU选用STM32F103作为主控芯片,主控芯片与CAN总线间通过CAN收发器连接。STM32F103是一种内置CAN总线控制器的具有32位的ARM系列微型处理器
23、,内部集成8个16位定时器、13个通信接口、80个I/O接口、6路的PWM、8路A/D转换模块以及2路专用的复位电路模块等。TJA1050T是在PCA82C250和PCA82C251后发布的性能更优的高速CAN收发器的后继产品,能够实现输出信号CANH与CANL的最佳匹配,同时在节点为供电时使系统的性能有所改进。 本设计选择STM32F103芯片作为MCU,通过JTA1050T实现主控芯片与CAN总线通信的方案更合理、电路构建相对简单、软硬件设计也相对合理。因为STM32F103是一款内置CAN控制器的32位ARM处理器,在性能上较51系列单片机卓越许多。主控芯片的选取也是这个方案可以容易且经
24、济的实现各种比较复杂的功能。1、 驱动模块的设计方案一:一种步进电机的驱动优化方案,即将MCU产生的数字信号经由DAC0832变换成相应的模拟信号,通过功率放大电路进行步进电机的细分控制。这种方法可以降低步进电机的振动和噪音,提高控制精度,改善运行性能。方案二:选用常用的L298N驱动电路。L298N是ST公司的生产的一种高电压、大电流电机驱动芯片。输出电压可用单片机的I/O口控制信号进行调节。电路简单,使用方便。鉴于本设计使用的是微型直流电机,选择第二种方案即可。3、 测速模块的选择目前,霍尔传感器、直流测速发电机以及光电测速装置是较常使用的电机测速方法。第一种方法是采用霍尔传感器对主、从电
25、机进行测速。霍尔传感器测速原理是根据霍尔效应原理,将具有磁性的磁钢粘放。同时使磁钢的磁极与传感器的磁极相对准,并把霍尔传感器固定在机架上。主要通过霍尔元件去感应由固定在转盘上并随电机转动而转动的磁钢引起的磁场强度的变化,磁场变化通过霍尔传感器转化为连续的电压信号并将其作为输出电压送到单片机。第二种方法是采用直流测速发电机来对主从电机进行测速。直流测速发电机测速原理是根据电磁感应,通过将电机的机械能转化为物理信号从而对主和从电机进行速度测量。第三种方法是采用光电测速传感器来对主、从电机进行测速。光电测速传感器测速原理是利用光电效应,光敏元件通过感应被固定在电机上的的光电码盘阻挡或没有阻挡的光源,
26、并随之改变光敏元件的阻值,转化成电压信号从输出产生正负变化的周期性脉冲。以上几种测速方案的比较如下表。表2.1几种测速方法的比较通过对霍尔传感器、直流测速发电机以及光电测速装置三种方案进行比较,不难看出采用光电测速传感器测速灵敏度较高、电路简单、误差叫小。相对于其他两种方法有一定的优势。所以,本设计基于CAN总线的三电机协同控制系统采用光电测速传感器测速。4、人机界面设计人机界面是指人和机器在信息交换和功能上接触或互相影响的领域,或称用户界面。方案一:选择按键输入及LCD1602显示。液晶显示器体积小、功耗低、显示操作简单,显示质量高且不会闪烁,显示字符优美,能显示数字、字符与图形,但使用温度
27、范围较窄,正常工作温度范围为。该方案价格低廉,应用较广。方案二:选用TFTLCD触摸屏输入指令并显示电机运行情况。TFT(Thin Film Transistor)即薄膜场效应晶体管,LCD上的每一液晶象素点都是由集成在其后的TFT来驱动,做到高速度、高亮度、高对比度显示屏幕信息。TFTLCD作为现今的主流显示器,具有低压应用、低压驱动、平板化、低功耗、使用方便灵活、寿命长、高分辨率、高彩色保真度、高亮度、高对比度、高响应速度、无辐射、无闪烁、环保性好、适用范围宽(-20至+50的温度范围内都可以正常使用)等优点。并且TFTLCD产业技术成熟,易于集成与更新,完美融合了光源与大规模半导体集成电
28、路技术,有很好的发展前景。而将触摸屏与液晶屏配套使用,组合成为一个可交互的输入输出系统,操作简便,时尚大方。鉴于TFTLCD触摸屏将输入及输出集成在一起,使用更为简便舒适,视觉效果极佳,本设计选取TFTLCD触摸屏作为用户界面。2、 电机模块总体设计该方案基于CAN总线的3电机协同控制主要采用主从控制方式通过CAN总线及其接口电路、最小系统、电机驱动电路、测速电路等来实现控制从电机与主电机以相同的速度运转。设计用STM32F103作为主控芯片,通过CAN总线接口电路实现CAN通信;利用STM32F103芯片的定时器产生PWM波,通过电机的驱动电路来控制主、从电机的运转;同时作品为实现电机的闭环
29、调速,根据PID算法设计了测速电路模块来实时获取实际电机运转速度与预设速度的偏差;此外,人机界面采用操作简便的触摸屏向用户实时反应转速及其他信息大大优化了系统的性能。节点结构框图如下。图2.2 节点结构框图 第4节 本章小结 本章首先明确了设计的要求,确立了CAN通信系统的整体方案,然后根据模块功能,提出多种较为合理的节点设计方案,通过分析与论证,最终确定了网络节点的总体设计方案,作为下文具体电路设计的引导与铺垫。第3章 基于CAN总线的三电机协同控制系统硬件设计第1节 硬件设计基于CAN总线的三电机协同控制系统的硬件开发平台是在Altium Designer上进行,通过Altium Desi
30、gner软件来绘制系统的原理图和PCB板。在此基础上,根据功能需求可以把系统分为MCU最小系统、人机控制界面、CAN总线接口电路、测速电路以及电动机驱动模块。1、 最小系统的设计1、 MCU简介STM32F103是一种内置CAN总线控制器的具有32位的ARM系列微型处理器,内部集成8个16位定时器、13个通信接口、80个I/O接口、6路的PWM、8路A/D转换模块以及2路专用的复位电路模块等。STM32F103工作频率高达72MHz,内置高速存储器,具有丰富的增强I/O端口和联接到两条APB总线的外设19。STM32F103配置如表3.1所示。表3.1 STM32F103功能表2、 MCU最小
31、系统的实现STM32F103最小系统主要由:复位电路、电源电路以及时钟电路等组成。MCU最小系统原理图如图3.1所示。图3.1 mcu最小系统设计2、 CAN总线接口电路设计系统采用内置CAN控制器的STM32F103作为主控芯片,通过高速CAN收发器TJA1050T芯片实现主控芯片CAN总线相连接。TJA1050T芯片引脚功能见下表3.2所示。系统采用内置CAN控制器的STM32F103作为主控芯片,通过高速CAN收发器TJA1050T芯片实现主控芯片CAN总线相连接。TJA1050T芯片引脚功能见下表3.2所示。表3.2 CTM1050T引脚定义 由上表可看出,只需在TJA1050T芯片3
32、引脚加入+5V电压,将TJA1050T芯片的RXD/TXD引脚上拉电阻与STM32F103的PB8引脚以及PB9引脚相连即可。用TJA1050T芯片的CAN总线接口电路如下图3.2所示。图3.2 CAN总线接口电路设计3、 驱动模块的设计1、 PWM调速原理PWM(Pulse Width Modulation,脉冲宽度调制),即通过调制一系列脉冲的宽度,获得所需的等效波形(含形状和幅值),其理论基础是面积等效原理,即冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同(冲量即窄脉冲的面积)。根据PWM原理,只要改变占空比就实现电机调速的的功能。目前,一般通过半导体器件的通断区改变电
33、机电压的通断时间以及通电周期已达到改变电机的占空比的目的。2、 L298N简介L298N是ST公司的生产的一种高电压、大电流电机驱动芯片。工作电压为5V46V;输出电流大,持续工作电流可达2A,瞬间峰值可达3A;内含两个H桥全桥式驱动器,可用来驱动直流电动机与步进电机等感性负载,可驱动两台直流电机(或二相步进电机),或一台四相步进电机。其输出电压可由电源直接调节,也可由单片机产生的控制信号进行调节。其真值表如表3.3所示。表3.3 L298N真值表3、驱动电路的实现 本设计中,STM32F103的PE5、PE6分别接IN1、IN2,控制电机的启停及转向;PA8接ENA,通过改变定时器TIM1所
34、产生的PWM波的占空比,调节电机转速。驱动电路设计如图3.3所示,控制端与驱动端不共地,采用光耦TLP521来实现完全的电气隔离,从而增强系统的抗干扰能力,并使驱动可以接入3.3V的控制系统。图3.3 驱动电路设计4、 测速模块的设计本设计基于CAN总线的三电机协同控制主要通过LM393、TCRT5000以及一些外围电路组成。双电压比较器LM393常用于检测弱电压信号,主要存在两种状态,即输出管饱和和输出管截止。当其同相输入端电压高于反相输入端时,输出管截止,相当于输出端开路;当反相输入端电压高于同相输入端时,输出管饱和,相当于输出端置低。当输入端电压差大于10mV,输出状态就能进行可靠转换,
35、故常用于检测弱信号。TCRT5000有发射管和接收管组成,由发射管发射并由接受管接受的红外线因其反射的情况影响接受管的电阻。测速电路的设计图如下。当检测到亮色的码盘时,TCRT5000发射管发出的红外线被反射回来并且强度足够大,被接收管(光敏三极管)接收,光敏三极管饱和,TCRT5000输出低电平,接入LM393的反相端,LM393输出高电平,二极管不亮;当检测到空隙时,发射管发出的红外线未被反射回来,光敏三极管截止,TCRT5000输出高电平,LM393输出低电平,二极管发光。图3.4 测速电路设计图5、 电源模块的设计本系统时钟电路的备用电源采用VBAT 3.3v锂子片状电池,提供+3.3
36、V直流电源备用电源经去耦滤波电容稳压,提供+5V直流电源,如图3.5 所示。系统中,STM32F103主控芯片需要3.3V电源,因此,需将+5V直流电转换为+3.3V。本设计采用AMS1117-3.3进行5V到3.3V的转换。AMS1117输入+5V,提供+3.3V的固定电压输出。为了降低电磁干扰,C7-C10滤波后,为CPU提供电源,R8为DGND与AGND的接地,R9为D5 LED电源指示。如图3.6所示。图3.5 +5V备用电源电路图3.6 ASM1117-3.3产生3.3V应用电路第2节 本章小结 该设计主要采用内置CAN控制器的STM32F103作为主控芯片,并通过五个电路模块的软硬
37、件设计使功能得以实现。主、从电机间每台电机都独立的设计一个完整的单片机系统去控制电机,然后主、从电机间再通过CAN通信系统实现通信以完成转速同步的效果。本章节对这五个模块设计及原理进行详细的介绍与分析,为软件的设计铺垫。第4章 基于CAN总线的多电机协同控制系统软件设计系统的硬件开发平台是在Keil uVision4上进行,运用我们比较熟悉C语言进行编程,并运用Keil uVision4通过JTAG接口在线编程调试。系统的软件设计可以分为三个部分进行,即电机控制模块、CAN通信模块和人机界面模块。总体工作流程图如下图4.1所示。图4.1 总体工作流程图第1节 CAN通信模块的软件设计1、 CA
38、N总线的初始化CAN初始化的主要任务是完成CAN模块功能的设置,包括外设时钟的使能、GPIO口配置、CAN的NVIC配置、CAN的模式设置、以及CAN的过滤器配置15。图4.2 CAN通信模块初始化2、 收发报文程序设计报文发送流程:通过将TXRQ置“1”以及设定IDLC、ID以及待发送数据是被选择的空置的邮箱进入挂号状态;当CAN总线处于闲置状态,最高级优先级的邮箱就可以进行报文的发送。报文接受流程:当一个报文到来,邮箱FIFO0产生一次中断,读取报文信息通过标示符判定是否为有效报文,并相应的设定标示位。报文接受流程图如下图4.3与图4.4所示。 图4.3 报文接受流程图图4.4 报文接受流
39、程图第2节 测速程序的设计本设计中,直流电机转速的测量通过两部分完成:外部中断PA1用于对速度脉冲进行计数;TIM2溢出中断用于定时。其中断服务函数分别如图4.5和图4.6所示。图4.5 速度脉冲计数函数流程图4.6 定时器TIM2测速函数流程第3节 本章小结系统的软件设计可以分为三个部分进行,即电机控制模块、CAN通信模块和人机界面模块。本章节对这三部分的软件编程算法进行了详细的介绍。第5章 系统调试及实现第1节 硬件调试通过Altium Designer软件来绘制系统的原理图和PCB板,在此基础上完成制版以及焊接任务后,开始对硬件调试以检查是否正确。硬件调试主要通过以下两个部分完成:1 用
40、万用表检测电路。根据原理图逐一的检测电路是否存在错误,比方虚焊、错焊以及漏焊等。2 通过 JTAG在线调试,检查电机是否能够正常的运作。第2节 软件调试根据系统软件程序分为三个模块设计,也可以将软件调试通过对每个模块的逐一进行调试以达到预期的效果。通过调试主要存在以下的问题:首先,没有办法正常的测速。检查程序最终发现没有清除EXTI_Line1标志位。其次,在调试阶段设置了正反转按键的标志变化,是人机界面对电机的指令更清晰明了。第3节 系统调试及实现液晶显示模块主要有三个环节的展示:毕业设计报告名字的展示、主电机和从电机预期转速和实际转速的显示以及电机的启停、正反转、加减速按键。系统整体调试图
41、如下。图5.1 系统整体调试图第4节 本章小结本章主要介绍了控制系统硬件与软件调试的方法,通过软硬件的调试从中找到不足并给予改善。结 论本文基于CAN通信协议以及32位ARM系列STM32F103,实现了一种创新的基于CAN总线的多电机协同控制系统。该系统利用高实时性、高可靠性的CAN串行通信网络实现了对多电机的同步控制,优化了系统结构,节约了系统成本,具有广阔的应用前景。此外,本文中软硬件设计均采用模块化思想。硬件设计包括最小系统、CAN总线接口电路设、驱动模块、测速模块及人机界面的设计;软件设计同样包括CAN通信模块、电机控制模块、人机界面模块的设计。这种模块化的设计方法具有便于操作、易于
42、调试与移植调用的优点,可应用于将来的学习研究。附 录一、CAN节点部分源程序:1、CAN通信模块部分源程序/*CAN初始化接口函数*/void USER_CAN_Init(void)CAN_GPIO_Config();CAN_NVIC_Config();CAN_Mode_Config(); CAN_Filter_Config(); static void CAN_GPIO_Config(void)/CAN GPIO 和时钟配置 GPIO_InitTypeDef GPIO_InitStructure; /*外设时钟设置*/ RCC_APB2PeriphClockCmd(RCC_APB2Perip
43、h_AFIO | RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE); /* Configure CAN pin: RX */ /PB8-CANRX GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; /上拉输入 GPIO_Init(GPIOB, &GPIO_InitStructure); /* Configure CAN pin: TX */ /PB
44、9-CANTX GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; /复用推挽输出 GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_PinRemapConfig(GPIO_Remap1_CAN1, ENABLE);static void CAN_NVIC_Config(void)/CAN RX0 中断优先级配置 NVIC_
45、InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); /* 中断设置 */ NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;/CAN1 RX0中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; /抢占优先级为0 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; /子优先级为0 NVIC_InitStru
46、cture.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);static void CAN_Mode_Config(void)/CAN的模式配置CAN_InitTypeDef CAN_InitStructure;/* CAN 寄存器初始化 */CAN_DeInit(CAN1);CAN_StructInit(&CAN_InitStructure);/* CAN 单元初始化 */CAN_InitStructure.CAN_TTCM=DISABLE; /时间触发通信禁止CAN_InitStructure.CAN_
47、ABOM=DISABLE; /离线退出是在中断置位清0后退出CAN_InitStructure.CAN_AWUM=DISABLE; /自动唤醒模式:清零sleepCAN_InitStructure.CAN_NART=DISABLE; /自动重传CAN_InitStructure.CAN_RFLM=DISABLE; / FIFO没有锁定,新报文覆盖旧报文CAN_InitStructure.CAN_TXFP=DISABLE; /发送报文优先级确定:标志符CAN_InitStructure.CAN_Mode=CAN_Mode_Normal; /正常传输模式CAN_InitStructure.CAN_
48、SJW=CAN_SJW_1tq; /1-4CAN_InitStructure.CAN_BS1=CAN_BS1_12tq; /1-16CAN_InitStructure.CAN_BS2=CAN_BS2_7tq; /1-8CAN_InitStructure.CAN_Prescaler=9; /波特率为 36/(9*(1+12+7)=200kCAN_Init(CAN1,&CAN_InitStructure);static void CAN_Filter_Config(void)/CAN的过滤器配置CAN_FilterInitTypeDef CAN_FilterInitStructure;/*
49、 CAN 过滤器初始化 */CAN_FilterInitStructure.CAN_FilterNumber=0; /CAN1 RX0中断CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;/工作在标识符屏蔽位模式CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit; /过滤器位宽为单个32位/* 使能报文标识符过滤器按照标示符的内容进行比对过滤,扩展ID不是如下的就抛弃掉,是的话,会存入FIFO0。 */CAN_FilterInitStructure.C
50、AN_FilterIdHigh=0x0000; /要过滤的ID高位 CAN_FilterInitStructure.CAN_FilterIdLow=0x0000; /要过滤的ID低位 CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000; /过滤器高16位每位不必关心CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000; /过滤器低16位每位不必关心CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FIFO0;/过滤器被关联到FIFO0CAN
51、_FilterInitStructure.CAN_FilterActivation=ENABLE; /使能过滤器CAN_FilterInit(&CAN_FilterInitStructure);/*允许FMP0中断*/ CAN_ITConfig(CAN1,CAN_IT_FMP0, ENABLE);/*发送报文接口函数*/void SendCan(u16 dat_0,u16 dat_1,u16 dat_2)TxMessage.ExtId=0x0000; /使用的扩展IDTxMessage.IDE=CAN_ID_EXT; /扩展模式TxMessage.RTR=CAN_RTR_DATA; /
52、发送的是数据TxMessage.DLC=3; /数据长度为3字节TxMessage.Data0=dat_0;TxMessage.Data1=dat_1;TxMessage.Data2=dat_2;CAN_Transmit(CAN1,&TxMessage);/*CAN接收中断服务程序*/void USB_LP_CAN1_RX0_IRQHandler(void)CAN_Receive(CAN1,CAN_FIFO0, &RxMessage); /从邮箱中读出报文if(RxMessage.ExtId=0x0000)flag = 0; /接收成功elseflag = 0xff; 2、电机控制模块部分源程序/*PID运算接口函数*/void PIDcalc(void)e=speed_set-speed;/计算速度偏差duk=( Kp*(e - e1) + Ki*e + Kd*(e - 2*e1 + e2)/100; /控制量增量计算uk = uk1 + duk ;pwmout=(int16_t)uk; /PWM波占空比if(pwmout > 99) /设定限值pwmout = 99 ;else if(pwmout < 0)pwmout = 0 ;uk1 = uk ; /保存历史数据e2=e1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中外民俗知到课后答案智慧树章节测试答案2025年春哈尔滨商业大学
- 中西人论与文学知到课后答案智慧树章节测试答案2025年春浙江大学
- 2025年肾上腺皮质激素类药项目合作计划书
- 三级人力资源管理师-《企业人力资源管理师(理论知识)》考前强化模拟卷7
- 河北省武邑中学高三下学期开学考试英语试题2
- 辽宁省葫芦岛一中2017-2018学年高一下学期3月期初考地理试卷
- 拟IPO企业股东签订《一致行动人协议》重点问题解析
- 历史教学学生史料实证素养的培养
- 可视化的对象-关系数据库原型系统-V-ORDBMS的解决方案
- 浅析社保经办机构工作人员绩效管理
- 城乡规划专业开题报告
- 义务消防队组织管理制度模版(2篇)
- 直流充电桩培训
- 《小麻雀》(课件)西师大版音乐二年级上册
- 《民航安全检查(安检技能实操)》课件-第七章 人身检查
- GB/T 44768-2024配电网线损理论计算导则
- 危险品车辆安全运输安全生产值班制度(3篇)
- 模块一 银河麒麟桌面操作系统
- 灼口综合征中医治疗
- 光伏发电站项目安全技术交底资料
- DB11∕693-2017 建设工程临建房屋技术标准
评论
0/150
提交评论