步进电机论文.docx
- 文档编号:20137377
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:38
- 大小:1.85MB
步进电机论文.docx
《步进电机论文.docx》由会员分享,可在线阅读,更多相关《步进电机论文.docx(38页珍藏版)》请在冰豆网上搜索。
步进电机论文
基于单片机控制的步进电机系统
冯朋昌
物理与信息技术学院学号:
110542037
指导教师:
李天超
摘要:
本设计是利用STC12C5A40S2单片机控制步进电机启动、加减速、正反转、单步连续切换等功能,介绍了步进电机的工作原理特点及发展历程,给出了利用STC单片机和LV8731步进电机驱动控制步进电机的设计方案,给出其功能原理图及电路原理图;详细介绍了各个设计单元的工作原理,采用C语言进行编程。
此系统采用反射式红外光电管传感器做按键,操作简单、稳定、抗干扰能力强。
本系统的设计可有效解决步进电机在工控方面的应用。
关键字:
步进电机;STC12C5A40S2;LV8731驱动器;反射式红外光电管
1引言
步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。
它是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。
随着微电子和计算机技术的发展,步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。
2方案论证
本设计采用两相双极式步进电机,两相双极式步进电机体积小,价格便宜。
使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统,LV8731驱动集脉冲分配和功率放大于一身,LV8731是2chH桥式驱动带负载能力强,操作简单。
控制部分用STC12C5A40S2单片机,STC12C5A40S2单片机功能强大,抗干扰能力强,经济可靠。
3硬件电路设计
3.1步进电机概述
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。
这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。
使得在速度、位置等控制领域用步进电机来控制变的非常的简单。
正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。
本次毕业设计采用的是步距角为1.8度的两相双极式步进电机。
3.2步进电机驱动系统简介
步进电机不能直接接到交直流电源上工作,而必须使用专用设备——步进电机驱动器.步进电机驱动系统的性能,除与电机本身的性能有关外,也在很大程度上取决于驱动器的优劣。
典型的步进电机驱动系统是由步进电机控制器、步进电机驱动器和步进电机本体三部分组成。
步进电机控制器发出步进脉冲和方向信号,每发一个脉冲,步进电机驱动器驱动步进电机转子旋转一个步距角,即步进一步。
步进电机转速的高低、升速或降速、启动或停止都完全取决于脉冲的有无或频率的高低。
控制器的方向信号决定步进电机的顺时针或逆时针旋转。
通常,步进电机驱动器由逻辑控制电路、功率驱动电路、保护电路和电源组成。
步进电机驱动器一旦接收到来自控制器的方向信号和步进脉冲,控制电路就按预先设定的电机通电方式产生步进电机各相励磁绕组导通或截止信号。
控制电路输出的信号功率很低,不能提供步进电机所需的输出功率,必须进行功率放大,这就是步进电机驱动器的功率驱动部分。
功率驱动电路向步进电机控制绕组输入电流,使其励磁形成空间旋转磁场,驱动转子运动。
保护电路在出现短路、过载、过热等故障时迅速停止驱动器和电机的运行。
3.2.1本设计步进电机驱动的选择
本设计采用日本三洋公司2010年最新推出的两相步进电机驱动器芯片,电压8-32v,电流2.5a,用于驱动57及以下的步进电机,细分1-16可调,此芯片为最新工艺,超低的0.45欧导通电阻,体积更小,发热更低,加入了跨时代的短路保护功能,并且芯片本身带有5v电源输出。
3.2.2基本功能说明
3.2.2.1CHIP有效功能
通过设定ST段子,切换IC的待机/工作。
待机状态下,IC进入省电模式、所有逻辑reset.待机状态下内部稳压器电路、电荷泵也不工作。
如3-1所示。
图3-1ST功能框图
3.2.2.2驱动模式切换端子
通过设定DM段子,切换IC的驱动模式。
STM模式下,能控制CLK-IN输入的1ch步进电机。
DCM模式下,能控制2chDC电机或者并联输入的1ch步进电机。
控制并联输入的步进电机是2相或者1-2相全扭矩。
如3-2所示。
图3-2DM功能框图
3.2.2.3STEP段子功能
STEP段子是,LV8731的逻辑输入端子,控制输入脉冲。
其工作模式如3-3所示。
图3-3STEP段子功能框图
3.2.2.4励磁模式设定功能
MD1、DM2段子为LV8731逻辑功能输入端子,控制步进电机的励磁方式。
其功能如3-4所示。
图3-4励磁方式框图
3.2.2.5步进模式下,双相励磁的时序图
LV8731驱动的两相双极式步进电机,两相励磁模式下,是四个脉冲一个齿距角。
如3-5所示。
图3-5系统整图
3.3单片机原理
3.3.1STC12C5A40S2简介
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
4系统各部分功能分析
4.1系统的控制部分STC12C5A40S2如4-1所示。
图4-1系统整图
4.2电源部分
利用L7812ACD2T-TR和L7805ACD2T-TR芯片两次稳压得到+5V的电压,它们的应用要注意以下几点:
(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;
(2)输出电流不能太大,1.5A是其极限值。
大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿;(3)输入输出压差也不能太小,大小效率很差。
外部提供直流电压供步进电机并且要大于12V(3-5)V,5V电压则给单片机供电。
在调试程序的时候有P2口提供+5V电压给单片机,程序调试成功以后将CB1焊接,如图4-2所示。
图4-2电路部分
4.3按键部分
本次设计选用的是RPR220一体化反射式光电传感器。
其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。
塑料透镜可以提高灵敏度,内置的可见光过滤器可以减小离散光的影响,体积小。
利用单片机引脚P1.2、P1.3(anjiankognzhi1、anjiankongzhi2)来控制发射器通断;利用单片机引脚P3.3、P4.2、P3.2、P4.3(anjian1、anjian2、anjian3、anjian4)输入来检测是否有键操作,当有键操作是anjiankognzhi2和anjian1是同步的高低电平、anjiankongzhi2和anjian2、anjian3、anjian4同步高低电平如图4-3所示。
图4-3按键部分电路
4.4驱动部分
此电路是步进电机的驱动部分,我选用的是LV8731芯片来驱动的,LV8731的DM端子控制其两种驱动模式(STM/DC)本设计DM为低电平利用的是STM(步进模式)模式;STEP端子是STEP信号输入端子转速的快慢,加减速的控制端子;DM1、DM2端子控制步进电机的励磁模式,本设计(DM1=0、DM2=0)是用的是双相励磁模式;FR端子控制步进电机的正反转。
单片机和LV8731驱动器之间有光耦隔离。
如图4-4。
图4-4驱动部分电路
4.5状态指示和显示部分
状态指示用发光二极管(DS1、DS2、DS3、DS4)来分别表示电源指示、加速、减速、正反转切换。
显示用四位一体共阴极数码管来显示分别用P0控制段码,用(P3.3、P4.2、P3.2、P4.3)来实现位选。
如图4-5。
图4-5状态指示部分电路
5系统主程序
5.1系统分为主程序、键查询部、步进脉冲产生部分(连续和单步)几部分组成,其主程序框图如图5-1所示。
图5-1主程序流程图
5.2按键查询程序
利用定时器T0进行扫描的动态显示,和按键查询;包括复合键的启动、停止、加速、减速、正反转、连续和单步。
Anjian1、anjian2同时按下电机从待机到启动,从工作到待机;anjian1实现加速;anjian2实现减速;anjian3实现正反转切换并且有自锁功能,每次切换之后必须松开按键才能进行第二次切换;anjian4实现连续、单步切换,同样有自锁功能,在单步状态长按anjian4可切换到连续状态。
本程序同时考虑了节能功能,在单步状态,等待一段时间不操作就让电机待机。
如5-2所示。
图5-2定时器T0程序流程图
5.3定时器T1中断程序
定时器T1中断实现连续和但不是STEP脉冲的产生,脉冲的频率快慢决定速度的快慢。
流程图如图4-5所示。
图5-3定时器T1流程图
6系统的调试与检测
6.1程序编译时的错误与解决方法
把编好的程序(包括正反转程序、停止程序、显示程序等)合理安排好结合到一起进行编译。
由于编译只能检查是否存在语法错误,所以还要看是否存在逻辑错误。
程序修改好以后,当显示编译0错误,0警告的时候,这说明已经没有语法错误了,是否有逻辑错误还要看接上电路板通过仿真以后,步进电机能否正常转动,显示是否正常。
6.2硬件的调试
电路板焊接好之后,不要急于通电测试,要认真检查电路板有无短路、短路、虚焊、漏焊。
板子检查完毕可通电测试,烧如程序调试。
常见问题如下:
6.2.1电源部分:
电源部分是整个板子的心脏,通电后检测步进电机供电,和单片机供电是否正常。
6.2.2按键和显示部分:
步进电机能否正常工作按键部分至关重要,按键部分主要是焊接问题。
6.2.3按键和显示一切正常但步进电机转,主要是步进电机的电源部分和焊接问题。
6.3软硬件通调
烧如程序板子通电后,结合示波器观察LV8731驱动去输出端OUT1、AOUTB、OUT2A、OUT2B输出波形情况,改变程序参数看波形改变,知道最好的效果。
6.4结论与展望
本次课程设计能够实现步进电机的启停、正反转以及速度的调节和单步连续转换,通过本次毕业设计加强了我对软件编程和硬件设计的掌握,并且熟悉了LV8731、STC12C5A40S2等芯片。
步进电机在控制系统中具有广泛的应用。
它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器、或角位移发生器等,所以说步进电机有着广阔的市场和远大的发展前景。
7参考文献
[2]李夙.异步电动机直接转矩控制[M].北京:
机械工业出版社,1998.
[3]王鸿钰.步进电机控制入门[M].上海:
同济大学出版社,1990.
[4]袁任光,张伟武.电动机控制电路选用与258实例[M].北京:
机械工业出版社,2005.
[5]王秀和.永磁电机[M].北京:
中国电力出版社,2007.
[6]房玉明,杭柏林.基于单片机的步进电机开环控制系统[J].电机与控制应用,2006,33(4):
64-64.
[7]孙笑辉,韩曾晋.减少感应电动机直接转矩控制系统转矩脉动的方法[J].电气传动,2001,
(1):
8-11.
[8]冯江华,陈高华,黄松涛.异步电动机的直接转矩控制[J].电工技术学报,1999,(6):
29-33.
[9]江一,朱凌,申仲涛.异步电动机直接转矩控制仿真研究[J].华北电力大学学报,2003,
(1):
10-13.
[10]韩利虎.浅谈步进电机的基本原理[J].内蒙古石油化工,InnerMongoliaPetrochemicalIndustry,2007,(11):
109.
[11]张巍.浅谈单片机控制步进电机[J].安防科技,2006,(3):
25.
[12]乔璐.,景林,韩英桃.一种实用的步进电动机驱动器设计[J].微特电机,2005,(10):
29-31.
[13]康晶.采用反馈控制的步进电机高低压驱动电路[J].电力电子技术,2003,37
(1):
61-62,65.
附录1
附录2
附录6
--步进电机:
------------------------------------------------------------------------------------------------
--工程名称:
基于STC12C5A60S2单片机的步进电机控制
--功能描述:
能实现步进电机的启动,制动,加减速,正反转切换,连续单--步切换
--文件来源:
自主设计
--编译环境:
KEILL
--硬件连接:
22脚步进脉冲输出端
--21脚为步进电机正反转输出端
--20、19脚为步进电机励磁控制输出端
--6、8、9、39脚为按键检测输入端
--42、43脚为按键控制信号输出端
--23-26脚为数码管位控制输出端
--31-37脚为数码管段码控制输出端
--18脚为步进电机待机/工作控制输出端
--1、2、40、41脚为指示灯控制输出端
--OUT1A、OUT1B、OUT2A、OUT2B为步进电机
--输出端
--日期:
2012、05、20
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
--本设计采用双相励磁模式、2CHH桥驱动
-----------------------------------------------------------------------------------------------------------------
#include
#include
#defineFOSC12000000L
#defineT0MS(65536-FOSC/1000+14)//1ms计时初始值
sfrAUXR=0x8E;
sfrP4=0xc0;
sfrP4SW=0xBB;
sfrP0M0=0x94;
sfrP0M1=0x93;
sfrP1M0=0x92;
sfrP1M1=0x91;
sfrP2M0=0x96;
sfrP2M1=0x95;
sfrWDT=0xC1;//声明看门狗
sbitled1=P1^6;
sbitled2=P1^5;
sbitled3=P1^1;
sbitled4=P1^0;
sbitspeaker=P1^4;
sbitajkongzhi1=P1^3;
sbitajkongzhi2=P1^2;
sbitw1=P4^4;
sbitw2=P2^7;
sbitw3=P2^6;
sbitw4=P2^5;
sbitaj1=P3^3;
sbitaj2=P4^2;
sbitaj3=P3^2;
sbitaj4=P4^3;
sbitST=P2^0;//待机与工作切换
sbitMD1=P2^1;//励磁模式选择
sbitMD2=P2^2;
sbitFR=P2^3;//正反转选择
sbitSTEP=P2^4;//步进信号
bitpower;//电源状态标志,
bitajkongzhi;//按键控制标志位
bitbujin;//单步进标志,为0时连续转动,为1时单步进
unsignedcharshuzi[11]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00};//常用数字所对应的数值(0-9)0x00为数码管不亮
unsignedcharqianwei,baiwei,shiwei,gewei,weizhi;//显示数位千、百、十、个、数码管位选
unsignedcharflag1,flag2,flag3,flag4;//加按键按下标志,减按键按下标志,单步进按键锁定标志,正反转切换按键锁定标志
unsignedintjishi1,jishi2,jishi3,jishi4,jishi5,jishi6,jishi7,jishi8,jishi9,jishi10,jishi11,jishi12;
//jishi1-4为按键消抖计时,jishi5为加速按键加速计时,jishi6为减速按键减速计时,jishi7和jishi8为关机按键计时
//jishi9为切换至连续转动模式计时,jishi10为脉冲发生计时,jishi11为蜂鸣器鸣响计时,jishi12为单步进时电机待机计时,
unsignedintzhuansu,bujinshu,jishu;//转速,记录总的步进数,记录单步进时脉冲的翻转次数
voidinti()
{
WDT=0x38;//喂狗
TMOD=0x11;//T0工作在模式1-16位计数器
TL0=T0MS;
TH0=T0MS>>8;
TR0=1;
ET0=1;
EA=1;
ET1=1;
PT1=1;
P4SW=0x70;
P0M0=0xff;
P0M1=0x00;
P1M0=0xff;
P1M1=0x00;
P2M0=0xff;
P2M1=0x00;
AUXR=0X81;//ALE禁止输出
led1=0;//
led2=0;
led3=0;
led4=0;
speaker=0;
ajkongzhi1=0;
ajkongzhi2=0;
w1=0;
w2=0;
w3=0;
w4=0;
ST=1;
MD1=0;
MD2=0;
FR=0;
STEP=0;
power=0;//上电时处于待机状态
ajkongzhi=0;
bujin=0;//开机时默认为连续转动
qianwei=0;
baiwei=0;
shiwei=0;
gewei=0;
weizhi=1;
flag1=0;
flag2=0;
flag3=1;
flag4=1;
jishi1=0;
jishi2=0;
jishi3=0;
jishi4=0;
jishi5=500;
jishi6=500;
jishi7=0;
jishi8=0;
jishi9=0;
jishi10=0;
jishi11=1000;
jishi12=0;
zhuansu=100;
bujinshu=0;
jishu=0;
}
voidmain()
{
inti();//初始化
WDT=0x38;//喂狗
while
(1)
{
if(power==0)//待机模式
{
led1=1;//led待机
led2=1;
led3=1;
led4=1;
P0=0;//数码管待机
weizhi=1;
w1=w2=w3=w4=0;
ST=1;//线圈待机
FR=0;//默认正转
MD1=0;//2相励磁模式
MD2=0;
TR1=0;
bujin=0;
zhuansu=100;//默认设定转速为100RPM
}
elseif(power==1)
{
TR1=1;
jishi10=65536-(15000/zhuansu)*10;
if(bujin==0)
{
qianwei=(zhuansu%10000)/1000;
baiwei=(zhuansu%1000)/100;
shiwei=(zhuansu%100)/10;
gewei=zhuansu%10;
}
else
{
qianwei=(bujinshu%10000)/1000;
baiwei=(bujinshu%1000)/100;
shiwei=(bujinshu%100)/10;
gewei=bujinshu%10;
}
}
}
}
voidtimer0()interrupt1using1//定时器T01mS定时器
{
TR0=0;
TL0=T0MS;
TH0=T0MS>>8;
TR0=1;
WDT=0x38;//喂狗
if(jishi11>0)//蜂鸣器鸣响控制
{
jishi11--;
speaker=1;
}
else
speaker=0;
if(bujin==1)//电机待机时间定时
{
if(jishi12>0)
jishi12--;
else
{
TR1=0;
ST=1;
STEP=0;
}
}
if(power==1)//数码管显示控制
{
if(qianwei==0)
{
qianwei=10;
if(baiwei==0)
{
baiwei=10;
if(shiwei==0)
shiwei=10;
}
}
switch(weizhi)//数码管显示控制
{
case1:
{
P0=shuzi[qianwei];
w1=1;w2=w3=w4=0;
break;
}
case2:
{
P0=shuzi[baiwei];
w2=1;w1=w3=w4=0;
break;
}
case3:
{
P0=shuzi[shiwei];
w3=1;w2=w1=w4=0;
break;
}
case4:
{
P0=shuzi[gewei];
w4=1;w2=w3=w1=0;
break;
}
default:
weizhi=0;
}
weizhi++;
}
if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 步进 电机 论文