ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:302.51KB ,
资源ID:4458139      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4458139.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于嵌入式arm步进电机的驱动设计本科论文.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于嵌入式arm步进电机的驱动设计本科论文.docx

1、基于嵌入式arm步进电机的驱动设计本科论文编号: 嵌入式系统实训 (论文)说明书题 目: 基于嵌入式ARM 步进电机的驱动 院 (系): 应用科技学院 专 业: 电子信息工程 学生姓名: 学 号: 指导教师: 2011 年 01 月 19 日摘 要随着ARM在各个领域的广泛应用,许多用ARM作为控制的步进电机驱动器系统也应运产生,本设计介绍一种有ARM LPC2132的编程控制基于L293电机驱动芯片的步进电机驱动系统。本系统可以通过控制板上面的7个按键进行功能设置,该系统具有启动、停止、正转、反转、速度调节、细分步和速度显示功能。本设计具有价格低廉、性能稳定、操作方便且修改灵活等特点。由于本

2、系统是由L293驱动的步进电机系统,通用性强,可以用到各个需要用到步进电机的场合使用。主控芯片采用ARM LPC2132,按键操作使用简洁,LED数码管速度显示,安装方便。解决了一些步进电机驱动系统中没有速度显示的问题,适合在各种场合的步进电机驱动器械中使用,它电路简单易懂,调试方便,功能齐全,系统稳定可靠,是一款很实用的步进电机驱动电路。关键词: ARM LPC2132;LED数码管显示;细分步;L293驱动AbstractAs ARMs widely used in various fields, many with ARM as the control of the game scori

3、ng device timing system should also shipped produce, the design introduces a kind of ARM LPC2132 programming control L293 dots on the display of the basketball game time than scoring system. The system can control panel 7 above the buttons feature set, the system has set the schedule time, schedule

4、time to be suspended, the score addition and subtraction, the extra time and other functions. This design has low price, stable performance, easy to operate and modify flexible. As the system is L293 large dot matrix display as the display module can be directly applied to all types of schools and s

5、mall groups as time basketball scoring race. Master chip ARM LPC2132, using the simple button operation, LED display, easy to install. Basketball counter solve installation problems, saving the wire, suitable for use of sports facilities of all sizes can completely replace the traditional method of

6、using clocks to time, little change of course also be used for other ball games, sports equipment to a good intelligent basis for the development of modules.Key words: ARM LPC2132; LED dot matrix display; time points; L293 driver目 录引言 11 系统硬件介绍 11.1 硬件主控芯片概述及功能介绍 11.1.1主控芯片LPC2132 11.1.2LPC2132特性 21

7、.1.3LPC2132功能结构 21.2 硬件电路 31.2.1LED数码管 31.2.2驱动芯片L293 52 系统软件设计 62.1 步进电机的驱动原理 62.2 细分电路的设计 72.3 按键程序部分 82.3.1按键的延时处理 82.3.2按键的中断处理 93 硬件制作与调试 93.1 系统PCB板的设计 93.2 系统硬件调试 103.3 软件及联机调试 103.4 主控程序调试 104 实训心得体会 11谢 辞 13参考文献 14附 录 15引言 随着人类工业的发展和进步,以及自动化的生产线的要求越来越高,应用在工业控制领域的电机驱动就显得非常重要了。尤其是步进电机的驱动,在很多领

8、域应用的很广。在很多需要精确控制的开环电路中都用到步进电机来控制机器的精确运动。这就要求有一个功能强大的步进电机驱动系统。传统的步进电机系统功能单一,电路也很复杂,并且都没有速度显示的功能。能够应用的范围不广,一般都是在一些很大的工厂里面的那些比较昂贵的机器设备中才有。这就限制了步进电机的应用领域,阻碍了步进电机的发展。本次实训研究的步进电机控制系统,结构简单,电路简单易懂,功能强大,成本低廉,并且有速度显示,能够应用到很多领域中。1 系统硬件介绍1.1硬件主控芯片概述及功能介绍 ARM LPC2132是基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7TDMI-STM CPU 的微控制

9、器,并带有64kB的嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。 1.1.1主控芯片LPC2132ARM7TDMI-S 是一个通用的32 位微处理器,它可提供高性能和低功耗。ARM 结构是基于精简指令集计算机(RISC)原理而设计的。指令集和相关的译码机制比复杂指令集计算机要简单得多。这样使用一个小的、廉价的处理器核就可实现很高的指令吞吐量和实时的中断响应。LPC2132微控制器是基于一个支持实时仿真和嵌入式跟踪的16/32 位ARM7TDMI-S CPU,并带有64kB嵌入的高速Flash 存储器。128 位宽度的存储器接口

10、和独特的加速结构使32 位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16 位Thumb 模式将代码规模降低超过30%,而性能的损失却很小。较小的封装和很低的功耗使LPC2132特别适用于访问控制和POS机等小型应用中;由于内置了宽范围的串行通信接口和8/16/32kB 的片内SRAM,它们也非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。多个32位定时器、1 个或2 个10 位8 路的ADC、10 位DAC、PWM 通道、47 个GPIO 以及多达9 个边沿或电平触发的外部中断使它们特别适用于工业控制应用以及

11、医疗系统。1.1.2LPC2132特性 16/32 位ARM7TDMI-S 核,超小LQFP64 封装。16kB 的片内静态RAM 和64kB 的片内Flash 程序存储器。128 位宽度接口加速器可实现高达60 MHz 工作频率。通过片内boot 装载程序实现在系统编程/在应用编程(ISP/IAP)。单个Flash 扇区或整片擦除时间为400ms。256 字节行编程时间为1ms。EmbeddedICE RT 和嵌入式跟踪接口通过片内RealMonitor 软件对代码进行实时调试和高速跟踪。1个8路10位的A/D转换器,共提供16路模拟输入,每个通道的转换时间低至2.44us。1个10位的D/

12、A转换器,可产生不同的模拟输出。2个32位定时器/外部事件计数器(带4 路捕获和4 路比较通道)、PWM 单元(6路输出)和看门狗。低功耗实时时钟具有独立的电源和特定的32kHz 时钟输入。多个串行接口,包括2个16C550工业标准UART、2个高速I2C总线(400 kbit/s)、SPI 和具有缓冲作用和数据长度可变功能的SSP。向量中断控制器。可配置优先级和向量地址。小型的LQFP64封装上包含多达47个通用I/O口(可承受5V电压)。多达9个边沿或电平触发的外部中断管脚。通过片内PLL(100us的设置时间)可实现最大为60MHz的CPU操作频率。片内集成振荡器与外部晶体的操作频率范围

13、为130MHz,与外部振荡器的操作频率范围高达50MHz。低功耗模式:空闲和掉电。可通过个别使能/禁止外部功能和外围时钟分频来优化功耗。通过外部中断或BOD 将处理器从掉电模式中唤醒。单电源,具有上电复位(POR)和掉电检测(BOD)电路:CPU操作电压范围:3.0V3.6V (3.3 V 10),I/O口可承受5V的电压。1.1.3LPC2132功能结构ARM LPC2132主要由系统功能、向量中断控制器、内部SRAM控制器、内部FLASH控制器、定时器0和定时器1、外部中断、A/D和D/A转换器、PWM、I2C串行接口、UART0/UART1、实时时钟、看门狗定时器等功能模块,并且具有IO

14、口复用功能,在IO口是使用和分配上带来了很大的便利。结构框图如图1.1所示: 图1.1 LPC2132结构框图1.2 硬件电路1.2.1LED数码管在ME500B、ME300B开发系统中,均采用了8位数码管动态扫描显示(见图1.2) 。它将所有数码管的8个段线相应地并接在一起,并接到LPC2132的P0 口,由P0口控制字段输出。而各位数码管的共阳极由 LPC2132的P2口控制Q20Q27来实现8位数码管的位输出控制。 这样,对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,

15、称为位码。 由于各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此,在同一时刻如果各位数码管的位选线都处于选通状态的话,8位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。 虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数

16、码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。图1.2 数码管动态扫描显示数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。 数码管是由7个条形的LED和右下方一个圆形的LED组成,这样一共有8个段线,恰好适用于8位的并行系统。数码管有共阴极和共阳极两种,共阴极数码管的公共阴极接地,当

17、各段阳极上的电平为“1”时,该段点亮,电平为“0”时,该段熄灭;1.2.2驱动芯片L293L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。这种双极型脉冲调宽方式具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区:低速平稳性好等。L293D通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM)。另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12

18、是使能信号,IN1、IN2为电机转动方向控制信号,IN1、IN2分别为1,0时,电机正转,反之,电机反转。选用一路PWM连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。选择一路I/O口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转。如图1.3为L293的管脚分配图。图1.3 L293管脚分配图芯片的控制管脚,和输出输入关系如表1.1所示。表1.1 L293输入输出关系2 系统软件设计本系统的主要硬件是步进电机的驱动电路,以及数码管动态扫描的驱动电路。步进电机的驱动电路就用L293集成驱动电路就可以了,但是如果通过软件来进行步进电机的驱动,以及如果实现动态数码管扫描

19、的编程就是本系统的软件要研究的内容了。2.1 步进电机的驱动原理步进电机的运行要有一电子装置进行驱动, 这种装置就是步进电机驱动器, 它是把控制系统发出的脉冲信号,加以放大以驱动步进电机。步进电机的转速与脉冲信号的频率成正比,控制步进脉冲信号的频率,可以对电机精确调速;控制步进脉冲的个数,可以对电机精确定位。 典型的步进电机驱动控制系统主要由三部分组成: (1)、步进控制器,由单片机实现。 (2)、驱动器,把单片机输出的脉冲加以放大,以驱动步进电机。 (3)、步进电机。 典型的步进电机驱动控制电路图如图2.1所示:图2.1 典型的步进电机驱动控制电路图图中单片机的 I/O口一位控制一相绕组,根

20、据所选定的步进及控制方式可写出相应的控制方式的数学模型,如三相单三拍、三相双三拍、三相六拍。 现以三相六拍为例,如表2.1所示:表2.1 步进电机步序控制表以上为步进电机正转时的控制顺序及数学模型。因此,步进驱动控制器实际上就是按上述的控制方式所规定的顺序送脉冲序列,即可实现驱动步进电机三相六拍方式的转动。输入顺序脉冲序列的速率就是步进电机的速率。 这种典型的步进电机驱动控制方法及其电路,只能实现步进电机步距角为原来固定步距角的一半。当要求实现步距角细分时,该方法就不能达到要求了,所以在这里就要引入步进电机细分技术方案的探讨。2.2 细分电路的设计针对上述两种现有的细分技术状况,本论文的目的在

21、于: (1)、从理论和实践的角度,建立一种新的步进电动机高精度细分方法和数学模型,以消除现有技术方案中不可克服的滞后角值所引起的问题,使细分技术提高到更高的水平。 (2)、在新原理方法指导下设计相应的硬件控制电路。 (3)、设计细分控制函数修正的电路及其相应的计算机自动控制程序。本电路的构思及技术解决方案叙述如下: 为了实现高精度的定位,对步进电机步距进行高分辨细分的关键,也是本系统的难点所在。从以上的分析可知,步进电动机的细分驱动电路都是通过电流合成矢量的旋转来实现的。一般的细分方法只改变某一相的电流,该方法的缺陷是电流合成矢量的幅值是不断变化的,使步进电机的传距亦随之变化,从而引起滞后角的

22、变化,最终就影响可细分数的增加,即限制了分辨率的提高。 采用现有技术细分方法时的电流矢量旋转示意图(图2.2) :图2.2 电流矢量旋转示意图为了能够从根本上解决这个问题,消除现有技术中由于滞后角的变化引起的值大于微步距角而导致不可继续细分的问题,只有使电流合成矢量 ih 形成新的距角特性曲线,为达到这一点,必须满足一下两个条件: (1)、电流合成矢量旋转时每次变化的角度要均匀; (2)、电流合成矢量的大小或幅值要保持不变。 基于这个条件,即可建立“电流矢量恒幅均匀旋转”细分驱动方法。同时改变两相电流的大小,使电流合成矢量恒幅均匀旋转。这种方式可称为步进电机的模拟运行,它是一种基于交流同步电机

23、概念的特殊细分技术, 实质是对运行于交流同步电机状态的步进电机所受的交流模拟信号在一个周期内细分,即每个细分点对应于一个交流值。当细分数相当大时,例如本系统中将一个四分之一周期分成 4096 个点,电机绕组的电流信号就逼近模拟连续信号。这种细分技术可以极大地提高步进电机的分辨率和运行稳定性。2.3 按键程序部分2.3.1按键的延时处理对于一个由单片机为核心构成的系统而言。输入通道是相当重要的。可以看到几乎每一样基于单片机的产品都有人机交互的部分。如各种仪器设备上的各种按钮和开关,以及我们手机上的键盘,MP3上的按键等等。最常见的输入部分,莫非就是按键了。作为一个按键从没有按下到按下以及释放是一

24、个完整的过程,也就是说,当我们按下一个按键时,总希望某个命令只执行一次,而在按键按下的 过程中,不要有干扰进来,因为,在按下的过程中,一旦有干扰过来,可能造成误触发过程,这并不是我们所想要的。 因此在按键按下的时候,要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除掉,一般情况下,我们可以采用电容来滤除掉这些干扰信号,但实际上,会增加硬件成本及硬件电路的体积,这是我们不希望,总得有个办法解决这个问题,因此我们可以采用软件滤波的方法去除这些干扰信号,一般情况下,一个按键按下的时候,总是在按下的时刻存在着一定的干扰信号,按下之后就基本上进入了稳定的状态。具体的一个按键从按下到释放的全过程的信

25、号图。图2-3 延时按键子程序2.3.2按键的中断处理中断是指单片机在运行别的代码时,系统可以通过中断方式打断连续的运行,先运行中断服务函数,开中断就是指系统可以在连续运行是中断,去运行中断服务函数,关中断就是指关闭系统中断,不允许系统打断连续的运行。当按键切换进入某个显示状态时,该程序进入循环状态,才用中断,可以让系统在实行某个显示状态时,退出显示其他的状态。3 硬件制作与调试3.1 系统PCB板的设计PCB即印刷电路板,是电子电路的承载体。在现代电子产品中,几乎都要使用PCB。PCB板的设计是电路设计的最后一个环节,也是对原理电路的再设计。因此PCB板的设计是理论设计到实际应用一个十分重要

26、的内容。印制电路板(PCB)是电子产品中电路元件和器件的支撑件它提供电路元件和器件之间的电气连接。PCB设计的好坏对抗干扰能力影响很大因此,在进行PCB设计时必须遵守印制电路板设计原则和抗干扰措施的一般原则,并应符合抗干扰设计的要求。本次设计采用Altium公司PROTEL系列设计完成SCH到PCB的设计,并且手工完成电路焊接以及整机的装配。3.2 系统硬件调试本系统的硬件调试分为以下阶段进行调试: (1)逻辑错误调试样机硬件的逻辑错误是由于设计错误和加工过程中的工艺性错误所造成的。这类错误包括:错线、开路、短路等几种,其中短路是最常见的故障。(2)器件调试元器件失效的原因有两个方面:一是器件

27、本身已损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容、二极管的极性错误,集成块安装方向错误等。 (3)可靠性调试引起系统不可靠的因素很多,如金属化孔、接插件接触不良会造成系统时好时坏;内部和外部的干扰、电源纹波系数过大、器件负载过大等造成逻辑电平不稳定;另外,走线和布局的不合理等也会引起系统可靠性差。3.3 软件及联机调试 Keil 4是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数

28、和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil 4件是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为Vision(通常称为V2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案, 3.4 主控程序调试应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存建立工程并添加源文件设置工程编译/

29、汇编、连接,产生目标文件程序调试。成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态,Keil提供对程序的模拟调试功能,内建一个功能强大的仿真CPU以模拟执行程序。Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行在线修改(Debug-Inline Assambly),不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤

30、。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理(Debug-Insert/Remove Breakpoint或Debug-Breakpoints等)。在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。4 实训心得体会通过这次为期两周的ARM实训,我感觉收获蛮多,对ARM的了解、C语言编程和protel绘制电路图等各个方面的能力有了进一步的提高,把课本上的知识应用到实践,整个过程受益匪浅。在硬件系统的设计时,使用ARM的P0口来进行LED数码管信号端,P1口来完成行扫描,单片机和

31、点阵屏共同使用同一5V电源,在ARM开发板上进行调试时,LED数码管无法进行显示,LED数码管上没有任何一个点被点亮,但是在LED数码管的各个端口都有相应的高低电平,P0口也采用了经验值为2K的上拉电阻,参数和开发板上使用的元器件的参数完全一样,但是还是无法点亮LED数码管,两个系统端口进行电流测量比较,发现制作的电路板上的电流太小,于是直接更换成1K的上拉电阻,LED数码管便可以驱动点亮。在以前的学习中,都是使用89S52单片机进行控制操作,由于单片机使用的是大部分IO口没有复用功能,所以IO口赋值也是比较方便的,而ARM的IO口有3重复用功能,ARM对IO操作有三个寄存器,即DIR,SET

32、,CLR。先设置IO的方向即对DIR操作,再如果设置高电平即对SET操作,如果设置低电平对CLR操作。在刚刚开始的调试的时候,先进行简单的IO口赋值实验,使用简单的语句来进行LED灯点亮和按键识别等练习,在熟悉IO口的三个寄存器使用方法后才开始下步调试。在步进电机驱动系统中,是需要很多个调节功能的,为了方便节约材料,选择了8个按键来作为系统的输入,暂停/开始按键的两种不同情况下,其他按键的赋值也不同,当系统为暂停状态时,其他5个按键的功能为调节正反转、速度的微调节和粗调节;当系统为开始状态时,这样的设计既节约了按键数目,又方便合理。通过对点阵屏芯片的研究以及互联网查找资料的时候,也找到部分同样是使用LPC2312芯片和L293芯片来驱动步进电机仿真图,通过阅读

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1