首页 » 互联网 » XBT自动投放测量系统电机控制单元设计与故障分析_电机_单位

XBT自动投放测量系统电机控制单元设计与故障分析_电机_单位

admin 2024-12-05 22:40:31 0

扫一扫用手机浏览

文章目录 [+]

丈量系统可实现12枚探头自动投放,完成对海水温度剖面数据的快速获取。
它能够在恶劣海况下完成投放丈量任务,具有投放效率与自动化程度高、操作简便等特点,填补了传统人工投放的不敷之处。
系统的投放过程紧张靠步进电机、直流电机和伺服电机等多种装置的组合运动完成,电机掌握单元是系统电子掌握的核心,在自动投放过程中发挥了主要的浸染。

1 电机掌握单元总体设计

XBT自动投放测量系统电机控制单元设计与故障分析_电机_单位 XBT自动投放测量系统电机控制单元设计与故障分析_电机_单位 互联网

电机掌握单元紧张由主控芯片、电源模块、串口扩展芯片、伺服、步进、直流电机驱动器接口电路等部分组成,其硬件事理框图如图1所示。
系统投放过程包含以下运动模式:投放桶旋转、开释装置运动、数据采集装置运动,通过对上述运动模式的合理设计完成探头投放与丈量数据采集。

XBT自动投放测量系统电机控制单元设计与故障分析_电机_单位 XBT自动投放测量系统电机控制单元设计与故障分析_电机_单位 互联网
(图片来自网络侵删)

2 硬件设计

2.1 主控芯片选型

考虑到开拓难度及研发周期,比拟选型后选用Silicon Laboratories公司的C8051F020微掌握器作为主控芯片。
它是完全的稠浊旗子暗记片上系统SoC芯片,具有64 KB可在系统编程Flash和4 532 B SRAM,70%的指令实行韶光为1-2个时钟周期,具有22个中断源等特点,以上性能知足电机掌握单元的设计需求。

2.2 电源管理模块

掌握单元的电源输入为12 V和24 V,选用National Semiconductor公司生产的LM2575和LM2937电源芯片,分别产生5 V和3.3 V电压。
前者用于步进电机掌握旗子暗记及直流电机驱动芯片供电,后者用于主控芯片及数字器件供电,24 V电源用于步进电机驱动器及伺服驱动器刹车装置供电。

2.3 通信接口模块

为实现对系统中各种电机的掌握,电机掌握单元须要与伺服驱动器[3]、上位机及手动掌握终端进行数据通信,其通信接口均利用RS232办法。
由于单片机只有两个UART串口,须要对其数量进行扩展。
常用的扩展方法可通过软件设计实现[4],也可由硬件芯片[5]完成。
由于软件虚拟串口的方法具有可靠性和稳定性方面的不敷,因此采取专用硬件芯片的办法。
选用EXAR公司生产的XR16L784专用串口扩展芯片,通过合理搭建外围电路并编写配置程序,实现多路串口扩展功能。

2.4 电机驱动接口

2.4.1 伺服电机驱动器接口

接口电路紧张由RS232电平转换和投放筒位置反馈输入两部分组成。
电机掌握单元与伺服驱动器的通信办法为RS232通信,波特率为9 600 b/s。
选用MAXIM公司生产的MAX3232芯片完成单片机TTL电平与RS232电平转换。
伺服驱动器采取Modbus通信[6]协议,利用RTU模式进行数据传输。
通信格式中每帧数据包含1个起始位,8个数据位,2个停滞位。
为与该格式匹配,将单片机UART0串口设置为模式2,每帧数据包含11 bit,其第9数据位可通过编程进行设定,设计时将其设定为与停滞位相同的数值。
每开始一轮投放任务前,投放桶都须要进行位置归零,以担保投放点位置的精确性。
利用光电开关作为检测传感器,通过检测安装在投放桶固定位置处的遮光板实现归零操作。

2.4.2 步进电机驱动器接口

步进电机驱动用具有多种细分模式,根据系统需求将其设定为3 200。
驱动器的掌握旗子暗记包括电机使能、旋转方向及步数,个中旋转步数由输入脉冲个数决定,利用单片机可编程计数器阵列(PCA)功能实现脉冲的精确输出。
单片机的掌握旗子暗记经光电隔离器件与步进电机驱动器相连。
为知足系统对步进电机数量的扩展需求,在硬件实现时采取了2个步进电机驱动器接口的设计方案。

2.4.3 直流电机驱动接口

对XBT探头数据的获取通过丈量装置来完成,该装置通过直流电机实现与探头的连接和断开。
选用ST公司的L298P芯片[7]作为驱动芯片,该芯片供电电压为5 V,引脚Vs为待驱动设备事情电压,根据选用的直流电机事情参数将其设定为24 V。
掌握旗子暗记为标准TTL电平,芯片最大驱动电流为2 A。
利用单片机两个IO口输出掌握旗子暗记,同时利用或逻辑门的输出作为L298P使能旗子暗记,当掌握旗子暗记1为高电平、掌握旗子暗记2为低电平时,芯片驱动直流电机正转。
反之,则直流电机反转。
其事理图见图2。

3 软件设计

在程序编写时采取模块化编程思想进行设计,选用Keil μVision4作为编程开拓环境,编程措辞以C措辞为主,利用少量汇编措辞完成MCU寄存器初始化。
程序实行后首先对时钟、UART、PCA等相应寄存器进行初始化,串口通信采取中断办法[8]以提高效率。
利用单片机片上外设PCA以一定频率向步进电机驱动器发送脉冲,由于步进电机行程固定,因此采取定时器掌握其运动韶光。
软件流程图见图3。

系统初始化完毕后,通过位置传感器确认各电机是否处于原点,若不在则自动完成位置归零。
在确认伺服驱动器事情状态正常后进入自动投放模式,过程如下:伺服电机带动投放桶旋转30°,直流电机提高至与探头相连,步进电机通过往来来往运动完成XBT开释过程,探头落入海水后对温度剖面数据进行丈量,待数据采集完成后直流电机退却撤退至原点,完成一次投放过程。
当12枚探头均投放成功后,即可装入新探头以备下一轮次投放。
为在电机涌现非常时能对其人工调度,在程序设计时加入了手动掌握模式,该功能不对用户开放,仅在调试时利用。

电机掌握单元与上位机的通信采取问询、应答办法,问询由上位机发起,掌握单元收到后将相应动作的命令和子函数标志位赋相应值,通过在主函数中查询标志位实行对应电机动作,实行完成后打消标志位,当查询到子函数标志位清零后向上位机回答。
其命令交互流程见图4。

命令交互时采取的通信格式为:

上位机:$XX,AAKK\r\n

电机掌握单元:$XX,AA,BBKK\r\n

个中,XX表示命令种类,AA表示掌握字标号,BB表示电机掌握单元实行结果,KK表示累加和校验。
例如,须要投放筒逆时针旋转30°,则上位机发出指令$05,02F3\r\n,电机掌握单元通过串口收到该命令后,对命令进行分类,主函数中检测到该命令对应的标志位后将掌握电机实行相应动作,完成后则返回$05,02,007F\r\n。

4 电机掌握单元测试结果及故障剖析

在海上投放过程中,由于每枚XBT探头的投放是由以上三种电机按照一定逻辑顺序运动完成的,如果某个电机动作涌现非常将直接导致投放失落败,因此对电机掌握单元的功能、性能从多种角度进行测试十分必要。
为担保其事情的可靠性,分别从功能、拷机和批量测试三方面进行测试。
个中,前两项试验是对单一电路板的测试,批量测试则是对随机抽取的10块电路板进行验证。

4.1 功能性测试

为测试电机掌握单元的功能,将其与工控打算机通过RS232办法相连,同时将电机掌握单元与伺服驱动器的串口发送引脚与地线分别引出并连接到工控打算机的两个串口上,实时监测两者间通信状态。
掌握单元在自动投放模式下会按照设定的步骤依次完成投放12枚探头的动作。

4.1.1 伺服电机故障及剖析

在监测电机掌握单元与伺服驱动器间通信数据时,创造伺服驱动器存在数据丢帧、出错、寄存器值未更新等情形,直接导致投放桶不迁徙改变或迁徙改变次数少于设定值。
其缘故原由可能是驱动器内DSP对串行数据的处理相应速率及可靠性不敷、外部电磁滋扰等,这些非常情形会导致伺服电机无法对电机掌握单元的指令及时做出相应。

为担保系统事情稳定可靠,单片机在每次发送掌握指令后再发送一条读取指令,检讨伺服驱动器内干系寄存器中的数据是否被成功写入,若未成功更新则重新发送掌握指令。
同时,建立误码识别机制并记录误码涌现次数,当累计次数超过设定阈值时启动报警,人为排查故障。

4.1.2 步进电机故障及剖析

在测试过程中,步进电机涌现了行程不到位的情形,导致投放装置无法成功取下探头销,其缘故原由是外部脉冲频率设置过高导致步进驱动器无法及时相应从而造成失落步[9],在设计时将PCA产生的脉冲频率降落至2.4 kHz,该频率下步进电机无失落步征象,运动行程稳定。

4.1.3 直流电机故障及剖析

在测试直流电机事情时利用外部稳压源供应24 V直流电压,当电机连续事情一段韶光后创造其会涌现非常停滞征象,同时驱动芯片L298P非常发热,稳压源过流保护。
经剖析可知,由于直流电机在启动和停滞瞬间会产生较高的感应电动势,若该电压直接浸染在OUT1和OUT2引脚将直接导致芯片烧毁。
因此,在这两个引脚上加入截止电压为24 V的双向TVS管,将直流电机启停时产生的瞬间高电压以电流形式直接开释到电路的地平面,担保L298P芯片不会受到电机瞬时较高的感应电动势影响。

4.2 拷机测试

为验证电机掌握单元对上位机命令相应的可靠性,利用串口调试助手周期性发送掌握指令,通过不雅观察电机运动实行情形来判断其相应结果。
测试韶光为24个小时,发送周期为4 s一次。
测试中创造,直流电机在事情一段韶光后停滞运动,无法对外部命令做出相应,但每组试验中电机停滞运动的韶光却不相同。
在确认驱动芯片L298P事情正常后,从程序设计角度对故障进行剖析。

由于掌握单元在输出电机动作的指令后,需担保该动作实行期间其他电机无运动,因此在主程序中利用了while循环办法进行等待。
但掌握单元须要实时相应来自上位机的串口命令,因此将查询串口缓存及命令状态判断等语句放在了每10 ms实行一次的定时器0中断函数中。
UART波特率为9 600 b/s,当单片机串口通信数据帧格式设置为1位起始位、8位数据位、1位停滞位时,每帧数据传输韶光为1.04 ms。
程序中利用了定时器0和UART0中断,前者中断优先级高于后者,由于并未对中断优先级(IP)寄存器进行设置,因此当定时器0和UART0中断同时到来时,单片机优先实行定时器0中断做事程序;而当UART0中断程序实行过程中定时器0中断到来时,不会发生中断嵌套。

电机掌握单元的晶振频率是3.686 4 MHz,在1.04 ms的韶光内包含3 837个时钟周期。
C8051F系列单片机一条汇编指令的实行韶光为1~2个时钟周期,而一条C措辞语句对应多条汇编语句。
上位机发送的掌握命令包含11个字节,由于原设计中在定时器0中断函数中添加了大量查询串口缓存及状态判断语句,导致要实行的语句过多,在某些条件下实行韶光超过了1.04 ms,造成保存在SBUF0中的串口吸收数据还没被读入单片机内存就被下一个数据覆盖,导致掌握字丢失。

将主程序中利用while的程序部分用switch-case构造改写,使程序不会停在某一位置持续等待,这样可以将查询串口缓存及状态判断的语句写入主函数中,使其对外部命令的相应不依赖于定时器。
改写后的定时器中断函数中的语句数量大幅减少,其实行韶光远小于1.04 ms,可担保SBUF0中的数据均能被及时读入内存。
调度后的电机掌握单元在拷机实验中对上位机命令均及时相应,无数据丢失。

4.3 批量测试

在该项测试中创造有2块电机掌握单元涌现了投放筒旋转次数明显多于设定值的情形。
在程序设计时,为担保伺服电性能可靠实行迁徙改变指令,在每次运动前后由上位机分别读取伺服驱动器中字长为4字节的轴位置信息并比较,若其差值小于设定阈值则剖断电机未迁徙改变,上位机会再次发送旋转指令。
由于旋转30°对应的轴位置数据偏移量已知,经对返回数据核查得知,该故障是因轴位置数据涌现非常所致。

在对程序设计核查确认无误后,将导致该故障的缘故原由定位在程序的编译模式上。
系统开拓利用的Keil μVision4软件,其变量编译包括Small、Compact、Large三种模式[10]。
在Small模式下,未指明存储类型的变量,均将分配在单片机的内部存储器上,其存储空间较小,如果变量数量超过其范围将会编译报错。
由于电机掌握单元须要利用变量较多,超过了内部存储器的范围,软件编译不能通过,因此不选择该模式。
在Compact模式下,未逼迫利用_at_指定地址的变量被分配在分页寻址的片外内存中,每页大小为256 B,变量的高8位地址由P2口数据决定,如果利用的变量总数超过1页时,编译器不会自动更新P2数据进行页切换,也不会编译报错;在程序实行时,会造成变量的跨页缺点,即访问变量跨页时,由于未对高8位地址进行切换,仍旧访问以前的页,造成变量访问混乱。
在Large模式下,未指明存储类型的变量和XDATA变量都分配到片外数据存储器中,最大可达64 KB,利用指针DPTR间接访问。

电机掌握单元程序编译时利用了Compact模式,由于变量数量多,占用空间超过256 B,造成变量的访问混乱,以是造成轴位置变量非常。
将编译模式改为Large后对程序重新编译,将实行代码写入单片机测试,轴位置数据和电机旋转次数均正常。
此外,不修正变量编译模式,通过修处死式,将部分变量通过_at_指定地址,使开拓工具软件自动分配的变量限定到256 B之内,也能办理该问题,同样印证了轴位置的非常是由在Compact编译模式下变量数量超过页范围引起的。

轴位置变量出错征象只在两个电机掌握单元上涌现,而其他单元并未涌现。
经剖析其缘故原由如下:每个单片机程序的实行与其时钟频率有关,同一函数的调用实行时候在不同电机掌握单元上有细微差别,导致了函数的内部变量临时分配的区域不同,轴位置数据非常的掌握单元在实行该函数时,内部变量跨页,输出数据非常,而其他单元实行该函数时,内部变量不跨页,输出数据正常,因此导致了相同函数在同一外部条件下,在不同电机掌握单元上涌现了不同的结果。
为验证该推断,在不改变变量编译模式的情形下,在函数定义前定义一定字节的空数组,该数组用于占用外部数据存储器空间,调度该数组的大小使函数内部变量跨页,在某些条件下,该当是所有电机掌握单元都会涌现故障,数据非常的位置也应不限定在电机轴位置上。
通过逐步修正空数组的大小,在无端障的单元上也涌现了电机非常迁徙改变征象,数据非常也不仅限于电机轴位置一处问题,该实验结果与推断同等。
将编译模式设置为Large模式,不修正源程序,故障消逝。
该结果也验证了电机轴位置数据非常是由于在Compact模式下变量数量超过页范围引起的。

通过对以上非常情形的处理,电机掌握单元能够实现对上述三类电机的可靠掌握。
在投放装置海上试验测试中系统事情正常,电机掌握单元能够有效掌握投放装置完成多枚XBT探头的自动连续投放,担保系统正常运行。

5 结论

本文提出了XBT自动投放丈量系统电机掌握单元的设计思想,详细给出了硬件和软件实现方案。
设计了三种测试方法,查找出了掌握单元在对上位机命令实时相应过程中涌现的各种故障,通过全面的机理剖析进行了故障定位并改进验证。
实验室和海上试验的测试结果表明:电机掌握单元能够通过对伺服电机、步进电机、直流电机的运动掌握完成多枚XBT自动投放,担保系统顺利完成对海水温度剖面数据的可靠获取。
本设计对利用单片机对多种电机进行实时组合掌握的方法上具有一定借鉴浸染。

参考文献

[1] 黄兴辉,宋海斌,PINHEIR L M等.利用反射地震数据和XBT数据联合反演海水的温盐分布[J].地球物理学报,2011,54(5):1293-1300.

[2] 任强,魏传杰.国产抛弃式温度剖面仪(XBT)资料质量剖析[J].海洋技能学报,2016,35(1):102-105.

[3] 中达电通株式会社.台达高性能通讯型伺服驱动器ASDA-A2系列运用技能手册[Z].2014.

[4] 郑志雄,胡爱兰.LPC1768的全双工UART的软件仿照实现[J].单片机与嵌入式系统运用,2013,13(6):25-28.

[5] 李家宝,郑晓红,王团部.单片机外中断扩展及其多优先级软件实现方法[J].当代电子技能,2006(17):140-143.

[6] 孟庆浩,周清清,禹东川.基于GSM/GPRS的海上导航灯器远程监测系统[J].仪器仪表学报,2006(2):195-198.

[7] 孟英红,齐婉玉,段学锋.用L297,L298组成步进电机驱动电路[J].仪器仪表学报,2003,24(2):573-574.

[8] 周术诚,蒋萌辉,宁正元.微机与单片机串行通信中断办法的实现[J].福州大学学报(自然科学版),2001,29:79-82.

[9] 李茂军,刘鼎邦,张春光,等.步进电机细分驱动电磁转矩剖析[J].掌握工程,2013,30(2):243-245.

[10] Eefocus. Keil Cx51编译器编译模式[EB/OL].(2015-09-29)[2016-09-19].http://www.eeworld.com.cn/mcu/2015/0929/article_22621.html.

作者信息:

王心鹏,门雅彬,张东亮,董 涛,孔佑迪

(国家海洋技能中央,天津300112)

标签:

相关文章

IT时空优启,引领未来智能时代的创新力量

随着科技的飞速发展,我国在信息技术领域取得了举世瞩目的成就。在这片充满活力的土地上,一家名为“IT时空优启”的创新型企业应运而生,...

互联网 2024-12-27 阅读0 评论0

SSD 存储颗粒的误码事理_误码率_译码

ECC 技能:为办理误码问题,SSD 采取了 ECC(缺点校正码)技能,个中 LDPC(低密度奇偶校验)编码是一种高效的纠错算法。...

互联网 2024-12-27 阅读0 评论0

IT民工老陆,从码农到架构师的蜕变之路

在这个数字化时代,IT行业如同日新月异的星辰大海,无数“码农”在这片海域中奋力航行,渴望有一天能够登上架构师的宝座。而IT民工老陆...

互联网 2024-12-27 阅读0 评论0