利用ARM控制步进电机实验

上传人:ldj****22 文档编号:48664087 上传时间:2018-07-19 格式:PPT 页数:54 大小:8.46MB
返回 下载 相关 举报
利用ARM控制步进电机实验_第1页
第1页 / 共54页
利用ARM控制步进电机实验_第2页
第2页 / 共54页
利用ARM控制步进电机实验_第3页
第3页 / 共54页
利用ARM控制步进电机实验_第4页
第4页 / 共54页
利用ARM控制步进电机实验_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《利用ARM控制步进电机实验》由会员分享,可在线阅读,更多相关《利用ARM控制步进电机实验(54页珍藏版)》请在金锄头文库上搜索。

1、ARM 板控制步进电机杜建军 张国庆 2008年5月【单片机与嵌入式系统实验三 】实验 要求利用提供的ARM板编程控制步进电机的起停和正反转 。转速要求在20100转/分。有能力的同学可以考虑实现步进电机的T形加减速。实 验 目 的了解步进电机的工作原理了解步进电机驱动器的内部结构及工作原理熟悉ADS集成开发环境。了解使用ARM技术进行开发的基本流程熟悉ARM GPIO功能模块第一章 步进 电机步进电机是一种作为控制用的特种电机,它的旋转是以 固定的角度(称为“步距角”)一步一步运行的,其特点是 没有积累误差(精度为 100% ),所以广泛应用于各种开环 控制。步进电机的运行要有一电子装置进行

2、驱动,这种装置 就是步进电机驱动器,它是把控制系统发出的脉冲信号转化 为步进电机的角位移,或者说:控制系统每发一个脉冲信号 ,通过驱动器就使步进电机旋转一步距角。所以步进电机的 转速与脉冲信号的频率成正比。虽然步进电机已被广泛地应 用,但步进电机并不能象普通的直流电机,交流电机在常规 下使用。它必须由双环形脉冲信号、功率驱动电路等组成控 制系统方可使用。因此用好步进电机却非易事,它涉及到机 械、电机、电子及计算机等许多专业知识。 右图是常州泽明自动化 设备有限公司生产的57BYG 型两相混合式步进电机。步进角: 相数:2电流:3AA 绿 /A白 B 红 /B黑步进电机内部 结构图步进电 机转子

3、为什么两部分的齿不对齐?步进电机的内部 原理图怎样计算步距角?两个基 本概念步距角:指每给一个电脉冲信号电动机转子所应转过 的角度的理论值,步距角式中: 转子齿数运行拍数,通常等于相数或相数的整数倍 即电动机相数齿距角:相邻两齿中心线间的夹角,通常定子和转子 具有相同的齿距角。齿距角第二章 步进电机驱 动器步进电机不能直接接到直流电源上工作,而必须使用专 用设备步进电动驱动器。步进电机驱动系统的性能,除 与电机自身的性能有关外,也在很大程度上取决于驱动器的 优劣。步进电机驱动器的主要构成如下图所示,一般由环形 分配器、信号处理级、推动级、驱动级等各部分组成,用于 功率步进电机的驱动器还要有多种

4、保护线路.环形 分配 器环形分配器用来接受来自控制器的CP脉冲,并按步进电 机状态转换表要求的状态顺序产生各相导通或截止的信号。 每来一个CP脉冲,环形分配器的输出转换一次。因此,步进 电动机转速的高低、升速或降速、起动或停止都完全取决于 CP脉冲的有无或频率。同时,环形分配器还必须接受控制器 的方向信号,从而决定其输出的状态转换是按正序或者按反 序转换,于是就决定了步进电动机的转向。接受CP脉冲和方 向电平是环形分配器的最基本劝能。信号放大 处理级从环形分配器输出的各相导通或截止的信号送入信号放 大处理级。信号放大的作用是将环形分配器输出信号加以放 大变成足够大的信号送入推动级,这中间一般既

5、需电压放大 ,也需电流放大。信号处理是实现信号的某些转换合成等功 能,产生斩波、抑制等特殊功能的信号,从而产生特殊功能 的驱动。本级还经常与各种保护电路、各种控制电路组合在 一起,形成较高性能的驱动输出。推动级和 保护级推动级的作用是将较小的信号加以放大.变成足以推动驱 动级输入的较大信号。有时,推动级还承担电平转换的作用 。保护级的作用是保护驳动级的安全。一般可根据需要设 置过电流保护,过热保护、过压保护、欠压保护等,有时还 需要对输入信号进行监护,发现输入异常也提供保护动作,实验中,我们使用的是常州 泽明自动化设备有限公司的 WZM-2H057M型步进电机驱动 器如右图。WZM-2H057

6、M驱动器特点 每相最大驱动器电流为3.0安培 ,且电流八档可调。 细分数可选(1/2,1/5,1/10, 1/20,1/40)。 所有输入信号都经过光电隔离 。 电机的相电流为正弦波。电源:DC(24-40V)/3A CP: 步进脉冲信号 DIR:方向信号,不接或接正 顺时针转,接地逆时针。 FREE:脱机电平信号 OPTO:接开发板的输出电压 正端 A绿 /A白 B红 /B黑本驱动器是用驱动器上的拔盘开关来设定细分数及 相电流的,根据面板的标注设定即可;请您在控制器 频率允许的情况下,尽量选用高细分数;具体设置方 法请参考下表:拔盘开关设定up=0,down=1 细分设定(位1、2、3)以0

7、.9/1.8电机为例 位123细分数步距角 00020.9 00150.36 010100.18 011200.09 100400.045 位4,5 请保持在down位置!电机相电流设定(位6,7,8)位678电流位678电流0000.5A1001.7A0011.0A1012.0A0101.3A1102.4A0111.5A1113.0A脱机电平信号 FREE:当驱动器上电后,步进电机处于锁定状态(未施加CP 脉冲时)或运行状态(施加CP脉冲时),但用户想手动调 整电机而又不想关闭驱动器电源,怎么办呢?这时可以用 到此信号。当此信号起作用时(低电平有效),电机处于 自由无力矩状态;当此信号为高电

8、平或悬空不接时,取消 脱机状态。此信号用户可选用,如果不需要此功能,此端 不接即可。控制信号输入连接图 本驱动器的输入信号共有三路,它们是:步进脉冲信号CP 、方向电平信号DIR、脱机信号FREE。它们在驱动器内部分 别通过270欧的限流电阻接入光耦的负输入端,且电路形式完 全相同。OPTO端为三路信号的公共正端(三路光耦的正输入 端),三路输入信号在驱动器内部接成共阳方式,所以OPTO 端须接外部系统的VCC,如果VCC是+5V则可直接接入;如果 VCC不是+5V则须外部另加限流电阻R,保证给驱动器内部光 耦提供8-15mA。如果输入电压超过5V,请参照表1,加装外接电阻R 限流。输入信号电

9、压外部电阻(R)阻值直流5V不加外部电阻直流12V680欧姆直流24V1.8k驱动器控制信号内部接 口示意图步进电机的微步(细分 )控制步进电机在正常情况下,一个脉冲走1.8的样子,但是 这个在低速的时候抖动就比较厉害,走走停停。于是便出现 了带有细分功能的步进电机驱动器,有的细分值达到上万步 ,也就是给一个脉冲走1.810000度,非常精确。要理解细分的原理首先要明白步进电机的工作原理:它 是靠线圈的合成磁场把转子磁铁“吸”过去的。比如两个垂 直的线圈(相差90度),分别通电可以依次得到相差90度角 的磁场,转子也就会被吸到对应的角度如果我们设计复杂些 ,给两个线圈同时通电,那就可以得到相差

10、45度的磁场了再 考虑得更复杂,一个通10,另一个通90,就会合成一个 以9度为间隔的磁场了。两个步进之间的角度不是按电流比例的,而是按cos,sin 比例的。假设你需要让电机停在某步和下一步之间80%的 地方,你需要给当前线圈通cos(0.8*/2)*I的电流,给下一 步的线圈通sin(0.2*/2)*I 的电流。第三章 ARM开发板 简介EasyARM2131开发板是广州周立功公司设计的EasyARM 系列开发套件之一,采用了PHILIPS公司基于ARM7TDMI-S 核、单电源供电、LQFP64封装的LPC2131,具有JTAG仿真 调试、ISP编程等功能。EasyARM2131开发板功

11、能框图EasyARM2131开发板元件布局图EasyARM2131开发板跳线一览表EasyARM2131 连接器一览表第四章 ADS集成开 发环境ADS集成开发环境是ARM公司推出的ARM核微控制器集 成开发工具。英文全称为ARM Developer Suite,成熟版本为 ADS1.2。ADS1.2支持ARM10之前的所有ARM系列微控制器, 支持软件调试及JTAG硬件仿真调试,支持汇编、C、C+源 程序,具有编译效率高、系统库功能强等特点,可以在 Windows98、Windows XP、Windows2000以及RedHat Linux上 运行。ADS 1.2使用了CodeWarrior

12、 IDE集成开发环境,并集成了 ARM汇编器、ARM的C/C+编译器、Thumb的C/C+编译器 、ARM连接器,包含工程管理器、代码生成接口、语法敏感 (对关键字以不同颜色显示)编辑器、源文件和类浏览器等 等。CodeWarri or IDE集 成开发环 境的启动使用工程模版CodeWarrior开发环境 生成Hex 文件首先,选用工程的生成目标为DebugInFLASH或RelIn FLASH,这样工程连接时将会使用mem_c.scf或mem_a.scf分 散加载描述文件,生成可固化到FLASH中的二进制代码。然后,打开工程的DebugInFLASH Settings窗口,在Target

13、Settings项中设置Post-linker选取ARM fromELF如下图所示。 接着,在ARM formELF项中设置输出文件类型,如设 置为Intel 32 bit Hex,然后设置输出文件名,也可指定目录, 若不指定目录,则生成文件存放在当前工程的目录中(如下 图所示)。重新编译连接,编译通过即会生成指定的输出文 件(比如:leddisp.hex)。用ISP软 件下载生成HEX文件后,接下来使用串口延长线连接PC串口( 如COM1)和EasyARM2131开发板(UART0),并将开发板上的 ISP(JP1)跳线短接。打开LPC2000 Flash Utility软件,并设 置串口、

14、波特率、系统晶振(注意,晶振频率项单位为kHz)等 ,如下图所示。设置好参数后,点击Read Device ID按钮,读取芯片ID号 ,若读取成功(状态栏显示“Read Part ID Successfully! ”),则表 明ISP连接成功。否则,当出错提示为复位LPC2000信息时,首先按EasyARM2131开发板上的RST键复位,然后再确定提示 ,如下图所示。连接成功后,先使用Erase按钮擦除选定扇区的FLASH,然 后在Filename项中输入要下载的HEX文件全名,点击Upload to Flash按钮即开始下载程序。程序固化后,将ISP(JP1)跳线断 开,重新复位系统即可运行

15、程序。第五章 GPIOLPC2131具有多达47个通用I/O口(GPIO,General Purpose I/O ports),分别为P031:0、P131:16,其中,P0.24未用, P0.31仅为输出口。由于口线与其它功能复用,因而需要进行相 关的管脚连接模块(PINSEL0、PINSEL1、PINSEL2)选择连接 GPIO,然后通过IODIR进行输入/输出属性设置后才能操作。 当管脚选择GPIO功能时,有3个寄存器用于控制GPIO的使 用,IOSET、IOCLR和IOPIN。IOSET用于口线置1,而IOCLR 则用于口线清零,IOPIN则反映当前IO口的状态,读回IOSET 则反映

16、当前IO口设定状态。特 性 : 单个位的方向控制;单独控制输出的置位和清零;所有I/O口在复位后默认为输入。将相应管脚的PINSELn位设置为00即选择GPIO功能 ;大部分管脚复位后默认为GPIOLPC2131有2个32位的通用I/O口。PORT0使用了30 个管脚,PORT1有多达16个管脚可用作GPIO功能。 PORT0和PORT1由2组(4个)寄存器控制,如下表所 示。1GPIO管脚值寄存器GPIO Pin Value Register (IO0PIN - 0xE0028000,IO1PIN 0xE0028010)IOPIN寄存器提供GPIO管脚的值,它反映了外部环境对 管脚的影响,不能反映非GPIO配置管脚的活动,因此不能 使用IOPIN寄存器来监控非GPIO配置管脚。2GPIO输出置位寄存器GPIO Output Set Register (IO0SET - 0xE0028004,IO1SET 0xE0028014)当管脚配置

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号