基于PWM细分的步进电机调速报告
河南工程学院
单片机课程设计
论文
政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载
论文
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
目:基于,,, 细分的步进电机调速
系 部: 电气信息工程系
专 业: 电气工程及其自动化
班 级: 0942班
学生姓名: 葛敬涛(主力) 潘朏朏 李朝光
指导教师: 瓮嘉民
2011年11月7日—11月18日
目录
摘要…………………………………………..2 一、 基本
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
及原理………………………………3 二、 系统框图………………………………………3 三、 流程图…………………………………………5 四、 仿真图…………………………………………6 五、 硬件电路………………………………………6 六、 程序……………………………………………8 七、 实物照片……………………………………...11 八、 元件清单……………………………………...13 九、 心得体会……………………………………...14 十、 参考文献………………………………………16
1
摘要:本文以四相五线步进电机为例,介绍了一种利用单片机产生PWM波来实现步进电机细分驱动的方法。该方法充分利用单片机的硬件资源,通过软件控制,产生占空比不同的方波,在电机线圈内产生近似正弦波的阶梯型电流。与常用的恒频脉宽调制方式相比,该方法不需要EI,A转换器和锯齿波发生器,不仅有利于简化电路和节约成本,而且能提高细分精度和电机运行平稳性,适用于需要精密控制的仪器仪表。
关键词:PWM;细分驱动;步进电机;单片机
2
一、基本方案及原理
1、基本方案:
利用AT89S52单片机来控制步进电机的速度和方向,完成基本要求和发挥部分的要求。在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。
步进电机是精密仪器仪表中常用的自动化执行部件,具有快速起停、精确步进、易于控制等优点。但是受制造工艺的影响,步进电机一般步距角较大,且有低频振动、噪声等缺点,不能应用于精度、平稳性要求较高的场合。步进电机细分驱动技术是20世纪70年代中期发展起来的可以显著改善步进电机性能并提高步进精度的驱动控制技术。PWM(脉宽调制)细分技术是目前较为常用的方式,其实质是通过在电机线圈中产生阶梯型电流从而改善电机性能并达到细分的目的。
随着仪器仪表技术的发展,各种带PWM模块的单片机越来越多地应用于仪器仪表中,用它可以直接实现仪表中步进电机的细分驱动。本文介绍了一种利用单片机软件产生PWM波实现仪表步进电机驱动的方法,这种方式具有以下优点:(1)与传统的硬件PWM方式相比,驱动电路明显简化,不需要D/A转换器和锯齿波发生器;(2)与纯软件模拟PWM方式相比,程序简单且占用CPU时间少。
2、步进电机PWM驱动原理:
步进电机是通过对定子上的各个线圈交替通电产生进式旋转磁场,从而带动转子作步进式旋转。用MCU驱动步进电机最简单的方式是整步驱动,即利用单片机Io口产生各相脉冲通过功率器件来控制电机运转。这种方法虽然简单却存在精度不高、相电流突致运行不够平稳、有噪声等缺点。细分驱动技术的实质用近似正弦波的阶梯型电流代矩形波电流,产生一个微步旋转磁场,从而带动电机以小的步距角转动。同时由于正弦波电流变化平滑,使电机运行更平稳、更小。PWM技术是采用脉宽调制方式,即占空比不同的方电压产生不同的平均电流,由于电机线圈电感对电流变的阻碍作用,线圈中的电流波形围绕平均值下波动,当PWM波的频率足够高时,线圈中的电流以看成大小为L的恒定电流。通过调节占空比可以产生不同的平均电流。 二、系统框图
按系统功能实现要求,决定控制系统采用AT89S52单片机,驱动芯片采用L298。整个设计以AT89S52单片机为核心,由数码管显示,时钟电路,复位电路。按键控制电路组成。系统方框图如图1。
3
AT89S52 L298步进电P0 正反控制 机驱动电路 数码管显示 段选 P1
单PWM控制点击速度 P2^7 片
位选 P3^0 机 P2^2
~ 按键控制
P2^0
图1硬件模块图
功能简介:
1、利用单片机程序控制PWM波的占空比来控制电机转速,操作简单方便。 、采用三个按键操作,通过正反按钮控制步进电机的正反转,用加减速按键控制PWM2
波的占空比从而来控制步进电机的加速与减速。电机最多可以加速9个级别。 3、电机转动时可以通过数码管来显示电机的转速。
4
三、流程图
开始
初始化
1 0 flag=?
正转 反转
主程序流程图
T1中断
保护现场
按键扫描确定flag和n的取值
判断计数是否Y PWM=0
到n
N
Y PWM=1 判断n,=10
N
恢复现场,中断返回
5 中断程序流程图
四、仿真图
图2 仿真图 五、硬件电路
图3 原理图
6
图四 电路PCB
1、芯片L298的外形及其工作原理
图5 L298引脚图
L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。
L298N可接受
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
TTL逻辑电平信号V,V可接4(5,7 V电压。4脚V接电源SSSSS
7
电压,V电压范围V为,2(5,46 V。输出电流可达2(5 A,可驱动电感性负载。1SIH
脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号,在通常使用中这两个引脚也可以直接接地。L298可以驱动两个二相电机,也可以驱动一个四相电机,2,3,13,14与电机相连接。本实验我们选用驱动一台四相步进电机。5,7,10,12脚接输入控制电平,控制电机的正反转。EA,EB接控制使能端,控制电机的停转。
2、显示控制模块
显示模块由7段数码管构成,采用动态扫描显示方式。AT89S52的P1口直接与数码管的a,g和dp端相连。AT89S52的P3^0控制数码管的开关。工作时电流一般选择在10mA/段左右,这样证即亮度适中,又不会损坏器件,故使用时必须在数码管的每段中串接一个适当阻值的限流电阻。
3、按键模块
通过正反转按键来调节送入接拍的正反,从而来控制步进电机的正反转。通过加按键使单片机产生的PWM波的占空比增大,增大L298的导通时间,从而使步进电机速度增加。通过减按键使单片机产生的PWM波的占空比减小,减小L298的导通时间,从而使步进电机速度减小。
六、程序
#include
#define uchar unsigned char
#define uint unsigned int
uchar code step1[]={0x03,0x06,0x0c,0x09};
uchar code step2[]={0x09,0x0c,0x06,0x03};
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
sbit PWM=P2^7;
sbit K1=P2^0;
sbit K2=P2^1;
sbit K3=P2^2;
sbit We=P3^0;
uchar count,n;
bit flag;
void delay(uint z)
{
uint i,j;
for(i=110;i>0;i--)
for(j=z;j>0;j--);
8
}
void delayus(uint z)
{
while(z--);
}
void init()
{
flag=1;
n=1;
TMOD=0x10; //定时器1方式1
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
EA=1;
ET1=1;
TR1=1;
}
void display(uchar z)
{
//We=1;
P1=table[z];
We=0;
}
void key()
{
if(K1==0)
{
delay(5);
if(K1==0)
{
flag=!flag;
while(!K1);
}
}
if(K2==0)
{
delay(5);
if(K2==0)
{
n+=1;
9
if(n==10)n=1;
while(!K2);
}
}
if(K3==0)
{
delay(5);
if(K3==0)
{
n-=1;
if(n==0)n=9;
while(!K3);
}
}
}
void main()
{
init();
while(1)
{
display(n);
if(flag)
{
uchar i;
for(i=0;i<4;i++)
{
P0=step1[i];
delayus(500);
}
}
else
{
uchar i;
for(i=0;i<4;i++)
{
P0=step2[i];
delayus(500);
}
}
}
}
void time1() interrupt 3
{
10
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
count++;
key();
if(count==n)PWM=0;
if(count==10)
{
PWM=1;
count=0;
}
}
七、实物图片 }
11
12
八、元件清单
序号 元件名称 型号与规格 单位 数量
R1、R3 1KΩ 只 2
R2 10k 只 1 1 电阻
R4~R11 300Ω 只 8
排阻: 10K 个 1 2 排针 排 1 3 电解电容 C3、C4 10μF/16V 只 2
C1 C2 30pF 只 2 4 瓷片电容 C5 0.01uF 只 1 5 晶振 Y1 12MHz 只 1 6 三级管 P1 9012 只 4 7 L298 块 1 8 单片机 AT89S52 块 1 9 步进电机 个 1 10 按钮 S1~S3 6*6轻触 只 3 11 数码管 1位共阳 只 1
13
九、心得体会
个人感受
这次课程设计我们做了两个星期,在这两个星期里我们收获了很多。做课程设计需要团队合作。有些东西需要大家一起动手动脑才可以做出来。这次设计对我来说具有很重要的意义,它不仅要求我们将理论与实践结合,更重要的是提高我们的实践能力以及创新能力。
设计需要有一个清晰的思路和一个完整的器件流程图,设计不会一次就做好,中间要不断修改完善,中间有很多很细节问题都要一一找出来,电路上出现一点问题最后造成的危险是很大的。有些东西不是天马行空就会出来的,我们查阅了很多资料,了解了步进电机的工作原理及其驱动方式,并通过研究探讨决定采用NPN以及PNP三极管,应用简单方便并且经济实惠。
在电路完成以后,我们面对程序又进行一番探讨与调试,通过查阅老师给我们的一些资料,以及去图书馆的查阅,了解了每句语言的作用,以及用法。我们对程序进行调试以及修改,最终调试出来。促使我们应用以前学习的东西并学以致用。
做程序有时用到很多以前学的软件,以前学的时候没有实践,现在给了我一个应用的平台,通过这次实战我对这些软件的应用提升了一个台阶。能够很顺利的应用软件画图仿真。
一个设计最重要的成品就是你的实物,在做实物的时候我们遇到很多的问题。刚开始确定元件的时候因为型号的问题不太了解,所以有些元件的型号我们并不清楚,不知道怎么去用,通过查阅电工手册以及通过互联网查阅的一些资料,了解到每个元件的型号,知道每个引脚的作用,然后才开始焊接。这些我对实物的了解多了一些,它让我不断的提升。
在设计中我们发现自己很多不足之处,不断的发现新问题,每解决一个问题都感觉自己的一次提升。以前学的一些问题掌握的不够牢固,通过这次设计我们应用到很多东西,经过实践的检测,我对这些东西的应用比以前纯熟了一些,有些不知道的东西通过查资料,在小组中讨论,交流
经验
班主任工作经验交流宣传工作经验交流材料优秀班主任经验交流小学课改经验典型材料房地产总经理管理经验
并自学,实在找不出来再问老师,使自己学到不少知识,也经历不少艰辛但收获颇丰。
我认为这个收获是相当大的,觉得课程设计反映的是一个从理论到实际应用的过程。但是更远一点可以联系到以后毕业之后从学校转踏上社会的一个过程。小组人员的配合、相处,以及自身的动脑和努力,都是以后工作中需要的。
姓名:葛敬涛
学号:200910710208
14
个人感受
这次设计我们选了一个我感觉比较难的题目,老师虽然给我们了一些资料,但很多东西还是需要我们自己去做的,对于这个题目中的PWM不是很理解,还有步进电机的工作原理、驱动方式以及在日常生活中的应用,这些我都不了解,就先上网查找了这方面的知识,并结合老师给的一些资料展开了这一次的设计,首先画原理图,需要运用Altium Designer 6软件,这是我第一次接触这个软件,刚开始的时候什么都不会,然后就开始不断的查资料,请教同学老师,用了一整天时间才画好,不过还有很多不足,经过同组同学的改正算是画好了。接下来做仿真图和程序,需要用proteus软件,刚开始很吃力,很多程序上的知识学习的都不够扎实,通过问同学查资料,最后用了很长时间才搞好,最后终于仿真出来了。
通过本次设计实验,我对步进电机有了比较深入的了解,并且也对这几个软件有了进一步的熟悉,而且在软件上作图的水平有了进一步的提高。在本次设计中,在电路板的焊制过程中也遇到了很多问题,有很多知识都不会,例如L298的几个脚怎么么连接,以及它的作用,以及数码管的管脚怎么与单片机连接等等,然后查找了资料才明白L298可以驱动电机,在课本上找到了数码管各个管脚与单片机对应的位置。我们先把元器件焊在焊板上,知道接线的时候才发现焊接元器件的时候也是有窍门的,不是随便放个地方焊上就可以了,这个也需要排版,看着原理图排版这样可以节省很多事,像我们排的排阻离单片机太近但又没有连在对应的节点上,这样就麻烦了,太近线就短焊起来很费力,一不小心就把两个相邻节点焊在一起了。刚开始不是很顺利,慢慢也找到了窍门,焊起来顺手了一些,熟能生巧。在连线方面不能粗心大意,一点接错就影响整个板子的正常工作,焊接和接线的过程不仅仅是理论与实际相结合,最重要的是告诉我们做什么事情都要细心用心,有毅力。通过这个过程,我才发现平时自己所学习的知识很贫乏,做什么事情还不够细心。我的单片机知识也还很不牢固,需要更深入的学习。
本次课程设计我们组只有三个人,感觉到没那么轻松,一直处于非常紧张的状态,我们的经常去请教老师同学,从中也学到不少,当我们仿真成功的时候,很有成就感,对这个设计也慢慢有了兴趣,这次课程设计让我们更深刻的了解了理论与实际结合的重要性,并从中学到了一些良好的做事的品质,这些为我们以后走上工作岗位打下了基础,很感谢翁老师以及同组同学对我的指导和教诲,也很珍惜学校给我们提供的这次机会。
姓名:潘朏朏
学号:200910710207
15
个人感受
为期两周的课程设计还是有一定作用的,理论是要懂得,但你不管看多少若不用于实际对于我们直接工作的还是不应该的,通过实训熟悉理论知识,然后解决问题,最后再回到理论上来,是我们应该走的道路,而且实训就是提供这样的道路,
我们做的是基于单片机PWM细分的步进电机调速,对于单片机我承认学的不好,但我相信人的自学能力是无限的,我认为通过自己的学习和别人的帮助就能够了解并学好它,但在实训过程中还是受到了一定的挫折,我感觉自己不擅长与实践,不擅长计算机作图,对程序现在也是不怎么懂,但受挫折才能进步,我也相信可以做的更好些,而且我也正在尽量学好它。
步进电机是通过对定子上的各个线圈交替通电产生步进式磁场,从而带动转子做步进式旋转。充分利用单片机的硬件资源,通过软件控制,产生占空比不同的方波,在电机线圈内产生近似正弦波的阶梯型电流。
总体来讲,感觉还是收获比较大的,至少让我知道了还用很多东西需要学习,希望自己可以做的更好。
姓名:李朝光
学号:200910710201
16
十、参 考 文 献
【1】 李 明,毕万新.单片机原理与接口技术.大连:大连理工大学出版社,2009 【2】 张靖武,周灵彬.单片机系统的Proteus设计与仿真.北京:电子工业出版社,2008. 【3】 周 坚.单片机项目教程.北京:北京航空航天大学出版社,2008. 【4】 胡 健.单片机原理与接口技术实践教程.北京:机械工业出版社,2004. 【5】 胡汉才.单片机原理及系统设计.北京:清华大学出版社,2002. 【6】 侯玉宝等.基于Proteus8051系列单片机设计与仿真.北京:电子工业出版2006. 【7】 翁嘉民.单片机应用开发技术.北京:中国电力出版社2009.
17