欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于51系列单片机控制步进电机调速闭环系统设计Word格式.docx

    • 资源ID:19171094       资源大小:178.45KB        全文页数:23页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于51系列单片机控制步进电机调速闭环系统设计Word格式.docx

    1、=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为=360度/(50*8)=0.9度(俗称半步)。1.4 步进电机的动态指标1)步距角精度: 步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。2)失步: 电机运转时运转的步数,不等于理论上的步数。称之为失步。3)失调角: 转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。4)最大空载

    2、起动频率: 电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。5)最大空载的运行频率: 电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。6)运行矩频特性: 电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。1.5 步进电机的驱动控制系统控制系统的组成方框图如下:1)脉冲信号的产生 脉冲信号由单片机AT89S52的I/O口产生,一般的脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则越大。本实验采用的占空比为0.5。2)信号分配感应子式不仅以二、四相电机为主,

    3、二相电机工作方式有二相四拍和二相八拍两种, 具体分配如下:二相四拍为,步距角为1.8度;二相八拍为,步距角为0.9度。本设计采用步距角为1.8度。3)功率放大功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的动态平均电流而非静态电流(而样本上的电流均为静态电流)。平均电流越大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。因而不同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流、细分数等。步进电机一经定型,其性能取决于电机的驱动电源。步进电机转速越高,力距越大则要求电机的电流越大,驱动电源的电压越高。电压

    4、对力矩影响如下:4)功率放大细分驱动器在步进电机步距角不能满足使用的条件下,可采用细分驱动器来驱动步进电机,细分驱动器的原理是通过改变相邻(A,B)电流的大小,以改变合成磁场的夹角来控制步进电机运转的。2驱动器由于单片机的I/O不具有直接驱动步进电机的能力,故在本系统中需要步进电机驱动器,我们选择驱动器为KD-221,该驱动器具有输入电压范围广,控制信号输入方式多样等特点。其具体接法如下:2.1、电源接线: 、E高:当驱动电压大于10V时,正极接此座,使用时最大不能大于40V,以防损坏模块。 、E低:当驱动电压小于10V时,正极接此座。 、地:驱动电压E高、E低的的负极接此座。 、A ,:接电

    5、机A相线圈的二根引线。 、B, :接电机B相线圈的二根引线。2.2、控制信号接线: 、CP:接控制器发给步进电机的走步脉冲信号线。 、CW:接控制器发给步进电机的走步方向信号线。 、VP:接CP和CW信号的负极,即逻辑电路电源的负极。 、本驱动器内部设计接收信号为RTTL电平,即5V电平,如其它逻辑电平信号需要接限流电阻,否则可能损坏光耦元件。3.光电开关 本系统中所用传感器为EE-EX672关电开关,该传感器为开关型传感器,四个接线脚分别为“+,L,OUT,-”其输入电压范围广为直流5-24V,L为控制指示端,当“L”与“+”相连时,传感器未检测到物体时LED灯发光,当“L”悬空时则相反,其

    6、特点为:1. 动作模式备有遮光时ON/入光时ON(可切换型)2. 应答频率为1KHZ的高速响应3. 入光显示灯明显,容易进行动作确认.4. 电源电压为DC-24V的广范围5. 备有遮光时入光显示灯灯亮型其连接电路如下图所示:“L”与“+”相连时,传感器未检测到物体时LED灯发光。“L”悬空传感器检测到物体时LED灯发光。4硬件设计电路图 下图中为单片机的最小系统,其P0.0-P0.7口分别连接到LCD1602的D0-D7引脚,与P2.5,P2.6,P2.7相连的按键开关分别控制步进电机的正反转,加速,减速,P2.0,P2.1,P2.2分别接 LCD1602的RS,RW,E引脚。下图中为电机驱动

    7、部分。驱动电压为+12V,用单片机的P1.0与电机驱动器的CW相连控制单片机的转向,P1.1与电机驱动器的CP相连,给驱动器输入脉冲。a,b,c,d分别接入步进电机。SX-672为检测转速的传感器外接+5V驱动电压,输出接入单片机的T1脚。5.软件设计5.1 控制算法比较:PID控制原理PID调节器由比例调节器(P),积分调节器(I)和微分调节器(D) 构成,它通过对偏差值的比例积分和微分运算后,用计算所得的控制量来控制被控对象图1所示为PID控制系统框图。图1 PID控制系统框图Figure 1 PID control system block diagram5.1.1 比例调节(P) 比例

    8、调节是数字控制中最简单的一种调节方法。其特点是调节器的输出与控制偏差e成线性比例关系,控制规律为: (1)式中: -比例系数, -偏差e为零时调节器的输出值 当输出值S与设定的期望值R间产生偏差时,比例调节器会自动调节控制变量y(如为控制阀门的开度)的大小。控制变量y的大小会朝着减小偏差e的方向变化比例系数的大小决定了比例调节器调节的快慢程度,大调节器调节的速度快,但过大会使控制系统出现超调或振荡现象。小调节器调节的速度慢,但过小又起不到调节作用。另外,虽然比例调节器控制规律简单,控制参数易于整定,但缺点是它只能在一种负载情况下实现无静差值的调节,当负载变化时,除非重新调整相应的),值的大小,

    9、否则控制系统将会产生无法消除的静差值。5.1.2 比例微分调节(PI)比例调节器的主要缺点是存在无法消除的静差值,影响了调节精度为了消除静差值,在比例调节器的基础上并人一个积分调节器构成比例积分调节器,其调节规律可用下列(2)式表示 (2)为积分常数,它的物理意义是当调节器积分调节作用与比例调节作用的输出相等时所需的调节时间称为积分常数。积分常数的大小决定了积分作用强弱程度,选择的越小,积分的调节作用越强,但系统振荡的衰减速度越慢。当过小时,甚至会造成系统的持续振荡,使调节器的输出波动不定,给生产过程带来严重的危害。相反地当选择的越大,积分的调节作用越弱,虽然过渡过程中不容易出现振荡现象,但消

    10、除偏差e的时间却很长。积分调节对偏差有累积作用,所以,只要有偏差e存在积分的调节作用就会不断地增强,直至消除比例调节器无法消除的静差值。5.1.3 比例积分微分调节(PID)加入积分调节后,虽可消除静差,使控制系统静态特性得以改善,但由于积分调节器输出值的大小是与偏差值e的持续时间成正比的,这样就会使系统消除静差的调节过程变慢,由此带来的是系统的动态性能变差尤其是当积分常数很大时,情况更为严重。另外,当系统受到冲激式偏差冲击时,由于偏差的变化率很大,而PI调节器的调节速度又很慢,这样势必会造成系统的振荡,给生产过程带来很大的危害改善的方法是在比例积分调节的基础上再加人微分调节,构成比例积分微分

    11、调节器(PID)。其调节规律可用(3)式表示。 (3)为微分常数,它的物理意义是当调节器微分调节作用与比例调节作用的输出相等时所需的调节时间称为微分常数5.2 PID控制算法单片机控制系统通过AD电路检测输出值s,并计算偏差e和控制变量y,再经DA转换后输出给执行机构,从而实现缩小或消除输出偏差的目的,使系统输出值s稳定在给定值区域内。在计算机控制过程中,整个计算过程采用的是数值计算方法,当采样周期足够小时,这种数值近似计算相当谁确,使离散的被控过程与连续过程相当接近。图2为单片机闭环控制系统框图 J。PID算法是将描述连续过程的微分方程转化为差分方程,然后,根据差分方程编制计算程序来进行控制

    12、计算的。另外在PID控制中,由于PID算式选择的不同,最终所得到的控制效果是不同的。下面进行PID控制算法的研究。图2 单片机闭环控制系统框图Figure 2 Closed loop control system block diagram of the SCM5.2.1 位置式PID的控制算法 如前所述PID调节的微分方程为:将此微分方程写成对应的差分方程形式 (4)-第n次采样周期内所获得的偏差信号; -第n-1次采样周期内所获得的偏差信号;T-采样周期; -调节器第rt次控制变量的输出;为了编写计算机程序的方便,现将算式(4)写成下列形式 (5),因为采样周期T,积分常数和微分常数选定后

    13、皆为常数,因此及必为常。当调整参数改善控制性能时,也只须调整、和的大小即可。5.2.2 增量式PID的控制算法在位置式PID控制算法中,每次的输出与控制偏差e过去整个变化过程相关,这样由于偏差的累加作用很容易产生较大的累积偏差,使控制系统出现不良的超调现象。由算式(4)可得: (6)用(4)式减去(6)式,可得增量式PID的算式: (7)其中,为了编写程序方便,将(7)式改写成下列形式: (8)从增量式PID的算式中可知,只要知道了现时以前的三次采样周期内的偏差信号即可计算出本次采样周期内的控制变量y的增量。 综合以上分析,我们采用增量式PID算法,本系统的软件控制算法主要采用了增量式PID

    14、控制算法。其控制算法的流程图为:5.3 步进电机控制流程图如下:6.数据处理和分析6.1 PWM的设定我们通过设定PWM来控制步进电机的转速。当T=6S时,我们通过试凑的方法了解到,当PWM=1/300时,所给步进电机刚好启动,当PWM=1/17时,步进电机速度达到最大。6.2步进电机的测速我们通过用软件设定一个转速,然后与用光电开关采集回来的速度相比较,采用闭环的PID控制来达到步进电机稳定调速的目的。我们在程序中设定转速为72 rpm,通过与P3.2采集回来的数据相比较,当采集回来的数据小于72rpm时,我们通过改变PID的相应的参数(=1.2, =1.1 , =0.9)来调节电机的转速,

    15、让步进电机的转速加起来,使之与72 rpm相吻合。同样,当采集回来的数据大于72rpm时,也改变PID的相应的参数来调节电机的转速,让步进电机的转速加起来,使之与72 rpm相吻合。7.结束语本次设计通过对系统控制算法的比较,综合考虑,选用了闭环的PID控制,对系统进行整体设计后基本达到了要求,实现步进电机速度闭环控制。【参考文献】1 温希东,路勇. 计算机控制技术. 西安电子科技大学出版社,2005 69802 曹天汉. 单片机原理与接口技术. 电子工业出版社,2006 961113 曹承志. 电机拖动与控制. 机械工业出版社,2000 267277附录 1.显示及测速程序#include

    16、intrins.h #define uchar unsigned char#define uint unsigned int float f=0;bit F_in=0,truer;sbit P10=P30 ;sbit P12=P32;/sbit P14=P14;sbit LCD_RS = P20;sbit LCD_RW = P21;sbit LCD_EN = P22;/sbit BEEP = P37;uchar code cdis1 = motorspeed: ;uchar code cdis2 = number:#define delayNOP(); _nop_();_nop_();ucha

    17、r key_buf; /显示缓存uchar temp;uchar key,key_num=0;uchar LCD0_data,LCD1_data,LCD2_data,LCD3_data; /键顺序吗uchar data testdata = 0x00,0x00,0x00,0x00;uchar data in_data = 0x01,0x02;uchar shift ;uint i;uint q;uint j;/*/void initime() TMOD=0x51; /T1计数器,T0定时器,方式1 TL0=(65536-10000)%256; TH0=(65536-10000)/256; /定

    18、时10000us 0.01s TL1=0; TH1=0; ET0=1; EA=1;void delay(uint ms) uchar t; while(ms-) for(t = 0; t 120; t+); void mydelay() for(i=0;i100;i+) for(j=0;j1000;j+);/*/* */* 延时 x*0.14ms */void delay0(uchar x) unsigned char i; while(x-) for (i = 0; i13; i+) bit lcd_busy() bit result; LCD_RS = 0; LCD_RW = 1; LCD

    19、_EN = 1; delayNOP(); result = (bit)(P0&0x80); LCD_EN = 0; return(result);void lcd_wdat(uchar dat) while(lcd_busy(); LCD_RS = 1; LCD_RW = 0; P0 = dat;void lcd_wcmd(uchar cmd) _nop_(); P0 = cmd;void lcd_pos(uchar pos) lcd_wcmd(pos | 0x80); /数据指针=80+地址变量void dectobit(int dec) LCD3_data=dec/1000+0x30; d

    20、ec=dec % 1000; LCD2_data=dec/100; dec=dec % 100;LCD1_data=dec/10+0x30;dec=dec % 10+0x30;LCD0_data=dec; void display1()lcd_pos(0x0b);lcd_wdat(LCD3_data);lcd_pos(0x0c);lcd_wdat(LCD2_data);lcd_pos(0x0d);lcd_wdat(LCD1_data);lcd_pos(0x0e);lcd_wdat(LCD0_data);lcd_pos(0x4b);lcd_wdat(0x31); void lcd_init()

    21、delay(15); lcd_wcmd(0x38); /16*2显示,5*7点阵,8位数据 delay(5); lcd_wcmd(0x0c); /显示开,关光标 lcd_wcmd(0x06); /移动光标 lcd_wcmd(0x01); /清除LCD的显示内容/*/ Void main() uchar m; lcd_init(); initime(); TR0=1; TR1=1; /初始化LCD P10=1; P12=0; lcd_pos(0x00); /设置显示位置为第一行 for(m=0;m16;m+) lcd_wdat(cdis1m); lcd_pos(0x40); /设置显示位置为第二行 lcd_wdat(cdis2m); /TMOD=0x21; /将T1设置为8位自动重装工作方式。 / TH1=175; /对T1定时常数进行预置。 /TL1=175; / TR1=1; /启动T1。 while(1) dectobit(f);/ key_buf=ke


    注意事项

    本文(基于51系列单片机控制步进电机调速闭环系统设计Word格式.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开