- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅析labview的电机转数显示
基于LabVIEW的电机转数显示
摘要:利用Proteus软件,单片机系统实现步进电机的正转和反转,LabVIEW显示界面显示上位机串口的配置和电机运转的圈数。实现了单片机控制系统下位机与LabVIEW上位机通过串口来进行通信的功能。
关键词:步进电机,串口通信,联合仿真,LabVIEW
0 引言
本系统由Proteus单片机电路和LabVIEW上位机联合仿真组成。
下位机使用proteus软件联合keil利用51单片机最小系统来仿真实现步进电机的正转和反转,使用LabVIEW制作的上位机显示界面和下位机进行通信。上位机显示电机正转和反转的转数。
1 下位机原理
正反转可控步进电机系统由单片机最小系统、步进电机和COM控件组成,该系统是实际电路的一个仿真,通过虚拟串口能够实现和上位机之间的通信。熟悉步进电机四相双四拍方式的驱动原理。其硬件原理图如图一:
图1 硬件原理图
其中步进电机由ULN2003A驱动,P1.0控制电机的正转,P1.1控制电机的反转,P1.2控制电机运转的停止,COM口通过虚拟串口连接上位机。
实现功能:P1.0“正转”按钮按下,步进电机实现正转,计数器aa记下正转的圈数;P1.1“反转”按钮按下,步进电机实现反转,计数器bb记下反转的圈数;P1.2“停止”按钮按下,步进电机停止运转,通过串口发送正转和反转的圈数给上位机。调试运行时刻图如图2。
图2 运行时刻图
COM口配置:通过虚拟串口软件Virtual Serial Port Driver配置串口,COM1写入,COM2读出。串口配置如图3。
图3 串口配置
COMPIM串口设置如图4,其中波特率取9600bps,数据位取8位。
图4 COMPIM串口配置
2 上位机设计
虚拟仪器软件软件架构(Virtual Instruments Software Architecture,VISA),实质上是一个I/O软件库及其规范的总称。VISA是应用于仪器编程的标准加应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。用户可用一个API控制包括VXI、GPIB及串口仪器在内的不同种类的仪器,它还支持多平台工作、多接口控制,是一个多类型的函数库。在LabVlEW中编写的VISA接口程序,当外部设备变更时,只需要更换几个程序模块即可使用,简单方便而且开发效率高。
本次设计采用VISA读写串口设备,设计出了一个显示界面。上位机显示界面如图5。
图5 上位机显示界面
VISA资源配置中串口选用COM2口,与COM1口配对,其总程序如下图
图6 总程序框图
在LabVIEW中,串口通信的基本步骤分为3步:
第一初始化串口,利用VISA节点设定串口的端、波特率、停止位、校验位、数据位,需要注意的是在LabVIEW中串口号是从0开始编号的。
第二读写串口,利用VISA 节点和VISA 节点对串口进行读写。
第三关闭串口,停止所有读写操作。
串口初始化节点见图所示该节点主要用于串口的初始化主要参数意义如下:
VISA资源名称:指PC的串口名,例:COMlCOM2等。
波特率:串口速率,默认为9600bps。
数据比特:一帧信息中的位数,LabVIEW中允许5~8位数据,默认为8。
奇偶:奇偶校验位,可选为无校验、奇校验或偶校验,默认为无校验。
停止位:一帧信息中的停止位的位数,可选为1位、位或2位。
流控制:设置传输机制使用的控制类型,可选为None、XONXOFF软件流控或RTSCrS硬件流控,默认为None。
终止符:设置一帧数据的结束符,即当接收串口数据时,当收到终止符时,软件自动结束一帧数据接收。
串口读操作节点见图所示字节总数:要读取的字节数量读取缓冲区PC串口收到的数据返回数:实际读取的字节数,字节总数应大于或等于返回数,否则会丢。关闭串口采用如图所示VISA 节点
图7 VISA配置串口
图8 VISA读取
图9 VISA关闭
图10 简易错误处理器
附录1
#includereg51.h
#includeabsacc.h
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;
#define UP 20
#define DOWN 30
#define STOP 40
#define uint unsigned char
unsigned char temp,aa,bb;
void delay() //延时100ms
{
unsigned i,j;
for(i=100;i0;i--)
for(j=110;j0;j--)
;
}
/*****************串口初始化函数***********************
您可能关注的文档
最近下载
- 立体构成PPT-课件.pptx VIP
- 梅赛德斯-奔驰-R级-产品使用说明书-R350 4MATIC-251165-Rclass.pdf
- 设计依据和设计工作目标.doc VIP
- 津津有味·读经典Level2《铁路少年》译文和答案.pdf
- 办公楼装修 投标方案(技术方案).docx
- 津津有味·读经典Level2《铁路少年》译文和答案.pptx
- 白门埭川李氏宗谱 卷一 苍坡卷2023年癸卯修订稿.pdf
- 器械不良反应报表.docx
- 超星学习通 大学生心理健康教育(北京大学)尔雅网课答案.pdf
- 荣威-550-产品使用说明书-550 Plug-in 豪华版-CSA7154TDPHEV-荣威e550用户手册-2017.3.10.pdf
文档评论(0)