ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:1.42MB ,
资源ID:6679800      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6679800.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于LabVIEW的直流电机测控系统设计说明.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于LabVIEW的直流电机测控系统设计说明.docx

1、基于LabVIEW的直流电机测控系统设计说明学号: 虚拟仪器技术课程大作业基于LabVIEW的直流电机测控系统设计专业班级: 学生: 指导教师: 完成日期: 成 绩: 1设计要求、容1.1要求1理解虚拟仪器技术课程中所学的理论知识,掌握相关的设计方法和技能,能够读懂一些不太难的程序,能够独立的设计一些不太复杂的程序;2能熟练运用LabVIEW进行编程操作,并且能够自主的通过即时帮助通过程序的编写明白一些未知控件的作用;3通过学习,掌握基于LabVIEW的电机测控系统的具体设计过程,完成设计;4认真总结,完成计报告 1.2容1.2.1 LabVIEW与单片机串口通信硬件/程序设计单片机作为下位机

2、核心器件,负责数据的采集和通信及电机转速的控制,而上位机通常以基于图形界面的Windows系统为操作平台。核心是数据通信,它包括单片机和上位机之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。单片机和PC的通信是通过单片机的串口和PC串口之间的硬件连接实现的。图1.1 PC与单片机串口通信线路数据通信的硬件上采用3线制,将单片机和PC串口的3个引脚(RXD、TXD、GND)分别连在一起,即将PC和单片机的发送数据线TXD与接收数据RXD交叉连接,两者的地线GND直接相连,而其他信号线,如握手信号线均不用,采用软件握手的方式,这样既可以实现预定的任务又可以简化电路设计。利用Keil C

3、51和LabVIEW编写程序实现PC与单片机串口通信。C51程序:#include/*主程序*/void main(void) SCON=0x50; /*SCON:模式1,8-bitUART,使能接收*/ TMOD=0x20; /*TMOD:timer1,mode2, 8-bit reload*/ TH1=0xFD; /*TH1:reload value for 9600 baud 11.0592MHz */ TL1=0XFD; TR1=1; /*TR1:timer1 run*/ EA=1; /*打开总中断*/ ES=1; /*打开串口中断*/ while(1) /主循环不做任何动作 void

4、 UART_SER(void) interrupt 4 /串行中断服务程序 unsigned char Temp; /定义临时变量 if(RI) /判断是接收中断产生 RI=0; /标志位清零 Temp=SBUF; /读入缓冲区的值 P0=Temp; /把值输出到P0口,用于观察 SBUF=Temp; /把接收到的值再发回电脑端 if(TI) /如果是发送标志位,清零 TI=0;LabVIEW程序:图1.2 发送程序图1.3 接收程序图1.4 判断通信状态程序图1.5 LabVIEW前面板1设计任务一PC通过串行口将数字(00,01,02,03.,FF,十六进制)发送给单片机,单片机收到后回传

5、这个数字,PC接收到回传数据后显示出来,若发送的数据和接收到的数据相等,则串行通信正确,否则有错误。启始符是数字00,结束符是数字FF。 图1.6 串口助手调试单片机串口通信2设计任务二(1)测试通信状态。 先在文本框中输入字符串“FF”,单击“测试”按钮,将字符串“FF”发送到单片机,若PC与单片机通信正常,在LabVIEW程序前面板显示字符串“OK!”,否则显示字符串“通信异常”。 图1.7 LabVIEW与单片机串口通信测试(2)控制指示灯。 将单片机接收到的数值赋给P0口,P0口接一排LED,观察LED的显示结果(表示该数值的二进制显示)是否与输入值相符合。图1.8 输入“FF”图1.

6、9 输入“01”单片机和LabVIEW通信,在程序设计上涉及两个部分的容。一是单片机的C51程序,二是LabVIEW的串口通信程序和界面的编制。1.2.2 电机驱动模块/调速程序设计图1.10 LS298N驱动模块设置IN1和IN2,确定电机的转动方向,然后对使能端输出PWM脉冲,实现电机调速。当使能信号为0,电机处于自由停止状态;当使能信号为1,且IN1和IN2为00或11时,电机处于制动状态,阻止电机转动。C51程序:#includesbit IN1=P10;sbit IN2=P11;sbit ENA=P12;/x毫秒延时void delay(unsigned int x) unsigne

7、d int i,j; for(i=x;i0;i-) for(j=110;j0;j-);/y微秒延时void delay_us(unsigned int y) while(y-);/主函数void main() while(1) unsigned int i,cycle=1300,T=2048; /* IN1=1; /反转 IN2=0; for(i=0;i200;i+) delay(10); /PWM占空比为50%,修改延时调整PWM脉冲 ENA=ENA; IN1=0; /正转 IN2=1; for(i=0;i200;i+) delay(10); ENA=ENA; */ IN1=0; /自动加速

8、正转 IN2=1; while(cycle1300) ENA=1; delay_us(cycle-); ENA=0; delay_us(T-cycle); 1.2.3 电机测速模块/测速程序设计图1.11 光电耦合测速传感器模块1.模块槽中无遮挡时,接收管导通,模块DO 输出低电平,遮挡时,DO 输出高电平;2、DO 输出接口可以与单片机IO 口直接相连,检测传感器是否有遮档,如用电机码盘则可检测电机的转速。设计选用的测速码盘有20格光栅,因此速度计算公式为:Speed=(count/20)*60(转/分)图1.12 电机测速调试1图1.13 电机测速调试2C51程序:#includesbit

9、 IN1=P10;sbit IN2=P11;sbit ENA=P12;unsigned int i=0,pul=0,count=0,Speed=0;unsigned int cycle=2000,T=7000;/x毫秒延时void delay(unsigned int x) unsigned int i,j; for(i=x;i0;i-) for(j=110;j0;j-);/y微秒延时void delay_us(unsigned int y) while(y-);void main() TMOD=0x15; / 打开定时器T1和计数器T0,TMOD为00010101,都为模式1 因此矩形脉冲输

10、入端接P3.4 EA=1; TH0=0x00; TL0=0x00; ET0=1; ET1=1; TH1=0x3C; /50ms 0x3CB0=15536 TL1=0xB0; TR0=1; TR1=1; while(1) IN1=0; /自动加速正转 IN2=1; while(cycle2000) /自动减速 ENA=1; delay_us(cycle-); ENA=0; delay_us(T-cycle); timer3() interrupt 3 /定时器中断时间到,就读取计数器值 TH1=0X3C; TL1=0XB0; i+; if(i20) /累计1s的脉冲数 pul=TH0; /计数器

11、计入脉冲,每来一个矩形脉冲计数值加1 pul=pul8; /得高八位后,左移8位, pul=pul+TL0; /再加上低八位 count+=pul; pul=0; TH0=0; /计数器速度获取后清零,进行下次获取 TL0=0; if(i=20) /每秒更新一次速度 pul=TH0; /计数器计入脉冲,每来一个矩形脉冲计数值加1 pul=pul8; pul=pul+TL0; count+=pul; Speed=(count/20)*60; /测得的速度(转/分) i=0; count=0; TH0=0; /计数器速度获取后清零,进行下次获取 TL0=0; P0=Speed; /观察速度值 1.

12、2.4 总硬件/程序的设计图1.14 直流电机测控系统硬件原理框图图1.15 总硬件设计C51总程序:#include#include #include #include #include sbit IN1=P10;sbit IN2=P11;sbit ENA=P12;unsigned int i=0,pul=0,count=0,Speed=0,Speed_dec=0;unsigned int cycle=2000,T=7000;/x毫秒延时void delay(unsigned int x) unsigned int i,j; for(i=x;i0;i-) for(j=110;j0;j-);/

13、y微秒延时void delay_us(unsigned int y) while(y-);/*主程序*/void main(void) SCON=0x50; /*SCON:模式1,8-bitUART,使能接收*/ TMOD=0x25; /*TMOD:timer1,mode2, 8-bit reload T0计数,模式1,因此矩形脉冲输入端接P3.4*/ TH1=0xFD; /*TH1:reload value for 9600 baud 11.0592MHz */ TL1=0XFD; TH0=0x00; TL0=0x00; TR1=1; /*TR1:timer1 run*/ EA=1; /*打

14、开总中断*/ ES=1; /*打开串口中断*/ TR0=1; TR1=1; /*TR1:timer1 run*/ while(1) /主循环 if(Speed_dec=Speed) IN1=0; /停转 IN2=0; if(Speed_decSpeed) IN1=0; /自动加速正转 IN2=1; while(cycle!=T) ENA=1; delay_us(cycle+); ENA=0; delay_us(T-cycle); if(Speed_dec=0x30&Temp1=0x41&Temp1=0x46) ch1=Temp1-0x37; else ch1=0xff; pul=TH0; /计

15、数器计入脉冲,每来一个矩形脉冲计数值加1 pul=pul8; pul=pul+TL0; count+=pul; Speed=(count/20)*60; /测得的速度(转/分) i=0; count=0; TH0=0; /计数器速度获取后清零,进行下次获取 TL0=0; SBUF=Speed; /把速度值再发回电脑端 if(TI) /如果是发送标志位,清零 TI=0;1.3设计环境:硬件环境:单片机、直流电机及驱动模块、串口。软件环境:LabVIEW编程软件、Keil编程软件、串口调试助手。2设计过程2.1设计思路2.1.1硬件系统方案设计本系统主要实现对直流电机进行测速和调速。(1) 调速控

16、制由LabVIEW 编程产生电机所需要控制的转速值,将该速度值通过串口送入单片机, 与测得的速度值进行比较,若送入值大于测量值则单片机控制直流电机加速,若送入值小于测量值则单片机控制直流电机减速。(2) 测速控制将电机上的测速码盘安装在光电耦合器的发射端和接收端之间,当测速码盘转动时,光栅阻挡光耦发射出的光信号,在光耦接收端得到一段连续的脉冲波形,该脉冲波形经过斯密特触发器进行整形后,得到一形状规则的脉冲波形。整形后的脉冲波形输出至单片机计数器端,用C51程序算出速度值后传回计算机(LabVIEW)并显示。2.1.2软件系统设计LabVIEW 程序,主要包括用户界面设计(前面板的设计)和框图程

17、序设计两部分。(1)用户界面设计用户界面(前面板)是虚拟仪器的重要组成部分,仪器参数的设置、测试结果显示等功能都是通过软件实现,因此要求软件界面简单直接,便于使用。用户可根据需要设置转速参数,并将测量结果数据显示出来。(2) 框图程序设计系统框图程序大体分为三个模块:通信模块和仪器功能模块。通信模块模块中包括对设定速度值的发送和对测量速度的接收;仪器功能模块主要实现参数设置和测量结果显示。C51单片机程序设计,主要包括控制电机加速、减速,输入速度和测量速度,比较以及串口通信程序。因为测速码盘有20片光栅,所以应将1s 计数值除以20再乘以60才得到风扇转速(转/分)。2.2程序设计流程图2.1

18、 程序设计流程图2.3设计好的程序框图及前面板程序框图:图2.2 发送程序图2.3 延时程序图2.4 接收程序图2.5 用户界面3任务总结与展望电机测控在工业控制系统中占据非常重要的地位,传统的电机测控,主要采用指针式仪表,通过人工读数、记录、整理统计数据、绘制曲线和编写文档等,测控速度慢、数据不准确、数据处理和分析复杂,很难适应现代化发展的要求。电机测控系统一般分为两大部分,即数据采集与控制部分和人机界面部分,目前的自动控制系统常采用单片机控制、工业PC 机控制、PLC 控制等多种方案,利用虚拟仪器技术开发和设计了一个新型电机调速测速系统,该系统采用普通PC 机为主机,利用图形化可视测试软件

19、LabVIEW为软件开发平台,来测控电机运行速度状态,采集数据并进行处理、存储、显示。设备成本低,使用方便灵活。本次设计还有很多不足之处,比如电机调速围只有10-80转/分,在今后的实践中我会同我的组员一起改进,做得更好。4个人收获在本次设计中真正感受到了LabVIEW使用图形化编程语言G 在流程图中创建源程序,这种编程方式强调信号处理的实际过程,编程简单,调试方便的特点。用LabVIEW大大提高了我们在本次实验中的工作效率。在这次设计中学习了很多,比如单片机的串口通信,LabVIEW串口通信,电机测速等,都是以前没研究过的,在这个过程中学习了很多单片机和LabVIEW的知识,同时发现并解决了很多问题,让我们受益匪浅。也意识到了设计一个系统需要有严谨的态度,不能马虎。附:个人信息学号联系方式QQE-mail

copyright@ 2008-2022 冰豆网网站版权所有

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