论文部分内容阅读
[摘要]本文提出了一种基于DSP和CAN总线技术的直流电机监控系统设计方案,按照该方案设计的系统结构简单,使用方便,精确度及性价比均较高。同时,CAN总线的分布式结构可使系统扩展至多个电機的同时检测,在多电机驱动机构中便于同时进行多个电机性能检测及分析比较。
[关键词]DSPCAN总线直流电机
中图分类号:TP336 文献标识码:TP 文章编号:1009―914X(2013)28―0579―02
引言
直流电机控制系统通常采用成品化的驱动器及控制器,此类系统不仅价格昂贵且缺乏一定灵活性。随着现代直流驱动机械复杂性不断提高,当需要对多个电机实施监控时尤显不便。近年来,数字处理芯片运算能力及可靠性均得到很大程度的提高,以数字信号处理芯片为控制核心的数字化电机监控系统正逐步替代传统仿真器件电机控制器。CAN总线作为新一代串行通信总线,具有实时性及抗干扰能力强,传输距离远等特点,基于CAN总线的监控系统可有效支持系统分布式结构,通过CAN网络可以构成针对多部电机的高精度监控系统。
1.监控系统构成及功能描述
直流电机监控系统组成如图1所示,监控平台主要包括被测电机、MCU控制板、温湿度测量模块、速度测量模块以及桥式驱动电路等。MCU控制板的主要功能是实时响应上位机的命令,通过驱动电路控制直流电机运动状态,同时把采集的速度、温湿度等数据通过通信电缆传送至主控制器[1]。
图1直流电机监控系统工作示意图
上位机部分主要包括DSP实验板、手动操作面板、液晶显示模块以及上下位机通信模块等。DSP实验板及其外围电路的主要任务是响应PC控制终端的命令并协调处理MCU采集的现场数据,通过总线通信机制和测试平台互通有无。操作面板可通过按键操作进行手自动模式切换,手动模式下可直接对电机进行动作状态控制。
2.基于CAN总线的通信结构
控制局域网络总线CAN(Control Area Network)由德国Bosch公司推出,最初用于汽车内部各传感单元和执行单元间的数据通信。CAN总线支持系统分布式控制和实时控制,其通信介质可以是双绞线、同轴电缆或光纤。CAN总线具有很高的网络安全性,通信可靠,实时性强,特别适用于电磁干扰多等环境恶劣的工业场合[2]。
本次设计更重要的是实现同时进行多路测试,并将测试数据和测试性能进行实时比较,或者实现多驱动电机特性的测试要求。设计中使用CAN总线通信方式实现数据的及时存盘工作。基于CAN结构的系统通信机构如图2所示。
图2基于CAN总线的系统通信结构
3.系统硬件电路设计
3.1 电机驱动电路设计
直流电机驱动器的设计普遍采用H形桥式电路,其特点为:开关频率高、动态响应较快、抗干扰能力强等[3]。实验直流电机额定电压DC12V,额定功率36W,对桥式电路组件的耐压和通断电流能力要求较高,因此对传统H形桥式电路进行改进设计后的单个电机驱动电路如图3所示。系统中采用的直流电机及其齿轮箱为一体化整体结构设计,各直流电机驱动电路完全相同。
图3管道机器人行进电机驱动电路
3.2 CAN总线接口电路设计
信息测量的一个CAN节点由单片机、CAN控制器MCP2515及CAN收发器TJA1050组成。其中CAN控制器MCP2515及CAN收发器TJA1050共同集成在YG-134模块上。单片机的通讯是通过行业标准串行外设接口(SPI)来实现的,其数据传输速率高达5Mb/s。由于STC89C52单片机没有SPI串行接口,故在编程时用语句模拟SPI,简化了硬件电路的设计。CAN节点电路图如图4所示,模块中的VDD和5V分别给MCP2515、TJA1050供电,实验中CAN接口芯片均使用5V电源。
图4CAN节点接口电路
3.3 速度检测电路设计
本次选用直流三线制NJK-5002C型NPN常开霍尔传感器作为电机速度测量组件。电机转速测量电路如图5所示,当磁钢经过霍尔传感器时,信号端输出幅值为5V的脉冲信号,利用该信号直接触发单片机外部中断埠(XINT1)[4]。
图5霍尔组件与单片机接口电路
4.系统软件设计
4.1 DSP串口通信程序设计
使用高优先级的串行中断实现数据在PC机和DSP芯片间的接收与发送,程序流程图如图6所示,左为数据上传串口通信程序流程图,右为发送中断流程图。
图6TMS320LF2407A串口通信流程图
TMS320LF2407A串行通信接口使用16位波特率选择寄存器设置不同的波特率,串行通信接口异步波特率计算方法为:SCI异步波特率=SYSCLK/[(BRR+1)*8],其中BRR即为波特率选择寄存器应写入的内容[5]。本文中采用波特率为9600bps,SYSCLK =40M,BRR=0x30C。
4.2 单片机程序流程设计
单片机系统上电开机后,进入等待状态,直到上位机发送动作指令。当单片机通过总线接收到上位机传送指令后,进入执行指令阶段。整个程序共分三大模块,即主程序模块、总线通信初始化模块和PWM控制程序模块。单片机采用中断方式接收数据包信息,下面仅给出数据接收流程图7。
图7单片机接收数据流程图
4.3 上位机部分程序设计
上位机程序以VC++6.0为开发工具,通过基于MFC的多线程方式和消息响应的特点编写,如图12,整个监控画面划分为三个功能区:通信端口设置区、动态数据显示区和指令发送区。行进电机转速值在上位机接口上有动态曲线和实时数据两种显示方式,数据按照规定路径保存在data.txt文件中,可随时查阅历史数据并显示[6]。试验过程中相应的液晶动态显示画面如图8所示。
图8上位机实时监控画面
5.结论
本文设计了一种基于DSP和CAN总线的网络化、高精度、低成本直流电机控制方案,该方案在实际直流电机测试系统中已经得到了初步应用,并进行了相关电机的检测工作。结果表明:在实际使用过程中电机具有良好的升降速性能,运行状况稳定,系统整体功耗低,数据采集精度和速率完全满足直流电机测试需要,具有广阔的推广前途。
参考文献
[1] 王仁杰,曾庆军. 基于DSP-单片机的主从式电动轮椅控制器设计[J]. 科学技术与工程,2009,9(19):5820~5824.
[2] 张兰芳. 基于CAN总线的车身信号采集和通讯系统[J]. 仪器仪表用户,2009,16(4):33~35.
[3] 焦圣喜,于天暝,冯国亮等. 基于CAN总线技术的车载网络系统设计. 机床与液压,2011,39(17):77~79.
[4] 求是科技. 单片机典型模块设计实例导航[M]. 北京:人民邮电出版社,2008.
[5] 刘和平,王维俊,江渝. TMS320LF240x DSP C语言开发应用[M]. 北京:航空航天大学出版社,2003.
[6] 尚晓峰,刘彦章,袁文. 基于VC++的电机参数的在线采集与显示. 机床与液压,2011,39(15):59~62.
[关键词]DSPCAN总线直流电机
中图分类号:TP336 文献标识码:TP 文章编号:1009―914X(2013)28―0579―02
引言
直流电机控制系统通常采用成品化的驱动器及控制器,此类系统不仅价格昂贵且缺乏一定灵活性。随着现代直流驱动机械复杂性不断提高,当需要对多个电机实施监控时尤显不便。近年来,数字处理芯片运算能力及可靠性均得到很大程度的提高,以数字信号处理芯片为控制核心的数字化电机监控系统正逐步替代传统仿真器件电机控制器。CAN总线作为新一代串行通信总线,具有实时性及抗干扰能力强,传输距离远等特点,基于CAN总线的监控系统可有效支持系统分布式结构,通过CAN网络可以构成针对多部电机的高精度监控系统。
1.监控系统构成及功能描述
直流电机监控系统组成如图1所示,监控平台主要包括被测电机、MCU控制板、温湿度测量模块、速度测量模块以及桥式驱动电路等。MCU控制板的主要功能是实时响应上位机的命令,通过驱动电路控制直流电机运动状态,同时把采集的速度、温湿度等数据通过通信电缆传送至主控制器[1]。
图1直流电机监控系统工作示意图
上位机部分主要包括DSP实验板、手动操作面板、液晶显示模块以及上下位机通信模块等。DSP实验板及其外围电路的主要任务是响应PC控制终端的命令并协调处理MCU采集的现场数据,通过总线通信机制和测试平台互通有无。操作面板可通过按键操作进行手自动模式切换,手动模式下可直接对电机进行动作状态控制。
2.基于CAN总线的通信结构
控制局域网络总线CAN(Control Area Network)由德国Bosch公司推出,最初用于汽车内部各传感单元和执行单元间的数据通信。CAN总线支持系统分布式控制和实时控制,其通信介质可以是双绞线、同轴电缆或光纤。CAN总线具有很高的网络安全性,通信可靠,实时性强,特别适用于电磁干扰多等环境恶劣的工业场合[2]。
本次设计更重要的是实现同时进行多路测试,并将测试数据和测试性能进行实时比较,或者实现多驱动电机特性的测试要求。设计中使用CAN总线通信方式实现数据的及时存盘工作。基于CAN结构的系统通信机构如图2所示。
图2基于CAN总线的系统通信结构
3.系统硬件电路设计
3.1 电机驱动电路设计
直流电机驱动器的设计普遍采用H形桥式电路,其特点为:开关频率高、动态响应较快、抗干扰能力强等[3]。实验直流电机额定电压DC12V,额定功率36W,对桥式电路组件的耐压和通断电流能力要求较高,因此对传统H形桥式电路进行改进设计后的单个电机驱动电路如图3所示。系统中采用的直流电机及其齿轮箱为一体化整体结构设计,各直流电机驱动电路完全相同。
图3管道机器人行进电机驱动电路
3.2 CAN总线接口电路设计
信息测量的一个CAN节点由单片机、CAN控制器MCP2515及CAN收发器TJA1050组成。其中CAN控制器MCP2515及CAN收发器TJA1050共同集成在YG-134模块上。单片机的通讯是通过行业标准串行外设接口(SPI)来实现的,其数据传输速率高达5Mb/s。由于STC89C52单片机没有SPI串行接口,故在编程时用语句模拟SPI,简化了硬件电路的设计。CAN节点电路图如图4所示,模块中的VDD和5V分别给MCP2515、TJA1050供电,实验中CAN接口芯片均使用5V电源。
图4CAN节点接口电路
3.3 速度检测电路设计
本次选用直流三线制NJK-5002C型NPN常开霍尔传感器作为电机速度测量组件。电机转速测量电路如图5所示,当磁钢经过霍尔传感器时,信号端输出幅值为5V的脉冲信号,利用该信号直接触发单片机外部中断埠(XINT1)[4]。
图5霍尔组件与单片机接口电路
4.系统软件设计
4.1 DSP串口通信程序设计
使用高优先级的串行中断实现数据在PC机和DSP芯片间的接收与发送,程序流程图如图6所示,左为数据上传串口通信程序流程图,右为发送中断流程图。
图6TMS320LF2407A串口通信流程图
TMS320LF2407A串行通信接口使用16位波特率选择寄存器设置不同的波特率,串行通信接口异步波特率计算方法为:SCI异步波特率=SYSCLK/[(BRR+1)*8],其中BRR即为波特率选择寄存器应写入的内容[5]。本文中采用波特率为9600bps,SYSCLK =40M,BRR=0x30C。
4.2 单片机程序流程设计
单片机系统上电开机后,进入等待状态,直到上位机发送动作指令。当单片机通过总线接收到上位机传送指令后,进入执行指令阶段。整个程序共分三大模块,即主程序模块、总线通信初始化模块和PWM控制程序模块。单片机采用中断方式接收数据包信息,下面仅给出数据接收流程图7。
图7单片机接收数据流程图
4.3 上位机部分程序设计
上位机程序以VC++6.0为开发工具,通过基于MFC的多线程方式和消息响应的特点编写,如图12,整个监控画面划分为三个功能区:通信端口设置区、动态数据显示区和指令发送区。行进电机转速值在上位机接口上有动态曲线和实时数据两种显示方式,数据按照规定路径保存在data.txt文件中,可随时查阅历史数据并显示[6]。试验过程中相应的液晶动态显示画面如图8所示。
图8上位机实时监控画面
5.结论
本文设计了一种基于DSP和CAN总线的网络化、高精度、低成本直流电机控制方案,该方案在实际直流电机测试系统中已经得到了初步应用,并进行了相关电机的检测工作。结果表明:在实际使用过程中电机具有良好的升降速性能,运行状况稳定,系统整体功耗低,数据采集精度和速率完全满足直流电机测试需要,具有广阔的推广前途。
参考文献
[1] 王仁杰,曾庆军. 基于DSP-单片机的主从式电动轮椅控制器设计[J]. 科学技术与工程,2009,9(19):5820~5824.
[2] 张兰芳. 基于CAN总线的车身信号采集和通讯系统[J]. 仪器仪表用户,2009,16(4):33~35.
[3] 焦圣喜,于天暝,冯国亮等. 基于CAN总线技术的车载网络系统设计. 机床与液压,2011,39(17):77~79.
[4] 求是科技. 单片机典型模块设计实例导航[M]. 北京:人民邮电出版社,2008.
[5] 刘和平,王维俊,江渝. TMS320LF240x DSP C语言开发应用[M]. 北京:航空航天大学出版社,2003.
[6] 尚晓峰,刘彦章,袁文. 基于VC++的电机参数的在线采集与显示. 机床与液压,2011,39(15):59~62.