论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
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.