电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

小型步进电机控制系统设计

  • 资源ID:431000002       资源大小:200.72KB        全文页数:22页
  • 资源格式: DOCX        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

小型步进电机控制系统设计

目录1. 设计课题名称及要求。2. 设计思想和实施方案论述,给出硬件电路原理图并分析。3. 典型程序模块及典型编程技巧分析。4. 课程设计中遇到的问题及解决方法。5. 程序清单和程序注释,相关流程图。6. 收获与体会。7. 参考文献。 小型步进电机控制系统设计一、 设计的题目名称及要求设计题目:小型步进电机控制系统设计。设计要求:(1)、分别用C语言和汇编语言编程完成硬件接口功能设计;(2)、基于80x86微机接口硬件电路设计调试;(3)、控制功能要求:小键盘给定分段速度,数码管显示当前步进电机启动与停止、方向、速度信息;二、实验设备PC机一台(装有TDPIT软件)、唐都AEDK8688ET实验箱。三、设计的思想和实施方案1.步进电机运行方式的控制步进电机的转速与输入脉冲频率成正比,频率越大,转速越高,四相步进电机有双四拍,双八拍,双六拍等方式。实验平台可连接的步进电机为四项八拍电机,电压为DC12V。为了实现对各绕组按一定方式轮流加电,需要一个循环脉冲分配器,这里采用软件实现。将相序表存放于内存区,再设置一个地址指针。当地址依次+1(或-1)时,可从表中取出通电代码,再输出到步进电机,产生一定的运行方式。2.信号的输入与输出8255内部包含3个8位的输入输出端口A、B和C,端口A和端口B都可以用作一个8位的输入口或8位的输出口,端口C既可以作为一个8位的输入口或8位的输出口,又可以作为两个4位的输入输出口(C口上半部分和C口下半部分)使用,还可以配合A口和B口工作,分别用来产生A口和B口的输出控制信号和输入A口和B口的端口状态信号。8255A内部结构图8255 ABC口都工作于方式0,A口低四位接键盘及数码管显示单元的X1X4; B口接数码管的A、B、C、D、E、F、G和DP,以使数码管显示电机的转向和转速;C口低四位接键盘及数码管显示单元的Y1Y4; C口高四位接步进电路的驱动电路,使电机转动起来。8255的A口高四位本次课程设计没有用到。3.步进电机的速度控制:采用软件延时的方法,每发射一个脉冲的间隔中插入数个延时单元。速度共分为9级,对应键盘的9个按键。可以对电机进行方向的改变,并停止电机运行。初始设计时采用了8254作为计数单元,但在实际操作过程中因其过于不稳定,多次出现死机状况,难以调试故改用软件延时的方法。4.键盘及数码管显示单元: 键盘的输入左下角9格作为级数的设置,第四列第四行为停止键,4.3为设置负方向,4.2为设置负方向,初始运行时系统默认正方向。 键盘最上面一行应为没有使用所以在程序中屏蔽。四、硬件电路原理图如上图示:该原理图涉及到系统总线、可编程外围接口芯片8255、键盘及数码管显示单元和步进电机及其驱动电路8255的D0D7 依次接系统总线的XD0XD7,A1和A0依次接系统总线的XA3和XA2;WR和RD 依次接系统总线上的XIOW和XIOR;8255的CS接系统总线的IOY0;8255的A口低四位PA0PA4依次接小键盘的X1X4(列);C口低四位PC0PC3分别接小键盘的Y1Y4(行); C口高四位PC4PC7依次接驱动电路的A、B、C和D;B口PB0PB7分别接数码管的A、B、C、D、E、F、G和DP;A口高四位没用到。五、典型程序模块及典型编程技巧分析 1.主函数主函数主要是完成键盘输入的处理以及综合调用各子函数,以完成对四项八拍步进电机转速和转向的控制,并在PC机及数码管上实时显示电机的转速和转向。本次设计的电机转速分为19个档次。键盘右下角9格对应9档,右侧一列底部键为停止,上面两格分别为正向和负向。当选择负向时,数码管左一会显示“-”,正则为0,左四数码管会显示级数。2.RUNP、RUNN此子函数用来控制不进电机的运行,设了一个大循环每次循环都会发送一个脉冲,延时设计在循环之中。对应的电平发送顺序存放在TTABLE中。RUNP中对其正向读取,RUNN中则对其负向读取,以实现方向的变换。延时部分考虑到数码管的显示问题,数码管显示所需延时远小于不进电机调速所需延时。故以DIS作为延时函数,嵌套与每个大循环中,这样即使CPU在控制电机的运行也能保证数码管有足够的显示亮度。3.CCSCAN此子函数用来扫描小键盘是否有键按下。通过8255的C口高四位,使X1X4(列)全选通,然后由8255的C口低四位判断各列所对应的行是否有键安下,无任何键按下则C口低四位读入的全是“1”,若有键按下则C口低四位读入的对应行是“0”,其余全是“1”,经取反(NOT)后扫描小键盘的子程序CCSCAN的功能变为:若小键盘无键按下则AL寄存器数据为“0”; 若小键盘有键按下则AL寄存器数据为非“0”.4.PUTBUF保存小键盘输入的信息于DS:3000-3004中。5.DIS将CUNSHU子函数中保存下的电机转向和转速值送到数码管上显示。6. CLEAR将00H分别送入A口(驱动LED灯)和B口(驱动数码管)便可实验此功能7.DALLY、DALLY1这是两个延时时间不同的延时子函数,可供别的程序调用以实现较好的显示和操作效果。DALLY主要用于补偿控制转数时DIS函数延时不够。 DALLY1在数码管显示中调用,避免数码管变换太快,导致显示信息的混叠。同时在电机的控制中也作为延时的一部分。 六、课程设计中遇到的问题及解决方法 1.在使用8253时容易死机如前所诉,在实际调制的过程中,单补调试时每次运行到调用8253就会出现死机。具体原因很难说得清楚,有的是同一个程序换台机子运行就会死机,有的是同一台机子同一个程序运行多次就会死机。最后不得不因为时间紧张,放弃使用硬件延时。2.数码管看不到示数或数码管看上去全亮因为不进电机的速度调节主要靠延时的多少来完成,而8086的运行只处于单线程,无法同时运行多个子程序。故在运行时,若转数较慢所需延时时间较长,则数码管显示较暗。因此,如前所述我采用了将DIS显示模块作为延时嵌套如运行控制程序的方法以保证数码管的显示。调用了数码管显示程序而却看不到数码管有示数,这主要是调用数码管显示子函数的频率不够高,可以把数码管显示子函数换个位置,或者是多调用几次就可以解决了。至于数码管好像是全亮,情况正好相反,是数码管显示子函数调用的频率过高,把数码管显示子函数换个位置,或者是在关键位置调用一下延时函数就可以解决了。还有,DIS和CLEAR成对调用可使数码管有个较好的显示效果。七、实验程序的流程图;*根据查看端口资源修改下列符号值* IOY0 EQU 0E000H ;片选IOY0对应的端口始地址;* MY8255_A EQU IOY0+00H*4 ;8255的A口地址 MY8255_B EQU IOY0+01H*4 ;8255的B口地址 MY8255_C EQU IOY0+02H*4 ;8255的C口地址 MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址;* STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDS DATA SEGMENT TTABLE DB 10H,30H,20H,60H,40H,0C0H,80H,90H ;存放脉冲对应码字 DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,40H ETABLE DB 1FH,2FH,3FH,4FH,5FH,6FH,7FH,8FH,9FH B DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX BUFFER: MOV SI,3000H ;建立缓冲区,存放要显示的键值 MOV AL,00H ;初始将存储区都设为0 MOV SI,AL ;第一个存储区用来存放正负方向 MOV SI+1,AL MOV SI+2,AL MOV SI+3,AL MOV SI+4,AL ;存放所需速度 MAIN: MOV DX,MY8255_MODE ;定义8255工作方式 MOV AL,81H ;工作方式0,A口和B口为输出 OUT DX,AL BEGIN: CALL DIS ;显示刷新 CALL CLEAR ;清屏 CALL CCSCAN ;扫描按键 JNZ GETKEY1 ;有键按下则跳置GETKEY1 MOV AH,1 ;判断PC键盘是否有按键按下 INT 16H JZ BEGIN ;无按键则跳回继续循环,有则退出 MOV AX,4C00H ;结束程序退出 INT 21H GETKEY1: CALL DIS ;显示刷新 CALL DALLY1 CALL DALLY1 CALL CLEAR ;清屏 CALL CCSCAN ;再次扫描按键

注意事项

本文(小型步进电机控制系统设计)为本站会员(cl****1)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.