您现在的位置是:首页 > 电路图 > 电机控制电路 > 电机控制电路

基于STM32的隔离集成式多路电压监测设计

转载来源:电子技术应用-AET chinaaet.com 电子发烧友 elecfans.com2017-03-23

简介张旭旭1,2,尹达一1 (1.中国科学院上海技术物理研究所,上海200083;2.中国科学院大学,北京 100039) 摘要:随着航天遥感器的工作状态监测要求越来越高,对系统的多电压监测日益重要

  张旭旭1,2,尹达一1

  (1.中国科学院上海技术物理研究所,上海200083;2.中国科学院大学,北京 100039)

       摘要:随着航天遥感器的工作状态监测要求越来越高,对系统的多电压监测日益重要。设计了一种隔离集成式监测系统,考虑到航天遥感器对体积重量的要求,对硬件进行了小型化设计。详细介绍了其系统组成、主要功能、硬件设计、固件设计与上位机设计。经过测试,证明该设计能够实现多路不同电压条件下的状态隔离,为今后航天遥感器工作状态监测提供了一种可行的集成小型化方案选择。

  关键词:多路电压监测;隔离;MAX14921;USB HID

0引言

  随着我国嫦娥探月卫星、北斗卫星、风云卫星等的成功发射,对航天遥感器的工作状态的监测要求越来越高。以卫星为代表的航天飞行器的功能与结构愈发复杂,基于状态监测数据分析的故障监测与健康管理技术成为保障卫星系统可靠性和运行稳定性的关键技术[1]。如何对航天遥感器工作状态进行实时监测,特别是工作电压的监测,成为系统监控的重要依据。然而,随着航天遥感器的功能越来越复杂,需要监测的电压也随之增加;航天遥感器空间有限,对监测电路体积和重量也有很高要求。本文根据这一需求,提出了一种针对航天遥感器的多路电压隔离集成式实现方法。

1系统组成

  1.1关键器件选型

  监测方案的设计既要满足当前系统的需要,也要能够对后续设备进行扩展。目前,很多国外公司针对电压监测都提供了相应的解决方案。

  MAX14921芯片是Maxim公司针对电压监测提供的一种解决方案。MAX14921电压测量模拟前端(AFE)器件用于高精度采样电压,并提供电平转换,可支持多达16路/+65 V(最大)的主/辅电压组。两款器件均同时采样所有电压,允许高精度确定充电状态和源阻抗。将所有电压以单位增益转换成以地为基准的电压信号,简化外部ADC的数据转换。器件具有低噪声、低失调放大器,可缓冲高达+5 V的差分电压,电压误差为±0.5 mV[2]。

  LTC6803是Linear公司的电压监视芯片,它内置1个12位ADC、1个精准电压基准。每个LTC6803能够在输入共模电压高达60 V的情况下测量多达l2个串接电压,可用13 ms完成一个系统中所有电压的测量,最大总测量误差为0.25%[34]。

  以上两种方案均采用SPI接口进行配置,因而理论上可以基于SPI接口进行DaisyChained 形式的多级扩展,可以扩展到128路电压甚至更多,是一种灵活性比较高的监测方式。本文以Maxim公司的MAX14921进行了方案设计并进行了验证。

  1.2集成化设计

  电压监测系统基于STM32F101设计,利用其丰富的外设接口,可以通过LED或者上位机对多路电压进行监测。STM32F101芯片使用ARM先进架构的Cortex—M3内核,CPU频率可达72 MHz,支持USB接口、SPI接口、I2C接口、UART接口等[5]。硬件系统结构图如图1。

图像 009.png

  MAX14921的引脚VC16~VC0以串联的方式连接各路电压,整个串联电路总电压不超过65 V,且VP引脚必须连接串联电压的VC16,否则MAX14921无法正常检测电压值。MAX14921与STM32F101之间通过SPI进行通信。16路电压按照STM32F101下发的指令,依次读出每一路的电压,传递给AD转换单元。AD转换芯片采用Maxim公司的MAX11163芯片,MAX11163采样到电压值以后,将电压值以数字的形式通过SPI接口发送给STM32F101。基准电压芯片为MAX11163提供AD转换的基准电压,这里选用MAX6126作为基准电压源。MAX6126芯片有多种类型可供选择,可根据监测电压的范围进行选取,常见的如2.048 V和4.096 V等。STM32F101和上位机之间的通信采用USB接口,实现在任意PC上即插即用的监测。由于电压的数据量不大,采用USB HID完全满足传输要求。此外,为了能实时显示监测电压值,系统选取0.96英寸的OLED对电压进行显示,OLED通过I2C接口与STM32F101通信。

  1.3隔离方式

  电路隔离的主要目的是通过隔离元器件把噪声干扰的路径切断,从而达到抑制噪声干扰的效果。常见的电路隔离主要有模拟电路的隔离、数字电路的隔离、数字电路与模拟电路之间的隔离。本文采用数模隔离的方式,保证被监测电压和信号采集处于不同的回路。由于MAX14921和MAX11163的电平标准为5 V,而STM32F101的电平标准为3.3 V,二者进行SPI通信必须通过电平转换。为此,在电平转换这一级将模拟地与数字地进行严格分割。通过这种方式,能有效地抑制电源噪声对被监测电压的影响,提高检测精度。

2软件设计

  基于ARM的嵌入式系统软件设计主要包含两部分,下位机固件完成系统的接口驱动以及与上位机之间的通信,上位机软件实现PC端USB数据的读写与显示功能。

  2.1固件设计

  固件采用ST公司为STM32系列提供的标准函数库与USB HID库进行开发。利用标准函数库来实现定时器、中断响应、SPI通信、I2C通信等功能。多路电压的采集主要包括通过SPI接口对MAX14921进行配置,以及读取MAX11163的数字电压值。启动采集的流程为:

  (1)使能SAMPL,设置采样计数器(最少保证4 ms的采样时间);

  (2)采样计数完成,关闭SAMPL;

  (3)等待电平转换完成;

  (4)选取需要读取的各路电压,发送读取指令;

  (5)等待AOUT转换完成(最少保证10 μs转换时间)。

  AOUT转换完成以后,其电压出现在MAX11163的输入端,即可进行AD转换。读取ADC电压的流程为:

  (1)将片选信号CNVST拉低,启动ADC转换;

  (2)等待转换完成(最少保证3 μs的转换时间,否则转换无效);

  (3)读取MAX11163的电压值,将片选信号CNVST拉低,停止转换。

  此外,MAX14921还支持寄生误差电压的读取、开路检测等功能,只需要发送相应的指令即可获取,此处省略。

  USB HID的实现采用标准库,主要包含初始化、对主机请求的响应以及二者之间的通信。初始化包括USB端口的配置、上电检测、时钟配置、中断配置等。对主机的请求包括响应主机要求的设备描述符、配置描述符、报告描述符、产品描述符、序列号等。而与主机之间的通信则由中断响应来完成数据的收发。

  固件程序的整体流程图如图2。

图像 010.png

  2.2上位机软件设计

  基于USB HID协议的上位机软件在VC2010环境下开发完成。MFC程序界面负责电压数据的获取以及用户指令的执行,实现单次采集和多次采集等功能。程序的核心为USB HID协议的开发,利用微软公司DDK开发包即可完成相关功能。用到的函数主要有:CreateFile 用于打开设备; ReadFile 、 HidD_GetFeature 、 HidD_GetInputReport 用于设备到主机方向的数据通信; WriteFile 、HidD_SetFeature 、 HidD_SetOutputReport 用于主机到设备方向的数据通信。

3试验结果及分析

  根据设计方案,采用USB上位机软件对电压数据进行采集验证,OLED显示此处忽略。这里通过直流电源提供测试电压,然后利用分压电阻对其进行分压供给各个采集端。测试结果如图3所示。数据分析结果如表1所示。

图像 011.png

图像 012.png

      对图3的单次采集结果求取均方差可以发现,各个测试通道之间的均方误差为9.2 mV,误差较小,证明各测量通道之间具有较好的电压隔离。

4结束语

  本文采用MAX14921设计了一种多路电压监测系统,最少可以监测16路设备电压,可以进行实时显示以及通过USB传输给上位机。采用集成化设计,减少了其体积和重量,整个电路只有5 cm×5 cm;采用隔离式设计提高了抗干扰能力,能够实现不同电压的多路状态监测,为今后航天遥感器的工作状态的监测提供了一种方案。

  参考文献

  [1] 汪浩淼. 卫星在线状态监测模块研制[D].哈尔滨:哈尔滨工业大学,2014.

  [2] Maxim Integrated. MAX14920/MAX14921 High Accuracy 12 /16 Cell Measurement AFEs[EB/OL].[2016-05-05].https://datasheets.maximintegrated.com/en/ds/MAX14920 MAX14921.pdf.

  [3] Linear Technology. LTC6803 1/LTC6803 3 Multi cell Battery Stack Monitor[EB/OL].[2016-05-05]http://cds.linear.com/docs/en/datasheet/680313fa.pdf.

  [4] 聂巍,丁玉峰,余峰. 基于ARM 的锂电池监测系统设计[J]. 船电技术,2015,35(10): 70-73.

  [5] STMicroelectronics. Mediumdensity access line, ARM based 32 bit MCU with 64 or 128 KB Flash, 6 timers, ADC and 7 communication interfaces[EB/OL].(2015-06-xx)[2016-05-05].http://www.st.com/st  web ui/static/active/en/resource/technical/document/datasheet/CD00161561.pdf.