收藏 分销(赏)

微机原理步进电机控制实验.doc

上传人:仙人****88 文档编号:9313136 上传时间:2025-03-21 格式:DOC 页数:17 大小:228.77KB
下载 相关 举报
微机原理步进电机控制实验.doc_第1页
第1页 / 共17页
微机原理步进电机控制实验.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述
装 订 线 微型计算机原理综合实验 题目: 步进电机控制 学 院 电子信息工程学院 学科门类 工 科 专 业 电气工程及其自动化 学 号 姓 名 指导教师 2009 年 12 月 13 日 步进电机控制 摘 要 本实验通过设计电路, 装 订 线 编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v 装 订 线 关键词 8255、步进电机、驱动电路、源程序、流程图、汇编语言 目录 一.实验目的------------------------------3 二.设计要求------------------------------3 三.设计原理------------------------------3 四.硬件工作原理--------------------------6 五.程序框图------------------------------7 六.总结与体会----------------------------9 参考文献----------------------------------9 一.实验目的 1.1掌握微机原理程序设计方法,达到运用所学知识来应用于实践的目的; 1.2培养学生查阅资料、使用工程设计标准、手册及编写设计技术的能力; 1.3培养初步掌握设计开发产品的能力,了解微机控制系统的一般设计方法。 1.4掌握汇编语言在硬件编程方面的应用 1.5复习模拟电路的基本知识 二.设计要求 2.1外设电路要求 设计电路,使其能够驱动步进电机转动,所需元件及器材由实验室提供,其中步进电机为35BYJ46型四相八拍电机,电压为DC12V,电源取自实验箱。根据相应状态,利用数码管完成输出显示。数据的输入采用键盘、输出采用实验箱上8255单元完成。 2.2程序要求 编写程序,控制步进电机的运转,要求可调整步进电机运转的方向和速度。选择合适的设计方案,并进行理论阐述。编制相应的控制程序,要求有程序流程图,程序加注释。绘制实现电路原理图,所有图纸均用计算机绘制。 三.设计原理 3.1工作过程 一、步进电机的概述及四相八拍步进电机的工作原理: 步进电机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电机的输入量是脉冲序列,输出量则为相应的增量位移或步进位移,正常运行情况下,它每转一周是有固定的步数。 该步进电机为四相八拍步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。 开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。 当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。 图1 四相步进电机步进示意图 四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。 单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示: a. 单四拍 b. 双四拍 c八拍 图2步进电机工作时序波形图 35BYJ46步进电机为四相八拍,其相序表如下: 步序 PA3 PA2 PA1 PA0 对应A口输出值           1 0 0 0 1 01H           2 0 0 1 1 03H           3 0 0 1 0 02H           4 0 1 1 0 06H           5 0 1 0 0 04H           6 1 1 0 0 0CH           7 1 0 0 0 08H           8 1 0 0 1 09H  步进电机的工作方式: 35BYJ46 有四相ABCD,如果对各个相依次单独通电,"A-B-C- D",磁场旋转一周需要换相四次,则称为四相单四拍;如果每次对两相同时通电,"AB- BC- CD- DA",则称为四相双四拍;也可以每次对三相同时通电,"ABC- BCD- CDA- DAB";将单四拍和双四拍交替使用,就称为四相八拍,如:"A- AB- B- BC- C- CD- D-DA"、"AB- ABC- BC- BCD- CD- CDA- DA- DAB",此时磁场旋转一周需要换相八次。双四拍每次对多相同时通电,与单四拍比较起来,每相通电的时间长,消耗的电功率增大,电机所得到的电磁转矩也大。同时,采用多相励磁会产生电磁阻尼,会削弱或消除振荡现象,使得电机不易产生失步。四相八拍与四相四拍相比较,步距角减小了一倍,有利于削弱振荡,提高电机的带负载能力。一般说来,步进电机控制系统需要以下部分,如图1 所示。其中的脉冲发生器用于产生频率变化的脉冲信号; 脉冲分配器根据方向控制信号将脉冲信号转换成有一定逻辑关系的环形脉_冲;功率放大器将脉冲分配器输出的环形脉冲放大,用于控制步进电机的运转,这些部分都可以由专门的电路来实现。 二、步进电机的驱动 步进电机的驱动方式很多,有单电压驱动、双电压驱动、斩波驱动、细分驱动和集成电路驱动。由于集成电路集驱动和保护于一体,作为小功率步进电动机的专用驱动芯片,使用起来非常方便。在实际应用中, 我们可以选择L298N 集成电路芯片作为35BYJ46 的驱动芯片。但本次实验我们采用的是自行设计的驱动电路。 3.2编写步进电机汇编程序 1、通过实验了解8255工作在方式0下的编程方法 8255可编程并行接口芯片介绍 8255可编程外围接口芯片是Intel公司生产的通用并行I/0接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作: 方式0—基本输入/出方式;方式1—选通输入/出方式;方式2—双向选通工作方式 8255的内部结构及引脚如下图所示。 8255工作方式控制字和C口按位置位/复位控制字格式如下图所示。 (a)工作方式控制字            (b)C口按位置位/复位控制字 2、编程中两个重要的参数: • 步数 N 控制步进电机的定位精度。 • 延时时间 DELAY 控制其步进的速率。 四.硬件工作原理 4.1需要的器件 导线若干、10欧电阻4个、三极管四个,四个二极管,通用电路板一块、35BYJ46型四相八拍步进电机一个、学生实验箱、计算机 4.2 硬件电路 图1驱动电路 图2步进电机内部电路 五.程序流图: 本程序用8255的a口输出控制信息,经驱动电路实现对步进电机的速度和方向的控制。 程序中8255的地址段设置为200h~207h,控制键为0~9,正转速度分三档,分别由123控制;3为最高速度,反转速度分三档,分别由456控制,6为最高速度;78键为速度微调,分别在各档位速度的基础上小幅度调节速度的大小;0为停止键;9为退出键。 程序设计上用按键控制输出的延迟时间的大小来达到控制转速的目的。 程序流程图如下: 开始 初始化 显示提示信息 初始化8255 输入一个字符 提示输入错误 是0~6或9? N Y 0 分流 9 1 2 3 4 5 6 结束 按字符设置延迟时间 按字符设置延迟时间 清空键盘缓冲区 清空键盘缓冲区 设置循环次数 设置循环次数 输出正转数据 输出反转数据 延时 延时 N 判断循环是否结束 判断循环是否结束 N Y Y N 判断键盘缓冲区是否有字符 判断键盘缓冲区是否有字符 N Y Y N 字符是否为0~9 字符是否为0~9 N Y Y 减小延时 7 分流 分流 7 减小延时 8 0~6或9 0~6或9 8 增大延时 增大延时 六.总结与体会 通过这次试验,我熟悉了8255和步进电机的工作方式,了解了程序设计的流程,熟悉了用汇编语言控制硬件电路的方法。 参考文献 [1] 王永山 杨宏五 杨婵娟。 微型计算机原理与应用(第二版)西安电子科技大学出版社; [2] 微型计算机原理实验指导书 河北大学电子信息工程学院; [3] 华成英、童诗白。模拟电路技术基础(第四版)高等教育出版社。 附 录 stack segment stack dw 40dup(?) top label word stack ends data segment string1 db '0--9 are control keys',0dh,0ah db '0 is stop',0dh,0ah db '1--3 are forward control',0dh,0ah db '3 is the highest speed',0dh,0ah db '4--6 are backward contral',0dh,0ah db '6 is the highest speed',0dh,0ah db '7 is small speed increase',0dh,0ah db '8 is small speed decrease',0dh,0ah db '9 is quit and go back to dos',0dh,0ah,'$' string2 db 0dh,0ah,'input error,retry:',0dh,0ah,'$' buf1 db 01H,03H,02H,06H,04H,0cH,08H,09H ;正转相序 buf2 db 09H,08H,0cH,04H,06H,02H,03H,01H ;反转相序 data ends code segment assume cs:code,ds:data,ss:stack start: mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,offset top lea dx,string1 mov ah,09h int 21h ;显示提示信息 mov dx,203h mov al,80h out dx,al ;设置8255工作方式 jmp input e1: lea dx,string2 mov ah,09h int 21h ;显示出错信息 input: mov ah,01h int 21h ;键盘读字符 cmp al,'0' jb e1 cmp al,'9' je exit ;9键退出 cmp al,'6' ja e1 jmp sel ;判断输入字符是否符合 sel1: cmp al,'7' 要求 je k7a1 cmp al,'8' je k8a1 jmp sel ;正转7,8键处理方法 sel2: cmp al,'7' je k7a2 cmp al,'8' je k8a2 ;反转7,8键处理方法 sel: cmp al,'9' je exit cmp al,'0' je input cmp al,'1' je k1 cmp al,'2' je k2 cmp al,'3' je k3 cmp al,'4' je k4 cmp al,'5' je k5 cmp al,'6' je k6 ;其他键处理 k7a1: cmp bp,2000 je a1 sub bp,200 jmp a1 k8a1: add bp,200 jmp a1 k7a2: cmp bp,2000 je a2 sub bp,200 jmp a2 k8a2: add bp,200 jmp a2 k1: mov bp,10000 jmp a1 k2: mov bp,7000 jmp a1 k3: mov bp,4000 jmp a1 k4: mov bp,10000 jmp a2 k5: mov bp,7000 jmp a2 k6: mov bp,4000 jmp a2 ;设置延迟时间 a1: mov dx,200h ;设置输出地址 mov ah,0ch int 21h ;清除键盘缓冲区 a10: lea si,buf1 mov cx,8 la1: mov al,[si] out dx,al call delay go1: inc si loop la1 ;按相序输出 mov ah,01 int 16h ;读键盘缓冲区 jne go ;有输入跳转 jmp a10 go: cmp al,'0' jb a1 je input cmp al,'9' ja a1 ;判断输入是否有效 mov dl,al mov ah,02 int 21h ;显示输入字符 jmp sel1 a2: mov dx,200h ;反转 mov ah,0ch int 21h a20: lea si,buf2 mov cx,8 la2: mov al,[si] out dx,al call delay inc si loop la2 mov ah,01 int 16h jne goo jmp a20 goo: cmp al,'0' jb a2 je input cmp al,'9' ja a2 mov dl,al mov ah,02 int 21h jmp sel2 exit: mov ah,0ch int 21h ;清除键盘缓冲区 mov ah,4ch int 21h ;退出 delay proc near ;延时子程序 push cx mov cx,bp dloop: nop push cx, mov cx,100 dloop1: loop dloop1 pop cx loop dloop pop cx ret delay endp code ends end start 17
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服