1、摘 要运动控制技术能够快速发展得益于计算机、高速数字处理器、自动控制、网络技术的发展。基于ARM的控制器逐步成为自动化控制领域的主导产品之一。高速、高精度以及具有良好可靠性始终是运动控制技术追求的目标。随着自动化水平的不断提高,越来越多的工业控制场合需要精确的位置控制。因此,如何更方便、更准确地实现位置控制是工业控制领域内的一个重要问题。伺服系统是以机械运动的驱动设备,伺服电动机为控制对象,以控制器为核心,以电力电子功率变换装置为执行机构,在自动控制理论的指导下组成的电气传动自动控制系统,这类系统控制电动机调转速,将电能转换为机械能,实现运动机械的运动要求。本文介绍了基于ARM控制的交流伺服系
2、统设计。该控制系统采用STM32芯片作为控制核心,经keil编程控制伺服电机驱动器,从而对电机的转速位移进行智能化,精确化控制。关键词:自动化;ARM;STM32;伺服电机;D/A数据采集;控制器AbstractThe rapid development of motion control technology can benefit the development of computer , high-speed digital processor , automatic control, network technology . ARM-based controllers graduall
3、y become one of the leading automation and control products . High-speed , high precision and reliability with good motion control technology is always the goal .With increasing levels of automation , more and more industrial control applications require precise position control. So , how to be more
4、 convenient and more accurate position control achieved is an important issue in the field of industrial control . Servo system is mechanical movement drives, servo motors to control objects to the controller as the core to power electronic power conversion devices for the implementing agencies , el
5、ectrical transmission automatic control system under the guidance of the composition of the automatic control theory , such systems control the motor speed adjustment , convert electrical energy into mechanical energy , mechanical movement required to achieve movement .This article describes the AC
6、servo control system design based on ARM . The control system uses the STM32 chip as the control core , by keil programming control servo motor drives , and thus the speed of the displacement of the motor intelligent , precise control.Keywords : automation ; ARM; STM32; servo motor ; D / A data acqu
7、isition ; controller目 录摘 要1Abstract21.1伺服电机控制技术现状141.2伺服调速控制技术发展趋势151.3 课题主要研究内容5第2章 相关技术简介72.1 交流伺服电机的控制原理简介2372.2 STM32简介10第3章 系统硬件设计113.1总体设计113.2硬件布局设计113.3强电电路连线设计4123.4 ARM核心板电路图12第4章 系统软件设计144.1 交流伺服系统程序框图144.2 测速方式及原理5144.2.1 M法数字测速154.2.2 T法数字测速164.2.3 M/T法数字测速174.3 程序设计18第5章 系统调试及注意事项195.1
8、系统的调试195.2系统的注意事项19第六章 小结20致 谢21参考文献22附录123附录2241. 液晶屏显示242. PWM,中断程序253. 编码器程序314. 主程序32第1章 绪论1.1伺服电机控制技术现状1从70年代后期到80年代初期,随着微处理器技术、大功率高性能半导体功率器件技术和电机永磁材料制造工艺的发展及其性能价格比的日益提高,交流伺服技术交流伺服电机和交流伺服控制系统逐渐成为主导产品。交流伺服驱动技术已经成为工业领域实现自动化的基础技术之一,并将逐渐取代直流伺服系统。交流伺服系统按其采用的驱动电动机的类型来分,主要有两大类:永磁同步(SM型)电动机交流伺服系统和感应式异步
9、(IM型)电动机交流伺服系统。其中,永磁同步电动机交流伺服系统在技术上已趋于完全成熟,具备了十分优良的低速性能,并可实现弱磁高速控制,拓宽了系统的调速范围,适应了高性能伺服驱动的要求。并且随着永磁材料性能的大幅度提高和价格的降低,其在工业生产自动化领域中的应用将越来越广泛,目前已成为交流伺服系统的主流。感应式异步电动机交流伺服系统由于感应式异步电动机结构坚固,制造容易,价格低廉,因而具有很好的发展前景,代表了将来伺服技术的方向。但由于该系统采用矢量变换控制,相对永磁同步电动机伺服系统来说控制比较复杂,而且电机低速运行时还存在着效率低,发热严重等有待克服的技术问题,目前并未得到普遍应用。系统的执
10、行元件一般为普通三相鼠笼型异步电动机,功率变换器件通常采用智能功率模块IPM。为进一步提高系统的动态和静态性能,可采用位置和速度闭环控制。三相交流电流的跟随控制能有效地提高逆变器的电流响应速度,并且能限制暂态电流,从而有利于IPM的安全工作。速度环和位置环可使用单片机控制,以使控制策略获得更高的控制性能。电流调节器若为比例形式,三个交流电流环都用足够大的比例调节器进行控制,其比例系数应该在保证系统不产生振荡的前提下尽量选大些,使被控异步电动机三相交流电流的幅值、相位和频率紧随给定值快速变化,从而实现电压型逆变器的快速电流控制。电流用比例调节,具有结构简单、电流跟随性能好以及限制电动机起制动电流
11、快速可靠等诸多优点。1.2伺服调速控制技术发展趋势1由于现代微电子技术的不断进步以及电力电子电路良好的控制特性,使几乎所有新的控制理论,控制方法都得以在交流调速装置上应用和尝试。现代控制理论不断向交流调速领域渗透,特别是微型计算机及大规模集成电路的发展,使得交流电动机调速技术正向高频化、数字化和智能化方向发展。近年来电力电子装置的控制技术研究十分活跃,各种现代控制理论,如自适应控制和滑模变结构控制,以及智能控制和高动态性能控制都是研究的热点。这些研究必将把交流调速技术发展到一个新的水平。控制系统的软化对CPU芯片提出了更高的要求,为了实现高性能的交流调速,要进行矢量的坐标变换,磁通矢量的在线计
12、算和适应参数变化而修正磁通模型,以及内部的加速度、速度、位置的重叠外环控制的在线实时调节等,都需要存储多种数据和快速实时处理大量信息。可以预见,随着计算机芯片容量的增加和运算速度的加快,交流调速系统的性能将得到很大的提高。当今科学的快速发展使得各学科之间已没有严格的界线,它们相互影响,相互渗透,从发展的角度来看,把神经网络、模糊控制、滑模变结构控制等现代控制理论用于伺服电机调速技术有着极其重要的意义和广阔的前景,可以认为这将是伺服电机调速技术的发展方向之一。此外,控制领域的其他新技术如现场总线、自适应控制、遗传算法等,也将引入到交流传动领域,给伺服电机调速的控制技术带来重大的影响。1.3 课题
13、主要研究内容本文以高性能的控制芯片STM32为控制核心,辅以键盘、显示、测速电路,设计基于ARM控制的交流伺服电动机数字化控制系统。系统控制目标为:1实现电机的转速输入与转速显示,实现电机转速的控制;2实现电机的正反转控制;3控制电机定点停止; 4设置合理的电路保护根据系统要求,本人分以下几个步骤进行了设计:1 总体模块的布局,设计以及安装;2 弱电控制核心板的设计与焊接;3Keil编程对控制板进行调试;4对控制系统整体进行了分析,总结。第2章 相关技术简介2.1 交流伺服电机的控制原理简介23 交流伺服电动机定子的构造基本上与电容分相式单相异步电动机相似.其定子上装有两个位置互差90的绕组,
14、一个是励磁绕组Rf,它始终接在交流电压Uf上;另一个是控制绕组L,联接控制信号电压Uc。所以交流伺服电动机又称两个伺服电动机。交流伺服电动机的转子通常做成鼠笼式,但为了使伺服电动机具有较宽的调速范围、线性的机械特性,无“自转”现象和快速响应的性能,它与普通电动机相比,应具有转子电阻大和转动惯量小这两个特点。目前应用较多的转子结构有两种形式:一种是采用高电阻率的导电材料做成的高电阻率导条的鼠笼转子,为了减小转子的转动惯量,转子做得细长;另一种是采用铝合金制成的空心杯形转子,杯壁很薄,仅0.20.3mm,为了减小磁路的磁阻,要在空心杯形转子内放置固定的内定子.空心杯形转子的转动惯量很小,反应迅速,
15、而且运转平稳,因此被广泛采用。交流伺服电动机在没有控制电压时,定子内只有励磁绕组产生的脉动磁场,转子静止不动。当有控制电压时,定子内便产生一个旋转磁场,转子沿旋转磁场的方向旋转,在负载恒定的情况下,电动机的转速随控制电压的大小而变化,当控制电压的相位相反时,伺服电动机将反转。交流伺服电动机的工作原理与分相式单相异步电动机虽然相似,但前者的转子电阻比后者大得多,所以伺服电动机与单机异步电动机相比,有三个显著特点:1、起动转矩大;由于转子电阻大,其转矩特性曲线如图3中曲线1所示,与普通异步电动机的转矩特性曲线2相比,有明显的区别。它可使临界转差率S01,这样不仅使转矩特性(机械特性)更接近于线性,
16、而且具有较大的起动转矩。因此,当定子一有控制电压,转子立即转动,即具有起动快、灵敏度高的特点。2、运行范围较广;3、无自转现象。正常运转的伺服电动机,只要失去控制电压,电机立即停止运转。当伺服电动机失去控制电压后,它处于单相运行状态,由于转子电阻大,定子中两个相反方向旋转的旋转磁场与转子作用所产生的两个转矩特性(T1S1、T2S2曲线)以及合成转矩特性(TS曲线)。交流伺服电动机的输出功率一般是0.1100W。当电源频率为50Hz,电压有36V、110V、220、380V;当电源频率为400Hz,电压有20V、26V、36V、115V等多种。交流伺服电动机运行平稳、噪音小。但控制特性是非线性,
17、并且由于转子电阻大,损耗大,效率低,因此与同容量直流伺服电动机相比,体积大、重量重,所以只适用于0.5-100W的小功率控制系统。与普通电机一样,交流伺服电机也由定子和转子构成。定子上有两个绕组,即励磁绕组和控制绕组,两个绕组在空间相差90电角度。伺服电机内部的转子是永磁铁,驱动gS控制的UVW三相电形成电磁场 转子在此磁场的作用下转动,同时电机自带的编码器反馈信号给驱动器,驱动器根据反馈值与目标值进行比较 调整转子转动的角度。伺服电机的精度决定于编码器的精度。交流伺服电机的工作原理和单相感应电动机无本质上的差异。但是,交流伺服电机必须具备一个性能,就是能克服交流伺服电机的所谓“自转”现象,即
18、无控制信号时,它不应转动,特别是当它已在转动时,如果控制信号消失,它应能立即停止转动。而普通的感应电动机转动起来以后,如控制信号消失,往往仍在继续转动。当电机原来处于静止状态时,如控制绕组不加控制电压,此时只有励磁绕组通电产生脉动磁场。可以把脉动磁场看成两个圆形旋转磁场。这两个圆形旋转磁场以同样的大小和转速,向相反方向旋转,所建立的正、反转旋转磁场分别切割笼型绕组(或杯形壁)并感应出大小相同,相位相反的电动势和电流(或涡流),这些电流分别与各自的磁场作用产生的力矩也大小相等、方向相反,合成力矩为零,伺服电机转子转不起来。一旦控制系统有偏差信号,控制绕组就要接受与之相对应的控制电压。在一般情况下
19、,电机内部产生的磁场是椭圆形旋转磁场。一个椭圆形旋转磁场可以看成是由两个圆形旋转磁场合成起来的。这两个圆形旋转磁场幅值不等(与原椭圆旋转磁场转向相同的正转磁场大,与原转向相反的反转磁场小),但以相同的速度,向相反的方向旋转。它们切割转子绕组感应的电势和电流以及产生的电磁力矩也方向相反、大小不等(正转者大,反转者小)合成力矩不为零,所以伺服电机就朝着正转磁场的方向转动起来,随着信号的增强,磁场接近圆形,此时正转磁场及其力矩增大,反转磁场及其力矩减小,合成力矩变大,如负载力矩不变,转子的速度就增加。如果改变控制电压的相位,即移相180,+旋转磁场的转向相反,因而产生的合成力矩方向也相反,伺服电机将
20、反转。若控制信号消失,只有励磁绕组通入电流,伺服电机产生的磁场将是脉动磁场,转子很快地停下来。为使交流伺服电机具有控制信号消失,立即停止转动的功能,把它的转子电阻做得特别大,使它的临界转差率Sk大于1。在电机运行过程中,如果控制信号降为“零”,励磁电流仍然存在,气隙中产生一个脉动磁场,此脉动磁场可视为正向旋转磁场和反向旋转磁场的合成。一旦控制信号消失,气隙磁场转化为脉动磁场,它可视为正向旋转磁场和反向旋转磁场的合成,电机即按合成特性曲线运行。由于转子的惯性,运行点由A点移到B点,此时电动机产生了一个与转子原来转动方向相反的制动力矩。在负载力矩和制动力矩的作用下使转子迅速停止。普通的两相和三相异
21、步电动机正常情况下都是在对称状态下工作,不对称运行属于故障状态。而交流伺服电机则可以靠不同程度的不对称运行来达到控制目的。这是交流伺服电机在运行上与普通异步电动机的根本区别。就伺服驱动器的响应速度来看,转矩模式运算量最小,驱动器对控制信号的响应最快;位置模式运算量最大,驱动器对控制信号的响应最慢。对运动中的动态性能有比较高的要求时,需要实时对电机进行调整。那么如果控制器本身的运算速度很慢(比如PLC,或低端运动控制器),就用位置方式控制。如果控制器运算速度比较快,可以用速度方式,把位置环从驱动器移到控制器上,减少驱动器的工作量,提高效率(比如大部分中高端运动控制器);如果有更好的上位控制器,还
22、可以用转矩方式控制,把速度环也从驱动器上移开,这一般只是高端专用控制器才能这么干,而且,这时完全不需要使用伺服电机。因此伺服电机的控制方式下面三类:1.转矩控制:转矩控制方式是通过外部模拟量的输入或直接的地址的赋值来设定电机轴对外的输出转矩的大小,具体表现为例如10V对应5Nm的话,当外部模拟量设定为5V时电机轴输出为2.5Nm,如果电机轴负载低于2.5Nm时电机正转,外部负载等于2.5Nm时电机不转,大于2.5Nm时电机反转(通常在有重力负载情况下产生)。可以通过即时的改变模拟量的设定来改变设定的力矩大小,也可通过通讯方式改变对应的地址的数值来实现。应用主要在对材质的受力有严格要求的缠绕和放
23、卷的装置中,例如饶线装置或拉光纤设备,转矩的设定要根据缠绕的半径的变化随时更改以确保材质的受力不会随着缠绕半径的变化而改变。2.位置控制:位置控制模式一般是通过外部输入的脉冲的频率来确定转动速度的大小,通过脉冲的个数来确定转动的角度,也有些伺服可以通过通讯方式直接对速度和位移进行赋值。由于位置模式可以对速度和位置都有很严格的控制,所以一般应用于定位装置。应用领域如数控机床、印刷机械等等。3.速度模式:通过模拟量的输入或脉冲的频率都可以进行转动速度的控制,在有上位控制装置的外环PID控制时速度模式也可以进行定位,但必须把电机的位置信号或直接负载的位置信号给上位反馈以做运算用。位置模式也支持直接负
24、载外环检测位置信号,此时的电机轴端的编码器只检测电机转速,位置信号就由直接的最终负载端的检测装置来提供了,这样的优点在于可以减少中间传动过程中的误差,增加了整个系统的定位精度。2.2 STM32简介STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,
25、不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。STM32处理器功能更强,数据处理能力,控制能力都比较强。而且其使用方便,对于高精度的伺服电机控制更好。第3章 系统硬件设计3.1总体设计本文介绍了基于ARM控制的交流伺服系统设计。该控制系统采用STM32芯片作为控制核心,经keil编程控制伺服电机驱动器,从而对电机的转速位移进行智能化,精确化控制。本系统可以分为弱电电路,强电电路两大部分,弱电电路指ARM控制部分,强电模块主要是控制伺服控制器通电部分。STM32弱电/强电显示键盘伺
26、服控制器伺服电机3.2硬件布局设计由于交流伺服系统中的模块较多,为了更好的调试,我们按如下布局进行排布。行程开关行程开关正反转开关ARM控制板STM32及显示接交流电空开交流接触器直流继电器电源灯(红)运行灯(绿)启动按钮(绿)停止按钮(红)伺服控制器伺服电机3.3强电电路连线设计4强电部分的连线如图所示绿A1A2红ON绿红交流接触器空开3.4 ARM核心板电路图A5伺服电机的电源是220V交流点,而ARM核心板的供电电源是12V,为了防止A5伺服电机220V烧毁ARM核心板,我们采用光电隔离,我们用PC817光耦来实现强电与弱电的隔离。测速模块,我们采用LM324运放,利用伺服控制器X4口的
27、OA+,OA-,OB+,OB-,OZ+,OZ-来检测A,B,Z脉冲。原理图如下:PCB如图:第4章 系统软件设计4.1 交流伺服系统程序框图伺服电机靠PWM脉冲控制,测速靠伺服电机后的光电编码器的A,B,Z脉冲。YN开始设置定位点启动定位返回结束判断是否定位设置速度并启动测速并显示4.2 测速方式及原理5光电编码器的输出脉冲信号有三种测速方法。一种方法是在固定的时间间隔内对脉冲进行计数,实际上测量的是脉冲的频率,这种方法称为M法;另一种方法是计算两个脉冲之间的时间间隔,亦即脉冲信号的周期,这种方法称为T法;综合以上两种方法则产生第三种方法M/T法。4.2.1 M法数字测速 M法测速的原理如图1
28、2.22所示,因为只有取边沿信号才能保证测量时间的准确性,图中的脉冲信号是传感器输出信号经处理后得到的边沿信号。若传感器与某转轴连接且每转产生N个脉冲,在时间间隔Ti内对传感器输出的脉冲进行计数并得到计数值m1,那么则可推算出转速为n=60m1/NT1(rpm) M法测速的分辨率为可测得的转速最小间隔,显然这个指标等于一个脉冲计数所导致的转速差/由上式可知,在传感器每转脉冲数N和时间间隔T1保持不变的前提下,M法数字测速的分辨率与转速无关。 在这里可以以转速测量的相对误差来描述准确度(精度)这一概念,即 /* 显然,在速度变化的测速过程中需要保持时间间隔Ti的准确性和稳定性。如果不考虑Ti不稳
29、定所导致的误差,那么在采用计数原理的测量中的最小误差来源于1个脉冲,则转速的相对误差等于l/mi。M法测速在高速下可得到大的mi而导致小的相对误差。而在低速下由于计数少而产生大的相对误差。由此可见M法在原理上适合于高速的测量而不适合低速的测量。 所谓检测时间是指连续两次采样之间的时间间隔。对于M法来说,它的检测时间就是T1。 采用M法所得到的速度实际上并不是检测时间到达时的瞬时速度,而是过去T1时间内瞬时速度的平均值。因此作为闭环速度调节系统中的反馈环节,M法测速具有滞后特性并有可能影响系统的控制性能。在每转脉冲数N不变的情况下,如果想要提高转速的分辨率和降低相对误差就要增加检测时间T1。但是
30、为了系统的控制性能又需要减少检测时间以提高反馈环节的实时性,这两方面的要求是互相矛盾的,解决这个矛盾的出路是采用每转脉冲数N较大的传感器: 4.2.2 T法数字测速 T法使用传感器输出脉冲的沿来启动和结束计数器对一个基准时钟的计数,然后利用这个计数值来推算转速。 如图12. 23所示,基准时钟发出计数脉冲,传感器输出脉冲的前沿的作用是结束一个计数器的本次计数并启动下次计数。设本次计数值为m2。在基准时钟的频率fc准确稳定的前提下,m2实际上是传感器输出脉冲周期T2的度量,那么就可以用下式来计算转速n=60fc/Nm2(rpm)T法的分辨率等于一个基准时钟所导致的转速差由上式可知,T法测速在低速
31、时的分辨率优于高速时。 T法的相对误差同样取决于一个计数脉冲,应该是l/m2。显然转速低时m:较大,导致相对误差较小,也说明了T法适用于低速的测量。T法的检测时间就是传感器输出的脉冲周期T2。可见随着转速的提高,尽管分辨率和准确度有所下降,但其测量的实时性却有所提高。4.2.3 M/T法数字测速 从原理上M法和T法都可以折算出转速,但是从转速测量的精度、分辨率和实时性考虑,前者适用高速下的转速测量,而后者则适合低速下的转速测量,而综合了两者特点的则是M/T法,其测速原理见图12. 24。 M/T法首先考虑如下的设计: (1)首先确定一个时间T1(例如10ms),在这个时间内对传感器输出脉冲的计
32、数可达适当数量,而且这个时间的启动与传感器输出脉冲的前沿或后沿同步; (2)在Ti的基础上延长一个变动的时间丁,使得计数要等到下一个传感器脉冲到来时才算结束,因此实际的测量时间是T=T1+T,显然在转速变动的条件下这个时间并不是固定的,但是变动的目的是使得丁为传感器脉冲周期的整数倍。 设置两个计数器分别对传感器输出和基准时钟计数,得到计数mi和m2。若被测轴在T时间内转过角度X,则有X=2m1/N(rad)而经基准时钟计数得到的时间T为T=m2/fc则可得到转速为n=60X/2T=60m1/NT=60fcm1/Nm2=Km1/m2 K=60fc/N 一般设计时钟频率远远高于传感器输出频率,因此
33、M/T法的分辨率主要取决于fe,应为R=Km1/m2(m2-1) 在满足丁与传感器脉冲同步并等于其整周期的条件下,M/T法的相对误差来源于m2的一个计数,等于1/m2。 M/T法的检测时间等于T。从M/T法的原理可知,在最低的转速下这种方法也可以保证检测传感器输出脉冲的一个完整周期。如果在低速下T1小于传感器的脉冲周期,那么检测时间丁就等于传感器输出脉冲的周期。如果T1大于传感器的脉冲周期,那么检测时间丁小于2T1。这种方法在高速和低速下都可以进行较为准确的速度检测。4.3 程序设计显示,按键,我们使用带触摸的液晶显示器。程序清单见附录。第5章 系统调试及注意事项5.1系统的调试系统上电后,开
34、启启动按钮,对伺服电机供电,按下液晶屏启动键,电机转动;按下正反转,可以实现正反转;按下加减速,可以实现加减速;同时,可以测速,进一步,可以定位启停。5.2系统的注意事项1. 我们对于伺服控制器,我们应该先对L1C,L2C通电,即将之连接到空气开关;然后再对L1,L2通电,即将之连接到交流接触器输出端。2. X4接口焊接时,要用热塑套,防止启动后铜线相互接触,烧毁伺服控制器。3. 若X4接口安常规方法不能驱动电机,我们可以反过来尝试一下。即“高”接“0”,“0”接“负”。第六章 小结经历了整整3周的时间,我们从刚开始课程设计的茫然,到后来一步步完成各个部分,各个模块的设计,安装,让我们从心底感
35、到自豪。特别是当电机转动,可以实现相关功能时,作为设计者的我们,心中阵阵悸动。这3周是充实的,也是忙碌的。3周的时间,我们对于运动控制系统有了一个全新的认识。同时加强了电拖,电力电子,运动控制3门课程的理解,认识。强化了对于ARM,对于STM32的应用。完成了这次的课程设计,也是对我大三上学期的一个检验。下学期,我将更加努力,执着着,努力着。必将或有收获。致 谢首先我在这里要感谢朱文虎老师,王祖麟老师,翁发禄老师,汤青波老师,是他们在我们课程设计过程中,时时刻刻给予我们帮助。忙前忙后,对于每个细节都要求很严。其次我要感谢3+1班这个集体,没有这么一个集体的氛围,我无法在这个时候静下心来搞这些东
36、西。我还要感谢我的父母,是他们的辛勤给了我如今的环境,让我无忧无虑的生活,学习。最后我要感谢这期间,给予我帮助的所有人。谢谢你们一路来的帮助,鼓励和支持,让我坚持了下来,收获了成功。参考文献1 基于S7-200伺服电机控制系统设计. 西安邮电大学毕业设计论文,20122 郭海亮. 基于ARM的伺服电机控制器设计. 河北工业大学毕业生毕业论文,20093林瑞光. 电机与拖动基础. 浙江大学出版社,20104 王兆安,刘进军. 电力电子技术. 机械工业出版社,20095 陈伯时 电力拖动自动控制系统 机械工业出版社,20086 刘凯.ARM嵌入式接口技术M.北京:清华大学出版社,20097 周立功
37、.ARM嵌入式系统M.广州:北京航空航天大学出版社,2008附录1附录21. 液晶屏显示/*stm32_ili9320_show.c*/void LCD_show(void) ili9320_Clear(Cyan);GUI_Rectangle(0,0,160,240,Magenta,Blue);GUI_Chinese_Text(40,0,自动化,6,White,Red);GUI_Text(90,0,112,White,Red);GUI_Chinese_Text(115,0,班,2,White,Red);GUI_Chinese_Text(60,30,第一组,6,White,Red);GUI_Ch
38、inese_Text(10,80,何志祥,6,DGREEN,WHITE);GUI_Chinese_Text(70,80,黄彪,4,DGREEN,WHITE);GUI_Chinese_Text(115,80,吴哲,4,DGREEN,WHITE);GUI_Chinese_Text(45,130,基于,4,LGRAY,DGRAY);GUI_Text(85,130,ARM,LGRAY,DGRAY);GUI_Chinese_Text(50,160,控制的,6,LGRAY,DGRAY);GUI_Chinese_Text(30,190,交流伺服系统,12,LGRAY,DGRAY);GUI_Chinese_T
39、ext(20,220,指导老师,8,White,Red);GUI_Text(85,220,:,White,Red);GUI_Chinese_Text(90,220,翁发禄,6,White,Red); GUI_Chinese_Text(160,0,初始参数设置,12,YELLOW ,RED); /* GUI_Chinese_Text(0,130,指令脉冲输入,12,YELLOW ,RED);GUI_Text(100,130,:,YELLOW ,RED);GUI_Chinese_Text(110,130,禁止,4,MAGENTA ,BLACK); GUI_Chinese_Text(0,150,伺服
40、禁止输入,12,YELLOW ,RED);GUI_Text(100,150,:,YELLOW ,RED);GUI_Chinese_Text(110,150,禁止,4,MAGENTA ,BLACK); GUI_Chinese_Text(0,170,报警清除输入,12,YELLOW ,RED);GUI_Text(100,170,:,YELLOW ,RED);GUI_Chinese_Text(110,170,禁止,4,MAGENTA ,BLACK); GUI_Chinese_Text(0,190,正向驱动输入,12,YELLOW ,RED);GUI_Text(100,190,:,YELLOW ,RE
41、D);GUI_Chinese_Text(110,190,禁止,4,MAGENTA ,BLACK); GUI_Chinese_Text(0,210,反向驱动输入,12,YELLOW ,RED);GUI_Text(100,210,:,YELLOW ,RED);GUI_Chinese_Text(110,210,禁止,4,MAGENTA ,BLACK); GUI_Chinese_Text(160,130,伺服准备输出,12,YELLOW ,RED);GUI_Text(260,130,:,YELLOW ,RED);GUI_Chinese_Text(270,130,禁止,4,MAGENTA ,BLACK)
42、; */ GUI_Chinese_Text(160,70,初始速度输入,12,YELLOW ,RED);GUI_Text(260,70,:,YELLOW ,RED);GUI_Text(270,70,00000,MAGENTA ,BLACK);GUI_Chinese_Text(160,110,实际速度检测,12,YELLOW ,RED);GUI_Text(260,110,:,YELLOW ,RED);GUI_Text(270,110,00000,MAGENTA ,BLACK); GUI_Rectangle(160,170,210,200,BLUE,1); GUI_Rectangle(270,17
43、0,320,200,BLUE,1); GUI_Rectangle(212,170,240,200,BLUE,1); GUI_Rectangle(242,170,268,200,BLUE,1); GUI_Rectangle(160,210,240,240,GREEN,1);GUI_Rectangle(242,210,320,240, RED ,1); GUI_Chinese_Text(215,175,正,2,YELLOW ,BLUE); GUI_Chinese_Text(245,175,反,2,YELLOW ,BLUE); GUI_Chinese_Text(161,175,速度加,6,YELLO
44、W ,BLUE); GUI_Chinese_Text(271,175,速度减,6,YELLOW ,BLUE); GUI_Chinese_Text(180,220,启动,4,YELLOW ,GREEN); GUI_Chinese_Text(262,220,停止,4,YELLOW ,RED);GUI_Rectangle(160,130,320,150,BLACK,1);GUI_Chinese_Text(180,135,定位设置,8,White ,BLACK); void Piture_Show(void) ili9320_Clear(Cyan); GUI_Chinese_Text(60,60,设置
45、圈数,8,YELLOW ,GREEN); GUI_Text(130,60,:,YELLOW ,GREEN); GUI_Rectangle(242,210,320,240, RED ,1); GUI_Chinese_Text(262,220,返回,4,YELLOW ,RED); GUI_Rectangle(160,170,210,200,BLUE,1); GUI_Rectangle(270,170,320,200,BLUE,1); GUI_Chinese_Text(181,175,加,6,YELLOW ,BLUE); GUI_Chinese_Text(291,175,减,6,YELLOW ,BLUE);2. PWM,中断程序/*TIM.C*/#include stm32f10x.h#include TIM.hstatic void _NVIC_Configuration(uint8_t NVIC_PreemptionPriority, uint8_t NVIC_SubPriority, uint8_t NVIC_Channel, uint32_t NVIC_Group) NVIC_InitTypeDef NVIC_In