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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(远程步进电机控制与状态显示器附带程序Word下载.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

远程步进电机控制与状态显示器附带程序Word下载.docx

1、4.3 焊接注意事项 33 步进电机程序控制的设计 33.1 步进电机的传动方式 33.2 硬件接口电路 43.3 脉冲的形成 43.4 旋转方向控制 53.5 转速控制 63.6 控制程序设计 64 步进电机各部件 74.1 ATmega32芯片的特点 74.2 LCD1602液晶显示器 84.3 通信模块RS485 85 软件程序设计 86 总结 15谢 辞 16参考资料 17引言步进电机是自动控制系统中常用的执行部件。步进电机的输入信号为脉冲电流,它能将输入的脉冲信号转换为阶跃型的角位移或直线位移,因而步进电机可看作是一个串行的数/模转换器。由于步进电机能够直接接受数字信号,而不需数/模

2、转换,所以使用微机控制步进电机显得非常方便。另外,步进电机由于结构和工作原理不同于普通的直流电机和交流电机,它必须由双环形脉冲信号、功率驱动电路等组成控制系统,使用起来较复杂。1 步进电机的简介 步进电机的品种规格很多,按照它们的结构和工作原理行控制。可以划分为磁阻式 也称反应式或变磁阻式电机、混合式电机、永磁式电机和特种电机等四种主要型式。 步进电机不需位移传感器就可精确定位,所以在精确定位系统中应用广泛。目前打字机、计算机外部设备、数控机床、传真机等设备中都使用了步进电机。随着电子计算机技术的发展,步进电机必将发挥它的控制方便、控制准确的特点,在工业控制等领域取得更为广泛的应用。 步进电机

3、有以下优点: (1)通常不需要反馈就能对位置和速度进行控制;(2)位置误差不会积累;(3)与数组设备兼容 ,能够直接接收数字信号;(4)可以快速启停。1.1 步进电机的工作原理以磁阻式步进电机为例,介绍一下步进电机的工作原理。图1.1是磁阻式步进电机工作原理的示意图。它的定子上有六个极,转子有四个极。定子磁极上绕有三组绕组,每组绕组由相互串联的两个线圈构成。一组绕组叫做一相。因此,图1.1所示的电机为三相步进电机。直流电源通过开关I、和,驱动电流流过绕在定子上的绕组。状态(1),开关I闭合,A 相通电。由于A相绕组受到激磁,空气隙里出现如箭头所示的磁场。A 相上的两个定子磁极和两个转子齿对准,

4、转子处于平衡状态。若再闭合开关R激励B相,如状态(2)所示,B相的定子磁极以同样的方式产生磁场。在磁力线的张力作用下,产生逆时针方向的转矩。于是,转子沿逆时针方向转过一个固定的角度,到达状态(3)。图中,转过的角度为15 。如果现在打开开关I,去掉A相的激磁,转子将再转 15 ,到达状态(4)。因此,转子的角位置可以用这种开关方式进行控制。若开关以某种时序转换 ,则转子就能以步进运动的方式连续旋转;若进一步使时序转换的速度可调,则平均速度也能用这种开关方式进按照它们的结构和工作原理行控制。图1.1磁阻式步进电机的工作原理实际上 ,驱动步进电机的开关是晶体管,开关信号由数字集成电路或微机产生。通

5、过前面的介绍可以看到,步进电机是一种把开关激励的变化变换成精确的转子位置增量运动的执行机构。2 远程步进电机主机、从机原理图2.1 主机电路板PCB设计图如下:图2.1 主机PCB图2.2 从机电路板设计远程步进电机包括一个主机和2个从机。两个从机电路板PCB设计图如下图:图2.2 从机PCB图3 步进电机程序控制的设计 3.1 步进电机的传动方式 3.1.1三相单三拍工作方式 在这种工作方式下 ,A、B、C三相轮流通电,电流切换三次,磁场旋转一周,转子向前转过一个齿距角。因此这种通电方式叫做三相单三拍工作方式。3.1.2三相六拍工作方式 在这种工作方式下,首先A相通电,转子齿与A相定子齿对齐

6、。第二拍,A相继续通电,同时接通B相,A、B各自建立的磁场形成一个合成磁场,这时转子齿既不对准 A相也不对准B相,而是对准A、B两极轴线的角等分线,使转子齿相对于A相定子齿转过 1/6齿距 ,即 1. 5 第三拍,A相切断,仅B相保持接通。这时,由B相建立的磁场与单三拍时B相通电的情况一样。依次类推,绕组以AABBBC CCAA时序或反时序转换6次,磁场旋转一周,转前进一个齿距,每次切换均使转子转动1.5 ,故这种通电方式称为三相六柏工作方式。3.1.3双三拍工作方式 这种工作方式每次都是有两相导通,两相绕组处在相同电压之下,以ABBCCAAB 或反之 方式通电,故称为双三拍工作方式。以这种方

7、式通电,转子齿所处的位置相当于六拍控制方式中去掉单三拍后的三个位置。由上述分析可知,要使磁阻式步进电机具有工作能力,最起码的条件是定子极分度角不能被齿距角整除。因为三相双三拍步进电机不易失步,控制精度比较高,所以本文对三相双三拍步进电机进行控制,定子有三对磁 极,运行时两相同时通电,循环带动转子转动。3. 2 硬件接口电路 传统的步进电机控制系统采用硬件进行控制,用一个脉冲发生器产生频率变化的脉冲信号,再经一个脉冲分配器把方向控制信号和脉冲信号转换成有一定逻辑关系的环形脉 冲;经驱动电路放大后就可以来驱动步进电机了。在这种控制中,步进电机的脉冲由硬件电路产生,如果系统发生变化 或使用不同类型的

8、步进电机 ,需重新设计硬件电路 ,系统的可移植性不好 微机控制系统代替脉冲发生器和脉冲分配器,就可以根据系统需要通过软件编程的方法任意设定步进电机的转速、旋转角度、转动次数和控制步进电机的运行状态。这样可简化控制电路,降低生产成本,提高系统的运行效率和灵活。图3.1为单片机控制步进电机接口原理图。图3.1单片机控制步进电机接口电路原理图3.3 脉冲的形成实现对步进电机的控制 ,微机应能输出有一定周期的控制脉冲。步骤是:先输出一个高电平 ,延时一段时间后 ,再输入一个低电平 ,然后再延时。改变延时时间的长短 ,即可改变脉冲的周期 ,脉冲的周期由步进电机的工作频率确定。用软件形成环形脉冲的程序流程

9、图如图3. 2所示。图3.2软件法形成脉冲序列的程序流程3.4 旋转方向控制步进电机的旋转方向和内部绕组的通电顺序及通电方式有密切关系。对于三相双三拍工作方式:正相旋转:AB BCCA AB 反相旋转:AB CA BCAB 三相双三拍控制模型如下表所示。(1)正转控制模型:表1正转控制模型(2)反转控制模型 表2反转控制模型3.5 转速控制 控制步进电机的运行速度,实际上是控制系统发出时钟脉冲的频率或换相的周期,即在升速过程中,使脉冲的输出频率逐渐增加;在减速过程中,使脉冲的输出频率逐渐减少。脉冲信号的频率可以用软件延时和硬件中断两种方法来确定。采用软件延时,一般是根据所需的时间常数来设计一个

10、子程序,该程序包含一定的指令,设计者要对这些指令的执行时间进行严密的计算或者精确的测试,以便确定延时时间是否符合要求。每当延时子程序结束后,可以执行下面的操作,也可用输出指令输出一个信号作为定时输出。采用软件定时,CPU一直被占用,因此CPU 利用率低。可编程的硬件定时器直接对系统时钟脉冲或某一固定频率的时钟脉冲进行计数,计数值则由编程决定。当计数到预定的脉冲数时,产生中断信号,得到所需的延时时间或定时间隔。由于计数的初始值由编程决定,因而在不改动硬件情况下 ,只通过程序变化即可满足不同的定时和计数要求,因此使用很方便。3.6 控制程序设计 控制程序的设计方法是:通过标志位FLAG来判断电机的

11、旋转方向,然后输出相应的控制脉冲序列;判断要求的脉冲信号是否输出完毕。三相双三拍控制模型完成的步进电机控制程序设计如下: 三相双三拍控制程序流程图如图3.3和图3.4所示。正转控制模型 03H、06H、05H 存放在以 RM 为起始地址的内存单元中,反转控制模型 03H、05H、06H 存放在以 LM 为起始地址的内存单元中。图 3. 3主程序流程图4 步进电机各部件4.1 ATmega32芯片的特点ATmega32有如下特点:32K 字节的系统内可编程Flash(具有同时读写的能力,即RWW),1024 字节 EEPROM, 2K 字节 SRAM,32 个通用I/O 口线,32 个通用工作寄

12、存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C), 片内/ 外中断,可编程串行USART,面向字节的两线串行接口, 8 路10 位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间

13、基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(Appl

14、icationFlash Memory)。在更新应用Flash存储区时引Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。通过将8 RISC CPU 与系统内可编程的Flash 集成在一个芯片内,ATmega32成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。4.2 LCD1602液晶显示器LCD显示器模块1602AT(S)R为2*16字符,能够同时显示16x02即32个字符。(16列2行)。含有5*10或5*7点LCD,共12*16=192种CG显示字型及双组、8个自由利用软件设定的5*8点图字形,因此除内部固定192种字形外,

15、再加上此16个可自由设定图字形,共208种字图形。因5*8个点输入设定,故5个点仅占用D4D0的5位,而D7D5则可为任意值;第8行值为游标地址,因此共8行占8个地址,组成1个字形及标示游标地址,总共8个设定字图形,占有8*8=64个地址,CG地址设定值为D5D0。4.3 通信模块RS485RS485是由美国电子工业协会EIA(Electronic Industries Association )在1983年提出的一种平衡式数据发送标准,满足此标准的收发器采用平衡发送和差分接收工作方式。实际上,RS485(TIA/EIA-485)通常被看作是TIA/EIA-422标准的一种扩展。由于支持多节点

16、(32个节点,有些公司的此类器件可能会支持更多节点)、远距离(最大4000英尺)和接收高灵敏度(200mV),在构成通信网络时,仅需要一对双绞线作传输线,因此成本低廉,设备简单,在多站、远距离通信环境下获得了广泛应用。5 软件程序设计#include PMPDataT.hunsigned char code displaybit4 = 0xF7,0xFB,0xFD,0xFE; /数码管位分布(自左至右)unsigned char code displaycode = 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; /数码管字段0,1,2,3

17、,4,5,6,7,8,9 sbit LED=P33; sbit DE=P32; uchar tmp;unsigned long int speed=60036;uchar tmpe; /* 延时t毫秒 */void delay(uint t) uint i; while(t-) /* 对于11.0592M时钟,约延时1ms */ for (i=0;i125;i+) void Display(unsigned long dat) /显示子程序 unsigned char i; for(i = 0; i != 4; i+) P0= displaycodedat%10; P2 = displaybi

18、ti; dat /= 10;delay(1); uchar keyscan(void)uchar scancode,tmpcode;P1 = 0xf0; / 发全0行扫描码if (P1&0xf0)!=0xf0) / 若有键按下delay(10); / 延时去抖动=0xf0) / 延时后再判断一次,去除抖动影响scancode = 0xfe;while(scancode&0x10)!=0) / 逐行扫描P1 = scancode; / 输出行扫描码=0xf0) / 本行有键按下tmpcode = (P1&0xf0)|0x0f; /* 返回特征字节码,为1的位即对应于行和列 */return(sc

19、ancode)+(tmpcode);else scancode = (scancode1)|0x01; / 行扫描码左移一位return(0); / 无键按下,返回值为0 /* 发送数据函数 */void senddata(uchar buf) /* 发送数据 */TI = 0;TB8 = 0; / 发送数据帧SBUF =buf;while(!TI);uchar recvdata() /* 接收数据 */RI);if (RB8=1)return 0xee; / 若接收的为地址帧,则返回0xeebuf = SBUF;RI = 0;return 0; / 返回0 /* 串口初始化函数 */void

20、 init_serial()TMOD = 0x21; / 定时器T1使用工作方式2TH1 = 250;TL1 = 250;TR1 = 1; / 开始计时PCON = 0x80; / SMOD = 1SCON = 0xd0; / 工作方式,9位数据位,波特率9600kbit/s,允许接收 void Getkey()switch(get_key) case 0x11: / 1行1列,数字0 key=0; break; case 0x21: / 1行2列,数字1 key=1; case 0x41: / 1行3列,数字2 key=2; case 0x81: / 1行4列,数字3 key=3; case

21、 0x12: / 2行1列,数字4 key=4; case 0x22: / 2行2列,数字5 key=5; case 0x42: / 2行3列,数字6 key=6; case 0x82: / 2行4列,数字7 key=7; case 0x14: / 3行1列,数字8 key=8; case 0x24: / 3行2列,数字9 key=9; case 0x44: / 3行3列,10 key=10; case 0x84: / 3行4列,11 key=11; case 0x18: / 4行1列,12 key=12; case 0x28: / 4行2列,13 key=13; case 0x48: / 4

22、行3列,14 key=14; case 0x88: / 3行4列,15 key=15; default:break; /* 主程序 */void main() uchar i = 0; key=10;tmp=0xff; DE=1; RI=0; tmpe=speed/2560; while(1) EA=1; get_key = keyscan(); / 调用键盘扫描函数 Getkey(); buf=key; Display(tmpe); /* 通过P0口读要访问的从机地址 */ P2 = 0xff; addr = P2&0xf0; init_serial(); / 串口初始化 EA = 1; /

23、 关闭所有中断 TI = 0; TB8 = 1; / 发送地址帧 SBUF = addr; while(! TI = 0; if(key=0) senddata(buf); / 发送数据 key=10; if(key=1) senddata(buf); if(key=2) senddata(buf); if(key=3) speed=speed-200; tmpe=speed/2560; if(speed=55036)speed=55036; if(key=4) speed=speed+200; 6 总结本次实训花了近两周时间,是我们大学以来的最后一个实训。这次实训和考研复习时间上有冲突,因而

24、时间很紧,既要做实训,又要抓复习。经过自己的努力和同学们的帮助,本次实训任务圆满完成。在实训过程中,发现了很多问题,首先是不够专心,实际操作不够快,不该耗时间的地方却多用了时间。这都说明了自己还有很多不足之处,今后需要多学习、多锻炼,加强动手能力,实现理论与实践相结合。在焊接的时候,由于我们所做的题目用到了很多贴片,所以焊接技术、难度大大加深,这更培养了我们的细心和仔细。实训中,我发现了自己对贴片元件焊接还不是很熟悉,容易焊偏。在同学们和老师的指导下,懂得了基本的焊接步骤,先在焊板上粘些焊锡,然用镊子夹紧帖片元件,轻微地放到焊板上,用焊锡固定元件的时候注意及时调整元件位置,以免焊偏了,待焊锡凝固后,可焊接另一端。由于事先不懂在焊板上沾焊锡,导致元件歪,或是虚焊的发生。之后比较重视焊接的质量,虽然过程中出现了问题,但我总体感觉还是成功的。我比较满意的是我的焊接点,由于

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

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