《基于MCU控制的步进电机驱动器设计(共49页).doc》由会员分享,可在线阅读,更多相关《基于MCU控制的步进电机驱动器设计(共49页).doc(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上摘 要为了减小步距角, 提高分辨率, 增加步进电动机运行的平稳性, 提出了细分驱动的解决方案;采用线性与正弦相叠加的电流细分方案,以高速、高性能C8051F020单片机为核心,结合步进电机驱动芯片L297298,设计出步进电机的斩波恒流细分驱动控制系统。此驱动系统的电路结构简单,由于步进电机运行所需的步进脉冲主要有L297产生的,大大降低了MCU与程序设计的负担。实际运行表明,步进电机运行稳定,具有步距角小、转矩恒定、功耗低等优点,提高了定位准确度,达到精密控制的目的。关键字:步进电机 C8051F020 细分驱动 L297298AbstractIn order to
2、 improve resolution of step motor control system and eliminate the mechanical resonance caused by low frequency, a step motor control system based on micro-step technology was presented. By applying linearity adding sin micro current step method with high speed and performance microprocessor C8051F0
3、20 as the kernel,combining with blending step motor driving chip L297298,the driving control system of step motor of switch-mode and constant current was designed. The circuit diagram of the control system is simply, due to the step pulse for the step motor run demand was produce by L297, reduce the
4、 burden of MCU and programmer. The experiment shows that the control system runs stably with the merit of little stepping angle unvaried torque and low power consumption and has the higher precision in the running of step motor. Keywords: step motor C8051F020 fine driving L297298目录专心-专注-专业第一章 引言11步进
5、电机的概述在电气时代的今天,电动机一直在现代化的生产和生活中起着至关重要的作用。无论是在工农业生产还是在日常生活中,都大量使用着各种各样的电动机。电动机控制技术的发展得力于微电子技术、电力电子技术、传感器技术、永磁化技术、自动控制技术微机应用技术的最新发展成就。步进电机作为数字式执行元件,是一种将离散的电脉冲信号转化成相应的角位移或线位移的电磁机械装置。步进电机每接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度称为。步距角。因此,步进电机又称作脉冲马达。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的。同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调
6、速的目的。步进电机具有结构简单,转子惯量底,定位精度高,无累积误差,计算机接口方便,控制简单等特点。实际操作时不受电源电压,负载,环境,温度的影响能够实现快速启动、制动和反转。步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统和精密机械等领域。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。随着数字技术和计算机的发展,研究步进电机驱动电路,使步进电机的控制更加简便,灵活和智能化,使其应用更加广泛。步进电机主要分为包括磁阻反应式步进电机(VR)、永磁式步进电机(PM)、和混合式步进
7、电机(HB)等。永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;磁阻反应式结构最为简单,材料费用低,制造方便, 因此,反应式电机的综合成本低,目前在国内各种数字控制设备中用得也最多。反应式步进电机一般分为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩;混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。上个世纪就出现了步进电动机, 步进电机的发展除了在加工工艺和精度上有
8、变化, 主要是在步时电机的控制和驱动上的发展。针对步机电机的性能优化主要在两个方向, 一是使步机电机具有良好的加减速过程, 保证其在较高运行频率的加减速过程中不失步不过冲; 二是运用步进电机的细分技术, 保证步进电机具有良好的精度和运行的平稳度。随着微处理机技术的发展, 在这两个方向的研究和应用越来越广泛。12步进电机的驱动技术及发展1.2.1步进电机驱动技术步进电机驱动技术的发展十分迅速。我国步进电机应用起步较早,但驱动技术的发展相对滞后,成为制约步进电机应用与发展的主要因素。最早应用的但电压串电阻等驱动方式,驱动电路中分立元件多,可靠性差,各厂家的技术规范和生产工艺等难以达到统一的标准,已
9、逐渐被淘汰。近代步进电机的驱动技术的主流是。电流型。,常规的控制技术仅对绕组的电流进行通断控制,在转子齿数一定的条件下,增加相数才能提高电机的分辨率。运用电流波形技术可方便地实现步进电机细分驱动。步进电机的细分驱动技术,从20世纪70年代开始研究,逐步发展到90年代完全成熟。我国的细分驱动技术的研究,起步时与国外相差无几。细分驱动技术的广泛应用,使得电机的相数不受步距角的限制,为产品设计带来方便。目前步进电机的驱动技术上,采用斩波恒流驱动、细分驱动以及最佳升降频控制,大大提高步进电机 运行的快速性和运转精度,使步进电机在中、小功率应用领域向高速且精密化的方向发展。在驱动电路中,目前较普遍采用的
10、功率场效应管(MOSFET),与现采用的大功率晶体管(GTR)相比有很多优点。性能更加优越的绝缘栅晶体管(IGBT)也已应用于高速型及较大功率的步进电机驱动电路中。而把IGBT驱动电路及保护电路都集成在一起的智能IGBT模块具有结构简单、性能稳定及运行可靠等优点,目前已开始应用于中、小功率的步进电机的驱动。1.2.2步进电机的驱动软件技术在微型计算机出现以前, 步进电机的控制完全由硬件实现。 比如环形分配器, 就是由多个标准数字集成电路按照逻辑真值表组合而成, 不同类型的电机、 不同的工作方式就需要有不同的环形分配器, 如果更换了电机类型或改变工作模式, 则整个硬件电路需要重新设计。 随着以M
11、CS-51 系列为代表的单片机的迅速普及, 基于软件为核心的通用环形分配器获得了广泛的应用, 此类环形分配器仅需要更换不同的软件即可适应各种电机, 而无需变更硬件, 具有极大的灵活性。 此外, 在步进电机的速度控制中, 我们寻求的最佳升降速曲线是根据步进电机的动力学特性及矩频特性得到的, 在数学上这种曲线是比较复杂的, 人们很难找到一种硬件电路来模拟它, 只能在一定频段内做一种大的近似来拟合。 现在。 我们可以通过软件编程来精确的模拟升降速曲线, 并且结合当前微型计算机的强大计算功能可实现步进电机的最优化控制。1.3步进电机的细分驱动技术随着步进电机在数控机械、自动化领域中的应用越来越广泛,对
12、小步距、低振动和低噪声的步进电机要求愈来愈迫切。步进电机细分驱动技术是70 年代中期发展起来的一种可以显著改善步进电机综合使用性能的驱动控制技术。1975 年美国学者T. R. F redrik sen 首次在美国增量运动控制系统及器件年会上提出了步进电机步距角细分的控制方法 2 。在其后的二十多年里, 步进电机细分驱动技术得到了很大的发展, 并在实践中得到广泛的应用。实践证明, 步进电机细分驱动技术可以减小步进电机的步距角, 提高电机运行的平稳性, 增加控制的灵活性等。步进电机的步距角公式 (1-1) 式中 Zr 为齿数 N 为拍数由式(1-1)看出,步距角的大小由电机自身参数Zr ,N决定
13、,受电机制造工艺限制,靠增加Zr和N来减小步距角收到一定的限制,此时必须通过改变电机驱动方式来获得更小的步距角。步进电机细分驱动技术可以大幅度减小步进电机的步距角,并且步距角越小,进入稳定区越容易,这样就增加了电机运行的平稳性,还可以减弱甚至消除电机的低频振荡和噪声,提高启动频率和高速下的转矩,同时也可以提高电机的定位分辨率与精度。第二章 基于单片机的二相步进电机细分驱动系统2.1步进电机的结构特点与工作原理通常步进电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该
14、磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。2.1.1混合式式步进电机的特点混合式步进电机既有反应是步进电机的高分辨率,每转步数比较多的特点;又有永磁式步进电机的高效率,绕组电感比较小的特点。从结构上看,它通常有多相绕组,它的定转子上开有很多齿槽,类似反应式步进电机。转子上有永磁铁产生的轴向磁场,这与永磁式步进电机相似。混合式步进电机也称为永磁感应式步进电机,即可作同步电机进行速度控制,也可以做步进电机进行位置开
15、环控制。混合式步进电机的典型结构如图2-1所示,它主要友定子和转子两部分组成。定子被分成若干个磁极,每个磁极上饶有励磁线圈,磁极末端有均匀的小齿。磁极线圈能以两个方向通电,对于二相混合式步进电机就形成A相和A相,B相与B相。转子由两段铁心及环形永久磁钢组成,两段铁心装在环形永久磁钢的两端,并且每段铁心的圆周上都均匀分布有一定数量的小齿,两段铁心的小齿相互错开半个齿距,且小齿的齿距与定子的齿距相同。环形永久磁钢轴向充慈,使得同一段铁心上的小齿都具有相同极性,而两块不同段铁心上的齿的极性相反。2.1.2混合式步进电机的基本工作原理混合式混合适步进电机的气隙磁动势由两部分组成:一是由永久磁铁产生的磁
16、动势;二是由定子绕组产生的磁动势。在每一个具体的磁极下,这种磁动势有时相加,有时相减,随交流绕组中通电的的电流方向变化。如图2-1所示的是一台四相混合式步进电机结构示意图。定子是四相八级,每个定子磁极上有5个小齿,转子上有50个小齿。从电机的某一端看,当定子的一个极上的小齿转子上的小齿重合时,相邻极上定转子的齿就错开1/4齿距。在图2-1中从I端看,磁极“1”和“5”下定转子齿轴线重合,“2”极下错开1/4齿距,“3”极和“7”极下则定子齿与转子槽重合。定子为四相绕组,驱动器供给同极性脉冲。这种情况与驱动器供给正负脉冲而采用两相绕组是完全相同的。当转子上没有磁钢或定子绕组不通电时,电机基本不产
17、生转矩,只有在转子磁钢与定子磁势相互作用下,才产生电磁转矩。当各相控制绕组中没有电流通过时,气隙磁动势尽有永磁钢的磁动势决定。如果电机的结构完全对称,各个定子磁极下的气隙磁动势将完全相等,电机无电磁转矩。因为永磁磁路是轴向的,在它的磁路上,总的磁导与转子位置无挂关。四相(二相)混合式步进电机可以在不同的通电方式下运行。当一相通电,例如当A相绕组通电时,转子的稳定平衡位置如图2-2所示。定子的半数磁极上有作用磁势,即“1”-“3”-“5”-“7”极,它们的极性为N-S-N-S。如图2-1所示的电机,每相邻两个定子磁极之间的齿距数为50/8=6+1/4若使转子偏离这一位置,如转子向右偏离了一个角度
18、,则定转子齿的相对位置及作用转矩的力矩方向如图2-3所示。可以看出,在不同端不同磁极的作用转矩都是同方向的都是使转子回到稳定平衡位置的方向,这是由于在电机两端,定子极性相同,转子极性相反,但相互错卡了1/4齿距,所以当转子偏离稳定平衡位置时,两端作用转矩的方向是一致的。同时可以清楚地看到,混合式步进电机的稳定平衡位置是:定转子的极性的极下磁导最大,而同极性的极下磁导最小。当定子各相绕组按A-B-C-D-A的顺序通电时,每改变一次通电状态,转子沿ABCD方向转过1/4齿距,即360/50*4=1.8度。当定子绕组按双四拍或单八拍方式通电时,没改变一次通电状态转子转过一个步距角,当通电状态的改变完
19、成一个循环时,转子转过一个齿距。混合式步进电机线圈电流出示的异极磁场作用磁钢产生的单极磁场,改变了每极磁场的分布,使磁极间产生了磁位差,该磁位差随定子通电相序同步变化,它作用于气隙基波磁导转矩,实现电机的步进运动。它以轴向磁场为基础,又受径向磁场的作用,是基于反应式电机的工作原理。由于混合式步进电机是基于反应转矩工作的,因此可把它看作是一台等效的反应式步进电机,与反应式步进电机的差别只是极齿下的磁势是异性磁势和单磁势的合成。2.2 C8051F020单片机2.2.1 C8051F020功能特点C8051F020完全集成的混合式信号系统级MCU芯片,具有64个数字I/O引脚。C8051F020使
20、用Silicon Labs的专利CIP-51微控制器内核,它与MCS一51指令系统完全兼容,可以使用用标准的ASM一51、C高级语言等开发编译程序,且CIP-51内核具有标准8052的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间8/4个字节宽的I/O端口。CIP-51内核采用流水线结构,与标准的8051 结构相比指令执行速度有很大的提高。C8051F020功耗低,供电电压为2.73.6V,典型工作电流10mA,并具有多种节电休眠和停机模式,全部I0、RST、JTAG引脚均允许5 V电压输人,该芯片在程序运行时
21、可实现内外部时钟的切换,这在低功耗应用系统中非常实用。C8051F020 MCU对CIP-51内核和外设进行了关键性改进,提高了整体性能。扩展中断系统向CIP-51提供22个中断源,允许大量的模拟和数字外设中断控制器。如图2-5所示 :C8051F005中单片机内含真正8路12位、10位或8位多通道输人ADC,带PGA和模拟多路开关;2路12位DAC(输出02.5 V的电压信号),具有可编程数据更新方式;2路电压比较器、电压基准和可编程增益放大器,它内置温度传感器(30),并具有5个捕捉比较模块的可编程计数器定时器阵列(PCA)、5个通用16位定时器和64个数字端口IO。该单片机带有I CSM
22、B Ixs、SPI、UART串行总线接口以及364k Flash存储器和2 304字节数据RAM,同时还具有片内电源监测、片内看门狗定时器及片内时钟源,C8051F020还在内部增加了复位源,从而大大提高了系统的可靠性。2.2.2 单片机最小系统介绍12位电压输出DAC每片C8051F020中都有两个片内12为dac。输出电压为0V到(VREF-1LSB),对应输入码为到。可以通过编写对应的寄存器来控制转换的进行。每个都具有灵活的输出更新机制,允许无缝的满度变化并支持无抖动输出更新,适合用于波形发生器应用,原理图如图所示。的DAC 的输出更新可以用定时器溢出事件触发。这一特点在用DAC 产生一
23、个固定采样频率的波形时尤其有用,可以消除中断响应时间不同和指令执行时间不同对DAC 输出时序的影响。在使用转换时要先进行基准电压设置电压基准电路为控制ADC 和DAC 模块工作提供了灵活性。有三个电压基准输入引脚,允许每个ADC 和两个DAC 使用外部电压基准或片内电压基准输出。通过配置VREF 模拟开关,ADC0 还可以使用DAC0 的输出作为内部基准,ADC1 可以使用模拟电源电压作为基准。定时器与定时器020内部的定时器是一个16 位的计数器/定时器,由两个8 位的SFR 组成:TL2(低字节)和TH2(高字节)。与定时器0 和定时器1 一样,它既可以使用系统时钟也可以使用一个外部输入引
24、脚(T2)上的状态变化作为时钟源。计数器/定时器选择位C/T2(T2CON.1)选择定时器2 的时钟源。清除C/T2 将选择系统时钟作为定时器的输入(由CKCON 中的定时器时钟选择位T2M指定不分频或12 分频)。当C/T2 被置1时,T2 输入引脚上的负跳变使计数器/定时器寄存器加1。定时器2 还可用于启动ADC 数据转换。定时器2 提供了定时器0 和定时器1 所不具备的功能。它有三种工作方式:带捕捉的16位计数器/定时器、自动重装载的16 位计数器/定时器和波特率发生器方式。通过设置定时器2控制(T2CON)寄存器中的配置位来选择定时器2 的工作方式。下面是定时器2 工作方式和用于配置计
25、数器/定时器的配置位的一览表:表2.1 定时器的工作方式定时器时020新扩展的定时器计数器,其功能原理与定时器完全相同。端口输入输出MCU 是高集成度的混合信号片上系统,有按8 位端口组织的64 个数字I/O 引脚(C8051F020/2)或32 个数字I/O 引脚(C8051F021/3)。低端口(P0、P1、P2 和P3)既可以按位寻址也可以按字节寻址。高端口(P4、P5、P6 和P7)只能按字节寻址。所有引脚都耐5V 电压,都可以被配置为漏极开路或推挽输出方式和弱上拉。端口I/O 单元的原理框图示于图。串口通信本系统的人机接口是基于串口通信的。利用C8051F020单片机的两个串口模块,
26、本文应用的是串口UART0。从而实现PC机对驱动系统的控制。UART0 是一个具有帧错误检测和地址识别硬件的增强型串行口。UART0 可以工作在全双工异步方式或半双工同步方式,并且支持多处理器通信。接收数据被暂存于一个保持寄存器中,这就允许UART0 在软件尚未读取前一个数据字节的情况下开始接收第二个输入数据字节。一个接收覆盖位用于指示新的接收数据已被锁存到接收缓冲器而前一个接收数据尚未被读取。对UART0 的控制和访问是通过相关的特殊功能寄存器即串行控制寄存器(SCON0)和串行数据缓冲器(SBUF0)来实现的。一个SBUF0 地址可以访问发送寄存器和接收寄存器。读操作将自动访问接收寄存器,
27、而写操作自动访问发送寄存器。UART0 可以工作在查询或中断方式。UART0 有两个中断源:一个发送中断标志TI0(SCON0.1)(数据字节发送结束时置位)和一个接收中断标志RI0(SCON0.0)(接收完一个数据字节后置位)。当CPU 转向中断服务程序时硬件不清除UART0 中断标志,中断标志必须用软件清除。这就允许软件查询UART0 中断的原因(发送完成或接收完成)图2-3 UART0原理框图UART0 提供四种工作方式(一种同步方式和三种异步方式),通过设置SCON0 寄存器中的配置位选择。这四种方式提供不同的波特率和通信协议。下面的表2.2 概述了这四种方式。表2.2 UART0 工
28、作方式方式同步性波特率时钟数据位起始/停止位0同步SYSCLK/128无1异步定时器1 或定时器2 溢出8一个起始位,一个停止位2异步SYSCLK/32 或SYSCLK/649一个起始位,一个停止位3异步定时器1 或定时器2 溢出9一个起始位,一个停止位2.3 功能介绍L297 是意大利SGS半导体公司生产的步进电机专用控制器,适用于双极性两相步进电机或单极性四相步进电机的控制,它由两个PWM斩波器来控制相绕组电流,实现恒流斩波控制以获得良好的转矩一频率特性,每个斩波器由一个比较器、一个RS触发器和外接采样电阻组成,并设有一个公用振荡器,向两个斩波器提供触发脉冲信号,如图1所示,频率,是由外接
29、16脚OSC的RC网络决定的,当时钟振荡器脉冲使触发器置电机绕组相电流上升,采样电阻的RS电压上升到基准电压 时,比较器翻转,使触发器复位,功率晶体管关断,电流下降,等待下一个振荡脉冲的到来。这样触发器输出的是恒频PWM 信号,调制L297的输出信号,绕组相电流峰值由 Vref确定。L298是内含两个H桥的高电压、大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动电压46 V、每相25 A及以下的步进电机。每个桥都具有一个使能输人端,在不受输人信号影响的情况下允许或禁止器件工作,每个桥的两个桥臂低端三极管的发射极接在一起并引出,用以外接检测电阻。它设置了一附加电源输人端,使逻辑部分在低电
30、压下工作。用L297输出信号可控制L298双H桥驱动集成电路,用来驱动电压为46 V、每相电流为25 A以下的步进电动机。L297也可用来控制由达林顿晶体管组成的分立电路,驱动更高电压、更大电流的步进电动机,此器件的特性是只需要时钟、方向和模式输人信号,相位是由内部产生的,因此可减轻微处理机和程序设计的负担。2.4步进电机的细分及其电流最佳设计2.4.1细分原理步进电机的运行需要各相电流满足一定的时序要求,而电磁力的大小与绕组通电电流的大小有关,如果绕组中电流不再是方波,而是一个分成n个台阶的近似阶梯波,电机每运行一个阶梯即转动一步。当转动n小步时,实际上相当于转过一个步距角,这就是所谓的细分
31、。以二相步进电机为例:式(2-1)、式(2-2)为A、B相电流公式,式(2-3)、式(2-4)则为分别的力矩。Ia = Im cos(2-1)Ib = Im sin (2-2)a = I m cos(2-3)b =Im sin(2-4)这里转矩常量,矢量合成式(2-3)、式(2-4)得到= (2-5)可见,细分前后合成力矩并没有变化,但是电机运行的平稳性却增加了。图的上半部分为整步运行下的A、B两相的电流图。可以看出1、2、3、4点的合成力矩相等,但是连续性不好,尤其在低频运行时会有明显的振动。而经过细分的则不同,如图1下半部分所示,将整步的一拍分成了四步来完成,即四细分。每一微步的电流合成大
32、小都一样,这样使得每一步过渡更加平稳,有效抑制了振动,并减少了失步。2.4.2 步进电机电流的非线性设计上述数学模型建立的电流,理论上实现了恒转矩细分。考虑到电机内部各个参数之间的非线性关系,这种方法只能解决运行的平稳性,不能解决等步距细分,因此必须精确这种非线性关系。(多层前向神经网络)具有很强的非线性映射能力,两层只要隐层神经元数目足够多,在其隐层中使用行传播函数,在输出层使用线性传播函数,就几乎可以以任意精度逼近任何函数。在此基础上,采用线性和正选叠加的方式。这种方式能够与电机矩频特性关系中的非线性很好吻合起来。其数学模型为:(2-6)(2-7)式中, 参数Z 根据本设计中细分芯片的细分
33、数取为256; M 为细分步数; n 为细分步序数, n = 0,1, 2, , M; K为用来调整线性分量与正弦分量之间关系的系数, 0 K 1。图2-10(a)与图2-10(b)分别为在细分步数为32优化和未优化A、B相绕组电流曲线。第三章 硬件设计步进电机驱动系统的性能,除与电机本身有关外,也很大程度上取决于驱动电路的性能。以C8051F020单片机为控制核心,结合步进电机驱动芯片L297/L298,设计出步进电机的恒流斩波细分驱动系统。采用L297/L298集成芯片设计的驱动电路电路结构简单,只需要时钟、方向和模式输入信号,相位可有L297产生,减轻了微处理器和程序设计的负担。单片机可
34、以接收PC机通过串口发来的控制信号, 也可以通过键盘输入参数产生相应的控制信号。通过单片机产生的控制信号来完成对L297的控制,L297产生步进电机所需的步进信号,驱动H桥电路来驱动L298。系统的结构框图如图3-1所示:3.1硬件电路的具体应用3.1.1 C8051F020应用介绍C8051F020做为驱动系统的核心部分,主要利用它的I/O端口、UART、两路12位DAC与定时器完成对PC机或按键上的控制信号接受处理,产生L297所需的时钟、方向与模式选择信号,2路12位DAC接口电路产生于L297相序一致的细分参考电压的变化阶梯。C8051F020具体使用情况如下:l 定时器1:UART0
35、波特率发生器l 定时器2:L297时钟信号l 定时器4:D/A转换的数值更新l DAC0/1:产生L297细分参考电压的变化阶梯l UART0:与上位机进行通信l I/O端口:控制信号输出与按键扫描3.1.2 L97/L298的应用L297加驱动器组成的步进电机控制电路具有以下优点:使用元件少,组件的损耗低,可靠性高体积小,软件开发简单;L298芯片是一种高压、大电流双H桥式驱动器。L297和L298组合控制驱动的步进电机可用于如打印机的托架位置、记录仪的进给机构等,其组合电路的工作电流可达2.5A。图3-2为L297和L298组成的控制驱动器的常用线路图。图3-2 L297/L298经典应用
36、电路该电路由单片机提供的信号主要有:Reset:复位信号。当有负脉冲时,L297恢复初始状态(即ABCD=0101)HALF/FULL:半步、全部方式选择。高电平时为半步方式,低电平时为全部方式。CLOCK:步进时钟信号。负脉冲时步进电机前进一个增量,该步进在信号上升沿产生。CW/CCW:方向控制信号。步进电机实际旋转方向有绕组连接方式决定。该信号电平改变,步进电机变向。ENABLE:使能信号。高电平有效,当为低电平时,L297的所有输出均为低电平。用L297/L298对两相混合式步进电机进行细分驱动,电机A/B两相的电流的峰值由Vref控制,需要两片L297共同 控制1片L298。L297/
37、L298组成的二相步进电机细分驱动电路如图3-3所示:图3-2 步进电机细分驱动电路该驱动电路可用于驱动两相双极性和四相但极性步进电机。步进电机的绕组最大电流在2A以上,使用较高的电源电压可以使绕组中的电流上升速度加快。具体的设计如下:(1) RC网络设计:L297的RC网络决定了斩波震荡的脉冲频率,即为PWM斩波频率取R=22K,C=3.3nF可得斩波频率为20KHz。并且在使用多个L297控制时,只需将每个L297的SYNC引脚连到一起,可以共用套震荡元件。如果要使用外部斩波时钟源,则时钟信号连到SYNC引脚。(2) 采样电阻设计:取采样电阻R1=R2=1。功率在3W以上。(3) 续流电路
38、设计:续流电路采用的二极管必须采用可以快速关断的FAST DIODES 电流在2A以上。本次设计选用的型号为1N5819.(4) 通信接口设计:L297控制信号输入信号高电平的最小值为2V,可以使用020单片机的I/O口输出直接驱动L297。(5) 电源:L297电源与L298的逻辑电路电源使用5V稳压电源,L298功率电源使用电压在36V70V之间的直流电源。3.2控制电路键盘参数输入串行通信接口MCU本次设计的步进电机驱动电路的控制信号可以接收PC机通过串口发来的控制信号,也可以通过键盘输入参数产生相应的控制信号。如图3-3所示。图3-3 MCU控制电路3.2.1 键盘输入 C8051F0
39、20有大量的I/O数字端口,通过读取寄存器Pn的值可以得知I/O口上的电平变化状况。因此可以通过按键或拨码开关来实现对单片 机进行参数输入的目的。按键输入电路图如图3-4。 图3-4按键输入电路细分数由拨码开关进行设置,拨码开关的的具体位置与其代表的细分数如表3-1所示:表 3-1 细分对照表细分选择开关输出细分数0001001201040118100161013211064111128 3.2.2 串行通信接口通过上位机发送的指令来改变单片机输出的控制信号, 从而改变步进电机的运动方向、运行速度以及细分数的大小。该电路用到的芯片是MAX232以及相关的辅助电路。如图3-5。图 3-5 通信接
40、口电路第四章 步进电机驱动电路软件设计整个驱动系统有多个分立模块组成,要想使整个系统能够正常运行,只有硬件不行,还必须要有与其配套的软件程序。这是系统的灵魂,系统依靠程序软件运行实现步进电机的可控运行,程序软件的合理运行既可以有效的发挥系统的硬件功能,又可以完善干扰措施。在进行软件设计时,要注意以下几个方面:u 尽量采用结构化程序设计,功能程序实现模块化,便于调试、连接和移植修改u 合理利用编译软件资源,可大量节省工作量u 提高软件的抗干扰能力驱动系统的核心是C8051F020单片机,采用的开发软件为Keil uVision3,软件程序由C语言编写成。这是由于C语言比较容易学习,编写程序容易理
41、解,条理清晰。软件程序主要有主控程序,系统初始化程序、键盘处理程序、串口通信程序阶梯波电压产生程序、步进时钟信号程序等。4.1 驱动器个程序模块开发4.1.1 主程序设计系统主程序流程图如图4-1所示。主程序是一个顺序执行的无限循环程序,内嵌两个循环子程序。程序开始时先执行系统参数初始化,接下来执行while死循环程序,这个循环里又嵌套两个子循环,先执行第一个循环,等待开始运行信号,收到开始运行信号后跳出这个循环进入第二个循环;在这期间如果有UART0的中断脉冲信号,则转去执行相应的中断服务子程序。在第二个循环中如果收到脱机信号,则主程序跳出第二个循环,进入第一个循序,若有中断脉冲信号,就去执
42、行相应的中断的服务子程序。YYNYN开始初始化设置计数器与细分步数设置驱动电路开定时器是否有脱机信号关定时器关驱动电路是否有开始信号图4-1 主程序流程图4.1.2 定时器中断服务程序本控制系统软件设计中,脉冲信号产生使用了定时器2与定时器4。定时器2用于产生控制脉冲转速的信号,定时器4用来产生细分脉冲,频率为F1 ,且有F1 =NF0(F0为细分数) 。每过一个细分信号周期,单片机输出到L297端口的参考电压 ,顺次发生变化,使通过线圈的电流逐渐增大或减少,而不是一次通入或切断。这两个定时器都有其相应的中断服务子程序,定时器溢出时产生相应的中断脉冲信号,并进入相应的中断程序。具体程序流程如图
43、4-2所示:NY定时器中断服务程序2现场保护关闭定时器读取细分代码 更改DAC恢复现场开定时器中断返回计数器是否满计数器清零定时器中断服务程序2现场保护关闭定时器CLOCK反转恢复现场开定时器中断返回图4-2 定时器中断服务程序流程(a)(b)4.1.3 按键输入及控制程序在设计中,驱动系统的大部分控制信号都有单片机键盘输入,包括速度、方向、电机的运行与停止以及细分步数设置。单片机读取键盘参数通过扫描方式进行。具体电路详见3.2.1节。程序流程图如图4-3所示。图中Key1控制电机的停止与运行,Key2控制方向,Key3控制速度大小。按键扫描流程图4.1.4 串口通信程序除了使用键盘为单片机输
44、入控制信号,还可以使用PC机与单片机进行串行通信进行控制,这样能够更好的将步进电机应用于自动化装置,结合上位机,实现驱动系统的智能控制。本文利用的是C8051F020的UART0来完成与PC机的串行通信,根据232通信协议制定了试验阶段用的最简通信协议。在保证通信数据正确性的同时,尽可能简化通信协议。于本文研究的驱动系统处于工程设计初级,一时不能完成上位主机控制软件的设计,为方便于调试而使用串口助手软件。如图4-4所示。在图中的数据发送区写入所要发送的指令点击手动发送既可以实现对下位机简单的串口通信。图4-4 串口调试助手4.2 细分数据的产生与存储实验中所使用的C8051F020实验板,具有64KB FLASH 存储器以及2KB的外部RAM为了满足驱动电路所需的速度,必须把细分所需的阶梯电压参数以及速度参数固化到ROM中。阶梯电压由两路12位DAC产生,两个DAC的数据寄存器DAC0与DAC1所需的具体参数由下式确定:(4-6)(4-7)根据上式,利用Turbo C 2.0进行程序编译生成相应的参数文件,具体的C程序流程如图4-5。