arm控制步进电机实验

上传人:bin****86 文档编号:54645771 上传时间:2018-09-16 格式:PPT 页数:54 大小:5.32MB
返回 下载 相关 举报
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-2H057M驱动器特点 每相最大驱动器电流为3.0安培,且

6、电流八档可调。 细分数可选(1/2,1/5,1/10,1/20,1/40)。 所有输入信号都经过光电隔离。 电机的相电流为正弦波。,电源:DC(24-40V)/3A CP: 步进脉冲信号 DIR:方向信号,不接或接正顺时针转,接地逆时针。 FREE:脱机电平信号 OPTO:接开发板的输出电压正端 A绿 /A白 B红 /B黑,本驱动器是用驱动器上的拔盘开关来设定细分数及相电流的,根据面板的标注设定即可;请您在控制器频率允许的情况下,尽量选用高细分数;具体设置方法请参考下表:,脱机电平信号FREE:,当驱动器上电后,步进电机处于锁定状态(未施加CP 脉冲时)或运行状态(施加CP脉冲时),但用户想手

7、动调整电机而又不想关闭驱动器电源,怎么办呢?这时可以用到此信号。当此信号起作用时(低电平有效),电机处于自由无力矩状态;当此信号为高电平或悬空不接时,取消脱机状态。此信号用户可选用,如果不需要此功能,此端不接即可。,控制信号输入连接图,本驱动器的输入信号共有三路,它们是:步进脉冲信号CP、方向电平信号DIR、脱机信号FREE。它们在驱动器内部分别通过270欧的限流电阻接入光耦的负输入端,且电路形式完全相同。OPTO端为三路信号的公共正端(三路光耦的正输入端),三路输入信号在驱动器内部接成共阳方式,所以OPTO端须接外部系统的VCC,如果VCC是+5V则可直接接入;如果VCC不是+5V则须外部另

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

9、电,那就可以得到相差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编程等功能。,EasyARM21

10、31开发板功能框图,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使用了CodeWar

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

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

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

14、IO,LPC2131具有多达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则反映当前IO口设定状态。,特性:

15、,单个位的方向控制;单独控制输出的置位和清零;所有I/O口在复位后默认为输入。,将相应管脚的PINSELn位设置为00即选择GPIO功能;大部分管脚复位后默认为GPIO,LPC2131有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配置管脚的活动,

16、因此不能使用IOPIN寄存器来监控非GPIO配置管脚。,2GPIO输出置位寄存器GPIO Output Set Register (IO0SET - 0xE0028004,IO1SET 0xE0028014),当管脚配置为GPIO输出模式时,可使用该寄存器从管脚输出高电平。写入1使对应管脚输出高电平,写入0无效。如果一个管脚被配置为输入或第二功能,写IOSET无效。读IOSET寄存器返回GPIO输出寄存器中的值。该值由前一次对IOSET和IOCLR(或IOPIN)的写操作决定,不反映任何外部环境对管脚的影响。,3GPIO输出清零寄存器GPIO Output Clear Register (IO0CLR - 0xE002800C,IO1CLR 0xE002801C),当管脚配置为GPIO输出模式时,可使用该寄存器从管脚输出低电平。写入1使对应管脚输出低电平并清零IOSET寄存器中相应的位,写入0无效。如果一个管脚被配置为输入或第二功能,写IOCLR无效。,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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