基于STM32的数字化测量实验平台设计

2023-05-29 09:24杨超赵新越莫冬
电子技术与软件工程 2023年7期
关键词:电路传感器电压

杨超 赵新越 莫冬

(1.西藏大学理学院物理系 西藏自治区拉萨市 850000 2.西藏大学财经学院 西藏自治区拉萨市 850000)

“新工科”建设是国家应对新一轮科技革命的战略行动,国家鼓励“双一流”高校将“新工科”研究与实践纳入建设方案。而大学实验课程作为“新工科”建设的基础学科,需积极促进新时期教育改革和“理工”交叉融合。就当前大学物理实验涉及的测量仪器来说,设备偏于陈旧老化,更新换代成本高,功能单一且与目前的社会生产技术脱节。因此理工实验测量平台急需进行改革创新,使其既能满足信息时代物理实验的课程要求,又顺应“新工科”国家建设和数字化改革与发展方向。

基于上述目的,本文设计了STM32 数字化测量实验平台,将物理实验涉及到的测量工具,通过模块化的设计集成到一个实验平台。基于STM32 的数字化测量可以降低人为操作所导致的实验误差,提高了实验数据的准确度;电路模块化和可扩展的设计,使得硬件电路耦合性低、兼容性高,可自行设计和添加电路;操作方式采用了GUI 可视化交互界面统一操作逻辑,降低了仪器的学习成本,使得测量操作更为智能化。

1 硬件基础

本实验平台的设计分为硬件基础、软件底层、核心功能三个层面。硬件基础是保障核心功能正常运行的电路,由核心板和通信模块组成;软件底层是硬件发挥作用的唯一途径和基础,包括驱动电路和GUI 交互界面两部分;核心功能层面作为项目的核心内容,采用模块化设计,设计了分立式传感器、电学实验模块和扩展板三部分。

1.1 核心板

核心板集成了STM32 最小系统、Type-C 下载、外置存储、显示驱动等模块。

(1)STM32 最小系统选用STM32F407ZGT6 芯片,基于ARM Cortex-M4 内核,主频高达168MHz,内置12 位ADC、DAC 模块,支持UART、I2C 等多种通信协议。最小系统还包括保障核心板正常运行的电源电路、时钟电路、复位电路、BOOT启动电路、SWD调试电路等。

(2)Type-C 下载采用CH340G 芯片实现USB 转TTL 的通信协议转换,硬件接口选用了最新的USB Type-C 接口进行迭代更新,支持多种传输协议和更高的传输速度。

(3)外置存储包括FLASH 和SRAM。SRAM 型号为IS62WV51216,具有512K 的运行空间,支持16bit数据传输,该外置SRAM 可存储程序运行中产生的庞大数据量;FLASH 型号为W25Q64,储存空间为8M,可存储程序所用到的字库、图片等。

(4)显示驱动包括显示屏及驱动电路,采用4.3英寸TFTLCD 显示屏,分辨率为320*480,通过FSMC总线协议与MCU 进行数据传输,实现数据的可视化显示。

1.2 物联网通信模块

本实验平台采用物联网通信架构,分为感知层、网络层、应用层。网络层选择近距离通信Wi-Fi局域网协议,通信模块为ESP8266 Wi-Fi 模块,通过串口通信协议与主控芯片进行数据传输,感知层为分立式传感器及平台主体,手机、PC 作为应用层都可连接ESP8266 Wi-Fi 模块实现数据传输。物联网通讯架构如图1 所示。

图1:物联网通讯架构

ESP8266 支持2.4GHzWi-Fi,其Wi-Fi 通信模式有AP、Station、Station+AP 三种数据传输模式,可实现内外网模式的切换。平台主体上的Wi-Fi 模块选择为AP 模式,为分立式传感器、手机、PC 等提供可连接的Wi-Fi 网络。三大层面通过Wi-Fi 通信协议,以物联网模式进行硬件布局,实现了数据在多传感器、实验平台以及终端设备之间的传输。

2 软件程序设计

硬件电路需在软件程序的指令控制下才能正常运行,软件程序设计以电路的驱动程序为基础,在人机交互上采用并设计了可视化的GUI 交互界面,实现触控式的智能化操作。

2.1 编程软件与开发方式

2.1.1 编程软件

本实验平台用到的编程软件为:STM32CubeMX(6.4.0)、TouchGFX Designer(4.14) 和Keil v5。STM32 CubeMX 通过图形化的界面进行配置选择,快速生成初始化代码,TouchGFX Designer 通过所见即所得的模拟器设计图形界面,Keil v5 进一步编写程序并进行编译下载。各软件联合开发编程,可以在统一项目工程环境中无缝地共同开发图形应用和主要程序,整个软件设计过程简单高效,开发过程更省时便捷。

2.1.2 开发方式

STM32 开发方式有寄存器、标准库函数和HAL 库。开由于STM2 涉及数百个寄存器,寄存器开发较为复杂困难,而标准库函数已停止更新维护。因此本项目选用HAL 库开发方式,HAL 库移植性高、开发简单,HAL库也与STM32CubeMX 生成的软件代码完全兼容,可减少开发负担,同时代码也更规范整洁。

2.2 驱动程序

驱动程序是对硬件电路的指令控制,是程序设计的基础,本实验平台的硬件电路主要进行电参量与芯片的数据交换其核心为GPIO 和ADC 的初始化调用。GPIO控制着电路的设置,ADC 是电学实验模块的核心,电压电流的测量等需要ADC 模块的参与。整个硬件电路的运行都离不开GPIO 和ADC 的参与。

驱动程序对硬件的控制分为硬件初始化、信号采集和数据处理。先进行GPIO、ADC 等外设的初始化设置,GPIO 选择所需的功能模块并设置,随后前置电路开始采集电参量信号,STM32 和ADC 对采取的数据进行降噪、数模转换、计算等一系列的处理得到数据结果。这个过程中也涉及到TIM 时钟、中断电路、DAC 等其他外设。

2.3 GUI交互界面

该实验平台采用GUI 图形交互界面,实现了可视化的触控交互方案。GUI 采用了 TouchGFX 图形设计系统。TouchGFX 支持STM32 的LCD 接口,自带丰富的控件,同时支持自定义控件。该系统采用C/C++混合编程,底层驱动的调用为STM32CubeMX HAL 库中的C语言,UI 界面部分为C++。在TouchGFX Designer 设计好基本的界面后,按照Model-Presenter- View 的结构依次编写逻辑代码。

3 核心功能设计

3.1 分立式传感器设计

在实际测量过程中,由于场地和仪器体积的限制,某些位置的数据不便于测量,因此将传感器设计成分立式模块,与实验平台主体分离以缩小体积,扩大测量的范围和应用场景。

分立式传感器模块由ESP8266 芯片、OLED 显示屏、传感器组成。由不同功能的传感器采集数据传递给ESP8266,随后将预处理数据通过Wi-Fi 输出给实验平台进行二次处理与输出。对于简单数据与操作,由模块自带的OLED 显示屏输出显示。

3.2 电学实验模块设计

电学实验测量仪器的数字化、智能化设计是实验仪器革新的重点内容,也是实验平台的核心项目,包括数字万用表和数控电源两部分。

3.2.1 数字万用表

数字万用表是采用数字化测量技术,把连续的模拟量转换成不连续的、离散的数字形式并加以显示的仪表。基于STM32 的数字万用表具有精度高、测量范围广、抗干扰强、测量方便等优点。本实验平台的数字万用表模块支持电阻、电压、电流的测量,通过STM32 自带的高精度12 位ADC、DAC 模块进行电参量的转换和测量。

(1)测电阻:根据串联电阻分压原理,ADC 采集待测电阻两端的电压值,由总电压、所测电压及挡位电阻计算出待测电阻的值。

(2)测电压:根据串联电阻分压原理,待测电压进行分压电路、运算放大电路后得出输出电压,将输出电压传输给ADC 模块,再根据待测电压与输出电压的线性关系推得实际的待测电压值。

(3)测电流:采用ACS758 霍尔电流传感器,该传感器使用低偏置的线性霍尔传感器电路,能够检测50A 范围内的直流电流。ACS758 测量输入电流值并输出电压值,电压经运算放大器输出到ADC 模块,根据捕获到的电压值,结合电压与电流的线性关系和电路原理图来反推输入电流值。

3.2.2 数控电源

电源是进行电路实验的基础元件和关键,相较于实验室传统的旋钮式学生电源,数控电源通过软件和数字电路控制,实现特定、精准值的输出电压和电流。本实验平台的数控电源模块,接入电源模块48V 直流电,可动态输出0-2A 电流和0-48V 电压,其电压、电流的稳定性、调节精度都可达到相应的实验要求。

该电路基于由PWM 驱动的BUCK 降压电路,首先由STM32 发出所需电压值的电信号,随后半桥驱动IC UCC27211 接受信号,调整PWM 波的占空比并输出,BUCK 电路的MOSFET 管在PWM 波的控制下不断开关电路,使48V 输入电压呈现PWM 波形,再经过直插电感、电解电容的滤波、稳压后,脉动的输入电压就处理为连续的输出电压。数控电源电路如图2 所示。

图2:数控电源电路

3.3 扩展板设计

为满足学生不同的实验需求,覆盖更多的实验场景,本实验平台将STM32 未使用的GPIO 口引出,设计了两组GPIO 插口用于硬件扩展,并将程序下载、电源、串口、LED、按键等引出,便于实验电路的搭建与调试。学生可根据自身的实验需求,自行设计所需的电路模块或搭建实验系统,并自主编写硬件驱动程序。

4 实验平台特点

4.1 操作简单,顺应发展

在互联网和“新工科”建设的时代发展背景下,实验平台的操作方式是创新改革的重中之重。本平台采用了触控式的可视化操作界面,通过更直观简单的触摸进行操作,并对每一个功能的操作逻辑进行了统一设计。而针对典型的实验项目,设计了可预设的自动化程序以简化操作步骤,也可同时调出多个传感器实现协同使用。实验平台的学习成本和门槛得到了很大程度的降低,学生可以更加专注于实验内容的本身。

4.2 体系完整,理工融合

该实验平台从硬件设计和软件设计两方面着手,涉及到了电路控制设计、传感器使用、前端数据采集等电子电路知识,网络层搭建、操作界面、嵌入式等计算机编程知识,数据降噪、建模、分析,计算、重构等数学知识,形成了一套完整的知识理论体系。学生在学习理论知识的同时,通过该实验平台的整体软硬件设计,将零散的知识点形成体系并融会贯通,历经了解、学习、应用,再到实践的一个完整的知识学习过程。

4.3 循序渐进,提高科研思维

本实验平台的实验项目遵循因材施教、循序渐进的教学规律,设计了基础、进阶、扩展三个不同等级的项目。基础实验项目包括单一传感器使用、简单程序的设计;进阶实验项目在基础项目的基础上,增加了多传感器的协同调用、电学实验模块的使用和数据的计算处理操作;进阶实验项目是学生根据自身的实验需求,在扩展板上进行自主设计并搭建实验电路,经历问题分析、提出需求、设计方案、实验验证等逻辑完整的研究过程,可提升学生的自主学习能力和科研思维。

5 结语

本实验平台具有多功能、易操作、数字化、智能化的特点,在STM32 的基础上集成了多种实验测量仪器,使其满足数字化的改革要求。操作方式上采用可视化的操作界面,降低平台的操作难度。在实验教学方面,平台实验内容设置合理,学生通过自主搭建实验电路,锻炼自主学习能力和科研思维,扩展知识体系。该平台可以满足课外实验的基础条件,对理工实验的普及推广和发展有着重要意义。

猜你喜欢
电路传感器电压
电路的保护
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路
基于Multisim的滞回电压比较器的设计及其应用
高电压精密电压互感器的研制