论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 理科论文 >> 自动化专业 >> 正文 会员中心
 物理论文   统计学论文   数学论文   地理论文   农林学论文   其他理学论文   化学论文   生物学论文   环境学论文
 自动化专业
基于VC++串行通信的无刷直流电机监控系统

原文作者:刘娜

  摘要:本文重点介绍了基于pc机和msp430单片机串行通信的具体实现过程。硬件部分解决了通信电平不一致的问题,软件部分给出了pc机和单片机的通信程序,解决了通信过程中数据传输的格式问题。实验结果表明,该方案操作性强,能成功运用于电机的监控系统。
  关键词:无刷直流电机 vc++ msp430 串行通信
  1、引言
  [1]无刷直流电机调速性能好,利用单片机msp430专门的pwm功能、丰富的i/o口、快速运算等优点,实现对无刷直流电机的逻辑控制,由于作为下位机的人机交互性不强,难以对电机运行时的关键信息有效处理,本文通过编写vc++上位机程序,采用pc机和单片机串行通信的主从式结构,实现了对电机的监控。
  2、电机原理及系统硬件组成
  2.1 无刷直流电机运行原理
  无刷直流电机的电力电子开关代替有刷电机的换向片,减少了机械磨损及因换向产生的一些危险,系统由电动机本体、位置检测器、逆变器和控制器组成[2]。
  电机本体同轴上的位置传感器,根据转子的不同位置,发出逻辑信号,根据实验所得的逻辑表,控制输出回路发出的信号,经mosfet驱动放大,控制电机电枢电流的导通,以实现“换向”。
  2.2 下位机控制系统硬件构成
  下位机以msp430系列的f2274单片机为控制核心,通过检测电机转子信号,单片机i/o口发出相应逻辑信号,与控制转速的pwm信号相“与”,经信号隔离,到电机专用驱动芯片ir2130中,继而导通桥式电路,实现mosfet的导通。www.11665.coM
  同时, msp430单片机的捕获比较模块,捕获三相传感器信号输入的时间,本文试验采用的无刷直流电机为一个机械周期(20个电周期),通过计算得到电机的转速公式为[3]:
  ;
  表示检测到第一次位置信号时的时钟数,表示检测到第二次位置信号时的时钟数,为定时器的时钟主频,*3则表示转过一个电周期所用的时间。通过串行通信,可将转速、电压、电流这些参数传至上位机。
  2.3 串行通信的硬件实现
  本文采用异步通信模式[4],设定好波特率及数据位和停止位的个数;将pc机的rxd脚与下位机的txd相连,并共地;利用max232芯片实现电压转换,即通过串口线连到pc机上,加上5个1的电容把rs232电平转化为标准ttl电平,再用两个电阻分压,以达到msp430单片机的电压标准。
  3、串行通信软件设计
  3.1 上位机串行通信设计
  [5]本文上位机通信模块采用mfc的编程方式,界面如图1所示。加入mscomm控件,自动生成cmscomm的类,访问其内部函数,可对pc机串行通信进行控制。
  在上位机进行通信之前,在mscomm中,设置通信参数,程序在界面上采用可视化的串口设置方式,提高了软件的通用性和移植性。[论文网]
  setting=m_botelv+",";
  if (m_testbit == "none")
  parity = "n";
  else if (m_testbit == "odd")
  parity = "o";
  else if (m_testbit == "even")
  parity = "e";
  else if (m_testbit == "mark")
  parity = "m";
  else if (m_testbit == "space")
  parity = "s";
  setting += parity + ",";
  setting += m_sbitbit + ",";
  setting += m_stopbit;
  if (m_comkou == "com1")
  m_com.setcommport(1);
  else if (m_comkou == "com2")
  m_com.setcommport(2);
  m_com.setsettings(setting);
  m_com.setinputmode(1); //1:表示以二进制方式检取数据
  m_com.setrthreshold(1); //为1表示有一个字符引发一个事件
  m_com.setsthreshold(1); //参数1表示每当串口接收缓冲区中有
  //多于或等于1个字符时将引发一个接收数据的oncomm事件
  m_com.setinputlen(0); //设置当前接收区数据长度为0
  在查询到commevent的值等于2时,表明接收缓存里有了数据。数据是variant型的,首先转化为colesafearray形式,然后再将数组元素分离转化为byte型数组,最后再将byte里的字符转化为数字。当上位机按下按钮发送数据时,也应通过函数colevariant()进行强制类型转换,以varint的形式传送出去。
  当下位机将电机转速的数据上传后,本软件加入了图形显示和数据存储功能。在绘图子对话框中,首先通过getparent函数调用父对话框指针,将父对话框中的数值传进子对话框,然后通过定时器,以一定频率绘制网格线并将传进来的数据点在图上显示。再次更新时,则重新绘制新曲线,覆盖原有图形,并将新点和旧点以直线相连,从而实现图2所示的速度曲线。
  在数据传到子对话框时,基于vc++的操作,本文采取二进制格式存储数据。首先定义一个fstream的类对象,该类支持从本流类所对应的磁盘文件中读入和写入数据的双向操作。当主对话框设置为“采集数据”时,对定义的二进制文件进行“写”操作;当设置“显示数据”时,则不断调用二进制文件里的数据,并传递给图像控件,显示存储的数据。关键代码如下:
  fstream iobin("ob.bin",ios::binary|ios::out |ios::in);//定义类对象,ob为目标数据文件

 …
  if(((cquxian1dlg*)getparent())->showmode==0)//0表示采集1表示显示已有数据
  {
  data=((cquxian1dlg*)getparent())->data;//取得父对话框的速度数据
  iobin.write((char*)(&data),sizeof(data));//写人二进制文件
  }
  else
  iobin.read((char*)(&data),sizeof(data));//显示已有数据
  …
  iobin.close();//关闭二进制文件
  3.2 下位机串行通信设计
  

在下位机控制系统中,采用msp430系列单片机,其内置的usci模块通过ucaxrxd和ucaxtxd两个外部引脚连到单片机外部,实现串行通信[5]。
  首先设定好系统时钟,并进行ucaxrxd和ucaxtxd的引脚设置。然后通过uca0ctl1选择串行通信模块的时钟源,并通过uca0br0、uca0br1分频,从而得到需要的波特率。串行模块中的控制字ucmsb控制发送和接受移位寄存器从高位还是低位开始接受,应设置为低位,否则会出现数据错误。参数设置如下:
  uca0ctl1 |= ucssel_2; // smclk
  uca0br0 = 104; // 1mhz 9600
  uca0br1 = 0; // 1mhz 9600
  uca0mctl = ucbrs0; // modulation ucbrsx = 1
  uca0ctl1 &= ~ucswrst;
  数据的发送和接收是通过中断函数进行的。首先开接收中断,对接收到的数据进行判断,并根据相应指令对电机的启动/停止和速度进行控制,当接收到启动命令后,再开发送中断,将每次计算得到的转速数据传到发送缓存中进行上传,程序流程如图3所示。
  3.3 通信数据的格式转化
  单片机的接收和发送缓存是8位,本系统传输的数据是float型,在传输前需进行数据转换。首先,限定传输的数据为0.0001~9999,取4位有效数字;然后将数据扩大10的“倍数”,转化为整数;再将整数分为高二位和低二位,分别赋到数组的前两位元素中,第三位元素赋以“倍数”;第四位元素赋以标识位,使每个目标数有唯一的标识符,方便传输。
  4、结语
  本文以msp430单片机为核心,通过编制上位机可视化程序,采取主从式控制结构,使得无刷直流电机的控制和可观性得到了明显的改善,实验结果表明,该方案能成功用于电机的监控系统。
  参考文献
  [1]孙建忠,白凤仙.特种电机及其控制[m].北京:中国水利水电出版社,2010.87-105.
  [2]李先详,斯燕跃.无刷直流电机的单片机监控系统的研制[j].电气传动自动化,2002(3):3-5.
  [3]王宏华.新型交流电动机及控制技术系列讲座(3)永磁无刷电动机[j].机械制造与自动化,2004(3):105-109.
  [4]徐洋.基于msp430单片机的无刷直流电机实验测试平台设计[j].电气技术与自动化,2010(4):168-171.
  [5]张筠,刘书智.visual c+ +实践与提高—串口通信与工程应用篇[m].北京:中国铁道出版社,2006:179-182.  
  • 上一篇理学论文:
  • 下一篇理学论文:
  •  作者:佚名 [标签: 直流电机 电机 直流 电机 原理 直流 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    关注欧盟农药禁限用政策— 对农药进行监管须…
    基于县级森林经营的高保护价值森林区划
    基于CDIO理念统计学专业导论课程的教学方法…
    基于黑箱理论的高职物理模块化教学改革
    基于建构主义理论的高校物理实验教学研究
    基于单片机的畜禽舍环境监控系统的研究
    基于电子信息化视角下的农业档案管理
    基于高中物理知识揭秘医疗中的滴液现象
    基于MapGIS空间分析功能的建瓯市地质灾害易…
    论基于循环经济理念的城市环境规划的思考
    基于绿色化学理念下的无机化学实验
    基于“绿色化学”理念的理工科院校药学相关…
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有