基于LabVIEW的直流电机测控系统设计.doc
《基于LabVIEW的直流电机测控系统设计.doc》由会员分享,可在线阅读,更多相关《基于LabVIEW的直流电机测控系统设计.doc(18页珍藏版)》请在三一文库上搜索。
1、学号: 虚拟仪器技术课程大作业基于LabVIEW的直流电机测控系统设计专业班级: 学生姓名: 指导教师: 完成日期: 成 绩: 目录1设计要求、内容21.1要求21.2内容21.2.1 LabVIEW与单片机串口通信硬件/程序设计21.2.2 电机驱动模块/调速程序设计61.2.3 电机测速模块/测速程序设计81.2.4 总硬件/程序的设计111.3设计环境:142设计过程142.1设计思路142.1.1硬件系统方案设计142.1.2软件系统设计142.2程序设计流程152.3设计好的程序框图及前面板163任务总结与展望174个人收获17附:个人信息171设计要求、内容1.1要求1理解虚拟仪器
2、技术课程中所学的理论知识,掌握相关的设计方法和技能,能够读懂一些不太难的程序,能够独立的设计一些不太复杂的程序;2能熟练运用LabVIEW进行编程操作,并且能够自主的通过即时帮助通过程序的编写明白一些未知控件的作用;3通过学习,掌握基于LabVIEW的电机测控系统的具体设计过程,完成设计;4认真总结,完成计报告 1.2内容1.2.1 LabVIEW与单片机串口通信硬件/程序设计单片机作为下位机核心器件,负责数据的采集和通信及电机转速的控制,而上位机通常以基于图形界面的Windows系统为操作平台。核心是数据通信,它包括单片机和上位机之间的通信,而单片机和上位机之间数据通信则是整个系统的基础。单
3、片机和PC的通信是通过单片机的串口和PC串口之间的硬件连接实现的。图1.1 PC与单片机串口通信线路数据通信的硬件上采用3线制,将单片机和PC串口的3个引脚(RXD、TXD、GND)分别连在一起,即将PC和单片机的发送数据线TXD与接收数据RXD交叉连接,两者的地线GND直接相连,而其他信号线,如握手信号线均不用,采用软件握手的方式,这样既可以实现预定的任务又可以简化电路设计。利用Keil C51和LabVIEW编写程序实现PC与单片机串口通信。C51程序:#include/*主程序*/void main(void) SCON=0x50;/*SCON:模式1,8-bitUART,使能接收*/T
4、MOD=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 UART_SER(void) interrupt 4 /串行中断服务程序 unsigned char Temp;/定义临时变量if(RI)/判断是接收中断产生RI=0;/标志位清零 Temp=SBUF;/读入缓冲区的值P0=
5、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,十六进制)发送给单片机,单片机收到后回传这个数字,PC接收到回传数据后显示出来,若发送的数据和接收到的数据相等,则串行通信正确,否则有错误。启始符是数字00,结束符是数字FF。 图1.6 串口助手调试单片机串口通信2设计任务二(1)测试通信状态。 先在文本框中输入字符串“FF”,单击“测试
6、”按钮,将字符串“FF”发送到单片机,若PC与单片机通信正常,在LabVIEW程序前面板显示字符串“OK!”,否则显示字符串“通信异常”。 图1.7 LabVIEW与单片机串口通信测试(2)控制指示灯。 将单片机接收到的数值赋给P0口,P0口接一排LED,观察LED的显示结果(表示该数值的二进制显示)是否与输入值相符合。图1.8 输入“FF”图1.9 输入“01”单片机和LabVIEW通信,在程序设计上涉及两个部分的内容。一是单片机的C51程序,二是LabVIEW的串口通信程序和界面的编制。1.2.2 电机驱动模块/调速程序设计图1.10 LS298N驱动模块设置IN1和IN2,确定电机的转动
7、方向,然后对使能端输出PWM脉冲,实现电机调速。当使能信号为0,电机处于自由停止状态;当使能信号为1,且IN1和IN2为00或11时,电机处于制动状态,阻止电机转动。C51程序:#includesbit IN1=P10;sbit IN2=P11;sbit ENA=P12;/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()while(1)unsigned int i,c
8、ycle=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;/自动加速正转IN2=1;while(cycle1300)ENA=1;delay_us(cycle-);ENA=0;delay_us(T-cycle);1.2.3 电机测速模块/测速程序设计图1.11 光电耦合测速传感器模块1.模块槽中无遮挡时,接收管导通,模块DO 输出低电平,遮挡时,DO 输出高电平
9、;2、DO 输出接口可以与单片机IO 口直接相连,检测传感器是否有遮档,如用电机码盘则可检测电机的转速。设计选用的测速码盘有20格光栅,因此速度计算公式为:Speed=(count/20)*60(转/分)图1.12 电机测速调试1图1.13 电机测速调试2C51程序:#includesbit 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;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LabVIEW 直流电机 测控 系统 设计
链接地址:https://www.31doc.com/p-6059526.html