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

上传人:cl****1 文档编号:431000002 上传时间:2023-04-06 格式:DOCX 页数:22 大小:200.72KB
返回 下载 相关 举报
小型步进电机控制系统设计_第1页
第1页 / 共22页
小型步进电机控制系统设计_第2页
第2页 / 共22页
小型步进电机控制系统设计_第3页
第3页 / 共22页
小型步进电机控制系统设计_第4页
第4页 / 共22页
小型步进电机控制系统设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《小型步进电机控制系统设计》由会员分享,可在线阅读,更多相关《小型步进电机控制系统设计(22页珍藏版)》请在金锄头文库上搜索。

1、目录1. 设计课题名称及要求。2. 设计思想和实施方案论述,给出硬件电路原理图并分析。3. 典型程序模块及典型编程技巧分析。4. 课程设计中遇到的问题及解决方法。5. 程序清单和程序注释,相关流程图。6. 收获与体会。7. 参考文献。 小型步进电机控制系统设计一、 设计的题目名称及要求设计题目:小型步进电机控制系统设计。设计要求:(1)、分别用C语言和汇编语言编程完成硬件接口功能设计;(2)、基于80x86微机接口硬件电路设计调试;(3)、控制功能要求:小键盘给定分段速度,数码管显示当前步进电机启动与停止、方向、速度信息;二、实验设备PC机一台(装有TDPIT软件)、唐都AEDK8688ET实

2、验箱。三、设计的思想和实施方案1.步进电机运行方式的控制步进电机的转速与输入脉冲频率成正比,频率越大,转速越高,四相步进电机有双四拍,双八拍,双六拍等方式。实验平台可连接的步进电机为四项八拍电机,电压为DC12V。为了实现对各绕组按一定方式轮流加电,需要一个循环脉冲分配器,这里采用软件实现。将相序表存放于内存区,再设置一个地址指针。当地址依次+1(或-1)时,可从表中取出通电代码,再输出到步进电机,产生一定的运行方式。2.信号的输入与输出8255内部包含3个8位的输入输出端口A、B和C,端口A和端口B都可以用作一个8位的输入口或8位的输出口,端口C既可以作为一个8位的输入口或8位的输出口,又可

3、以作为两个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个按键。可以对电

4、机进行方向的改变,并停止电机运行。初始设计时采用了8254作为计数单元,但在实际操作过程中因其过于不稳定,多次出现死机状况,难以调试故改用软件延时的方法。4.键盘及数码管显示单元: 键盘的输入左下角9格作为级数的设置,第四列第四行为停止键,4.3为设置负方向,4.2为设置负方向,初始运行时系统默认正方向。 键盘最上面一行应为没有使用所以在程序中屏蔽。四、硬件电路原理图如上图示:该原理图涉及到系统总线、可编程外围接口芯片8255、键盘及数码管显示单元和步进电机及其驱动电路8255的D0D7 依次接系统总线的XD0XD7,A1和A0依次接系统总线的XA3和XA2;WR和RD 依次接系统总线上的XI

5、OW和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档,右侧一列底部键为停止,上面两格分别为正向和负向。当选

6、择负向时,数码管左一会显示“-”,正则为0,左四数码管会显示级数。2.RUNP、RUNN此子函数用来控制不进电机的运行,设了一个大循环每次循环都会发送一个脉冲,延时设计在循环之中。对应的电平发送顺序存放在TTABLE中。RUNP中对其正向读取,RUNN中则对其负向读取,以实现方向的变换。延时部分考虑到数码管的显示问题,数码管显示所需延时远小于不进电机调速所需延时。故以DIS作为延时函数,嵌套与每个大循环中,这样即使CPU在控制电机的运行也能保证数码管有足够的显示亮度。3.CCSCAN此子函数用来扫描小键盘是否有键按下。通过8255的C口高四位,使X1X4(列)全选通,然后由8255的C口低四位

7、判断各列所对应的行是否有键安下,无任何键按下则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这是两个延时时间不同的延时子函数,可供别的程序调用以实现较好的显

8、示和操作效果。DALLY主要用于补偿控制转数时DIS函数延时不够。 DALLY1在数码管显示中调用,避免数码管变换太快,导致显示信息的混叠。同时在电机的控制中也作为延时的一部分。 六、课程设计中遇到的问题及解决方法 1.在使用8253时容易死机如前所诉,在实际调制的过程中,单补调试时每次运行到调用8253就会出现死机。具体原因很难说得清楚,有的是同一个程序换台机子运行就会死机,有的是同一台机子同一个程序运行多次就会死机。最后不得不因为时间紧张,放弃使用硬件延时。2.数码管看不到示数或数码管看上去全亮因为不进电机的速度调节主要靠延时的多少来完成,而8086的运行只处于单线程,无法同时运行多个子程

9、序。故在运行时,若转数较慢所需延时时间较长,则数码管显示较暗。因此,如前所述我采用了将DIS显示模块作为延时嵌套如运行控制程序的方法以保证数码管的显示。调用了数码管显示程序而却看不到数码管有示数,这主要是调用数码管显示子函数的频率不够高,可以把数码管显示子函数换个位置,或者是多调用几次就可以解决了。至于数码管好像是全亮,情况正好相反,是数码管显示子函数调用的频率过高,把数码管显示子函数换个位置,或者是在关键位置调用一下延时函数就可以解决了。还有,DIS和CLEAR成对调用可使数码管有个较好的显示效果。七、实验程序的流程图;*根据查看端口资源修改下列符号值* IOY0 EQU 0E000H ;片

10、选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,4F

11、H,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

12、,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 ;再次扫描按键

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

当前位置:首页 > 建筑/环境 > 综合/其它

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