急求一段51单片机控制42步进电机步进电机顺时针转两圈再逆时针转两圈停1s左右再反复的程序

51单片机 编一个控制步进电机转动的程序_百度知道
51单片机 编一个控制步进电机转动的程序
本人单片机无基础,略微学过一点编程,现在想做一个小东西。目的就是实现步进电机的可控制转动。希望大家帮忙写一个程序。目的就是想让步进电机上电后转动5秒,然后停止。比如P1是控制电机正转的。程序应该怎么写呢?谢谢啦!
我有更好的答案
#include &reg51.h&
//51芯片管脚定义头文件#include &intrins.h&//内部包含延时函数 _nop_();#define uchar unsigned char#define uint
unsigned intuchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};/********************************************************//*
/* 延时t毫秒 /* 11.0592MHz时钟,延时约1ms
/********************************************************/void delay(uint t){
while(t--)
for(k=0; k&125; k++)
}}/********************************************************//*/*步进电机正转/*/********************************************************/void
motor_ffw(uint n) {
for (j=0; j&12*n; j++)
//转1×n圈
for (i=0; i&8; i++)
//一个周期转30度
P1 = FFW[i];
delay(15);
//调节转速
} }/********************************************************//*/*步进电机反转/*/********************************************************/void
motor_rev(uint n){for (j=0; j&12*n; j++)
//转1×n圈
for (i=0; i&8; i++)
//一个周期转30度
P1 = REV[i];
delay(15);
//调节转速
} }/*********************************************************
*********************************************************/main() {
motor_ffw(5);
//电机正转
delay(5000);
//换向延时
//motor_rev(5);
//电机反转
//delay(1000);
//换向延时
} }/********************************************************/
采纳率:75%
为您推荐:
其他类似问题
您可能关注的内容
51单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。51单片机驱动步进电机电路及程序
  在这里介绍一下用51单片机驱动步进电机的方法。
  这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!!
  该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。
  采用51驱动ULN2003的方法进行驱动。
  ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。
  ;******************************************************************
  ;****************************步进电机的驱动***************************************
  ; DESIGN BY BENLADN911 FOSC = 12MHz
  ;---------------------------------------------------------------------------------
  ; 步进电机的驱动信号必须为 脉冲信号!!! 转动的速度和脉冲的频率成正比!!!
  ; 本步进电机步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!!
  ;---------------------------------------------------------------------------------
  ; A组线圈对应 P2.4
  ; B组线圈对应 P2.5
  ; C组线圈对应 P2.6
  ; D组线圈对应 P2.7
  ; 正转次序: AB组--BC组--CD组--DA组 (即一个脉冲,正转 7.5 度)
  ;----------------------------------------------------------------------------------
  ;----------------------------正转--------------------------
  ORG 0000H
  LJMP MAIN
  ORG 0100H
  MOV R3,#144 正转 3 圈共 144 脉冲
  START:
  MOV R0,#00H
  START1:
  MOV P2,#00H
  MOV A,R0
  MOV DPTR,#TABLE
  MOVC A,@A+DPTR
  JZ START 对 A 的判断,当 A = 0 时则转到 START
  MOV P2,A
  LCALL DELAY
  INC R0
  DJNZ R3,START1
  MOV P2,#00H
  LCALL DELAY1
  ;-----------------------------反转------------------------
  MOV R3,#144 反转一圈共 144 个脉冲
  START2:
  MOV P2,#00H
  MOV R0,#05
  START3:
  MOV A,R0
  MOV DPTR,#TABLE
  MOVC A,@A+DPTR
  JZ START2
  MOV P2,A
  CALL DELAY
  INC R0
  DJNZ R3,START3
  MOV P2,#00H
  LCALL DELAY1
  LJMP MAIN
  DELAY: MOV R7,#40 步进电机的转速
  M3: MOV R6,#248
  DJNZ R6,$
  DJNZ R7,M3
  DELAY1: MOV R4,#20 2S 延时子程序
  DEL2: MOV R3,#200
  DEL3: MOV R2,#250
  DJNZ R2,$
  DJNZ R3,DEL3
  DJNZ R4,DEL2
  TABLE:
  DB 30H,60H,0C0H,90H 正转表
  DB 00 正转结束
  DB 30H,90H,0C0H,60H 反转表
  DB 00 反转结束
关注电子发烧友微信
有趣有料的资讯及技术干货
下载发烧友APP
打造属于您的人脉电子圈
关注发烧友课堂
锁定最新课程活动及技术直播
51单片机LCD1602程序详解 LCD1602 工业字符型液晶。1602是指LCD显示的内容为16...
本文主要介绍了74ls14如何使用(74ls14引脚图及功能_工作原理及应用电路)。74ls14为有...
步进电机驱动器是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机...
步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定...
关于USB转串口驱动问题 ,在linux下已经集成好了CH340和PL2302的驱动(linux m...
步进电机作为控制用的特种电机,是将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就...
有关51单片机有关晶振的问题一并总结出来,希望对学51的童鞋来说能有帮助
混合式步进电机驱动器的供电电源电压一般是一个较宽的范围(比如IM483的供电电压为12~48VDC)...
89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大...
IBM - PC机硬盘驱动器适配器简称硬盘控制器。它是一个智能部件,可接一个或两个硬盘,通过系统板上...
说到51单片机的时钟首先想到51时怎么工作的呢?微型控制器要想工作必须要有一个“动力”,对于51单片...
在工业生产中温度是常见的被控参数,采用单片机对温度进行控制简单方便。本次创新设计的亮点是数字测温,温...
51单片机定时器工作原理及用法
步进电机由于体积精巧、价格低廉、运行稳定,在低端行业应用广泛,步进电机运动控制实现全闭环,是工控行业...
晶振和 IC 间一般是通过铜走线相连的,这根走线可以看成一段导线或数段导线,导线在切割磁力线的时候会...
随着单片机应用的普及,单片机间通信问题已引起广泛的关注。目前,应用较多的是有线通信,而如何利用现有的...
步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电动机的输入量是脉冲序列,输出量则为...
学51单片机的时候,总是伴随很多有关于晶振的问题,其实晶振就是如同人的心脏,是血液的脉搏,把单片机的...
步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单...
51单片机、AVR单片机和PIC单片机IO口结构的均不同,导致了IO口操作也不同。操作单片机IO口的...
Cortex-M3是ARM公司最新推出的基于ARMv7体系架构的处理核。步进电机已被广泛的应用于位置...
设计了一个基于LM317和AT89C51的数字显示可调稳压电源。系统包含主电源和辅助电源模块、电压数...
本系统拟计划采用DSP控制步进电机推动轻装置移动实现测量装置的精准定位。系统拟采用的主控制器为DSP...
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止...
PWM这个功能在飞思卡尔、STM32等高档的单片机内部有专用的模块,用此类芯片实现PWM功能时只需要...
在初学51单片机的时候,总是伴随很多有关于晶振的问题,其实晶振就是如同人的心脏,是血液的脉搏,把单片...
RS-485收发器采用平衡发送和差分接收,因此具有抑制共模干扰的能力,加上收发器具有高的灵敏度,能检...
实现机电设备的多功能控制需要大量的操作及显示器件,如何解决操作面板可用面积不足时的元器件布设问题,成...
本人最近一直想用51单片机来设计制作一个“大功率直流有刷电机PWM调速控制器”。由于平时工作忙,没时...
随着电力电子技术的飞速发展,变频调速的性能指标完全可以达到甚至超过直流电机调速系统。通过调节输入驱动...
步进拖动的特性由驱动线路、机械结构和步进电动机各自的特性所决定。步进电机的工作状态可以分为静态、稳态...
笔者从事安卓底层开发,工作一年,个人看法 ,处女答。个人感脚51就是就是搞嵌入式第一门技术。把c语言...
下面介绍一种利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法。使用这种方法,无需任何...
嵌入式控制系统以其低功耗、低成本、高性能等优势被广泛用于工业控制领域,而在嵌入式控制系统中 步进电机...
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8...
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8...
六款单片机流水灯电路图介绍。采用STC89S52单片机控制8个LED灯,其中8个LED灯的负极接单片...
本文详细的介绍了八款单片机时钟电路图。时钟电路就是产生像时钟一样准确运动的振荡电路。任何工作都按时间...
在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单...
P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。
指令周期指的是单片机执行一条指令的时间。按指令执行的时间可分为:单周期、双周期和四周期(只有乘法和除...
当用单片机和PC机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和RS232的...
本文主要介绍了max7219驱动数码管:STM32硬件SPImax7219驱动8位数码管显示模块程序...
BOXZ,昵称盒仔,是一款开源的互动娱乐平台!百度一下,有很多盒仔的制作教程,基本都是用arduin...
先来一张制作完成的图片,受加工条件和材料的限制,尽了最大的努力后才勉强做成了现在的样子。
单片机软件开发里面第一步当属下载程序了,如果这一步都有问题,那么后面的一切便无从谈起,记得当初刚接触...
单片机中断就是当单片机正在执行程序的时候,突然某个按键按下了(产生外部中断),单片机就必须得去处理那...
本系统利用单片机STC89C52采用程序设计方法产生锯齿波、正弦波、三角波、矩形波四种波形,再通过D...
市面上的单片机种类繁多,在选用单片机进行开发时你是不是总是难以抉择,本文为大家带来51单片机、STC...
结合按键程序,我们设计这样一个功能程序:按数字键 1~9,控制电机转过 1~9 圈;配合上下键改变转...
单片机在电学里面,属于很简单的一种器件,外表看,就是一个芯片,长着很多的脚。内部,就是一堆寄存器。不...
本文介绍51单片机检测输入的高电平的方法及注意事项
本文介绍了基于STM32F103和A3988的步进电机多细分控制系统,较传统的利用DA转换芯片的方案...
C文件,是程序设计中的一个重要概念。所谓“文件”一般是指存储在外部介质上数据的集合。一批文件是以数据...
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8...
DPTR是某些单片机中一个功能比较特殊的寄存器,是一个16位的特殊功能寄存器, 其高位字节寄存器用D...
晶振是通过电激励来产生固定频率的机械振动,而振动又会产生电流反馈给电路,电路接到反馈后进行信号放大,...
在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单...
89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大...
本文主要介绍了一种基于STM32的智能电梯控制系统设计。以STM32F103ZET6芯片作为主控芯片...
步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号时就驱动步进电机按设定的...
经过不断地摸索和参考高手的设计,最终完成了单片机的步进电机控制,可以实现步进电机的实时正反转,加速,...
分析了基于51单片机和AD574的简易电子秤的设计,根据测量要求设计了传感器电路、AD转换电路、超量...
MCS-51单片机控制跑马灯的三种方法:穷举法、移位法、查表法。跑马灯,是指将八个发光二极管分别连接...
着单片机的使用日益频繁,用其作前置机进行采集和通信也常见于各种应用,一般是利用前置机采集各种终端数据...
首先应该了解51单片机最小系统: 51 最小系统也 称为 51 最小 应用 系统 , 是指用最少的元...
步进电机是靠接收脉冲电流来实现速度、位置和方向的控制,脉冲的多少决定步进电机的位置,脉冲的速率决定电...
本系统充分利用89C51单片机的控制和计算能力,采用MCS-51汇编语言,设计了一种基于平均功率法的...
.如果EA=1(执行片内程序存储器中程序时):如果程序计数器的指针PC值超过0FFFH(4K)时,单...
  74HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JEDEC标准。 74HC59...
这应该属于 Keil 编译器的 bug,有网友做过实验,表示 Keil 编译后期产生的汇编代码中,结...
这应该属于 Keil 编译器的 bug,有网友做过实验,表示 Keil 编译后期产生的汇编代码中,结...
 MSP430内核采用RISC精简指令结构,整个代码量较少,按照复杂程度指令在几十个到百多不等,代码...
中断是为使单片机具有对外部或内部随机发生的事件进行处理而设置的。51单片机有5种中断源,即有5种对应...
摘 要:介绍一种基于DMA控制器的步进电机软件环形脉冲分配器的设计。该设计具有容易实现,占用CPU资...
步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,...
51单片机一个显著优点就是指令执行时间固定,因此可以适应时序要求严格的场合。例如符合ISO7816协...
步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、...
电磁脉冲辐照效应实验方法 电磁脉冲对电予系统的辐照效应实验方法,简单地说就是将被测电子系统置于电磁脉...
在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单...
伺服电机内部的转子是永磁铁,驱动器控制的U/V/W 三相电形成电磁场,转子在此磁场的作用下转动,同时...
所谓EMC就是:设备或系统在其电磁环境中能正常工作,且不对该环境中任何事物构成不能承受的电磁骚扰的能...
步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号时就驱动步进电机按设定的...
这里以四线双极性步进电机为例:上面就是常见的四线双极性步进电机的实物图,上一篇文章里面已经说明了步进...
1、51单片机的P0口为了实现准3态,采用了OC输出,也就是集电极悬空输出,也有叫图腾柱输出的。这种...
大家可能都知道破解51单片机是很容易的,但为什么容易,又是如何来破解的,可能很多人就不大清楚了,我在...
51单片机是比较简单也是使用比较广泛的一种,初学单片机的朋友51单片机是必学的一门课程。可能很多朋友...
2位16进制转10进制,用除以10求商跟余数的方法,即可。
  4位16进制数呢?DIV指令只可以...
标准串口引脚2是RX,引脚3是TX,(即九针串口的2号引脚连接的是主控芯片的RXD引脚,3号引脚连接...
1 引言当今社会,随着经济的发展,人们生活水平的提高,肥胖的人越来越多,也就导致了越来越多的疾病产生...
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-关于51单片机控制2台步进电机启停,正反转及定时器有关问题
[问题点数:100分]
关于51单片机控制2台步进电机启停,正反转及定时器有关问题
[问题点数:100分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|&>&C语言51单片机控制步进电机旋转程序
C语言51单片机控制步进电机旋转程序
上传大小:951B
51单片机中断控制步进电机旋转 所需两个单片机。该程序为2号单片机程序
综合评分:0
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
C语言51单片机控制步进电机旋转程序
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
C语言51单片机控制步进电机旋转程序现在位置:
基于单片机的步进电机控制系统设计 详细内容
基于单片机的步进电机控制系统设计
基于单片机的步进电机控制系统设计
摘要:步进电动机由于用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。
本文介绍的是一种基于单片机的步进电机的系统设计,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2004以及相应的按键实现以上功能,并且步进电机的工作状态要用相应的发光二极管显示出来。本文内容介绍了步进电机以及单片机原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试,同时介绍了调试过程中出现的问题以及解决问题的方法。该设计具有思路明确、可靠性高、稳定性强等特点,通过调试实现了上述功能。
关键词:步进电机;脉宽调制;驱动机构;单片机;转动
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。它是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。
本次毕业设计选用的步进电机是四相步进电机,通过软件和硬件的结合实现步进电机的启停、正转、反转、加速、减速功能,并且步进电机所处的状态用相应的发光二极管显示。主要通过三大块来设计,包括驱动电路的设计、状态显示部分和按键部分是设计。可以通过控制脉冲个数来控制角位移量,从而精确地控制转动角度;同时可以通过控制脉冲频率来控制电机转动的角度和加速度,从而达到调速的目的。
&&& 本次论文分为六章,序言简要介绍了此次设计中有关步进电机及其驱动器的相关概念。第1章是绪论,主要探讨了步进电机的研究背景和本论文的主要研究内容;第2章步进电机与单片机的原理;第3章系统整体硬件结构;第4章系统的软件设计;第5章系统的调试与检测;最后是参考文献、附录和致谢。通过七章内容的描述,详细介绍了本次毕业设计的内容、方法、以及设计中遇到的问题和解决问题的途径。
第1章 绪论
1.1 课题研究的目的和意义
步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。1.2 国内外研究概况
&& 步进电机是国外发明的。中国在文化大革命中已经生产和应用,例如江苏、浙江、北京、南京、四川都生产,而且都在各行业使用,驱动电路所有半导体器件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计数器,触发器,环形分配器。
国外在大功率的工业设备驱动上,目前基本不使用大扭矩步进电动机,因为从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来比较,比较不划算,还是用直流电动机,加电动机编码器整体技术和经济指标高。一些少数高级的应用,就用空心转杯电机,交流电机。
国外在小功率的场合,还使用步进电机,例如一些工业器材,工业生产装备,打印机,复印件,速印机,银行自动柜员机。国外用许多现代的手段将步进电机排挤出驱动应用,除了前面提到的旋转编码器,打印机还使用光电编码带或感应编码带配合直流电动机,实现闭环直线位移控制。
国内过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理论与工程分析和应用能力强,先进的控制理论作为软件,写在控制器内部。
总的来说,步进电机是一种简易的开环控制,对运用者的要求低,不适合在大功率的场合使用。
在卫星、雷达等应用场合,中国在文化大革命后期,就生产了力矩电机,就生产了环形力矩电机,在高品质的控制场合,有时还不能使用步进电机。步进电机的细分控制,在改革开放初期,国内就已经基本掌握,这与交流电动机的矢量控制相比,难度要低得多。1.3 论文的主要研究内容
本论文所选的步进电机是四相步进电机,采用的方法是利用单片机控制步进电机的驱动。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。本次毕业设计就是通过改变脉冲频率来调节步进电机的速度的,并且通过数码管显示其转速的级别。另外通过单片机实现它的正反转,步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。
第2章 步进电机与单片机简介
2.1 步进电机介绍 2.1.1 步进电机概述
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。
本次毕业设计采用的是步距角为1.8度的四相八拍永磁式步进电机。
步进电机的基本参数:&
(一)步进电机的静态指标术语
1、相数:产生不同对N、S磁场的激磁线圈对数。常用m表示。
2、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即&A-AB-B-BC-C-CD-D-DA-A.
3、步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。
4、定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)
5、静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。
虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。
(二)步进电机动态指标及术语:
&& 1、步距角精度:
步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。
电机运转时运转的步数,不等于理论上的步数。称之为失步
3、失调角:
转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。
4、最大空载起动频率:
电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。
5、最大空载的运行频率:
电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。
6、运行矩频特性:
电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。&要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电机。
7、电机的共振点:&
步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180-250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。&
8、电机正反转控制:
当电机绕组通电时序为A-AB-B-BC-C-CD-D-DA时为正转,通电时序为DA-D-CD-C-BC-B-AB-A时为反转。
步进电机的特征如下:
& &&1、一般步进电机的精度为步进角的3%-5%,且不积累。
& &&2、步进电机外表允许的最高温度。
&&& 步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。
3、步进电机的力矩会随转速的升高而下降。
当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减少,从而导致力矩下降。
4、步进电机低速时可以正常转动,但若高于一定速度就无法启动,并伴有啸叫声。
步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。
步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。伴随着不同数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。2.1.2 步进电机的工作原理
步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。
图2-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方向转动。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2-2所示:
图2-2 步进电机工作时序波形图
2.1.3 步进电机的分类与选择
现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。
反应式步进电动机采用高导磁材料构成齿状转子和定子,其结构简单,生产成本低,步距角可以做的相当小,一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩,但动态性能相对较差。
永磁式步进电机转子采用多磁极的圆筒形的永磁铁,在其外侧配置齿状定子。用转子和定子之间的吸引和排斥力产生转动,它的出力大,动态性能好,但步距角一般比较大。一般为两相,转矩和体积较小,步进角一般为7.5度 或15度。
混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛,它是PM和VR的复合产品,其转子采用齿状的稀土永磁材料,定子则为齿状的突起结构。此类电机综合了反应式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机,在计算机相关的设备中多用此类电机。
步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。
1、步距角的选择
电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度&(三相电机)等。
2、静力矩的选择
步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸)。
3、电流的选择
静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压)。
4、力矩与功率换算
步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下:
&P=&Ω?M&Ω=2π?n/60&P=2πnM/60其P为功率单位为瓦,Ω为每秒角速度,单位为弧度,n为每分钟转速,M为力矩单位为牛顿?米
P=2πfM/400(半步工作)
其中f为每秒脉冲数(简称PPS)2.2 步进电机驱动系统介绍 2.2.1 步进电机驱动系统简介
步进电机不能直接接到交直流电源上工作,而必须使用专用设备――步进电机驱动器.步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度上取决于驱动器的优劣。典型的步进电机驱动系统是由步进电机控制器、步进电机驱动器和步进电机本体三部分组成。步进电机控制器发出步进脉冲和方向信号,每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个步距角,即步进一步。步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无或频率的高低。控制器的方向信号决定步进电机的顺时针或逆时针旋转。通常,步进电机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。步进电机驱动器一旦接收到来自控制器的方向信号和步进脉冲,控制电路就按预先设定的电机通电方式产生步进电机各相励磁绕组导通或截止信号。控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机驱动器的功率驱动部分。功率驱动电路向步进电机控制绕组输入电流,使其励磁形成空间旋转磁场,驱动转子运动。保护电路在出现短路、过载、过热等故障时迅速停止驱动器和电机的运行。2.2.2 步进电机绕组的电气特性
&& 步进电机各相绕组都是在铁心上的铜线圈,电阻和电感是电机相绕组的两个固有属性,电机的性能和这两个因素密切相关。绕组通电时,电感使绕组电流上升速度受到限制,因此影响电机绕组电流的大小。绕组线圈的电阻是电机温升和电能损耗的主要因素。
图2-3 电感-电阻串联电路及其电流波形
&&& 步进电机的相绕组可以等效为一个电感一电阻串联电路。图2-3表明了一个电感一电阻电路的电气特性。在 t=0时刻,电压V施加到该电路上时,电路中的电流变化规律为:
&&&&&&&&&&&&&&&&& &&I(t)=V(1-e-Rt/L)/R
通电瞬间绕组电流上升速率为:
di(0)/dt=V/t
经过一段时间,电流达到最大值:
&&&&&&&&&&&&& &&&&&&&&&&&Imax=V/R
L/R定义为该电路的时间常数,是电路中的电流达到最大电流Imax的63%所需要的时间。在 t=t:时刻,电路断开与直流电压源V的连接,并且短路,电路中的电流以初始速率一V/L开始下降,电流变化规律为:
I(t)=Ve-R(t-t1)/L/R
不同频率的矩形波电压施加到该电路上,电流波形如图3-2所示。低频时电流能够达到最大值(a);当矩形波频率上升达到某一临界频率,电流刚达到最大值就开始下降((b):矩形波频率超过此临界值后,绕组中的电流不能达到最大值 (c)。因为步进电机转矩的大小与绕组的电流成正比,所以电机低速运行时,电机能够达到其额定转矩,而在某一特定频率以上运行时,绕组电流随着频率的提高逐渐下降,电机转矩也相应逐渐减小,从而降低了高速运转时带负载能力。
图2-4 不同频率脉冲作用下电感-电阻电路的电流波形
要改善电机高速运行时的性能,有两种办法:提高电流上升速度 VA 和减小时间常数 L/R;可以通过加大绕组的电压从而增加电流上升的速率得时间常数。或者在电路中串联电阻,使L/R减少。2.3 单片机原理 2.31单片机原理概述
单片机(single-chip microcomputer)是把微型计算机主要部分都集成在一块芯片上的单芯片微型计算机。图2-5中表示单片机的典型结构图。由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求,所以单片机在工业过程及设备控制中得到了广泛的应用。
图2-5典型单片机结构图2.3.2单片机的应用系统
&&& 单片机在进行实时控制和实时数据处理时,需要与外界交换信息。人们需要通过人机对话,了解系统的工作情况和进行控制。单片机芯片与其它CPU比较,功能虽然要强得多,但由于芯片结构、引脚数目的限制,片内ROM、RAM、I/O口等不能很多,在构成实际的应用系统时需要加以扩展,以适应不同的工作情况。单片机应用系统的构成基本上如图2-6所示。
图2-6 单片机的应用系统
单片机应用系统根据系统扩展和系统配置的状况,可以分为最小应用系统、最小功耗系统、典型应用系统。本设计是设计一款最小应用系统,最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关量的输入/输出控制、时序控制等。对于片内有ROM/EPROM的芯片来说,最小应用系统即为配有晶体振荡器、复位电路和电源的单个芯片;对与片内没有ROM/EPROM芯片来说,其最小应用系统除了应配置上述的晶振、复位电路和电源外,还应配备EPROM或EEPROM作为程序存储器使用。2.3.3& AT89C51简介
AT89C51的主要参数如表2-1所示:
表2-1 AT89C51的主要参数
E²PROM
AT89C51含E²PROM电可编闪速存储器。有两级或三级程序存储器保密系统,防止E²PROM中的程序被非法复制。不用紫外线擦除,提高了编程效率。程序存储器E²PROM容量可达20K字节。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM―Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其引脚如图2-7所示。
1、主要特性:?与MCS-51 兼容?4K字节可编程闪烁存储器寿命:1000写/擦循环&&&&&& &&&&&&
图2-7 单片机的引脚排列
?全静态工作:0Hz-24Hz?三级程序存储器锁定?128*8位内部RAM?32可编程I/O线?两个16位定时器/计数器?5个中断源?可编程串行通道?低功耗的闲置和掉电模式?片内振荡器和时钟电路
2、管脚说明:&&& VCC:供电电压。&&& GND:接地。&&&&P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。&&&&P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。&&&&P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。&
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。&&& P3口也可作为AT89C51的一些特殊功能口,如下所示:&&& P3口管脚备选功能&&& P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)&&& P3.2 /INT0(外部中断0)&&& P3.3 /INT1(外部中断1)&&& P3.4 T0(记时器0外部输入)&&& P3.5 T1(记时器1外部输入)&&& P3.6 /WR(外部数据存储器写选通)&&& P3.7 /RD(外部数据存储器读选通)&&& P3口同时为闪烁编程和编程校验接收一些控制信号。&&&&RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。&&& ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。&&& /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。&&&&/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。&&&&XTAL2:来自反向振荡器的输出。
3、I/O口引脚:
a:P0口,双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用;
b:P1口,8位准双向I/O口;
c:P2口,8位准双向I/O口,与地址总线(高8位)复用;
d:P3口,8位准双向I/O口,双功能复用口。
4、振荡器特性:&&& XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
5、芯片擦除:
整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。&&& 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
第 3 章& 系统整体硬件结构
3.1 系统整图
系统整图如图3-1所示,本系统采用外部中断方式,p0口作为信号的输入部分,p1口为发光二极管显示部分,p2口作为电机的驱动部分。
图3-1 系统整图3.2 电源部分
利用LM7812和LM7805芯片得到12V和5V的电压,它们的应用要注意以下几点:(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;(2)输出电流不能太大,1.5A 是其极限值。大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿;(3)输入输出压差也不能太小,大小效率很差。 其中12V电压给步进电机供电,5V电压则给单片机供电。分别如图3-2、图3-3所示。
(1)、产生12V的电压给步进电机供电
图3-2 12V电路部分
(2)产生5V的电压给单片机供电
图3-3 5V电路部分3.3 按键部分
本次设计选用的是单片机的P0口来控制信号的输入,所以把按键开关和P0口连接起来,当按下开关S1时,相当于给P0.0口一个低电平;当按下开关S2时,相当于给P0.1口一个低电平;当按下开关S3时,相当于给P0.2口一个低电平;当按下开关S4时,相当于给P0.3口一个低电平;当按下开关S5时,相当于给P0.4口一个低电平。然后通过单片机实行相应的操作。如图3-4。
图3-4 按键部分电路3.4 驱动部分
此电路是步进电机的驱动部分,我选用的是ULN2004芯片来驱动的,ULN2004系列是一款高耐压,大电流达林顿管驱动器,包含7个NPN达林顿管。如图3-5。
图3-5 驱动部分电路3.5 状态指示部分
状态指示用P1口控制发光二极管的显示,如果相应端口是低电平,相应的发光二极管就会亮,用它来表示步进电机所处的状态。如图3-6。
图3-6 状态指示部分电路3.6 时钟部分
时钟电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度,本次设计采用的晶振为12MHz。如图3-7。
图3-7 时钟部分电路第4章系统软件设计
4.1 系统开发软硬件环境
与其它的微处理器一样,开发步进电机驱动系统控制程序也需要一套完整的软件和硬件开发工具。近年来,随着以51单片机为内核的单片机的不断发展和普及,国外的一些公司纷纷推出了以51单片机为基础的集成开发环境。本次毕业设计选用的单片机是AT89C51。4.2 系统主程序
系统分为电机正转、电机反转、电机加速与电机减速的几部分组成,其主程序框图如图4-1所示。
&SHAPE& \* MERGEFORMAT
图4-1 主程序框图4.3 查键部分
查键程序用于判断P0.0口与P0.1口的值,当p0.0口为0时,电机正转,当p0.0口为1时,继续判断p0.1口的值,p0.1口为0时,电机反转。如图4-2所示。
&SHAPE& \* MERGEFORMAT
图4-2 查键部分流程图4.4 前进部分
系统初始化之后,前进子程序R0用于给P2口送不同的值,根据电机转动的相序,使电机正向转动,P2口的值分别为01H,03H,02H,06H,04H,0CH,08H,09H。流程图如图4-3所示。
&SHAPE& \* MERGEFORMAT
图4-3 前进部分流程图4.5 后退部分
电机反转原理与正转相似,此时P2口的值分别为09H,08H,0CH,04H,06H,02H,03H,01H。流程图如图4-4所示。
&SHAPE& \* MERGEFORMAT
图4-4 后退部分流程图4.6 加速部分
当电机正转或反转的时候,按下加速键,调用加速子程序,使电机每转动一步的延时时间变短,从而实现电机的加速。流程图如图4-5所示。
&SHAPE& \* MERGEFORMAT
图4-5 加速部分流程图4.7 减速部分
电机正转或反转的时候,按下减速键,通过改变电机每转动一步的延时时间,使时间变长,从而实现电机减速。流程图如图4-6所示。
&SHAPE& \* MERGEFORMAT
图4-6 减速部分流程图第 5 章 系统的调试与检测
5.1程序编译时的错误与解决方法
把编好的程序(包括正反转程序、停止程序、显示程序等)合理安排好结合到一起进行编译。由于编译只能检查是否存在语法错误,所以还要看是否存在逻辑错误。程序修改好以后,当显示编译0错误,0警告的时候,这说明已经没有语法错误了,是否有逻辑错误还要看接上电路板通过仿真以后,步进电机能否正常转动,显示是否正常。5.2 LM7812输出电压错误与解决方法
电路的工作离不开电源,所以电源是必不可少的。电源采用的是利用变压器将220V的电压转换为12V的电压,再利用桥堆整流使交流电变成直流电,最后分别利用LM7812和LM7805芯片得到12V和5V的电压。
电路板焊接好以后,首先要检查一下电路设计是否合理、元器件焊接是否正确,焊接好以后需要仔细检查。用万用表分别检测从第三个端口出来的是否是12V和5V,结果发现7805两端电压正常,7812两端电压非常不稳定。用万用表仔细检查了每根线,发现了原因,电路板存在虚焊的现象。再次将电路板焊好,检查好以后,用万用表检测两端输出电压,结果正确,电源准备工作完毕。5.3 步进电机转动错误及解决方法
步进电机一开始不能正常转动,以为是电路焊接有问题,为了防止再次出现虚焊,首先将电路板用万用表检查了一遍,没问题。程序也是正确的。后来仔细看了步进电机工作原理,原来步进电机要正常实现正反转,四个相序必须弄清。把电机接上电源,用高电平分别接触电机的引线,每接触一下电机就会向前或向后转动一下,经过几次试验,终于搞清了电机的四个相序,排列顺序分别是1―A,2―C,3―B,4―D。弄清了相序,把电路板重新布线,焊接好,结果电机能够正常转动了。5.4 结论与展望
本次毕业设计能够实现步进电机的启停、正反转以及速度的调节,通过本次毕业设计加强了我对软件编程和硬件设计的掌握,并且熟悉了ULN等芯片。步进电机在控制系统中具有广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等,所以说步进电机有着广阔的市场和远大的发展前景。
[1]张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2005.
[2]李夙.异步电动机直接转矩控制[M].北京:机械工业出版社,1998.
[3]王鸿钰.步进电机控制入门[M].上海:同济大学出版社,1990.
[4]袁任光,张伟武.电动机控制电路选用与258实例[M].北京:机械工业出版社,2005.
[5]王秀和.永磁电机[M].北京: 中国电力出版社,2007.
[6]房玉明,杭柏林.基于单片机的步进电机开环控制系统[J].电机与控制应用,):64-64.
[7]孙笑辉,韩曾晋.减少感应电动机直接转矩控制系统转矩脉动的方法[J].电气传动,2001,(1):8-11.
[8]冯江华,陈高华,黄松涛.异步电动机的直接转矩控制[J].电工技术学报,1999,(6):29-33.
[9]江一,朱凌,申仲涛.异步电动机直接转矩控制仿真研究[J].华北电力大学学报,2003,(1):10-13.
[10]韩利虎. 浅谈步进电机的基本原理[J]. 内蒙古石油化工, Inner Mongolia Petrochemical Industry, 2007,(11):109.
[11]张巍. 浅谈单片机控制步进电机[J]. 安防科技,2006,(3): 25.
[12] 乔璐.,景林,韩英桃.一种实用的步进电动机驱动器设计[J].微特电机,2005,(10):29-31.
[13] 康晶.采用反馈控制的步进电机高低压驱动电路[J].电力电子技术,):61-62,65.
[14] Isao Takahashi,Toshihiko Noguchi.A new responese and high-efficiency control strategy of an motor[J].IEEE Trans on Ind Appl,):820-827.
[15]Depenbrock M.Direct self-control(DSC) of inverterfed machine[J].IEEE Trans on P E,):420-429.
首先诚挚的感谢我的论文指导老师吴晓庆老师,从选题的确定、论文的写作、修改到最后定稿过程中,自始至终都倾注着老师的心血。特别是她多次询问写作进程,并为我指点迷津,帮助我开拓思路,老师以严谨的治学之道、宽厚仁慈的胸怀、积极乐观的生活态度,兢兢业业、孜孜以求的工作作风和大胆创新的进取精神为我树立了一辈子学习的典范,她的教诲与鞭策将激励我在学习和生活的道路上励精图治,开拓创新。她渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。我以最诚挚的心意感谢吴晓庆老师。
在毕业设计期间,我要感谢许多让我分享他们宝贵经验和知识的老师,教会我正确的思考方式。同时,也要感谢在论文写作过程中,帮助过我、并且共同奋斗四年的大学同学们,能够顺利完成论文,离不开他们的帮助,在此表示最深的谢意。
附录 附录1:源程序清单
QIAN EQU 40H
HOU& EQU 41H&&&&&&
JIA& EQU 42H
JIAN EQU 43H
TING EQU 44H
LJMP DUAN&&&&&&&&&&&&&&&& ///&& 外部中断0
MAIN:&&&&&&&&&&&&&&& ///初始化
MOV R0,#0FH
MOV 10H,#01H
MOV 11H,#03H
MOV 12H,#02H
MOV 13H,#06H
MOV 14H,#04H
MOV 15H,#0CH
MOV 16H,#08H
MOV 17H,#09H
MOV 20H,#50
MOV 21H,#40
MOV 22H,#30
&&&&& &MOV 23H,#20
MOV 24H,#10
MOV 25H,#5
MOV R1,#20H
SETB IT0&&&&&&&&& & ////边沿触发形式
LOOP1:JNB QIAN ,LOOP2
&&& & ACALL FRONT1
LOOP2:JNB HOU,LOOP1
&&&&& ACALL BACK1
DUAN: MOV A,P0
&&&&& CPL A
&&& & ANL A,#1FH&&&&&&& ///去高三位,使按下去的一位为1
&&& & CJNE A,#00H,CHA
&&& & AJMP DUAN
CHA: ACALL DELAY10MS
&&&&& MOV A,P0
&&&&& CPL A
&&&&& ANL A,#1FH
& & &&JZ DUAN&&&&&&&&&&& ///为零转移
&&& & ACALL ZHAO
&&& & RETI
ZHAO:MOV A,P0&&&&&&& //查找是哪一位,下面置1
&&&& JNB ACC.0,FRONT
&&& &JNB ACC.1,BACK
&&& &JNB ACC.2,FAST
&&& &JNB ACC.3,SLOW
&&& &JNB ACC.4,STOP
FRONT:SETB QIAN
BACK: SETB HOU
FAST: SETB JIA
SLOW: SETB JIAN
STOP: SETB TING
FRONT1:CLR QIAN
&&&&&& CLR HOU
&&& && CLR JIA
&&& && CLR JIAN
&&& && CLR TING
&&&&&& INC R0&&&&&&& & ///前进子程序 R0用于给P2口送不同的值
&&&&&& MOV P2,@R0
&&& && MOV A,@R1
&&& && MOV R2,A&&&&&&&&& & /// R2用于延时不同的时间
&&& && ACALL DELAY
&CJNE& R0,#17H,XIA
&&& && MOV R0,#10H
XIA:&& JB QIAN,HUI&&&&&&& //回主程序////////XIA子程序用于过度
&&& && JB HOU, HUI
&&& && JB TING,HUI
&&& && JNB JIA,XIA1
&&& && ACALL JIA1
XIA1:& JNB JIAN,XIA2 & ///XIA子程序用于过度
&&& && ACALL JIAN1
&&&&&& JB TING ,HUI
XIA2:& AJMP FRONT1&& &&
HUI :& RET&&&&&&&&&&&&&& //返回主程序
JIA1:& CJNE R1,#25H,XIA3&&&&&&&&&& /// 加速
&&& && RET
XIA3:& INC R1
&&&& &&RET
BACK1: CLR QIAN&&&&&&&&&&&& //后退
&&&&&& CLR HOU
&&& && CLR JIA
&&& && CLR JIAN
&&& && CLR TING
&&& && CJNE R0,#0FH&& ,XIA8
&&& && MOV R0,#17H
XIA8:& DEC R0
&&& && MOV P2,@R0
&&& && MOV A,@R1&&&&&&&&&&&&&&&
&&& && MOV R2,A
&&& && ACALL DELAY
&&& && CJNE R0,#10H,XIA5
&&& && MOV R0,#17H
XIA5: &JB QIAN,HUI
&&&&&& JB TING,HUI
&&& && JB HOU ,HUI
&&& && JNB JIA, XIA6&&&&&&&&&&&&&&&&&& &&&&&&&&&
&&& && ACALL JIA1
XIA6:& JNB JIAN,XIA7
&&& && ACALL JIAN1
XIA7:& AJMP BACK1
JIAN1: CJNE R1,#20H,XIA4&&& //减速
&&& && RET
XIA4:& DEC R1
&&&&&& RET
DELAY10MS:
&&& && MOV R3,#20
D1:&&& MOV R4,#250
&&&&&& DJNZ R4,$
&&& && DJNZ R3,D1
&&& && RET
DELAY: MOV R5,#50&&& && //根据r2的状态调整步进电机的每一步的时间
&&D2:& MOV R6,#150
& D3:& DJNZ R6,$
&&&&&& DJNZ R5,D2
&&&&&& DJNZ R2,DELAY&&&&
&&&&&& RET
附录2:英文资料及其中文翻译
Stepper motor is an electrical pulse will be converted into angular displacement of the implementing agencies. Put it in simple language-speaking: When the stepper drive pulse signal to a receiver, it drives stepper motor rotation direction by setting a fixed point of view (and the step angle). You can control the number of pulses to control the amount of angular displacement, so as to achieve the purpose of
At the same time, you can by controlling the pulse frequency to control the motor rotation speed and acceleration, so as to achieve the purpose of speed.
Stepper motor directly from the AC-DC power supply, and must use special equipment - stepper motor drive. Stepper motor drive system performance, in addition to their own performance with the motor on the outside, but also to a large extent depend on the drive is good or bad. A typical stepper motor drive system is operated by the stepper motor controller, stepper motor drives and stepper motor body is composed of three parts. Stepper motor controller stepper pulse and direction signal, each made of a pulse, stepper motor-driven stepper motor drives a rotor rotating step angle, that is, step-by-step further. High or low speed stepper motor, or speed, or deceleration, start or stop pulses are entirely dependent on whether the level or frequency. Decide the direction of the signal controller stepper motor clockwise or counterclockwise rotation. Typically, the stepper motor drive circuit from the logic control, power driver circuit, protection circuit and power components. Stepper motor drive controller, once received from the direction of the signal and step pulse, the control circuit on a pre-determined way of the electrical power-phase stepper motor excitation windings of the conduction or cut-off signal. Control circuit output signal power is low, can not provide the necessary stepping motor output power, the need for power amplifier, which is stepper motor driven power drive part. Power stepper motor drive circuit to control the input current winding to form a space for rotating magnetic field excitation, the rotor-driven movement. Protection circuit in the event of short circuit, overload, overheating, such as failure to stop the rapid drive and motor.
Motor is usually for the permanent magnet rotor, when the current flows through the stator windings, the stator windings produce a magnetic field vector. The magnetic field will lead to a rotor angle of rotation, making a pair of rotor and stator magnetic field direction of the magnetic field direction. When the stator rotating magnetic field vector from a different angle. Also as the rotor magnetic field to a point of view. An electrical pulse for each input, the motor rotation angle step. Its output and input of the angular displacement is proportional to the pulses, with pulse frequency proportional to speed. Power to change the order of winding, the electrical will be reversed. We can, therefore, control the pulse number, frequency and electrical power windings of each phase to control the order of rotation of stepper motor.
&&&& Stepper motor types:
Permanent magnet (PM). Magnetic generally two-phase stepper, torque and are smaller and generally stepping angle of 7.5 degrees or 15 put more wind for air-conditioning.
Reactive (VR), the domestic general called BF, have a common three-phase reaction, step angle of 1.5 also have five-phase reaction. Noise, no torque has been set at a large number of out.&
Hybrid (HB), common two-phase hybrid, five-phase hybrid, three-phase hybrid, four-phase hybrid, two-phase can be common with the four-phase drive, five-phase three-phase must be us
Two-phase, four-phase hybrid step angle is 1.8 degrees more than a small size, great distance,
Five-phase hybrid stepping motor is generally 0.72, the motor step angle small, high resolution, but the complexity of drive circuits, wiring problems, such as the 5-phase system of 10 lines.
&Three-phase hybrid stepping motor step angle of 1.2 degrees, but according to the use of 1.8 degrees, the three-phase hybrid stepping motor has a two-phase mixed than the five-phase hybrid more pole will help electric folder symmetric angle, it can be more than two-phase, five-phase high accuracy, the error even smaller, run more smoothly.
Stepper motor to maintain torque: stepper motor power means no rotation, the stator locked rotor torque. It is a stepper motor, one of the most important parameters, usually in the low-speed stepper motor torque at the time of close to maintain the torque. As the stepper motor output torque increases with the speed of constant attenuation, the output power also increases with the speed of change, so as to maintain torque on the stepper motor to measure the parameters of one of the most important. For example, when people say that the stepper motor 2N.m, in the absence of special circumstances that means for maintaining the torque of the stepper motor 2N.m.
Precision stepper motors: stepper motor step angle accuracy of 3-5%, not cumulative.
Start frequency of no-load: the stepper motor in case of no-load to the normal start of the pulse frequency, if the pulse frequency is higher than the value of motor does not start, possible to lose steps or blocking. In the case of the &load, start frequency should be lower. If you want to achieve high-speed rotation motor, pulse frequency should be to accelerate the process, that is, the lower frequency to start, and then rose to a certain acceleration of the desired frequency (motor speed from low rise to high-speed).
Step angle: that is to send a pulse, the electrical angle corresponding to rotation.
&Torque positioning: positioning torque stepper motor does not refer to the case of electricity, locked rotor torque stator.
Operating frequency: step-by-step stepper motor can run without losing the highest frequency.
Subdivision Drive: stepper motor drives the main aim is to weaken or eliminate low-frequency vibration of the stepper motor to improve the accuracy of the motor running. Reduce noise. If the step angle is 1.8 ° (full step) the two-phase hybrid stepping motor, if the breakdown of the breakdown of the number of drives for the 8, then the operation of the electrical pulse for each resolution of 0.072 °, the precision of motor can reach or close to 0.225 °, also depends on the breakdown of the breakdown of the drive current control accuracy and other factors, the breakdown of the number of the more difficult the greater the precision of control.
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机不能直接接到交直流电源上工作,而必须使用专用设备――步进电机驱动器.步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度上取决于驱动器的优劣。典型的步进电机驱动系统是由步进电机控制器、步进电机驱动器和步进电机本体三部分组成。步进电机控制器发出步进脉冲和方向信号,每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个步距角,即步进一步。步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无或频率的高低。控制器的方向信号决定步进电机的顺时针或逆时针旋转。通常,步进电机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。步进电机驱动器一旦接收到来自控制器的方向信号和步进脉冲,控制电路就按预先设定的电机通电方式产生步进电机各相励磁绕组导通或截止信号。控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机驱动器的功率驱动部分。功率驱动电路向步进电机控制绕组输入电流,使其励磁形成空间旋转磁场,驱动转子运动。保护电路在出现短路、过载、过热等故障时迅速停止驱动器和电机的运行。
通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。&
& 步进电机的种类:
永磁式(PM) .磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度 或15度;多用于空调风摆上。
反应式(VR),国内一般叫BF,常见的有三相反应式,步距角为1.5度;也有五相反应式。噪音大,无定为转距已大量淘汰。
混合式(HB),常见的有两相混合式,五相混合式,三相混合式,四相混合式,两相跟四相可以通用驱动器,五相跟三相必须使用各自的驱动器;
& 两相、四相混合式步距角多是1.8度,具有小体积,大力距,低噪音;
& 五相混合式步进电机一般为0.72度,电机步距角小,分辨率高,但是驱动电路复杂,接线麻烦,如5相十线制。
& 三相混合式步进电机步距角为1.2度,但是使用中要按1.8度计算,三相混合式步进电机拥有比两相混合式,五相混合式更多的磁极,有利于电机夹角的对称,因此可以比两相,五相精度更高,误差更小,运行更平稳。
& 步进电机的保持转距:指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。比如,当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电机。
&& 步进电机的精度:步进电机的精度为步进角的3-5%,且不累积。
&& 空载启动频率:即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。
&& 步距角:就是发送一个脉冲,电机对应转动的角度。
&& 定位转距:定位转矩是指步进电机不通电的情况下,定子锁住转子的力矩。
&& 运行频率:步进电机能不失步运行的最高频率。
& &细分驱动器: 步进电机细分驱动器的主要目的是减弱或消除步进电机的低频振动,提高电机的运转精度。减少噪音。如对于步距角为1.8°(整步)两相混合式步进电机,如果细分驱动器的细分数为8,那么电机的运转分辨率为每个脉冲0.072°,电机的精度能否达到或接近0.225°,还取决于细分驱动器的细分电流控制精度等其他因素,细分数越大精度越难控制。
没有相关文章
推 荐 阅 读
阅 读 排 行
专 题 列 表
Corporation </small Inc. 网站备案号:鄂ICP备号-2 
基于架构  }

我要回帖

更多关于 步进电机的单片机控制 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信