基于VC++串行通信的无刷直流电机监控系统(2)

2013-04-24 01:07
导读:3.2 下位机串行通信设计 在下位机控制系统中,采用MSP430系列单片机,其内置的USCI模块通过UCAXRXD和UCAXTXD两个外部引脚连到单片机外部,实现串行通信[5]。

  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.

上一篇:燃气—蒸汽联合循环电厂整体配置选择 下一篇:没有了