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

    基于51单片机的直流电机转速测量与控制.docx

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

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

    基于51单片机的直流电机转速测量与控制.docx

    1、基于51单片机的直流电机转速测量与控制单片机原理与应用课程设计院 系 信息工程学院 班 级 自动化121 学生姓名 张晓峰 学 号 121404010432 日 期 2015/7/9 任务要求基于51单片机的直流电机转速测量与控制一、设计目的1.通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用有进一步的了解。2.掌握定时器、终端的设置和变成原理。3.掌握单片机原理、结构、指令、接口及应用。4.通过此次课程设计能够将单片机硬件结合起来,获得单片机应用系统设计的基本理论,基本只是和基本技能,掌握单片机应用系统各主要环节的设计、调试方法。二、基本要求1.,以80C51的基本知

    2、识和方法为基础,通过系统扩展达到应用单片机的目的。2.根据应用系统结构规模的要求,掌握单片机外部扩展系统的硬件设计的基本过程,正确合理选择期间,绘制应用系统原理图。3.根据设计任务和要求,画出程序整体流程图,然后进行各程序模块的设计,编写控制程序。4.掌握如何应用单片机仿真器或编程器来开发应用及仿真调试的过程,反复修改测试直至完成任务。三、设计内容设计并调试一个程序使其实现如下功能:1.在实验平台上通过键盘输入一个转速的设定值(例如25rpm),并在数码管上显示;2.采用比例调节方法,使电机转速稳定在设定值;3.测量电机的转速,并在实验平台数码管上显示;4.转速稳定后,可随时修改转速设定值;5

    3、.优化比例调节系统,使电机转速的调节时间较短,并尝试加入积分、微分环节,改善转速的静态和动态特性。电机转速不允许出现振荡。基于51单片机的直流电机转速测量与控制摘要:本设计主要完成以AT89C51单片机为核心的直流电机的测速系统,通过矩阵键盘给定转速,并在数码管上显示设定值。采用霍尔传感器进行速度测量,利用PID控制和DAC0832进行模数转换使直流电机转速稳定在设定值。动态显示实际转速。电机可以快速的达到设定值,且不会出现震荡现象。关键词:直流电机,STC89C51,矩阵键盘,设定值,霍尔传感器,DAC0832,PID正文1.系统设计本设计主要完成以STC89C51单片机为核心的直流电机的测

    4、速系统,通过矩阵键盘给定转速,并在数码管上显示设定值。采用霍尔传感器进行速度测量,利用PID控制和DAC0832进行模数转换使直流电机转速稳定在设定值。动态显示实际转速。系统结构图如下图所示图1 系统结构图本系统主要使用了STC89C51单片机、霍尔传感器测速、DC0832模数转换进行转速控制。现将主要模块介绍如下:1.1STC89C51STC89C51是标准的40引脚双列直插式集成电路芯片,引脚排列如图所示。图2 STC89C51ALE:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正

    5、脉冲,因此,可作为外部时钟或外部定时脉冲使用。 PSEN:外部程序存储器读选通信号。在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。 EA :访问程序存储控制信号。当信号为低电平时,对ROM的读操作限定在 外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VSS:地线。VCC:+5V电源

    6、。1.1DAC0832DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。图3 DAC0832D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);ILE:数据锁存允许控制信号输入线,高电平有效;CS:片选信号输入线(选通数据锁存器),低电平有效;WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平

    7、时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;IOUT2:电流输出端2,其值与IOUT1值之和为一常数;Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;Vcc:电源输入端,Vcc的

    8、范围为+5V+15V;VREF:基准电压输入线,VREF的范围为-10V+10V;AGND:模拟信号地;DGND:数字信号地。试验箱DAC0832如下图所示图4 实验箱DAC08321.2霍尔传感器测速及转速计算方法1.2.1霍尔传感器测速原理霍尔传感器在测量机械设备的转速时,被测量机械的金属齿轮、齿条等运动部件会经过传感器的前端,引起磁场的相应变化,当运动部件穿过霍尔元件产生磁力线较为分散的区域时,磁场相对较弱,而穿过产生磁力线较为几种的区域时,磁场就相对较强。霍尔转速传感器就是通过磁力线密度的变化,在磁力线穿过传感器上的感应元件时,产生霍尔电势。霍尔传感器的霍尔元件在产生霍尔电势后,会将其

    9、转换为交变电信号,最后传感器的内置电路会将信号调整和放大,输出矩形脉冲信号。另外,霍尔传感器的测量必须配合磁场的变化,因此在霍尔传感器测量非铁磁材质的设备时,需要事先在旋转物体上安装专门的磁铁物质,用以改变传感器周围的磁场,这样霍尔传感器才能准确的捕捉到物质的运动状态。本试验箱的霍尔传感器如下图所示图5 实验箱霍尔传感器1.2.2测速方法由于直流电机转速较小,所以采用T法测速,T发测速的原理如下T法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有1个时间单位的误差。速度较高时,测得的周期较小,误差所占的比例变大,所以T法宜测量低速。如要增加速度测量的上限,可

    10、以减小编码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。计算公式为:T法测速的分辨率 法测速误差率 低速时,编码器相邻脉冲间隔时间长,测得的高频时钟脉冲个数M2多,所以误差率小,测速精度高,故T法测速适用于低速段。测速流程图如下图所示图6 转速测量流程图1.3 键盘扫描显示使用64的小键盘,向列扫描码地址逐列输出低电平,然后从行码地址读回。图7 64的键盘矩阵如果有键按下,则相应行的值应为低,如果无键按下,由于上拉的作用,行码值为高。这样就可以通过输出的列码和读取的行码来判断按下的是什么键。在判断有键按下后,要有一定的延时,防止键盘抖动。 否 是 是 否 否返回 是图8

    11、键盘扫秒流程图1.3PID控制本次的课程设计采用的PID控制,调速性能好,通过调节比例常数、积分常数、微分常数使得转速控制达到想要的精度。PID参数的调节有试凑法和实验法,本课程设计采用的是实验法。现介绍如下:实验法的整定步骤为“先比例,再积分,最后微分”。整定比例控制将比例控制作用由小变到大,观察各次响应,直至得到反应快、超调小的响应曲线。整定积分环节若在比例控制下稳态误差不能满足要求,需加入积分控制。先将步骤中选择的比例系数减小伟原来的50%-80%,再将积分时间置一个较大值,观测响应曲线。然后减少积分时间,加大积分作用,并相应调节比例系数,反复试凑至得到较满意的响应,确定比例和积分的参数

    12、。整定微分环节若经过步骤,PI控制只能消除稳态误差,而动态过程不能令人满意,则应加入微分控制,构成PID控制。先置微分时间TD=0,逐渐加大TD,同时相应地改变比例系数和积分时间,反复试凑至获得满意的控制效果和PID控制参数。2 硬件电路的连接和程序的调试本次的课程设计是基于SICElab-G2100实验箱设计,采用模块化结构。实验箱如下图所示图9 SICElab-G2100实验箱硬件接线如下:把第17号模块“并行数模转换”中的DAC0832输出Aout孔连第23号模块“直流电机”的Dcin孔,数模转换DAC0832的CS17孔和Xfer孔连第38号模块“片选信号”中的YS2孔,WR1孔和WR

    13、2孔连第33号模块“控制总线”的/WR孔,CKM孔(霍尔传感器输出孔)连“Lab51CPU板”的P3.2孔。第38号模块“片选信号”中YS0(0800H)孔连第40号模块“键盘+数码管”CS40孔。连线连线孔1连线孔2连线连线孔1连线孔21AoutDcin5WR2/WR2CS17Xfer6CKMP3.23XferYS27CS40YS04WR1孔WR2表1 硬件电路连线图10 接线图按图中接线,编写程序,调试PID参数,经过反复的实验,转速可以快速的达到设定值,且不会出现振荡,运行结果如下图所示图11 转速为4r/s时运行结果 图12 转速为12r/s时运行结果图13 转速为45r/s时运行结果

    14、3 创新与改进实验箱自带的有RS232,可以利用串口通讯,将矩阵键盘输入给定值改为通过串口通讯的方式,通过PC机键盘给定,或者编写Labview程序,使用Labview串口给单片机送给定值。4 心得体会经过1个星期的课程设计,留给我印象最深的是要设计一个成功的程序,必须要有要有扎实的理论基础,还要有坚持不懈的精神。本产品实现了对直流电机的调速和测速,个人感觉其中还有许多不够完善的地方,例如:对电机的驱动电路采用的DAC0832,直接将数字量转为模拟量进行控制,精度不高,不过作为学生实验足够了。此次的设计并不奢望一定能成功,但一定要对已学的各种知识能有一定的运用能力,我做设计的目的是希望能检查下

    15、对所学知识的运用能力的好坏,并且开始慢慢走上创造的道路,这是非常可贵的一点。这次的课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在 老师的辛勤指导下,终于迎刃而解。同时,在老师的身上我学得到很多实用的知识,林老师在我们完成的基础上添加新的东西,转速给定值可以通过串口通讯,PC机发送数据,也可以编写Labview程序,通过虚拟旋钮给定转速值,为此给我们培训了一下虚拟仪器及检测技术,对Labview做了简单介绍,给我们入了门。对林老师专业知识的渊博表示敬佩,在此我表示感谢!同时,和同学的互相交流,使我有新的创意,新的理解,在此表示感谢!5 附录#include reg52.h#inclu

    16、de absacc.h#define LEDLen 6unsigned char count;unsigned char TS;float DA;long int n;unsigned int t;unsigned char Key_temp;unsigned char k_TEMP2;xdata unsigned char CS0832 _at_ 0xA000;xdata unsigned char OUTBIT _at_ 0x8002; xdata unsigned char OUTSEG _at_ 0x8004; xdata unsigned char IN _at_ 0x8001; c

    17、har code dx5163 _at_ 0x0023;unsigned char LEDBufLEDLen; code unsigned char LEDMAP = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;code unsigned char KeyTable = 0x16, 0x15, 0x14, 0xff, 0x13, 0x12, 0x11, 0x10, 0x0d, 0x0c, 0x0b, 0x0a, 0x0e, 0x03, 0x06, 0

    18、x09, 0x0f, 0x02, 0x05, 0x08, 0x00, 0x01, 0x04, 0x07;int PID(); /PID函数声明void Init(); /初始化函数声明void delay(unsigned char ms) /延时函数 unsigned char x,y; for(x=ms;x0;x-) for(y=110;y0;y-);unsigned char TestKey() /检测是否有键值键入 OUTBIT = 0; return (IN & 0x0f); unsigned char GetKey() /获取键值 unsigned char Pos; unsign

    19、ed char i; unsigned char k; i = 6; Pos = 0x20; do OUTBIT = Pos; Pos = 1; k = IN & 0x0f; while (-i != 0) & (k = 0); if (k != 0) i *= 4; if (k & 2) i += 1; else if (k & 4) i += 2; else if (k & 8) i += 3; OUTBIT = 0; do delay(10); while (TestKey(); return(KeyTablei); else return(0xff);void DisplayLED()

    20、 /显示转速 unsigned char i; unsigned char Pos; unsigned char LED; Pos = 0x20; for (i = 0; i = 1; OUTBIT = 0; void t0() interrupt 1 /PID控制,采样周期500ms TS+; TH0=256-50000/256; TL0=256-50000%256; if(TS=10) TS=0; DA=PID(); void time1_int(void) interrupt 3 /计算脉冲周期 TH1=256-50000/256; TL1=256-50000%256; t+; void

    21、 ex0() interrupt 0 n=1000/(50*t+(TH1-61)*256+TL1-176)/1000);/计算转速 TR1=1; /启动定时器1 t=0; TH1=256-50000/256; TL1=256-50000%256; int PID() /PID控制函数 unsigned char P=1.4;/比例常数 unsigned char I=2.2;/积分常数 unsigned char D=0.2;/微分常数 unsigned int LastError=0;/Error-1 unsigned int PrevError=0;/Error-2 unsigned in

    22、t Error=0;/Error0 int Out;/outcome Error=Key_temp-n; /增量式PID计算 Out=Out+P*(Error-LastError)+I*Error+D*(Error+PrevError-2*LastError); /误差更新 PrevError=LastError; LastError=Error; /输出限幅 if(Out255) Out=255; return Out; void Init() /初始化函数 IT0=1; /跳变沿触发 EX0=1; /外部中断0允许 TMOD = 0X11; TH0 =(65536-50000)/256;

    23、TL0 =(65536-50000)%256;/定时器写初值 TH1 =(65536-50000)/256; TL1 =(65536-50000)%256; TR0=1; /启动定时器0 ET0=1; /开定时器0中断 ET1=1; /开定时器1中断 EA=1; /开总中断 void main () /主函数 unsigned char i = 0; n=0; Init(); / while(1) CS0832=DA; if (TestKey() Key_temp = GetKey() & 0x0f ; LEDBufi = LEDMAPKey_temp; k_TEMPi = Key_temp; i+; if(i=2) i=0; Key_temp = k_TEMP0*10+k_TEMP1; /将获得的键值转换成十进制数 LEDBuf4 = LEDMAPn/10; LEDBuf5 = LEDMAPn%10; /显示实时转速 DisplayLED();


    注意事项

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

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




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开