遥控多个步进电机,不同的按钮各个步进电机转动不顺畅同圈数,怎么弄,求大神指导,

当前位置: >>
S和STM32的智能步进电机驱动控制模块设计
硕士学位论文题目: 基于 CAN-BUS 和 STM32 的智能步进电机 驱动控制模块设计研 究 生 专 业马 丹 丹 电 路 与 系 统 张 文 超 教 授指导教师完成日期2013 年 2 月 杭州电子科技大学 学位论文原创性声明和使用授权说明原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所 取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表 或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确 方式标明。 申请学位论文与资料若有不实之处,本人承担一切相关责任。论文作者签名:日期:年月日学位论文使用授权说明本人完全了解杭州电子科技大学关于保留和使用学位论文的规定,即:研究生在 校攻读学位期间论文工作的知识产权单位属杭州电子科技大学。本人保证毕业离校后, 发表论文或使用论文工作成果时署名单位仍然为杭州电子科技大学。 学校有权保留送交 论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许 采用影印、缩印或其它复制手段保存论文。 (保密论文在解密后遵守此规定)论文作者签名: 指导教师签名:日期: 日期:年 年月 月日 日 杭州电子科技大学硕士学位论文基于 CAN-BUS 和 STM32 的智能步进电机 驱动控制模块设计研 究 生: 马丹丹 指导教师: 张文超 教授2013 年 2 月 Dissertation Submitted to Hangzhou Dianzi University for the Degree of MasterThe Design of Intelligent Stepper Motor Drive Control Module Based on CAN-BUS and STM32 MCUCandidate: Ma Dandan Supervisor: Prof. Zhang WenchaoFebruary,2013 杭州电子科技大学硕士学位论文摘要步进电机具有可开环控制、无累积误差、精确定位等特性,在自动化控制领域起着 举足轻重的作用。在仪用精密定位系统中,步进电机愈加显示出其优异特性。随着国民 经济的发展,多步进电机的驱动控制系统是目前的主流应用,而一个系统整机性能的好 坏与其驱动控制架构模式的优劣密切相关。因此,对多个步进电机的应用架构进行研究 和探讨是十分必要的。 传统的步进电机驱动架构多采用集中并行式控制模式,存在实时性差等不足,本文 针对此现状提出了新的步进电机应用架构――分布串行式控制架构。文中基于 STM32 系列芯片和 CAN 总线设计了分布式智能步进电机驱动控制系统,与传统集中并行式控 制架构相比,分布串行式控制架构具有可靠性高、灵活性好、实时性强的突出特点。 本文对步进电机进行了相关介绍,并结合其细分驱动技术,针对仪器仪表等多步进 电机的应用场合,设计了分布式智能电机驱动控制系统。主要包括上位机控制管理界面 的编写、下位机主节点、子节点硬件设计以及 CAN 通信的实现。下位机通过 RS232 串 口与上位机通讯,为研究方便,选取 PC 机为上位机。采用 LabWindows/CVI 编写上位 机控制界面,可控制各个节点的运行,对各节点步进电机的启停、正反转、步数、细分 数等进行控制。下位机各节点通过 CAN 总线实现及时地通信,且各个子节点具有智能 性,主节点只需发送命令,具体控制可由子节点独立完成。各节点主控制器均采用高性 能、低功耗的 STM32F103ZET6 芯片,子节点电机驱动模块选用 THB7128 高细分两相 混合式步进电机专用驱动芯片,细分数最高可达 128,步进电机定位精度的提高使得系 统整机性能得以完善。系统具有过流保护、短路保护等功能。 本文的目的是开发一套性能优越、操作易行、结构合理、通用性好的分布式智能步 进电机驱动控制模块。测试结果表明:该系统可以达到预设指标。系统运行性能优良、 可靠、稳定、灵活,系统驱动电流可调,适用于驱动 28 系列、42 系列、57 系列等多种 型号的中小功率两相混合式步进电机,具有很好的研究和应用价值以及广阔的市场前 景。 关键词:步进电机,细分驱动,分布串行式,STM32,CAN,LabWindows/CVII 杭州电子科技大学硕士学位论文ABSTRACTThe stepper motor with open-loop control, no accumulated error, accurate positioning, plays an important role in the automation and control systems. Instrument with a precision positioning system, the stepper motor is increasingly showing its excellent features. With the development of the national economy, the multi-stepper motor drive control system is the current mainstream applications, while a system of machine performance is closely related to the quality of its pros and cons of the drive control architecture mode. Therefore, it is very necessary to research and explore multiple stepper motor application architecture. The traditional control of stepper motor driver architecture adopts centralized concurrency control mode, there is a lack of real - time and poor , new stepper motor application architecture is proposed for the status quo - serial distributed control architecture . The text distributed intelligent stepper motor drive control system design based on the STM32 series chip and CAN bus , serial distributed control architecture with outstanding reliability , flexibility , real-time , compared with the traditional centralized parallel control architecture . This paper has carried on the related to stepper motor, and combined with subdivided driving technology, for instruments and meters, etc of stepper motor applications, designed a distributed intelligent drive control system. Mainly includes the upper machine under the control management interface to write, a main node, the child node hardware design and the realization of CAN communication. Lower machine through the RS232 serial port and PC communications, as research is convenient, PC is adopted to be as the superior machine. On the PC side, the control software programmed in LabWindows/CVI, can be used to control the operation of the various nodes,set run or stop、forward or inversion、the steps、subdivided level,etc. Lower machine each node can communication through CAN bus in a timely manner, and each node has the intelligence, the master node send only a command, a specific control can be performed by independent child nodes. Each node of main controller adopts the high performance and low power consumption STM32F103ZET6 chip, child nodes motor driver module selects the THB7128 high subdivision for two phase hybrid stepping motor driver chip, subdivided level can up to 128, the system will become perfect with the improve of stepper motor positioning accuracy. The system has over current protection, short circuit protection, and other functions. The purpose of this article is to develop a set of superior performance, easy operation, simple structure, good commonality distributed intelligent stepper motor drive control module.II 杭州电子科技大学硕士学位论文Test results show that the system can achieve the preset targets. System excellent performance, reliable, stable, flexible operation, the system drive current is adjustable, suitable for drive 28 series, 42 series, 57 series and various types of small and medium-sized power two-phase hybrid stepping motor and has research value and development prospects. Keywords: stepper motor,subdivided driving,distribution serial,STM32,CAN, LabWindows/CVIIII 杭州电子科技大学硕士学位论文目摘录要 ......................................................................................................................................... IABSTRACT .............................................................................................................................. II 第 1 章 绪论 ............................................................................................................................ 1 1.1 课题研究背景及意义 .................................................................................................... 1 1.2 步进电机驱动控制模块 ................................................................................................ 3 1.2.1 步进电机驱动控制模块的国外发展状况 ............................................................. 3 1.2.2 步进电机驱动控制模块的国内发展状况 ............................................................. 4 1.3 课题研究的内容和论文结构安排 .................................................................................. 5 1.3.1 主要研究内容 ......................................................................................................... 6 1.3.2 主要完成的工作 ..................................................................................................... 6 1.3.3 论文章节安排 ......................................................................................................... 7 第 2 章 步进电机及其应用架构的讨论 ................................................................................ 8 2.1 步进电机简介 ................................................................................................................ 8 2.2.1 步进电机的类型及选择 ......................................................................................... 8 2.2.2 两相混合式步进电机的介绍 ................................................................................. 9 2.2.3 步进电机细分驱动技术简介 ............................................................................... 10 2.2 步进电机应用系统架构讨论 ...................................................................................... 11 2.2.1 集中式架构 ........................................................................................................... 11 2.2.2 分布式架构 ........................................................................................................... 12 2.2.3 系统架构的确定 ................................................................................................... 14 2.3 本章小结 ...................................................................................................................... 14 第 3 章 系统总体方案的确定 .............................................................................................. 15 3.1 系统总体方案的设计要求 .......................................................................................... 15 3.2 控制器的选择 .............................................................................................................. 15 3.3 系统通信方案设计 ...................................................................................................... 16 3.3.1 几种串行通信总线的介绍 ................................................................................... 16 3.3.2 通信总线性能比较 ............................................................................................... 18 3.3.3 系统通信总线的确定 ........................................................................................... 18 3.4 系统总体框架 .............................................................................................................. 19IV 杭州电子科技大学硕士学位论文3.5 本章小结 ...................................................................................................................... 19 第 4 章 系统硬件设计 .......................................................................................................... 20 4.1 主节点硬件设计 .......................................................................................................... 20 4.1.1 主节点硬件电路 ................................................................................................... 20 4.1.2 JTAG 调试电路接口 ............................................................................................ 21 4.2 通信电路设计 .............................................................................................................. 22 4.2.1 串口通信模块 ....................................................................................................... 22 4.2.2 CAN 通信模块 ..................................................................................................... 24 4.3 子节点硬件设计 .......................................................................................................... 26 4.3.1 智能子节点硬件电路 ........................................................................................... 26 4.3.2 电机驱动芯片 ....................................................................................................... 27 4.3.3 取样电阻的选择 ................................................................................................... 29 4.3.4 细分驱动的实现 ................................................................................................... 30 4.4 电源模块 ...................................................................................................................... 31 4.5 硬件抗干扰部分 .......................................................................................................... 32 4.6 硬件实物图 .................................................................................................................. 33 4.7 本章小结 ...................................................................................................................... 35 第 5 章 系统应用层协议的设计与实现 .............................................................................. 36 5.1 CAN 通信协议简介 ..................................................................................................... 36 5.1.1 CAN 协议结构 ..................................................................................................... 36 5.1.2 CAN 协议报文帧格式 ......................................................................................... 37 5.2 系统应用层协议的设计 .............................................................................................. 38 5.2.1 标识符的分配 ....................................................................................................... 38 5.2.2 报文帧格式 ........................................................................................................... 39 5.2.3 通信实现方式 ....................................................................................................... 40 5.3 CAN 总线报文传输 ..................................................................................................... 40 5.3.1 总线初始化 ........................................................................................................... 41 5.3.2 CAN 报文的发送 ................................................................................................. 41 5.3.3 CAN 报文的接收 ................................................................................................. 42 5.4 本章小结 ...................................................................................................................... 43 第 6 章 系统软件设计 ............................................................................................................ 44 6.1 上位机软件设计 .......................................................................................................... 44 6.1.1 LabWindows/CVI 开发环境简介 ........................................................................ 44V 杭州电子科技大学硕士学位论文6.1.2 用户界面设计 ....................................................................................................... 44 6.1.3 源代码的生成和添加 ........................................................................................... 45 6.1.4 通信规约 ............................................................................................................... 46 6.2 下位机软件实现方法概述 .......................................................................................... 47 6.2.1 STM32 的开发环境 .............................................................................................. 47 6.2.2 下位机整体软件设计 ........................................................................................... 48 6.3 串口通信的实现 .......................................................................................................... 49 6.4 CAN 通信的实现 ......................................................................................................... 49 6.4.1 CAN 总线初始化配置 ......................................................................................... 49 6.4.2 报文的发送 ........................................................................................................... 51 6.4.3 报文的接收 ........................................................................................................... 52 6.5 子节点智能驱动软件设计 ............................................................................................ 53 6.6 本章小结 ........................................................................................................................ 55 第 7 章 系统测试及结果分析 ................................................................................................ 56 7.1 整机测试 ...................................................................................................................... 56 7.1.1 整机效果图展示 ................................................................................................... 56 7.1.2 整机协调性测试 ................................................................................................... 57 7.1.3 电机运行测试 ....................................................................................................... 57 7.2 电机绕组电流波形测试 ................................................................................................ 58 7.2.1 在合适频率范围内的细分波形 ........................................................................... 58 7.2.2 失真波形测试 ....................................................................................................... 60 7.3 其他测试内容 .............................................................................................................. 63 7.4 本章小结 ...................................................................................................................... 63 第 8 章 总结和展望 ................................................................................................................ 65 8.1 本文总结 ...................................................................................................................... 65 8.2 工作展望 ...................................................................................................................... 66 致谢 .......................................................................................................................................... 67 参考文献 .................................................................................................................................. 68 附录 1 ....................................................................................................................................... 71 附录 2 ....................................................................................................................................... 72VI 杭州电子科技大学硕士学位论文第1章1.1 课题研究背景及意义绪论步进电机是将电脉冲转化为角位移或直线位移的机电执行元件。 从 20 世纪 50 年代 开始, 步进电机便因其控制简便, 具有诸多优势而被广泛应用于各种自动化控制系统中。 其优势体现如下:在载荷容限内,角位移与输入脉冲数量严格成正比,速度与输入的脉 冲频率成比例,无累计误差,具有良好的跟随性;其动态响应快,易于启停、正反转、 变速控制;电机停止时具有自锁能力,可靠性高;步距角选择范围广;其速度可在宽范 围内平滑调节,低速下仍可获得大转矩;本体部件少,可靠性高,寿命长等。目前,步 进电机已在喷绘机、雕刻机、包装机、印刷机、电脑绣花机、ATM 机、纺织机、坐标 测量仪器、机器人、数控机床、票据打印机、舞台灯光投射方位控制、POS 机、医疗设 备等中得到广泛应用,涉及电子电信、仪表机械、冶金、纺织轻工、办公设备、医疗、 航空航天、兵器及国防工业等领域[1]。 步进电机的可开环控制、无累积误差、精确定位等特性,得到越来越多科研人士的 青睐。在仪用精密定位系统中,步进电机愈加显示出其优异特性[2]。如在生命科学仪器 的样品精密定位技术[3]的研究中,步进电机就很好地发挥了其重要性。随着国民经济的 发展,在各类仪用精密定位系统中已经不仅仅局限于单个步进电机的驱动,越来越多的 是多个步进电机共同协作运行。典型应用如生命科学仪器中的全自动生化分析仪、基因 扩增分析(PCR)仪等。 全自动生化分析仪[4]是根据光电比色的原理来测量体液中的某种特定化学成分的仪 器。该仪器把临床生化分析过程中的取样、加试剂、去干扰、混合、保温反应、检测、 数据处理、结果显示、输出、清洗等实验操作步骤全部实现自动化操作。其中的自动取 样,加样等功能都是通过驱动步进电机定位系统完成的。如图 1.1 所示,需要多个步进 电机的共同协作才能保证仪器的正常运行。图 1.1 全自动生化分析仪基因 (DNA) 扩增分析仪 (简称 PCR 仪) , PCR 是聚合链式反应 (Polymerase Chain1[5] 杭州电子科技大学硕士学位论文Reaction)的英文缩写。PCR 仪是利用 PCR 原理使得待测试样中的原始 DNA 呈指数扩 增,并在扩增期间通过高能谱光(如蓝光、蓝紫光、紫光和紫外光等)线激发在测样品 和监测在测样品受激发出的荧光信号强弱和相位等信息来实时测定样品中的特异性 DNA 含量, 并由此推断和计算在测样品的初始 DNA 含量的一种生命科学仪器。 PCR 仪 工作过程中需利用精密定位系统将高能谱光(如蓝光、蓝紫光、紫光或紫外光等)的光 源与某个试管底部精确对准, 而后将试管中的样品受高能谱光源激发后产生的受激荧光 信号从试管底部精确地传送至荧光信号接收器[6],在此任务过程中需由两个步进电机和 定位开关以及定位控制电路组成的定位模块完成。如图 1.2 所示为 PCR 仪的结构简图。Air heating and cooling for Rapid temperatur Sealed 20ul capillary with superior urface-to-volume ratioCarousel with capacity for 32 samples Heating coil Stepper motor to position samples over optics Fan Thermal chamberSchematic of the LightCycler 1.5 InstrumentStepper motor to position fluorimeterFan motorLED light sourceFilters PhotohybridsThree-channel photometer图 1.2 PCR 工作简图调查分析表明,多步进电机的驱动控制系统[7]是目前的主流应用,而一个系统整机 性能的好坏与其驱动控制架构的优劣密切相关。因此,对多个步进电机的应用架构进行 研究和探讨是十分有意义且很有实用价值的。 传统的步进电机驱动架构多采用集中控制模式, 即控制器与步进电机驱动器采用一 对一的信号线以脉冲信号形式直接互联控制模式, 由一个主控制器负责全部任务集中管 理。 随着科技的发展以及控制系统理论的不断完善, 人们对控制系统的可靠性、 实时性、 灵活性、精确性以及廉价性等要求越来越高。在数据通信上要求可靠性高,实时性好, 灵活性强,不同的功能模块之间要求及时进行数据交换,各个设备之间要求可以广播的 形式进行数据通信,硬件设计要求成本要尽量低,系统抗干扰能力强,有自动故障识别 功能,可自我恢复等。显然,传统的集中控制体系难以满足这些要求,研究一种新的步 进电机驱动控制架构势在必行。 针对这一现状, 本文提出了基于 CAN―BUS 和 STM32 的智能步进电机驱动控制模 块的设计。CAN 总线是一种全数字化、全分散、全透明、标准化、规格化的总线,不2 杭州电子科技大学硕士学位论文同的传感器和设备均可与之连接。STM32 系列 MCU 是近年来 ST 公司推出的高性能控 制芯片,其中一些芯片专为电机驱动应用设计,其具备高性能、低功耗、性价比高等优 势,本设计的智能步进电机驱动控制模块采用主从结构,每个子节点均具有智能性,可 独立执行由 CAN-BUS 传送过来的命令,完成规定的任务。可见分布式智能驱动控制架 构彻底改变了传统的封闭的、集中式的、不灵活的控制体系,对整个控制系统性能的提 高将是一次突破。 步进电机的种类繁多功率档次广泛,本文篇幅有限,仅针对小功率仪用两相混合式 步进电机进行研究。文中通过 CAN 总线和 STM32 构成分布式智能驱动控制系统,配备 有良好的人机交互界面,用户只需要在上位机管理界面设置各节点的工作模式、电机启 停、正反转、步数、细分数等信息,即可控制步进电机执行相应的动作,系统使用灵活 简便。1.2 步进电机驱动控制模块步进电机的驱动控制模块是指以电能为能源,主要通过控制器、驱动器、步进电机 本体等进行能量转换从而构成驱动控制步进电机运行的系统。 一般包括前级的控制器电 路、末级的功率驱动电路、驱动电源、步进电机四部分[8]。下面对其国内外发展状况进 行介绍。 1.2.1 步进电机驱动控制模块的国外发展状况 在国外,步进电机的驱动控制模块的发展大致分为三个阶段。较多较早的实现方案 为控制器外接驱动器。 驱动器部分主要发展趋势为集成化的功率驱动电路和使用专用的 步进电机驱动芯片。功率集成电路将高电压、大电流、大功率等多个半导体开关器件集 成在一块电路板上。而专用步进电机驱动芯片则在同一个芯片上集成电机驱动、电路保 护、电流检测等多种功能,只需外接简单的外围电路就可构成步进电机驱动电路。控制 器通过并行总线发送命令至驱动器控制步进电机的运行。 典型应用如日本 Sanyo 生产的 PMM8713,外加 SI-7300A 和微控制器可适用于两相或四相步进电机的驱动;日本新电 元工业公司生产的双极性定电流两相步进电机驱动专用芯片 MTD2005,该芯片集成步 进电机控制电路和功放电路,只需外加少许外围元器件,即可构成驱动电路[9]。 随着控制领域相关技术的发展, 步进电机驱动控制模块逐渐由分立的单元电路转向 集成电路,将控制器和驱动器集成化。这种变化趋势给步进电机的控制带来了极大的方 便。一方面使得步进电机的驱动控制系统性能改善,方便系统调整和操作,另一方面降 低成本,缩小体积,使得整机系统的可靠性和抗干扰能力得到极大提高。步进电机驱动 与控制专用集成电路引起各大整机制造商的欢迎。一些先进工业国家的知名半导体厂 商,竞相转入研究步进电机的驱动器和控制器相结合的专用集成电路。 如美国的 Motorola、GE、Texasinstrument、Nationalsemiconductor 等公司,德国的 Siemens 公司, 荷兰的 Philips 公司,日本的 Mitsubishi、Panasonic、Sanyo、Toshiba 公司。3 杭州电子科技大学硕士学位论文近年来,也有少数厂家将串口等总线技术应用于步进电机驱动控制模块。如图 1.3 和图 1.4 所示分别为德国 TRINAMIC 公司生产的 PD-013-42 型号的 42 系列步进电机驱 动器,PD-111-56 型号的 56 系列步进电机驱动器[10]。其最大的特点是将串口、控制器、 驱动器集成在一块电路板上,形成步进电机驱动控制模块的高度集成化,是传统分立元 件驱动系统的超越。此类型的驱动器的不足之处在于驱动系统的可重复利用率低,只能 针对具体指定型号的电机进行控制, 造价高, 使得此类型的驱动器易受限制, 难于推广。图 1.3 PD-013-42 型号步进电机驱动器图 1.4 PD-111-56 型号步进电机驱动器1.2.2 步进电机驱动控制模块的国内发展状况 由于国内步进电机的驱动技术发展相对滞后, 从而影响和制约着步进电机驱动控制 模块的发展。国内很少有公司具有实力生产研发高集成度的专用驱动芯片,一般为步进 电机驱动器外接控制器,由控制器来发送命令控制电机的启停、转速、正反转、步数等 运动状态。其中,驱动器多采用传统线路或者国外专用芯片,并行控制线路多,性能上 仍存在一些不足。 如下图 1.5 所示为上海运控两相混合式步进电机驱动器 YKA2204MA 外观及驱动器 接线情况,市场上销售的其他类型驱动器也多与此类似。外型小巧,也可实现多个模式 的细分驱动,噪声低,反应快,平稳性较好,输入输出信号采用光电隔离,驱动电流大 小可调节,具有过压过热保护的功能等。此驱动器外接控制器可构成步进电机驱动控制 系统,实现对步进电机的控制[11]。控制器通过并行信号线发送时钟、方向、步数、启停 等信号至驱动器控制步进电机的运行。此驱动器的不足之处有以下几点:一,用户不能 直接使用,须外加控制器对其进行控制,这使得非技术用户应用不便;二,控制器需通 过一组(多根,一般都是 10 根以上)并行信号线对驱动器进行连接操作,在多步进电 机控制系统中,将增加线路连接的复杂性;三,细分数等控制信号的设置须手动完成, 显然在系统频繁操作时很不方便, 可操作性不强。 如在危险的应用场合, 操作性会较低。 在国内也有少数大厂家委托国外公司生产专用芯片,如本文使用的 THB7128 为北4 杭州电子科技大学硕士学位论文京海华博远科技发展有限公司委托 SANOYO Semiconductors 公司生产。THB7128 为两 相混合式步进电机驱动芯片, 可实现高细分驱动, 总体性能上有所提高, 但其功率受限, 有待开发。 总的来说,国内的步进电机驱动控制模式与国外还有一定差距。在通用性,可控轴 数,控制精度,可靠性等方面还有待提高,还有很大的研究和改进空间。驱动器接线示意图控制部件 5V PU DR 电机释放信号输出 (可悬空) DC15-40V A相 B相 电源+ 电源驱动器 5V PU DR MF V+ VA+ AB+ B-图 1.5 国内市场的步进电机驱动器1.2.3 一种新型的智能步进电机驱动控制模块 本文提出了一种新型的智能步进电机驱动控制模块。 其区别于传统步进电机驱动控 制模块的显著特点如下: (1)系统为分布式应用架构。通过 CAN 总线实现多个子节点的间通信,提高了整 个系统的实时性、准确性。 (2)系统的每个子节点中均包含有微控制器,很好地将控制器和驱动器集成化, 使得子节点具有独立性和智能性,大大减轻了主节点的任务,有利于提高整机性能。 (3)系统通过串行总线实现数据的传送。较之传统集中控制中复杂的并行信号线, 系统得到简化,有利于提高操作性。 (4)系统配备有良好的上位机操作界面,有利于人机交互。 (5)系统结合步进电机细分驱动技术,实现多种细分模式,使得基于步进电机的 精密定位系统更加精准。1.3 课题研究的内容和论文结构安排本课题的研究目的是设计出基于 CAN―BUS 和 STM32 的智能步进电机驱动控制模 块。应用对象为两相混合式仪用步进电机。系统达到基本指标。在理论上要对两相混合 式步进电机的结构、工作原理、控制规律、细分驱动技术、步进电机的两种应用架构、 串行总线通信技术、虚拟仪器技术有更深层次的理解和认知。对分布式架构的构建有一 个全面深入的掌握。 系统要达到的基本技术指标如下:5 杭州电子科技大学硕士学位论文(1)额定电压:8~36V。 (2)额定电流:3.3A 以下,并且可调。 (3)输出转矩:在一定频率范围内是恒定的。 (4)细分档位:8 个细分档位,最高可设定为 128 细分。 (5)工作模式:可实现上位机控制界面对下位机两个子节点的控制。包括步进电 机的启停、正反转、步数、细分数等。 1.3.1 主要研究内容 (1)在深入研究步进电机驱动控制模块的基础上,综合考虑成本、工艺等因素后 折中选定一种科学合理切实可行的实现方案; (2)深入研究几种主要串行总线通信技术,为实现“分布式”架构选择一种高效、 高速、可靠的通信方式; (3)全面深入了解两相混合式步进电机的分类、工作原理、步进电机驱动技术的 发展,对细分驱动技术深入研究并能加以应用,以提高步进电机的步进精度; (4) 为获得友好的人机交互能力, 深入研究虚拟仪器技术, 并采用 LabWindows/CVI 软件实现良好的人机运行管理界面; (5)最终按照所研究的方案,设计硬件,编制软件,综合调试,使系统能够可靠 地运行。 1.3.2 主要完成的工作 (1)调研与资料收集 ①对国内外市场上现有的步进电机驱动控制模块产品进行收集, 并整理分析它们的 功能、性能指标、特点和价格。 ②从理论和工程设计角度出发,收集有关步进电机驱动控制模块的资料文献,并整 理、分类、筛选出有参考价值的材料。 (2)方案分析及选定 对步进电机驱动控制模式中的“集中并行式”和“分布串行式”这两种方案从功能、 性能指标、原理和技术的先进性、价格以及实现工艺的难度上进行比对分析,最终确定 “分布串行式”为本文系统架构。 (3)方案分解 对 “分布串行式” 架构下的仪用步进电机驱动控制系统进行自顶向下的解剖和分析。 将系统分为上位机控制系统、下位机主从节点、串口通信模块、CAN 通信模块、电机驱 动控制模块。涉及的技术为虚拟仪器测控技术、通信总线技术、细分驱动技术等。 (4)方案实现分析 将“分布串行式”控制系统自底向上实现。上位机控制界面采用 LabWindows/CVI 软件平台开发。 下位机各节点主控制器采用 STM32 系列芯片 STM32F103ZET6, 该芯片6 杭州电子科技大学硕士学位论文为高性能、低功耗的电机专用芯片。上位机和下位机采用串口实现数据传输,下位机各 节点通信采用 CAN 总线实现。CAN 总线的抗干扰能力强、数据传输速率快、可扩展性 好,有利于提高整机性能。子节点电机驱动部分结合细分驱动技术,采用 THB7128 电 机驱动芯片实现细分模式驱动。 (5)硬件设计与实现 对系统各个模块硬件电路进行原理图设计、元器件参数计算和选型、PCB 板设计以 及制板,并调试通过。 (6)软件设计与实现 上位机基于 LabWindows/CVI 的软件平台进行开发设计,下位机采用 Keil MDK 开 发工具编程,经调试,软件部分可准确运行。 (7)整机综合测试 系统整体搭建完成, 对其软硬件进行了相关测试, 系统能够按照预定要求准确运行。 1.3.3 论文章节安排 本文的各个章节内容安排如下: 第一章,对课题的研究背景、国内外的研究现状和发展趋势进行了相关介绍,提出 本课题的研究目的、研究内容、主要完成的工作、论文的主体框架。 第二章,对步进电机的工作原理、相关驱动技术进行介绍,使读者有所了解,对两 种不同的应用架构进行了深入讨论,并确定本课题所选架构。 第三章,系统总体方案的确定。主要包括对系统串行总线和其他关键部分的选择和 确定。 第四章,对系统硬件部分电路设计进行了详细论述。 第五章,系统应用层协议的设计与实现。 第六章,对系统的软件设计进行了阐述,包括上位机和下位机软件。 第七章,系统整体测试结果与结论,并给出结果图。 第八章,对本课题设计进行了总结,分析其中存在的不足,并对未来工作进行了展 望。7 杭州电子科技大学硕士学位论文第2章步进电机及其应用架构的讨论绪论中对课题的研究背景及步进电机驱动控制模块的国内外发展趋势进行了详细 介绍,本章将对本课题中涉及到步进电机相关知识进行简单阐述,并对步进电机的应用 系统架构展开讨论,确定本次设计所选用的架构,为整机系统的构建做好铺垫。2.1 步进电机简介2.2.1 步进电机的类型及选择 步进电机的分类方式有很多种[12],下面从结构、相数两方面来进行阐述。 从结构上来分:步进电机一般可分为反应式、永磁式、混合式三种。混合式步进电 机在结构上与反应式步进电机类似,其不同之处在于转子铁心分为两块,且转子上使用 永磁材料。 在性能上, 混合式步进电机综合了反应式步进电机和永磁式步进电机的优点, 其输出转矩大,动态性能好,步距角小,控制功率较小,在无励磁时仍然保持定位转矩。 最显著的优点是两相混合式步进电机具有零电流定位转矩的特点,目前,混合式步进电 机得到很广泛的应用,大量使用在单片机控制系统中。 从相数上来分:步进电机的相数指的是步进电机内部定子上的线圈组数,目前常用 的有单相、两相、三相、四相、五相步进电机,不同的相数对应不同的步距角。 (1)单相步进电机:该类步进电机在仪器仪表中已被广泛使用。其主要特点为:结 构简单,成本低,易小型化,驱动电路简单,工作电压低,功耗小。双偏心一对极的单 相步进电机步距角为 180? ,也可将转子充磁为多对极,其步距角可成倍减小。 (2)两相步进电机:两相步进电机的定子磁极数是 4 的倍数。一般两相步进电机的 步距角为 0.9? 、1.8? 。 (3)三相步进电机:三相步进电机定子线圈的主极数是 3 的倍数,其定子的主极数 为 3、6、9、12 等。三相步进电机的步距角为 0.75? 、1.5? 。 (4)四相步进电机:四相步进电机为偶数相,步距角一般为 0.9? 、1.8? 。定子的主 极数为 16 个,功率驱动管为 16 个,是两相步进电机的两倍。因此驱动器结构复杂,成 本较高,特殊用途才会使用。 (5)五相步进电机:五相步进电机的定子主极数为 10 个,相数一般为 0.36? 、0.72? 。 其定子结构及其驱动电路比两相和三相步进电机复杂,但比四相步进电机简单,成本较 高。 步进电机主要的技术指标有:齿距角、步距角、矩角特性、零位、失调角、转矩、 精度、 响应频率、启动频率、运行频率。 相比较而言,两相混合式步进电机结构简单、品种齐全、价格低廉、控制和驱动电8 杭州电子科技大学硕士学位论文路简单、应用广泛。因此,本次设计选择的是两相混合式步进电机,步距角为 1.8?。 2.2.2 两相混合式步进电机的介绍 (1)两相混合式步进电机的结构:两相混合式步进电机的结构示意图如下。如图 2.1,图 2.2 所示分别为两相混合式步进电机的轴向和径向剖视图。其内部结构分为定子 和转子。图 2.1 轴向剖视结构示意图图 2.2 径向剖视结构示意图定子结构:两相混合式步进电机的定子上一般为 8 个磁极,同一绕组为间隔的 4 个 磁极。如上图所示,A 相:1、3、5、7,B 相:2、4、6、8。相对的磁极产生相同极性。 其中,大小相同、间距相等的小齿均匀分布在每个磁极的内表面上。 转子结构:两相混合式步进电机的转子由中间嵌入永磁铁的两段铁芯组成。转子的 一端呈 N 极,另一端呈 S 极。同样尺寸和数量的小齿均匀分布在两段铁芯外周。由图 2.2 可以看出,两段铁芯上的小齿互相错位半个齿距。当磁极 3 和磁极 7 处于对齿时, 磁极 1 和磁极 5 一定处于最大错齿位置。 (2)两相混合式步进电机的工作原理[13]: N 极转子与定子的 N 极磁极产生排斥 力,与定子的 S 极磁极产生吸合力;同时,S 极转子与定子的 S 极磁极产生排斥力,与 定子的 N 极磁极产生吸引力。 转子由这些力的合力推动转动。 转子两端的极性是恒定不 变的。要想使转子转动,只需改变定子磁极的 N、S 极性以及变化顺序即可。 (3)两相混合式步进电机的通电方式:一般可划分为以下五种。 A:代表 A 相绕组正向通电。 ? :代表 A 相绕组反相通电。 B:代表 B 相绕组正向通电。 ? :代表 B 相绕组反相通电。 ①单向通电方式:即每次只给一相绕组通电。两相混合式步进电机的单相正转的通 电顺序为:A→B→ ? → ? ;单相反转的通电顺序为:A→ ? → ? →B。 ②两相通电方式: 即两相绕组同时通电。 两相正转的通电顺序为: AB→ ? B→ ? ? → A ? ;两相反转的通电顺序为:AB→A ? → ? ? → ? B 。两相通电方式比单相通电方式 获得更大的转矩,此通电方式中,平衡位置不是对齿位置。 ③整步通电方式:即每四拍转过一个齿距角(包括单相通电和两相通电) 。 以 50 齿的转子为例,步距角 ? N ? 360 / 50 / 4 ? 1.8 。 ④半步通电方式:即单相通电和两相通电的交替组合。 半步正转的通电顺序为:A→AB→B→ ? B→ ? → ? ? → ? →A ? 。9 杭州电子科技大学硕士学位论文半步反转的通电顺序为:A→A ? → ? → ? ? → ? → ? B→B→AB。 同样以 50 齿的转子为例,步距角 ? N ? 360 / 50 / 8 ? 0.9 。经比较可知,半步通电方 式可以提高步进精度。 ⑤细分通电方式:此种通电方式下,需对绕组电流的方向和大小进行控制。使得步 进电机内部产生幅度恒定的圆形脉动旋转磁场。步距角得到细分,步进精度得到更大的 提高。 2.2.3 步进电机细分驱动技术简介 步进电机的性能不仅与本身结构有关系,还与驱动技术密切相关。由上世纪 60 年 代初期的单电压和单电压串电阻驱动技术发展到高低压驱动技术。 为提高高频响应和步 进电机的输出转矩,上世纪 70 年代中期,研制出恒流斩波电路。斩波技术使得绕组的 实际电流值围绕额定值呈锯齿形上下波动。使得步进电机输出转矩明显均匀增大。且不 需外接电阻,在各相绕组的导通时间内,电源电压为窄脉冲,而不是持续向绕组供电, 这样系统的功耗就明显减小,效率大大提高,低频共振现象得到明显改善。于 1975 年 美国增量运动控制会系统及器件会议上,美国学者 T.R.Fredriksen 首次提出步进电机步 距角细分控制方法[14]。实践证明,细分驱动技术的应用,使步进电机的运行更加平稳, 控制更加灵活,是值得推广的驱动技术。为了提高步进电机的步进精度,本设计中采用 步进电机的细分驱动技术,使得步进电机可以工作在细分模式下,下面对此技术进行简 单阐述。 (1) 细分驱动技术的产生背景: 传统驱动方式仅对电机相绕组的电流进行通断控制, 以此来得到多种通电状态组合数。为了获得更小的步距角,提高步进电机的分辨率,只 有通过两种途径: ①改变步进电机的内部结构,增加电机的绕组相数,使得电机通电 状态组合数目增加。如五相混合式步进电机的相数增加,使得其步进精度明显高于两相 混合式步进电机。②在不改变电机内部结构的基础上,对步进电机的结构和工作原理进 行更深入的研究,寻求新的驱动模式。方式一的弊端在于若无限制增加步进电机的绕组 相数,相应地,电机的内部结构会变得异常复杂,不具有可行性。因此,只有通过寻求 新的驱动技术,才能进一步提高步进电机的分辨率。细分驱动技术的产生,很好地解决 了这一难题。 (2)细分驱动技术的定义:细分驱动的实质是电流波形控制技术。通过控制各相 绕组中的电流波形阶梯上升或下降,彻底改变传统绕组电流中仅有通断状态的控制方 式,使得各相绕组电流在 0 值和最大值间有多个稳定的中间状态。相应地,步进电机转 子转动的步数会随之增多,步距角对应减小,从而提高了步进精度[15]。 (3)细分驱动电路的基本框图:细分驱动电路的基本框图如图 2.3 所示。细分驱动 在实际应用电路中是通过跟踪给定电流波形的相绕组电流闭环控制。 循环加减计数器根 据输入的控制信号,给出对应的 EPROM 存储空间的地址,EPROM 输出数字量的的给10 杭州电子科技大学硕士学位论文定电流值至 DAC,经 D/A 转换得到模拟的电流值,给定的模拟电流值与实际绕组电流 反馈值比较,得出电流误差值,电流误差值经电流控制器和 PWM 控制单元的共同作用 来改变功率驱动电路里 MOSFET 驱动脉冲宽度,从而控制实际绕组电流为给定值。控制 信号 循环 加减 计数器 EPROM D/A 电流 控制器 PWM 控制单元 主电路 步进电机图 2.3 步进电机细分驱动电路基本结构框图(4)拟正弦波细分驱动技术[16]:步进电机的细分驱动电流波形目前有三角波、梯 形波、拟正弦波。但是采用三角波和梯形波做绕组电流波形时细分效果比较差,电机的 运行平稳性不够好,步进精度不够高。若电机的两相绕组采用两路相差 90? 拟正弦波驱 动电流,则可以在电机内部产生恒定的均匀圆形脉动旋转磁场,从而很好的实现步距角 均匀细分。2.2 步进电机应用系统架构讨论步进电机分辨率的提高,使得基于步进电机的精密定位技术得以发展。但是只有在 合适的应用架构下才能将步进电机的优越性得以体现。 下面对传统集中式架构和分布式 架构进行分析比较,并确定本文所选架构。 2.2.1 集中式架构 传统的步进电机驱动控制模式架构如图 2.4 所示, 在多步进电机控制系统中, 多采 用“集中并行式” ,即通过单个 MCU 集中管理控制系统的全部任务,由控制器并行引出 信号线至每个步进电机驱动器并发送运行命令[17]。 一般来说, 每一个步进电机驱动器都有如图 2.4 中所示的四个信号引脚。 其中 MCLK 是步进脉冲, 步进电机走的快慢就由该脉冲的频率决定。CW / CCW 是正反转控制信号, 该引脚为高电平时正转,低电平时反转。 RUN / STOP 为运行和停止控制信号,该引脚 为高电平时电机转动,低电平时停止。 FULL / HALF 为整步和半步控制信号,该引脚为 高电平时电机整步运行,低电平时半步运行。 步进电机的运行由控制器发送以下命令来驱动[18]: (1)电机走的快慢(由 MCLK 脉冲频率决定) ; (2)电机走的步数(由 MCLK 脉冲个数决定) ; (3)电机的启/停(由 RUN / STOP 控制) ; (4)电机的正/反转(由 CW / CCW 控制) ; (5)电机的整/半步控制(由 FULL / HALF 控制,此项功能不是必须的) 。 当 MCU 应用系统的控制器承担的任务不多时,采用这种传统的集中模式还是可以 的。但是,在很多应用中,需要 MCU 应用系统的控制器不仅要频繁地控制和改变上述 的(1) 、 (2) 、 (3)和(4)项参数来控制步进电机的运行状态,还要兼顾整个系统的协11 杭州电子科技大学硕士学位论文调性。这样在传统集中并行控制模式下,往往会存在抗干扰能力差、可靠性低等现象。VL MCLK CW/CCW RUN/STOP FULL/HALF VS步进 电机 驱动 器M1MCU 应用 系统VL MCLK CW/CCW RUN/STOP FULL/HALFVS步进 电机 驱动 器Mn图 2.4 传统步进电机驱动控制架构框图现将在传统集中式驱动控制模式中存在的不足[19]总结如下: (1)系统实时性不够。在多步进电机控制系统中,随着控制节点的增多,控制信 号和反馈信号将大大增加,单个 MCU 既要负责整个系统的协调调度,还要频繁的控制 和改变各个节点的信号控制参数来控制步进电机的运行状态,造成 MCU 的负担过重, 影响整个系统的实时性。 (2)子模块不具备智能性,独立性不好。系统的各个驱动子模块必须依赖 MCU 发出命令才能执行相应动作, 这就占用了 MCU 的大量软硬件资源, 使系统总性能下降。 (3)操作复杂。由图 2.4 可以看出,电机驱动子模块越多,则由 MCU 应用系统引 出的控制线越繁杂,在多步进电机控制系统中排线布局将变得复杂,易发生断线或解除 不良的故障,在生产和维护中带来了诸多不便,且增加了成本。 面对传统集中控制模式中存在的诸多不足, 这就需要寻求一种新的驱动控制模式来 突破现状。下面对一种新的驱动模式――基于串行总线的分布式架构进行讨论。 2.2.2 分布式架构 分布式智能步进电机驱动控制模式如图 2.5 所示。此架构区别于传统电机驱动架构 的显著特点为智能电机驱动控制模块和系统基于串行总线的通信。 一、关于智能电机驱动模块 在此模式中, 每个步进电机驱动器均可作为一个子模块, 子模块内部自带微控制器, 这样每个子模块便具有智能性,具有自主管理判断控制能力,可将 MCU 应用系统中的 主控制器解脱出来,不用对每个步进电机进行时时监控,大大减轻了主控制器的负担。 智能子模块的主要任务有: 1、命令接收、译码和执行:12 杭州电子科技大学硕士学位论文(1)命令接收:用户 MCU 将命令通过串行总线写入智能模块; (2)命令译码:智能模块将接收到的命令由其自带的 MCU 解析; (3)命令执行:命令解析完成后,智能模块将驱动步进电机执行相应的动作。 2、状态的采集、编码和上传: (1)状态信息的采集:智能模块负责将步进电机的(当前的细分步数、转向、转 速和余下未走的步数等信息)以及子节点本身存在的状态信息采集; (2)状态信息的编码:智能模块将(1)采集的各种信息按照通信协议(或规约) 编码成为便于传输的格式; (3)状态信息的上传:系统子节点及执行部件步进电机的状态信息经智能模块采 集,编码完成后,将编码后的状态信息上传给用户 MCU。VL VS智能步 进电机 驱动控 制器 MCU 应用 系统M1子节点 1VLVS串行总线智能步 进电机 驱动控 制器Mn子节点 n图 2.5 分布式智能步进电机驱动控制架构框图二、关于串行总线 若在 MCU 应用系统与智能模块之间仍然采用并行总线,显然,随着步进电机的增 多,其驱动子模块也越多,随之并行信号线数就会显得繁杂,增加系统的复杂性。在分 布式架构中,使用串行总线代替传统集中控制模式中的并行总线,将大大简化系统的复 杂性。 常用的串行总线有 I 2C 、SPI、CAN 总线等,无论采用何种总线,一旦将控制命令 (细分步数、转向、转速和本次要走的步数等)由用户 MCU 下传给智能模块后,就再 也不用用户 MCU 来监管了。余下就由智能模块来控制步进电机的自动运行,直到新的 控制命令的到来,或本次命令执行完毕后,由智能模块将“该命令执行完毕”的状态信 息上传给用户 MCU,并等待接收和执行用户 MCU 的下一次控制命令。 可见,分布式架构的驱动控制模块大大地方便了用户的使用,从而整体上提高了仪 器的整机性能和加强了仪器的功能。13 杭州电子科技大学硕士学位论文2.2.3 系统架构的确定 经上文比较,分布式架构的优点[20]如下: (1)增强了系统的实时性。主控模块只需负责电机运行控制命令的下达和整个系 统的协调调度, 频繁切换或频繁改变步进电机运行状态的任务可由智能步进电机驱动模 块自身来完成,从而在根本上减轻了主控模块的负担,提高了整个系统的实时性。 (2)子模块具有智能性,独立性好。用户 MCU 只需将电机运行控制命令(如细分 步数、转向、转速、步数等)经串行总线传送给各个子模块,由子模块来控制步进电机 的自动运行,而无需主控模块的监管。 (3)控制简单,操作易行。由图 2.5 可以看出,主控模块可直接通过串行总线传送 控制命令,需使用的通讯线数较之传统的并行信号线,大大降低现场信号线连接的繁琐 度与费用,提高信号传输的精度与灵活性,同时也有利于系统的安装、调试和维护。 (4)节约成本,性价比高。随着经济的发展,单片机的性价比越来越高,而电缆 线的价格却略显上升。因此,减少电缆线的数量,增加单片机的使用度,更能节约成本, 使产品的优势最大化。 基于分布式架构的众多优点,本文选用分布式架构。2.3 本章小结本章对步进电机的分类及选择、技术指标、两相混合式步进电机的工作原理,以 及步进电机细分驱动技术进行了相关阐述,着重对两种步进电机应用系统架构讨论比 较,对其优缺点做以取舍,最终确定了本系统采用的架构。14 杭州电子科技大学硕士学位论文第3章系统总体方案的确定3.1 系统总体方案的设计要求本课题研究的分布式控制系统主要针对小功率仪用两相混合式步进电机, 可应用于 生命科学仪器,如基因扩增分析仪,全自动生化分析仪等。在设计中,要保证系统运行 时安全、可靠,能够长时间稳定工作,且系统可面对非技术的人工操作。为保证系统的 各个模块间既具有很强的独立性,又有很好的协调性,在开发设计过程中应遵循以下原 则: (1)扩展性强,灵活性好:设计时应考虑系统的扩展性,可根据实际需要对步进 电机数目增减,且不影响整个系统的稳定性。 (2)实时性好,可靠性高:系统的各个控制命令以及运行状态信息能够完整及时 准确的在每个执行单元相互传达。 (3)硬件结构合理,降低成本:本设计重点是 CAN 通信节点和智能步进电机驱动 控制模块。硬件设计时应考虑各种现场干扰,提高系统的抗干扰能力。系统中所用的步 进电机数目较多,要注意硬件使用成本,合理设计硬件电路。 (4)上位机界面可操作性强:管理界面设计时应注意简易便行。 (5)系统升级及兼容性:设计时需考虑到系统升级,硬件上系统升级后可重复使 用,软件应灵活设计,兼容性强。3.2 控制器的选择目前,单片机以其价格低廉,开发难度小的优势作为步进电机驱动控制系统的主 控制器是主要发展趋势。系统节点 MCU 应从以下几个方面进行考虑并选取: (1)MCU 协同系统的处理速度:在多步进电机控制系统中,主节点须及时与上位 机进行通信,并发送命令到各个子节点,各个子节点能够及时地接收到系统命令,并进 行相应的动作。这就需要处理器具有较高的处理速度。 (2)系统设计的简洁性:在整个系统的设计过程中,在保证可靠性的同时应尽可 能的简化设计,系统出错的概率与系统使用的元器件数量和电路结构的复杂度成正比, 为使系统的可靠性和稳定性更高,应尽量选择内部集成度高的处理器。 (3)通信接口:由于节点之间通过 CAN 总线通信,故应选择支持通信接口扩展或 自带 CAN 控制器功能的微控制器。 (4)系统成本:由于系统扩展后子节点数目较多,故应选择成本不宜过高的微控 制器。 结合以上几个方面,本课题选用了意法半导体公司推出的新型基于 ARM 内核的15 杭州电子科技大学硕士学位论文STM32 系列 32 位微处理器中适于电机控制的“增强型”微处理器 STM32F103ZET6, 其内部集成了丰富的电机接口控制电路,低功耗,高性能,低成本。很好地满足电机控 制领域的要求,是电机控制系统主控制器较好的选择。 该微处理器主要优势如下: (1)采用高性能、低成本、低功耗的 ARM Cortex-M3 内核[21],可与所有的 ARM 工具及软件兼容,有利于项目的开发。 (2)丰富的外设接口[22]:包括 3 个 12 位 ADC(1μs 的转换时间) 、5 个 UART、3 个 SPI(18MHz 主/从控制器) 、2 个 I 2C 接口、1 个 USB 接口、1 个 CAN 接口、DMA 通道等,其中利用串口可以进行上下位机的通信,利用 CAN 接口可以组成分布式网络 等,这些都为后续系统扩展提供了不可或缺的条件。 (3)强大的定时器功能[23]:STM32 多达 11 个定时器,资源丰富,适合多种用途, 包含测量输入信号的脉冲宽度(输入捕获) ,或者产生输出波形(输出比较、PWM、嵌 入死区时间的互补 PWM 等) , 带有用于电机控制的 PWM 输出, 特别适合在电机控制场 合的应用,这就为子节点控制芯片的选取提供了强有力的条件。 (4)高效的中断处理配置[24]:芯片的 NVIC 可以配置 1~244 个物理中断及抢占式 优先级的数目可以综合配置到 255 个,支持中断尾链技术,其以最少的中断延迟提供高 性能的中断管理,选用 NVIC 可以大大降低芯片频繁进入中断的系统开销。 (5)杰出的功耗管理[25]:STM32 的高性能并非意味着高功耗。STM32 经过特殊处 理,针对应用中三种主要的功耗需求进行优化,这三种能耗需求分别为运行模式下的高 效率的动态耗电机制、待机状态时极低的电能消耗和电池供电时的低电压工作能力。 (6)易于开发的固件函数库[26]:STM32 通过采取创新的设计方法,把各个外设封 装设置成标准库函数的方式,屏蔽了底层的硬件驱动函数细节,这样就能使开发人员轻 松方便地完成产品开发,缩短系统的开发时间。3.3 系统通信方案设计系统设计中需要选择合适的总线来实现上位机与下位机、 下位机各个节点间的通信 功能,总线选择的合适与否是系统设计成败的关键因素。下面通过对几种常用的串行总 线进行比较,从而确定本次设计中所选用的通信总线。 3.3.1 几种串行通信总线的介绍 (1)异步串行通用数据总线 UART(Universal Asynchronous Receiver/Transmitter) 该总线实现双向通信,发送和接收为全双工方式。UART 在仪器仪表设计和嵌入式 系统中,常用来与 PC 机进行通信[27]。 UART 是一大类异步通信的总称。若与合适的电平转换和驱动电路连接,可以构成 某一串行总线。如加上 RS232 驱动器,RS485 驱动器,RS442 驱动器,则可构成 RS232 总线,RS485 总线,RS442 总线[28]。16 杭州电子科技大学硕士学位论文UART 的通信速度: 微控制器 (CPU) 中 UART 的通信速度范围为几百 b/s 至 1.5Mb/s。 (2)串行同步通信总线 I 2C (Inter-Integrated Circuit) 由 Philips 公司开发, 用于实现微控制器及外围设备间的通信。 该总线控制方式简便 易行,接口线数少,通信速率较高。 实现半双工通信。 有两根信号线: 串行时钟线 (SCL) 、 I 2C 总线采用多主方式工作, 串行数据地址线(SDA)[29]。I 2C 的通信速度: I 2C 总线从最高位开始进行数据传输。在低速状态时,通信速率为 0~100kb/s;快速状态时,通信速率为 400kb/s;高速状态时,通信速率为 3.4Mb/s。 (3)SPI(Serial Peripheral Interface)总线 SPI 是由 Motorola 公司推出的一种高速、全双工同步串行接口。该总线大量用在与E 2 PROM 、ADC、FLASH、实时时钟、数字信号处理器、数字信号解码器和显示驱动器之类的慢速外设组件通信中。需要四根信号线(不包括地线) :主机输出/ 从机输入 (MOSI) 、主机输入/ 从机输出(MISO) 、时钟信号(SCLK) 、从设备使能信号(CS) 进行通信。目前,越来越多的芯片上集成 SPI 协议,如:AT91RM9200 等[30]。 SPI 通信速度:波特率可高达 5Mb/s,具体速度大小由 SPI 硬件决定。Xicor 公司的 SPI 串行组件可达到 5Mhz 的传输速度。 (4)CAN 总线简介 CAN(Controller Area Net,控制器局部网)总线是一种有效支持分布式控制和实 时控制的串行通信总线[31]。CAN 是 20 世纪 80 年代德国 Bosch(博世)公司为解决众多 测量部件间的数据交换问题而开发的,最初应用于汽车电子控制网络。1991 年 9 月, NXP(原 Philips 半导体)半导体公司制定发布 CAN 技术规范:CAN2.0A/B。1993 年 11 月, ISO 组织正式颁布 CAN 国际标准 ISO11898 (高速应用, 数据传输速率小于 1Mbit/s) 和 ISO11519(低速应用,数据传输速率小于 125kbit/s) 。由于 CAN 总线具有极高的可 靠性,优良的错误处理机制,极强的抗干扰能力等优越特性,已普遍应用于电力、石化、 冶金、航天、汽车、军事装备、医疗电子等领域[32]。 CAN 总线特点[33]: ①可靠性高:CAN 总线采用二线差分传输信息。CAN 总线收发器发送和接收信息 通过 CANH、CANL 两根信号线的电位差变化实现,抗共模干扰能力极强,大大提高了 数据传输的可靠性。 ②通信方式灵活:CAN 总线采用多主方式工作。网络上的任意节点可以随时向其 他任何节点发送信息,实现一点对多点、点对点、全局广播的方式来发送和接收数据。 ③总线利用率高:CAN 总线的信息传输方式为:信息生产者―使用者。总线上传 输的报文不同于其他总线根据发送器或接收器的 ID 来识别节点地址。CAN 总线由信息 标识符 ID 来代表相关信息, 总线上的所有节点根据报文 ID 来决定是否接收或屏蔽该报 文。17 杭州电子科技大学硕士学位论文④采用非破坏性总线仲裁技术:CAN 总线上的节点可根据实时需要划分不同的优 先级,当两个或者更多的节点发送信息时,优先级低的节点主动停止信息发送,优先级 高的节点不受影响继续发送信息。这样就有效地避免了总线的冲突。 ⑤数据传输距离远,速率高:CAN 直接通信距离可达 10km/5kbps,通信速率最高可 达 1Mbps/40m。总线上的节点数理论上可达 2000 个,实际节点数可达 120。 ⑥信息帧类型丰富:CAN 总线信息帧具有四种信息帧类型:数据帧、远程帧、错 误帧、超载帧(在第五章中将详细介绍这四种帧类型) 。CAN 通信中,信号传输采用短 帧结构,每一帧中有效数据为 8 个字节以内,在电磁干扰较强的环境中,短信息帧抗干 扰能力更强。 ⑦故障处理能力强:CRC 校验以及其他检验措施,使得 CAN 总线具有强检错纠错 能力,并具备自动识别和自动重发功能。 ⑧支持“热插拔” :即总线不关闭也可任意拆除和挂接节点,系统的可扩展性强, 灵活性性好。 ⑨通用性好:CAN 总线通信协议具有统一的标准和规范,因此各设备之间的互操 作性强。 ⑩通讯介质价格低廉:可采用双绞线实现通信传输。 3.3.2 通信总线性能比较 现将几种串行总线的性能[34]列表比较,如表 3.1 所示。总线 类型 UART SPI I2C CAN 信号 线数 2 3 2 2/1 通信 类型 异步 同步 同步 异步 表 3.1 几种串行总线性能的比较 总线 后期 节点 数据 允许 支持 利用 维护 错误 速率 节点 多主 率 成本 影响 (b/s) 总数 整个 3K-4M 2 否 低 较高 网络 整个 &1M &10 否 低 较高 网络 &3.4M &10 是 高 低 无 是 高 低 无 20K-1M 120 通信 距离 (m) 1.5@128Kb/s &3 &3 40@1Mb/s由表 3.1 可知,要求通信信号线数少,支持多主方式,总线利用率高,后期维护成 本低,数据传输速率快、系统扩展性良好的情况下,显然,CAN 总线是下位机节点间 通信的最好选择。 3.3.3 系统通信总线的确定 (1)选用 RS232 串口通信实现上位机和下位机主节点的数据信息传输。本设计主 要针对仪用仪表等中小功率的步进电机定位系统,一方面,上位机和下位机主节点距离 较近, 属短距离通信, 而 RS232 在短距离通信中应用广泛, 且硬件设计简单, 另一方面, 系统的子节点均具有智能性,数据信息处理能力强,传输速度快,此时,上位机及主节 点的任务会大大减轻,不用时时监控各个子节点执行模块的运行,故上位机和主节点的18 杭州电子科技大学硕士学位论文选用 RS232 总线实现数据传输即可满足要求。因此,从实际数据传输速度需求、成本、 设计开发的难易度上考虑 RS232 总线是较好的选择。 (2)下位机选用 CAN 总线实现各个节点的通信。CAN 总线具有可靠性高、通信 方式灵活、总线利用率高、采用破坏性总线仲裁技术、可实现高速率远距离的传输、故 障处理能力强、通用性好、通信介质价格低廉等优势,从可靠性、通用性、可扩展性、 成本等方面考虑,选取 CAN 总线是正确的选择。3.4 系统总体框架由第二章讨论可知,本文采用分布式架构,系统总框架如图 3.1 所示。 上位机采用 LabWindows/CVI 编写设计良好的人机界面。 下位机系统为 CAN 总线连接的主节点和若干个智能电机控制子节点。主节点和子 节点均采用高性能的 STM32F103ZET6 作为处理核心,主节点负责协调指挥各个子节点 完成任务的统一调度管理、指令下达和数据传输等工作,子节点则根据下行命令对电机 做出相应的驱动控制。整个系统具有传输速率高、 兼容性好、 容错能力强及扩展性好 等优点。主节点 RS232 接口 主控节点 CAN 接口 RS232 总线 RS232 接口 上位机 (PC 机) 下位机系统 CAN 总线 CAN 接口 智能 步进电机 驱动模块 1#步进电机 子节点 1 CAN 接口 智能 步进电机 驱动模块 2#步进电机 子节点 2 图 3.1 系统总框架上 位 机 系 统CAN_H CAN_L CAN 接口 智能 步进电机 驱动模块 n#步进电机 子节点 n3.5 本章小结本章对系统总体方案进行了确定,从总体方案的设计要求,主控制器的选择,到串 行通信总线的选取均做了详细介绍,CAN 总线的优越性及应用是本设计的亮点。本章 的最后给出了系统的总框架,下一章将从硬件部分对系统设计展开叙述。19 杭州电子科技大学硕士学位论文第4章系统硬件设计前面几章对系统的总方案的确定进行了讨论, 本章将针对硬件电路设计中的关键点 进行阐述。4.1 主节点硬件设计主节点主要由微控制器 MCU,复位电路,时钟电路,调试接口电路,电源模块, 串口通信模块,CAN 通信模块等外围电路组成。主节点功能框图如图 4.1 所示。电源模块 时钟电路 串口模块 微控制器 STM32F103ZET6 CAN 接口 JTAG 接口复位电路 图 4.1 主节点功能框图本课题中, 主节点任务如下: (1) 它通过 RS232 接口接收上位机下达的指令和数据, 并根据任务需要通过 CAN 接口模块和 CAN 总线下传给某个子节点, 由相应的子节点功 能模块完成相应的任务; (2)由各个子模块产生的数据和请求信息等,通过 CAN 接口 模块和 CAN 总线传送到主节点,再由主节点分类识别并根据需要将有关的数据和请求 信息通过 RS232 接口上传给上位机; (3)各个子节点需要协调工作时,由主节点完成。 4.1.1 主节点硬件电路 如图 4.2 所示为主节点硬件电路图。 采用 STM32F103ZET6 作为主节点的主控制器, 通过 RS232 通信模块与上位机进行信息交换,通过 MAX3232 实现电平转换;主节点通 过 CAN 模块与各子节点进行通讯,使用 CAN 收发器 SN65HVD230 来实现数据收发 (CAN 通信的具体实现将在 4.2.2 小节中讲述) ;本次设计 PCB 绘制时主节点微处理器 中未使用的引脚均用排针引了出来,极大的方便了系统以后的扩展。此外,主节点微控 制器的外围电路在设计中应注意以下几个问题: ( 1 )启动模式的选择 [35] : STM32F10x 处理器共有三种启动模式,通过跳线对 BOOT1,BOOT2 进行不同方式的连接来实现不同的启动模式。它们分别为: 从主闪存存储器启动:即主闪存存储器被映射到启动空间(0x) ,但仍然 能够在它原来的地址(0x)访问它,闪存存储器的内容可以在两个地址区域访 问,0x 或 0x。 从系统存储器启动:系统存储器被映射到启动空间(0x) ,但仍然能够在20 杭州电子科技大学硕士学位论文它原有的地址(0x1FFFF000)访问它。 从内置 SRAM 启动:只能在 0x 开始的地址区访问 SRAM。 由于使用 JLINK 调试下载程序,故将启动模式设置为从主闪存启动模式,即 Flash 启动。 (2)时钟源的选择:系统时钟 SYSCLK 由三种不同的时钟源来驱动:HSI 振荡器 时钟,HSE 振荡器时钟,PLL 时钟。系统选用低速外部晶体振荡器 32.768KHz 来驱动 实时时钟(RTC-CLK) ,用 15pF 电容匹配;另选用 8MHz 的无源晶振驱动系统时钟 SYSCLK,匹配电容为 15pF。为使电路易起振,在 8MHz 无源晶振两端并联了 1M 的电 阻,这样可使芯片内部的起振电路中,反相器处于线性放大状态。 (3)复位电路的设计:系统采用 10K 电阻和 100nF 电容构成 RC 上电复位电路, 有效复位时间约为 3.6ms,符合系统复位要求。3.3V P1 U1 JNTRST JTDI JTMS JTCK JTDO PF8 PF9 VBAT USART1_TX USART1_RX NRST WKUP OSC_IN OSC_OUT 25 34 35 140 139 136 137 32 31 33 30 R14 0 3.3V DGND 1 2 3 4 PF6 PF7 18 19 D2 20 D3 21 D4 6 VBAT Rd1 D1 470R Rd2 470R Rd3 470R Rd4 470R 3.3V R10 10K S4 RESET C10 100nF 3.3V R11 10K S5 WAKEUP GND U3 D GND VCC R RS CANH CANL Vref 8 7 6 5 GND 3.3V R12 10K S6 TAMPER GND GND R13 0 R15 120 CAN1 1 1 2 2 3.3V 3.3V 2 1 Header 2 +5V S R0 470R Power D0 GND +5V' +5V GNDR5R3R2JTAG接口2 4 6 8 10 12 14 16 18 20Vsupply Vref GND1 nTRST GND2 TDI GND3 TMS GND4 TCK GND5 RTCK GND6 TDO GND7 nSRST GND8 DBGRQ GND9 DBGACK JTAG10K 10K 10K 10K 10K 1 3 134 5 7 110 9 11 105 0R 13 R6 15 RESET 109 17 19 133GNDR4R1101 102GND C4 C5 GND GNDC6 15pF 15pF C7 C88MHz R7 1M Y02 23 249 10 11 125 43 1STM32F103ZET6TAMPER CAN_TXC2C2+R2out T2in T1in R1outC1C1+MAX323215pF 15pF C9 JP1 6 4 2Y01 32.768KHz8 9OSC32_IN OSC32_OUTCAN_RX I2C1_SCL I2C1_SDAR2in T2out R1in T1outGND V-V+ VCCGND GND 3.3V R9 10K 3.3VSN65HVD230138 5 3 1 R8 10K 488 7 13 1415 62 16BOOT0 BOOT1Vref+ VrefVDDA VSSAVREF+ VREFVDDA VSSACAN接口VDDA L2 0R VREF+ C12 100nFC2 C1 100nF100nF 100nF3.3V L1Vss_1 Vss_2 Vss_3 Vss_4 Vss_5 Vss_6 Vss_7 Vss_8 Vss_9 Vss_10 Vss_11C3Vdd_1 Vdd_2 Vdd_3 Vdd_4 Vdd_5 Vdd_6 Vdd_7 Vdd_8 Vdd_9 Vdd_10 Vdd_110R C11 100nF DGNDGND71 107 143 38 16 51 61 83 94 120 130GND1 6 2 7 3 8 4 9 5GND RS232 DB9-female3.3V C54 100nF C55 100nF C56 100nF C57 100nF C58 100nF C59 100nF C60 100nF注:此处为DB9公头,孔排列顺口C50 100nFC51 100nFC52 100nFC53 100nF图 4.2 主节点硬件电路图4.1.2 JTAG 调试电路接口 JTAG(Joint Test Action Group 联合测试行动小组)是一种国际标准测试协议[36] (IEEE 1149.1 兼容) ,主要用于芯片内部测试。 目前多数高级器件都支持 JTAG 协议,如 DSP、FPGA 器件等。JTAG 的编程方式 为在线编程, 改变了传统生产流程中先对芯片进行预编程实现, 再装到板上运行的现状, 流程简化为先将器件固定到电路板上, 再使用 JTAG 编程, 大大加快了工程开发的进度。2172 108 144 39 17 52 62 84 95 121 1313.3V 杭州电子科技大学硕士学位论文通常所说的 JTAG 分两类, 一类用于用于 Debug; 另一类用于测试芯片的电气特性, 检测芯片是否有问题。一般支持 JTAG 的 CPU 内部均包含这两个模块[37]。 标准 JTAG 接口为 4 线:TMS、 TCK、TDI、TDO,即模式选择、时钟线、数据输 入线、数据输出线。本课题选用的 STM32F103ZET6 是 20 针 JTAG 接口,各接口定义 如下:1.Vref:目标板参考电压,接电源;2.Vsupply:接电源;3.nTRST:测试系统复位信 号;4、6、8、10、12、14、16、18、20:均接地;5.TDI:测试数据串行输入;7.TMS: 测试模式选择;9.TCK:测试时钟;11.RTCK:测试时钟返回信号;13.TDO:测试数据 串行输出;15.nSRST:目标系统复位信号;17、19 未连接。其硬件连接图如图 4.3 所示。3.3VRJ1RJ2RJ3RJ4RJ5J1 Vref Vsupply nTRST GND1 TDI GND2 TMS GND3 TCK GND4 RTCK GND5 TDO GND6 nSRST GND7 DBGRQ GND8 DBGACK GND9 JTAG GND 2 4 6 8 10 12 14 16 18 2010K 10K 10K 10K 10K 1 JNTRST 3 JTDI 5 JTMS 7 JTCK 9 RJ6 11 0R JTDO 13 RESET 15 17 19图 4.3JTAG 调试电路4.2 通信电路设计4.2.1 串口通信模块 RS232 标准是美国 EIA(电子工业联合会)与 BELL 等公司一起开发并于 1969 年 公布的通信协议。它适合于数据传输速率在 0~20000bps 范围内的通信。目前,RS232 已在微机通信接口中广泛采用,它不仅已被内置于每一台计算机,同时也已被内置于从 微控制器到主机的多种类型的计算机及其相连接的设备[38]。 (1)RS232 的电气特性 EIA-RS232C 对电气特性做了如下规定: 1) 对于 RXD、TXD:逻辑“1”表示电压范围:-3V~-15V;逻辑“0”表示电压范 围:+3V~+15V。 2) 对于 DCD、 DTR、 DSR、 RTS、 CTS 等控制线: 信号有效电压范围为: +3V~+15V; 信号无效电压范围为:-3V~-15V。 3) EIA-RS232C 与 TTL 电平的转换:EIA-RS232C 的逻辑状态用正负电压表示,而 TTL 的逻辑状态用高低电平来表示。为了同计算机接口或终端的 TTL 器件连接,必须 在二者之间实现电平的转换。实现方法有分立元件,也有集成芯片。目前较为广泛使用 的是集成芯片,如 MAX232、MAX3232 等。22 杭州电子科技大学硕士学位论文(2)RS232 的机械特性 RS232C 的连接器一般有 DB-9、 DB-15、 DB-25 三种。 本文采用的是 DB-9 连接器, 其各个引脚的定义如下表 4.1 所示。表 4.1 RS232 各引脚定义 引脚号 1 2 3 4 5 6 7 8 9 功能说明 数据载波检测 接收数据 发送数据 数据终端准备好 信号地 数据设备准备好 请求发送 清除发送 振铃指示 缩写 DCD RXD TXD DTR GND DSR RTS CTS BELL(3)串行通信协议 串行通信的协议要求通信双方共同遵守对数据格式、同步方式、纠错方式、传送速 度、传送步骤以及控制字符定义等做出的统一规定。一般需设定一下几部分[39]: ①选择串口号。 ②选择数据位的长度。 ③选择停止位长度。 ④选择奇偶校验位。 ⑤设定波特率。 给出上位机和主节点的串口通信连接图如图 4.4 所示。 由于微处理器侧是 3.3V 系统, 其输出逻辑状态以高低电平表示,而 PC 机串口为 RS232 电平,其输出逻辑状态以正负 电压表示,若想实现两者的连接,必须实现两者电平的转换。本设计中采用 MAX3232 芯片来实现双电平的转换。3.3V U2 C21 100nF 1 3 4 5 11 12 10 9 C1+ C1C2+ C2T1in R1out T2in R2out MAX3232 VCC V+ VGND T1out R1in T2out R2in 16 2 6 C25 15 14 13 7 8 C23 100nF 100nF C24 100nF GND GND RS232 5 9 4 8 3 7 2 6 1C22 USART1_TX USART1_RX100nFPA9 PA10图 4.4 串口通信硬件连接图23 杭州电子科技大学硕士学位论文4.2.2 CAN 通信模块 1. CAN 通信实现方案的选择 基于 CAN 总线的应用网络中 CAN 节点的构成可以有多种实现方案,如: (1)单片 机+CAN 控制器+CAN 收发器; (2)内部自带 CAN 控制器的单片机+CAN 收发器; (3) 在台式计算机中安装 CAN 接口卡; (4)带有 CAN 适配器的嵌入式 PC 机等。因本设计 中主节点和子节点的控制芯片均采用 STM32F103ZET6,其内部自带 CAN 控制器,为 缩短开发周期,选取外加 CAN 收发器 SN65HVD230 来构成 CAN 接口通信模块。 2. CAN 收发器 SN65HVD230 SN65HVD230 是德州仪器公司生产的 3.3VCAN 总线收发器,该器件适用于较高通 信速率、良好抗干扰能力和高可靠性 CAN 总线的串行通信。其引脚排列及逻辑功能如 图 4.5(a)(b)所示。图 4.5(a) SN65HVD230 的引脚排列图 4.5(b) SN65HVD230 逻辑功能图SN65HVD230 引脚功能如表 4.2 所示:表 4.2 SN65HVD230 引脚介绍 引脚序号 1 2 3 4 5 6 7 8 引脚名称 D GND Vcc R VREF CANL CANH Rs 引脚功能描述 CAN 控制器发送数据输入端 接地端 接+3.3V 电源电压 CAN 总线接收数据输出端 参考电压输出端 低电平 CAN 电压输入/输出 高电平 CAN 电压输入/输出 工作方式选择端SN65HVD230 可用于较高干扰环境下。该器件在不同的速率下均有良好的收发能 力,其主要特点[39]如下: (1)与 ISO11898 标准完全兼容; (2)输入阻抗高,低至 370uA 低电流等待模式; (3)理论上允许接入节点数可达 120 个,最高可达 1Mb/s 的信号传输速率; (4)具有开路失效保护、热保护、抗瞬间干扰、抗宽范围共模干扰、抗电磁干扰 等功能。 SN65HVD230 具有高速、 斜率和等待 3 种不同的工作模式。其工作模式可通过控制24 杭州电子科技大学硕士学位论文Rs 引脚的电平实现。如表 4.3 所示。 (1)由表 4.3 可知,引脚 Rs 接逻辑高电平时,CAN 收发器处于等待模式,为待机 状态。收发器发送功能处于关断状态,接收功能处于有效状态。此时,接收器对于总线 来说是隐性的。 (2)引脚 Rs 接逻辑低电平时,CAN 收发器处于高速模式。此时,CAN 的通信速 率达到最高,内部输出没有上升斜率和下降斜率的限制,此方式下,最大速率的限制与 电缆长度相关。 (3)某些场合考虑到系统成本等问题时会采用非屏蔽电缆,此时,CAN 收发器必 须满足电磁兼容等条件。为了减少因电平上升过快而引起的电磁干扰,引入斜率控制方 式,即在 Rs 引脚上串联斜率电阻器(0~100K?)来实现[40]。表 4.3 SN65HVD230 的工作模式选择 VRS(Rs 引脚的电平) 工作模式 VRS ? 0.75VCC 等待模式 10K? 至 100K? 接地 斜率控制模式 VRS ? 1V 高速模式SN65HVD230 的控制逻辑如下表 4.4 所示,采用正逻辑控制方式,有接收和发送两 种方式。表 4.4 SN65HVD230 的控制逻辑 发送 输入 D L H OPEN X RS VRS ? 1.2V X VRS ? 0.75VCC 输出 CANH H Z Z Z CANL L Z Z Z 总线 状态 显性 隐性 隐性 隐性 差分输入 VID ? 0.9V 0.5V&VID&0.9V VID ? 0.5V OPEN 接收 RS X X X X 输出 R L ? H H注释:Z 表示高阻状态,?表示未定状态,X 表无关。3. CAN 通信硬件电路GND GND U3 CAN_TX CAN_RX PB9 PB8 R31 0 3.3V 1 2 3 4 D GND VCC R RS CANH CANL Vref 8 7 6 5 R32 0 R33 120 1 2 1 2SN65HVD230CAN接口图 4.6 CAN 通信硬件电路CAN 通信模块工作原理: STM32F103ZET6 内部自带 CAN 控制器, CAN_TX 为 CAN 控制器输出引脚,CAN_RX 为 CAN 控制器的接收引脚。 CAN_TX 与 CAN 收发器 SN65HVD230 的数据输入端 D 连接,可将此 CAN 节点发送的数据信息传送到 CAN 网 络中,CAN_RX 与 SN65HVD230 的数据输出端 R 连接,用于此 CAN 节点接收数据。25 杭州电子科技大学硕士学位论文CAN 收发器工作方式选择端 Rs 通过 0? 的电阻接地,从而使收发器工作在高速模式, 通信速率达到最高。 在通信电缆中, 阻抗不连续或阻抗不匹配均会导致信号反射, 为保证通信正常, CAN 总线两端必须接两个 120? 的电阻来匹配总线阻抗。4.3 子节点硬件设计子节点的主要功能是在完成通信协议解析的基础上, 根据上位机发送的命令实现对 步进电机的精确控制。其功能框图如图 4.7 所示,主要包括子节点微控制器模块、CAN 通信接口模块、智能电机驱动模块。其中,子节点的控制芯片和 CAN 接口模块与主节 点一致,故此处不再赘述。本节将详细讲解智能电机驱动模块。电源模块复位电路 JTAG 接口微控制器 STM32F103ZET6电机驱动模块 CAN 接口时钟电路 图 4.7 子节点功能框图4.3.1 智能子节点硬件电路 如图 4.8 所示,为缩短开发时间,智能子节点主控制器同样采用 STM32F103ZET6 芯片作为主控制器。 CAN 通信部分同主节点一致,选取外加 CAN 收发器 SN65HVD230 来构成 CAN 接口通信模块。电机驱动部分采用 THB7128 驱动芯片,该驱动芯片控制简 便,细分数可高达 128,有效地提高了步进电机的定位精度。电源部分采用开关电源供 电达到步进电机的额定电压 12V,并通过稳压芯片来保证系统各模块供电稳定。 智能子节点工作原理:子节点的微控制器通过 CAN 接口接收并解析主节点发送的 命 令 , 将 命 令 通 过 单 片 机 的 IO 口 发 送 给 电 机 驱 动 模 块 。 单 片 机 引 脚 TIM3_CH1,PE11,PE12,PE13,PE14,PE15 输出信号至电机驱动芯片 THB7128 的脉冲信 号输入端 CLK、正反转信号控制端 CW/CCW、使能端 ENABLE、细分模式控制端 M1、 M2、M3。其中,TIM3_CH1 通过输出 PWM 来驱动驱动芯片的时钟控制端 CLK,其他 引脚则通过高低电平来驱动电机执行相应的动作。 THB7128 的输出端 OUT1A、 OUT2A、 OUT1B、OUT2B 分别接入两相混合式步进电机的 A+、B+、A-、B-端,接线时尤其注 意电机各相正负端子的连接,若接线错误,将会损坏步进电机,影响系统的正常运行。 在电机驱动模块内部,采用细分、电流 PWM、恒转矩相结合的驱动技术,很好地改善 了步进电机的运行品质,使电机能够平稳的微步距增量运行。26 杭州电子科技大学硕士学位论文3.3VR40R38R37R36R39DGNDCAN接口GND U8 1 2 3 4 D GND VCC R RS CANH CANL Vref 8 R46 7 6 5 0 R47 120 CAN3 1 1 2 2 J3STM32F103ZET6134 JNTRST 110 105 109 133 JTDI JTMS JTCK JTDO VBAT 101 102 USART1_TX USART1_RX NRST WKUP TAMPER OSC_IN CAN_TX CAN_RX I2C1_SCL I2C1_SDA 140 139 136 137 VBAT 6 25 34 35 3.3V 3.3V R45 02 4 6 8 10 12 14 16 18 20 GNDVsupply Vref GND1 nTRST GND2 TDI GND3 TMS GND4 TCK GND5 RTCK GND6 TDO GND7 nSRST GND8 DBGRQ GND9 DBGACK JTAG1 3 5 7 9 11 13 R41 15 RESET 17 19SN65HVD230R48 3.3V R49 S11 WAKEUP GND GND 3.3V R50S10 RESET C27JTAG接口GND C23 Y22 R42S12 TAMPER GND23GND GNDC24 C25 Y2124 OSC_OUT TIM3_CH1 PE11 PE12 PE13 PE14 PE15 Vref+ VrefVDDA VSSA 42 64 65 66 67 68 C28 C29D12 S3 U9 GND VM 14 3 2 19 16 17 18 R51 3K3 RP2 VREF 5K C31 104 C32 200pF R52 330 GND 5 4 VM CLK CW/CWW ENABLE M1 M2 M3 VREF OSC112V8 9OSC32_IN OSC32_OUT+5V VCC OUT2B OUT1B OUT2A OUT1A NFB NFA SGND PGND GND 15 7 9 11 13 8 12 6 10 1 C30 GND J5 OUT2B OUT2A OUT1B OUTIA GND 12V 1 2 3 4 5 6GND GND R44C26 JP3 6 4 2 5 3 1 R43 138 BOOT048 BOOT1 U7VssVddVREF+ 32 VREF31 33 30 VDDA VSSA3.3V +5V 3.3V GND Vss包括引脚71、107、143、38、16 、51、61、83、94、120、130 Vdd包括引脚72、108、144、39、17、52、62、84、95、121、131RO11ARO11BRO12A3.3V L5 0RVDDA L6 0R C34VREF+ C33THB71283.3V C(11个) 100nFDGND电机驱动 模块Rsense11Rsense12GND图 4.8 智能子节点硬件电路图4.3.2 电机驱动芯片 本设计选用 THB7128 驱动芯片。THB7128 是北京海华博远科技发展有限公司委托 SANOYO Semiconductors 公司生产的一款高细分、大功率两相混合式步进电机驱动}

我要回帖

更多关于 步进电机转动角度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信