翻新时间:2013-12-18
基于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的导通。
同时, MSP430单片机的捕获比较模块,捕获三相传感器信号输入的时间,本文试验采用的无刷直流电机为一个机械周期(20个电周期),通过计算得到电机的转速公式为[3]:
;
表示检测到第一次位置信号时的时钟数,表示检测到第二次位置信号时的时钟数,为定时器的时钟主频,*3则表示转过一个电周期所用的时间。通过串行通信,可将转速、电压、电流这些参数传至上位机。
2.3 串行通信的硬件实现
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控制发送和接受移位寄存器从高位还是低位开始接受,应设置为低位,否则会出现数据错误。参数设置如下:
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单片机为核心,通过编制上位机可视化程序,采取主从式控制结构,使得无刷直流电机的控制和可观性得到了明显的改善,实验结果表明,该方案能成功用于电机的监控系统。
参考文献
[2]李先详,斯燕跃.无刷直流电机的单片机监控系统的研制[J].电气传动自动化,2002(3):3-5.
[3]王宏华.新型交流电动机及控制技术系列讲座(3)永磁无刷电动机[J].机械制造与自动化,2004(3):105-109.
[4]徐洋.基于MSP430单片机的无刷直流电机实验测试平台设计[J].电气技术与自动化,2010(4):168-171.
下载文档
网友最新关注
- 为小升初加码,我仅用了两年
- 小升初战役给了我血与泪的洗礼
- 感悟-调整好心态最为重要
- 学习语文要下苦功夫
- 6年级才开始学奥数也会成功
- 小升初后我的经验总结
- 小升初做到这些,就能大显身手
- 北达老师的出题水平不简单
- 没有证书,如何备战小升初?
- 小升初,我打了一场“胜仗”
- 东城孩子为何选择北达?
- 朋友
- 学习语文要下苦功夫
- 我抓住了小升初并不多的机会
- 我做好了上师达的一切准备
- 自我介绍一下?精心设计面试开头5分钟
- 面试应答技巧:把紧嘴巴 三思而答
- 外企面试常见问题及回答技巧
- 对症下药——去外企求职面试的成功法宝
- 如何应对用人单位特意设置的道具面试?
- 打工手册:面试题的错答与分析
- 求职兵法:面试十大难题的样板回答
- 面试声音技巧
- 面试应该注意哪些问题?细数面试七忌
- IBM铺设蓝色之路
- 应对棘手问题,面试致胜的几个“诀窍”
- 做好面试准备--人事经理最爱问的15个问题
- 有消息通知你…?学会解读“招聘语言”
- 这些问题如何回答?面试必备15问
- 面试第五阶段应注意哪些问题
- 油画艺术的色彩运用思索
- 对油画构图艺术剖析
- 巴蜀书法奇才蔡永成
- 小议民间美术的进展
- 持之以恒的教研活动与民主和谐的教研氛围
- 国内女性油画家探索
- 论走向现代英国美术300年
- 浅论伦勃朗与维米尔绘画的差异性
- 国画大师向总理要酒喝
- 油画艺术的主客观色彩转换
- 美术行业经济投资价值
- 油画艺术中整体性之作用
- 论美术行业经济投资价值
- 分析美术馆、公共艺术机构、艺术学院14%
- 澳门美术扫描
- 《桂林山水》随堂练习
- 《桂林山水》文学常识
- 《桂林山水》教案讲义 感悟细节感悟美
- 《桂林山水》考点连接
- 《桂林山水》重点语句探究
- 《桂林山水》重点问题探究
- 《记金华双龙洞》 重点难点分析
- 《桂林山水》同题材作文训练
- 《桂林山水》写作特点
- 《桂林山水》同步作文思路点拨
- 《桂林山水》同步参考范文-新学校观光录
- 《桂林山水》课后习题答案
- 《桂林山水》同步作文审题指导
- 《桂林山水》教案讲义 让情感在语文课堂上流淌
- 《桂林山水》整体阅读感知