基于MCS-51单片机的步进电机速度控制程序设计.doc
文本预览下载声明
山东科技大学电工电子实验教学中心
创新性实验结题报告
实验项目名称 基于MCS-51单片机的步进电机速度控制程序设计
姓名 __吴裕浩__ 学号 201001101627
手机 Email 490222547@_
专 业 _ 自动化 班级 _ 2010-1 _
指导教师及职称 ___张仁彦 副教授___ _ _
开课学期 2012 至_2013 学年_ 1 _学期
提交时间 2013 年 1 月 14 日
一、实验摘要
从工业化时代到来开始,机电设备便被广泛应用,而电动机作为传动中枢也有着很重要的作用。作为电动机的一种---步进电机其重要性也是不言而喻的,从工业生产中的自动化设备到高精端科技领域,都可以看到有步进电机的存在。
本实验便是基于MCS-51单片机的,对其速度的控制。其功能实现为:可以通过键盘,来实现对步进电机速度的转换(速度档位分为高、中、低三档),并通过显示器将实际速度的大小显示出来。
二、实验目的
1、通过键盘来实现对步进电机速度的转换,使步进电机在不同模式下拥有不同的转速,从而来满足不同的机电要求。
2、三个按键分别对应步进电机高中低档,三个档次的转速有明显的区别。
3、通过显示模块将实际转速显示出来。
三、实验场地及仪器、设备和材料:
试验场地:微机原理实验室
仪器及设备:PC机一台(安装有Keil uVision3及STC_ISP_V480软件),单片机试验箱
四、实验内容
1、实验原理
本实验用到的子模块电路主要有步进电机控制电路、键盘电路以及数码管显示电路。
步进电机电路示意图如图一所示,该步进电机内部有4相绕组,外引5根控制线,如图1所示,其中导线5接5V电源的“+”极,导线1、2、3、4按照控制时序接5V电源的“-”极。
图1
控制步进电机转速的程序中主要使用了单片机中的定时器中断系统来控制步进电机的转动,电机的驱动采用四相八拍的方式,如表1所示。表中“+”表示接电源正极,“-”表示接电源负极。
表1
电机端子序号
电机绕组相数
拍数顺序
1
2
3
4 5
6
7
8
5
+
+
+
+
+
+
+
+
4
A
-
-
-
3
B
-
-
-
2
C
-
-
-
1
D
-
-
-
使用中断系统控制步进电机转动的原理是在给定时器赋初值后,定时器开始计时,当其计时完成时会进入中断,每次进入中断程序都会使当前拍数加一使其进入下一拍,这样循环往复就会使电机在这八拍的作用下正常旋转。其优点在于使其转速稳定,不会受到主程序的影响,可以实现较高精度的控制。在本设计的主程序中,循环调用键盘扫描和显示程序,键盘扫描不断地扫描是否有键按下,若有键按下,则根据键值的不同,调至相应程序改变定时器的初值,从而使步进电机的转速改变。
1、各电路工作原理:
(1)数码管动态显示原理
本设计所用的数码管显示驱动电路如图2所示。设计中采用四位数码管,其段码值通过P0口输出,位控信号由P2口输出,显示时首先送出段码值再选中相应数码管要是稳定后,P0送出下一位段码,P2选中下一个数码管,再次延时稳定,以此方式继续下一位显示,直至所有信息显示完成,再次回到起始位置扫描显示,以此完成信息的显示。
图2
(2)键盘电路原理
键盘电路图如图3。
图3 键盘电路
本实验中我们采用扫描式键盘,共使用了K0、K1、K2和K3四个按键,分别控制电机的低速档、中速档、高速档和暂停。其工作原理是:在键盘扫描时对C0—C2三个口首先全送低电平,检测R0口电平信号,若R0口为高电平说明无键按下,若其为低电平,则说明有键按下。当有键按下时,再分别给C0—C2三列端口依次送低电平,若某列送低电平后R0再次检测到低电平,则说明此列有键按下,然后程序进行跳转,进入相应的子程序,重新设定定时器初值,同时改变显示缓冲区的数据。以上便是键盘扫描的整个工作原理。
(3)总电路图
关于定时器初值的计算如下所示:
本实验为采用定时器T0,实验中的高档每拍的间隔时间为1MS。
首先确定定时器初值N:由于晶振为12MHz,所以,一个机器周期T=1us。所以,计数值M=t/T=1000/1=1000,,故计数初值N=65536-1000=64536=FC18H。所以定时器初值TH0赋0FCH,TL0赋18H。
表3
档位
高
中
低
速度
960r/min
480r/min
96r/min
定时时间
1ms
显示全部