基于STM32的机械专业检测与控制综合实验系统设计

2021-03-04 08:41张佳明
实验技术与管理 2021年1期
关键词:功能模块舵机串口

张佳明,孙 浩,栗 琳

(北京科技大学 机械工程学院,北京 100083)

随着中国制造2025、工业4.0等概念的提出,机械工程专业与电子信息技术融合的需求不断增长[1-3]。检测与控制实验是一门培养学生机械设计、机电控制、传感技术等能力的必修综合实践课程,在机械工程人才培养体系中具有极其重要的地位[4-6]。

实验仪器在实践教学环节中是必不可少的硬件条件,长期以来,市场上的检测与控制课程实验设备基本保持着实验箱或实验台的形式,存在价格高、体积大、功能单一、开放性不强等问题。而实验往往以原理性和验证性内容为主,如果缺少工程化的传感器、先进的信号检测仪器与分析手段,则无法提供系统性、综合性的实验条件,创新性与设计性的实验项目更是无从谈起,使得实践教学环节在机械学科系统性思维及工程应用能力培养方面无法发挥应有的作用[7-10]。

近年来,传感器技术、微电子技术、计算机技术发展迅速,利用单片机、ARM等嵌入式系统来解决检测与控制技术问题已成为大势所趋,引领着工程应用方向以及国内外高校的实践课程建设思路[11-14]。本文设计了一套基于 STM32单片机的检测与控制综合实验系统,打破了传统的演示型、验证型实验模式,建立了设计型、创新型、综合型实验体系,在激发学生主观能动性、培养工程应用能力与创新实践精神方面具有积极作用。

1 总体设计思路

为了能够兼具适用性、扩展性与创新性,本文基于以下思路构建实验系统。

(1)采用“模块化”的硬件设计理念。实验系统硬件由核心板、扩展板、功能模块三部分组成,可根据实验内容组合硬件模块,便于组装、拆卸和更新升级,后期易于维护,成本较低。扩展板集成多种接口,可实现功能模块与核心板之间的快速连接。功能模块可共享于多套嵌入式核心板,或与其他实验平台共享使用,进一步节约成本。

(2)遵循“阶梯递进式”的内容构建原则。实验内容包括单片机基础实验、单项验证型实验、综合型实验以及设计型实验,共四级,充分考虑学生认知能力发展过程,四级实验难度呈阶梯递进式增长,循序渐进地引导学生在验证—应用—设计的过程中将所学知识内化为自己的理解。

(3)增加设计型实验内容。以智能小车为载体,以特定的功能实现为目标,通过自主开展结构设计、电路设计、软件编制等工作,培养学生自主思考与方案设计能力,塑造工程应用与创新实践思维。

2 实验系统搭建

由核心板、扩展板与功能模块三部分组成的实验系统连接关系如图1所示。

图1 实验系统连接关系

2.1 核心板

核心板以基于Cortex-M4内核的STM32F407ZGT6单片机作为控制核心,与多通道电源模块、晶振和RST、USB转串口、SWD接口等共同组成。该芯片内置1024 kB FLASH、支持最高168 MHz工作频率,内置12个16位定时器、2个32位定时器、2个DMA控制器(共16个通道)、3个12位ADC、2个12位DAC,具有多达112个通用I/O接口,支持SPI、IIC、UART、USB、CAN等多种通信接口。

图2 STM32核心板实物

STM32核心板实物如图 2所示。电源模块可由USB输入5 V直流电源,为普通器件供电,也可由适配器或锂电池通过DC插头输入12 V直流电源,为显示屏、电机等大功率器件供电,通过电源选择开关进行输入电源的切换,两枚ASM1117芯片完成12 V—5 V、5 V—3.3 V的电压转换。板载一个MiniUSB接口,连接 CH340G芯片。通过 CH340G芯片的 DTR和RTS控制STM32的复位和BOOT引脚,TXD和RXD连接串口 1,实现 USB与串口的转换。使用STLINK仿真器与JTAG/SWD接口连接,进行STM32单片机的固件下载和程序调试。时钟电路的晶振频率为8 MHz。核心板电源与下载电路如图3所示。

图3 核心板电源与下载电路

2.2 扩展板

扩展板为核心板提供外围电路,便于各类功能模块的插接。如图4所示,扩展板由电源模块、4组传感器接口、6组舵机接口、2组直流电机接口、LED点阵模块以及扩展接口组成。电源模块由 L9170和LM1084芯片组成,L9170芯片通过两个逻辑端子作为输入控制直流电机的正、反转。2组LM1084芯片产生稳定的5 V和6 V电源,通过电压跳线连接为传感器接口和舵机接口供电。扩展接口可与无线通信、OLED屏幕、蓝牙等功能模块连接。

图4 扩展板

2.3 功能模块

功能模块由四类器件组成,包括电机模块、传感器模块、输入输出模块以及机械结构模块,各类器件如图5所示。

电机模块包括直流电机、步进电机以及舵机。直流电机通过高低电平控制转动方向,通过PWM参数调整电机转速。步进电机采用2相5线连接,通过改变各相导通顺序控制转速与方向。模拟舵机通过调整输出脉冲宽度变化来调整转动方向,数字舵机可通过串口指令控制转动角度。

传感器模块包括距离、温湿度、加速度、应变等传感器。每个传感器连接4个管脚,分别为5 V电源、GND以及2个I/O口,实现传感器的驱动与数据传输。

输入输出模块主要用于实现人机交互与通信,主要包括4×4矩阵键盘、OLED屏幕、七段数码管、Wi-Fi模块、NFR模块、蓝牙模块等器件。

机械结构模块用于搭建智能小车的机械结构,包括各种铝合金结构件、传动件、连接件,学生根据目标功能自行设计结构方案并完成组装。

2.4 程序编写、下载与调试

2.4.1 程序编写

实验程序使用 KeilMDK软件进行编写,Keil是一款支持C语言的单片机开发软件。STM32系列单片机功能强大,内部资源丰富,寄存器数量多,若采用直接操作寄存器的方式编写程序,编程工作量较大,也不是本课程的学习重点。因此,本课程使用ST(意法半导体)公司提供的 STM32标准库函数,开发者直接调用固件库中的函数即可完成寄存器的操作,使项目开发简单、高效且具有较好的可移植性[15]。

图5 检测与控制综合实验功能模块

2.4.2 串口程序下载

在上位机软件FlyMcu中,配置CH340G串口芯片DTR的低电平复位,RTS高电平进入BootLoader,选择要下载的Hex文件,通过USB转串口将程序传输至STM32,即可完成程序的一键下载,如图6所示。

图6 USB串口下载软件

但是,串口下载不具备调试功能,只能在程序完成下载后通过单片机的现象来判断程序运行情况。而对于比较复杂的程序,则需要通过在线调试来查找问题。

2.4.3 STLINK下载与调试

STLINK是ST公司为STM32系列MCU设计的一款兼具程序下载与在线调试功能的开发工具。STLINK与STM32单片机之间通过SWD接口连接,与计算机之间通过USB接口连接,点击MDK软件中的“Build”,即可完成程序的下载。如图 7所示,进入MDK软件调试模式,在调试工具中可进行单步调试、断点调试、函数执行、全速运行等操作,同时可以通过查看汇编代码、堆栈局部变量、寄存器状态、内存状态等,追踪程序执行效果。

图7 STLINK调试界面

3 实验项目设计

检测与控制综合实验系统实物如图8所示,经过多年研制与改进,现已投入教学一线使用,并为其开发了全套实验例程,面向我院机械工程专业开展检测与控制综合实验教学。

图8 检测与控制综合实验系统实物图

为了使学生充分理解 STM32单片机的检测与控制方法,基于阶梯递进原则,按照基础型、验证型、综合型、设计型设置了多层次、分等级的实验项目,形成了4个等级共19个实验项目的课程体系,实现了阶梯配置、循序渐进的教学模式,如表1所示。

首先,从基础型实验开始,让学生学习实验环境的搭建,包括软件与驱动程序安装、工程模板创建等,并熟悉各种外部资源的配置方法。

在此基础上,开展验证型实验,让学生逐步掌握传感器、电机等各类外设模块的使用方法。可完成的实验项目包括超声波测距、温湿度、加速度、应变、红外测距、灰度、转速测量等检测类实验项目,以及直流电机、舵机、步进电机等控制类实验项目。通过这一阶段的学习,使学生熟悉 STM32单片机,并具备基本的开发能力。

第三阶段为综合型实验,设置了3个实验项目,包括1个检测类综合实验和2个测试类综合实验。

(1)时间电子秤实验(见图9(a))。通过对应变传感器、RTC、OLED屏幕、矩阵键盘的综合运用,实现称重、金额输入与计算、去皮、显示时间等功能。

(2)三轴机械臂实验(见图 9(b))。运用单片机输出指定频率、宽度、变化速度的PWM脉宽信号,控制舵机的角度变化,通过三个舵机的协同控制实现机械臂的移动,使用气动吸盘进行目标样块的抓取和放置。实验内容还可进一步扩展,如通过称重传感器对样块进行称重,并根据重量分类放置。

(3)PID履带车实验(见图9(c))。履带车以直流电机为驱动,使用PMW脉宽调制方式控制转速,通过红外编码器测量转速,基于PID思想更新脉宽参数,进而调整电机转速,使履带车按照设定速度运行。

第四阶段的设计型实验设置了智能扫地机器人和智能寻迹机器人两个项目。扫地机器人要能感知障碍进行避让、检测悬崖避免跌落,同时能按照一定的行动策略以覆盖更多的面积。寻迹机器人要能识别地面上的线条并沿着线条行驶,同时能够检测悬崖避免跌落。要求学生根据所学知识,结合实验系统所提供的资源,自主选题并设计实验方案,图 9(d)所示为一寻迹机器人。

表1 实验系统可以完成的实验项目

图9 第三、四阶段实验装置实物

4 结语

以培养工程应用型人才的教学需求为导向,开发了基于 STM32的检测与控制综合实验教学系统,并将其用于机械工程专业检测与控制综合实验教学。教学情况表明,本系统运行稳定,实验内容设置合理,取得了良好的教学效果。

本系统具有内容丰富、携带方便、适应性强、性价比高等特点,为学生深入学习检测与控制技术提供了实践教学平台,对学生工程应用思维与创新实践能力的培养具有积极作用。本系统还具有良好的扩展性,可适用于其他专业单片机、嵌入式技术、检测与控制技术的学习,具有较好的推广前景。

猜你喜欢
功能模块舵机串口
浅谈AB PLC串口跟RFID传感器的通讯应用
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
基于ASP.NET标准的采购管理系统研究
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
输电线路附着物测算系统测算功能模块的研究
串口技术的实物调试和虚拟仿真联合教学模式
功能模块的设计与应用研究