微机原理步进电机控制实验
更新时间:2023-06-09 13:57:01 阅读量: 实用文档 文档下载
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
装 订 线
微型计算机原理综合实验
题目:学 院 学科门类 专 业 电气工程及其自动化 学 号 姓 名 指导教师
2009 年 12 月 13 日
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
步进电机控制 摘 要
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
关键词
装 订 线
8255、步进电机、驱动电路、源程序、流程图、汇编语言
目录
一.实验目的------------------------------3 二.设计要求------------------------------3 三.设计原理------------------------------3 四.硬件工作原理--------------------------6 五.程序框图------------------------------7 六.总结与体会----------------------------9 参考文献----------------------------------9
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
一.实验目的
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相绕组磁极产生错
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
齿。
当开关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
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
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—双向选通工作方式
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
8255的内部结构及引脚如下图所示。
8255工作方式控制字和C口按位置位/复位控制字格式如下图所示。
(a)工作方式控制字 (b)C口按位置位/复位控制字 2、编程中两个重要的参数:
步数 N 控制步进电机的定位精度。 延时时间 DELAY 控制其步进的速率。
四.硬件工作原理
4.1需要的器件
导线若干、10欧电阻4个、三极管四个,四个二极管,通用电路板一块、35BYJ46型四相八拍步进电机一个、学生实验箱、计算机
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
4.2 硬件电路
图1驱动电路
图2步进电机内部电路
五.程序流图:
本程序用8255的a口输出控制信息,经驱动电路实现对步进电机的速度和方向的控制。
程序中8255的地址段设置为200h~207h,控制键为0~9,正转速度分三档,分别由123控制;3为最高速度,反转速度分三档,分别由456控制,6为最高速度;78键为速度微调,分别在各档位速度的基础上小幅度调节速度的大小;0为停止键;9为退出键。
程序设计上用按键控制输出的延迟时间的大小来达到控制转速的目的。 程序流程图如下:
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
开始 初始化 显示提示信息 初始化 8255 输入一个字符 是 0~6 或 9? Y 分流 1 2 按字符设置延迟时间 清空键盘缓冲区 3 4 5 9 6 结束 按字符设置延迟时间 清空键盘缓冲区 提示输入错误
N 0
设置循环次数
设置循环次数
输出正转数据 延时 判断循环是否结束 Y 判断键盘缓冲区是否有字符 Y 字符是否为 0~9 Y 减小延时 增大延时 7 8 分流 0~6 或 9
输出反转数据 延时 判断循环是否结束 Y 判断键盘缓冲区是否有字符 Y 字符是否为 0~9 Y 分流 0~6 或 9 8 增大延时 7 减小延时
N
N
N
N
N
N
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
六.总结与体会
通过这次试验,我熟悉了8255和步进电机的工作方式,了解了程序设计的流程,熟悉了用汇编语言控制硬件电路的方法。
参考文献
[1] 王永山 杨宏五 杨婵娟。 微型计算机原理与应用(第二版)西安电子
科技大学出版社;
[2] 微型计算机原理实验指导书 河北大学电子信息工程学院; [3] 华成英、童诗白。模拟电路技术基础(第四版)高等教育出版社。
附 录
stack segment stack dw
40dup(?)
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
top stack
data
string1
string2 buf1 buf2
data code assume start:
label word ends
segment
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,'$'
db 0dh,0ah,'input error,retry:',0dh,0ah,'$'
db 01H,03H,02H,06H,04H,0cH,08H,09H db 09H,08H,0cH,04H,06H,02H,03H,01H ends
segment
cs:code,ds:data,ss:stack mov ax,data mov ds,ax
正转相序反转相序 ; ;
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
e1: input: 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 jmp input
lea dx,string2 mov ah,09h int 21h
mov ah,01h int 21h
cmp al,'0' jb e1 cmp al,'9' je exit cmp al,'6' ja e1 jmp sel
;显示提示信息
;设置8255工作方式
;显示出错信息
;键盘读字符
;9键退出
;判断输入字符是否符合
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
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
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'
;反转7,8键处理方法
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
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
;其他键处理
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
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
;设置输出地址 ;清除键盘缓冲区
;按相序输出 ;读键盘缓冲区
;有输入跳转
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
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
;显示输入字符 ;反转
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
goo: exit: delay
dloop: dloop1: cmp al,'0' jb a2 je input cmp al,'9' ja a2 mov dl,al mov ah,02 int 21h jmp sel2
mov ah,0ch int 21h
mov ah,4ch int 21h
proc near push cx mov cx,bp
nop push cx, mov cx,100
loop dloop1 pop cx
;清除键盘缓冲区 ;退出
;延时子程序
本实验通过设计电路,编写程序来驱动步进电机的转动。采用开环控制方式,使之能对步进电机的转动方向,速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动依次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。实验中采用的步进电机为35BYJ46型四相八拍,电压为DC12v
loop dloop pop cx ret
delay endp code
ends end start
正在阅读:
微机原理步进电机控制实验06-09
职业经理人财务素养训练—非财务经理的财务管理(讲义)06-25
数控铣理论试题与答案01-15
第2章 变动成本法练习题(答案版)03-03
部编版语文五年级上册白鹭简介08-01
2016学年最新审定苏教版牛津 小学六年级英语下册Unit 6练习08-13
春游小推荐作文400字06-25
桌面上的文件被误删该怎么才能找回08-16
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 步进电机
- 微机
- 原理
- 实验
- 控制
- 滴滴快车驾驶员准入标准和服务要求汇总
- 第4章-学习环境的设计
- 2016年九年级思品专题练习——基本国情
- 当代大学生礼仪素养缺失的原因及对策探析
- 以科学发展观引领当代大学生思想政治教育
- 常用英语前缀后缀词根表
- 有限责任公司发起人协议
- 14、路程、时间与速度教学案例
- 2016-2022年中国油田化学品市场运行形势分析及发展战略研究报告
- 初二物理试题及答案
- 中华人民共和国商标法(2013年修正)
- 我的再发展行动计划
- 日语助词的分类和用法
- 小学数学五年级上册第四单元教学预案
- 高中物理公式、规律汇编表
- 点燃思想的火炬--中考写“理”类作文模拟演练
- 工科类研究生数学课程考试模式改革探析
- 滑动扫描可控震源地震数据谐波干扰的消除方法
- 固相萃取高效液相色谱法测定水中痕量微囊藻毒素
- 液氨泄漏应急预案(正式稿)发电企业