您现在的位置是:主页 > 电路技术 > 嵌入式系统 >


基于STM32嵌入式系统的无人物流车运输控制系统设计

2020-05-17 22:45嵌入式系统 人已围观

简介随着物流产业的发展, 社会各界对物流车的研究越来越多。车是人们生活出行必须要使用到的东西, 与日常生活息息相关, 无人物流车是车辆研发的新领域之一, 在设计无人物流车时...

  随着物流产业的发展, 社会各界对物流车的研究越来越多。车是人们生活出行必须要使用到的东西, 与日常生活息息相关, 无人物流车是车辆研发的新领域之一, 在设计无人物流车时主要考虑的问题有环保、节能、安全等, 除此之外,对车辆速度也要有精准地把握。无人物流车是 以交通智能化为前提, 以高新技术为基础和载体的新型车辆,它能够同时完成一项或者多项功能, 如环境感知、路径规划、智能驾驶, 在遇到障碍物时, 无人物流车可以自主识别,改变车速和方向, 对这些障碍物进行躲避, 系统内部还设置了自动报警装置。
  
  无人物流车作为一种高新技术的综合体, 应用十分广泛,在生产线、服务业中都可以进行工作, 减少人工负担。然而目前对无人物流车的控制系统研究的很少, 控制系统在无人物流车中扮演着重要的角色, 能够确保无人物流车保持最佳工作状态。综上所述, 本文使用 STM32 嵌入式微处理器设计了一种新的无人物流车运输控制系统, 将keil uvision4 和JDK 设定为软件开发平台, 电机模型车设定为机械平台,利用电机技术、传感器技术设置控制系统的各 个单元,实现控制一体化, 并通过实验验证无人物流车控制系统的速度控制能力。
  

  1 系统结构及原理

  
  基于STM32嵌入式系统的无人物流车运输控制系统的总体架构主要包括三部分, 分别是: 电源模块、核心处理器模块、电机驱动模块。运输控制系统的总体框架如图1所示。
  图1 无人物流车运输控制系统总体结构
  图1 无人物流车运输控制系统总体结构
  
  分析图1可知, 无人物流车运输控制系统选用的核心处理器为STM32F103VE,该处理器的性价比极高,内部配置灵活,且消耗功率较低, 利用 L298N 驱动电机, 使系统能够通过PWM 方式来进行调速, 选用的电机为 ASLONG JGA25-371,该电机在高速的运行条件下, 也可以保持稳定。系统内部的电源可以始终向驱动模块的驱动电机提供12V 的稳定电压,通过转换器将电机驱动模块的电压转换成5V,提供给核心处理器。以PWM 的方式调节电机驱动模块的速度,确保无人物流车能够进行基本的运转工作, 同时对电机驱动模块的管脚进行控制, 配合编码器和计数器进行速度测试。
  
  无人物流车运输的速度较慢, 因此在传感器模块中加入了多个传感器, 例如: 超声波距离传感器、角位移传感器、红外传感器、霍尔速度传感器、超声波距离传感器、红外传感器,这些传感器通过共同工作检测无人运输机所 在的位置。当无人物流车进行工作时, 超声波距离传感器会发送和接收超声波信号, 通过时间差判断无人物流车运输系统和障碍物之间的距离, 从而满足车辆对速度的要求。传感器模块中的霍尔速度传感器能够检测无人物流车中的 电动机运行速度, 霍尔传感器具有较高的响应频率, 能够精确测量出电动机的转速。当无人物流车运输轨道出现弯 道时,角位移传感器能够测算出转角的大小, 帮助运输车进行减速。传感器组成如图2所示。
  图2 传感器组成框图
  图2 传感器组成框图
  
  STM32F10是无人物流车运输控制系统的核心部分,能够对所有传感器采集到的信息进行控制, 进而实现模糊推理运算。STM32F10构成的主控模块包括 DMA (直接存储器存取) 控制器、AD/DA 转换器、快速I/O 口和多种通信端口,主控模块中加入了电源管理电路, 可以有效降低系统的整体功耗, 提高运行速度, 从而满足系统软件人机交互界面在服务方面提出的要求。当系统开始运行后, STM32F10就会启动程序, 处理系统内部的数据, 下发信号控制变频器, 接收到的信号信息会快速反馈到上位机中。
  
  在选择变频器时, 必须要综合考虑负载类型、使用环境和额度,由于无人物流车的控制系统不仅要控制电动机的转速,同时要控制 STM32F10 网络性能, 所以本文选择的变频器是目前新研发的型号为 MM440的变频器, 该变频器调试方法简单,EMC 设计结果可靠性高, 变频器内部设有过电压/欠电压保护装置, 可以快速响应各种要求, 且内部的操作界面十分友好, 通过变频器对系统内部的工作电压和频率进行调试, 进而调节电动机的转速和功率, 电动机的转速会直接无人物流车的运输速度和运输方向。物流车控制系统编码器如图3所示。
  图3 物流车控制系统编码器
  图3 物流车控制系统编码器
  
  无人物流车运输控制系统必须要设定自动刹车装置, 确保在紧急状况下可以快速刹车制动, 防止事故的发生。系统中的上位机能够实时监控车辆的运行状态, 上位机主要是负责远程控制工作,通过CAN 总线与STM32F10主控模块连接,完成高速通信, 在人机界面上显示出无人物流车的工作状态。
  
  为了更好地实现控制, 系统采用的控制器为模糊控制器,当传感器采集到信号后, 就会输入到模糊控制器中, 由模糊控制器对信号进行模糊化处理, 利用推理规则库针对3个部分进行清晰化处理。当 STM32F10 完成数据处理工作后,会输出0~5V 的控制电压, 该输出量会作为控制量输入到变频器中,由变频器将信号转换成PWM 波,从而实现控制电动机的转速工作。
  

  2 系统硬件设计

  
  本文设计的无人物流车运输控制系统硬件采用的控制板是由ST 公司生产的STM32F103,该控制器是由ST 公司生产的32 位微控制器, 采用嵌入式的方式安装在 ARM Cortex-M 内上。STM32F103是由 Cortex公司生产的新型产品,如图4所示。
  图4 STM32F103示意图
  图4 STM32F103示意图
  
  STM32F103芯片具有性能高、功 耗低、成本低的优点,最高工作频率可以达到 72 MHz, 通过两路 12 位的 ADC,多个定时器和一个PWM 定时器来操控芯片的工作。STM32F103主控器外部还连接了两个 SPI等标准通信接口,用来控制硬件的信息接收, 配合 PID 算法计算出无人物流车的电阻值。控制系统的硬件结构如图5所示。
  图5 无人物流车运输控制系统硬件结构图
  图5 无人物流车运输控制系统硬件结构图
  
  2.1  电阻反馈模块电路设计
  
  硬件设定的电阻反馈阻值在0~190Ω 的范围之间, 利用电压测量结果测出电阻值, 电阻反馈模块的电路如图6 所示。
  图6 电阻反馈模块的电路图
  图6 电阻反馈模块的电路图
  
  硬件的电阻反馈模块利用 REF3030 稳压电源芯片输出电压,输出的电压为3.0 V 电压, 该电压为基准电压, 具有标准稳定的特点,电压的精准度可以保持在0.2%, 电压产生的 最 大 漂 移 为 50 μA, 最 大 电 流 为 25 mA, 通 过 OPA365运算放大器组成的电压跟随器连接标准电压输出端,利用标准电压值将输入电阻值提高, 当输入电阻值达到无限大后, 就会发挥隔离的作用。当待测电阻与标准高精度190Ω 电阻串联到一起之后,待采集的电压会通过电阻值进行分压, 范围在0~1.5 V 之间, 电阻反馈模块中的 STM32主控芯片内部拥有 ADC, 通过 ADC 可以实现采集分压工作,再由计算机处理得到对应的电阻值。
  
  2.2  驱动模块电路设计
  
  驱动模块在控制无人物流车运输航向中发挥着重要作用,利用大功率 MOS 管连接驱动模块,额定的电流可以达到30A,输入的宽电压范围在12~30V 之间。通过STM32主控芯片的 PB5 和 PB6 引脚, 与模块上的 A1、A2 引脚连接,从而控制电机的转向,当 A1 引脚的电平为高电平, 当A2 引脚的电平为低电平, 驱动电机的转向方式为正转; 当A2 引脚的电平为低电平,当A1 引脚的电平为高电平,驱动电机的转向方式为反转,当 A1、A2 引脚都为低电平时,系统会进入刹车状态。利用 PB7 主控芯片从定时器的输出引脚上引出 PWM 脉冲, 再将 PB7 引脚与 PA 引脚连接到一起,对电机的转速进行控制。无人物流车控制系统的驱动模块电池电压为12V, 主控芯片对电机转动的时间进行控制,从而完成方向调整。
  
  2.3  以太网通信模块电路设计
  
  通过以太网实现控制板和工控机之间的通信, 采用的通信协议为 UDP 协议, 该协议具有很强的数据传输能力, 以太网在接口处选用的芯片为 W5500 芯片, 该芯片将全硬件 TCP/IP 协议栈集合到一起,在面对复杂 TCP/IP 协议簇时,需要引用复杂的逻辑门电路。由此构建的以太网通信 模块电路通信速度快、可靠性高、安全性好。在通信模块外部加入中断引脚 PAI2, 由此实现数据的收发工作, 提高数据的响应效率, 路由器选用 RJ45 接口连接, 从而实现通信。
  

  3 系统软件设计

  
  无人物流车运输控制系统采用的控制思想是分离控制, 对物流车的航向进行实时跟踪, 通过调试实现模块的各项应用功能。
  
  3.1  无人物流车位置控制功能实现
  
  利用STM32F103内部的 ADC 对电阻进行采集, 通过分压计算位置电阻。无人物流车位置控制功能实现流程如图7所示。
  图7 无人物流车位置控制功能实现流程
  图7 无人物流车位置控制功能实现流程
  
  观察图7 可知, 首先进行初始化设计, 然后判断是否需要调整无人物流车运输控制系统的方向, 在确定需要调整无人物流车位置后, 比较测得的无人物流车电动机位置电阻值与设计要达到的电阻值之间的误差, 最后通过改变引脚的电平来执行电机的正转和反转工作, 当测得的电阻值与期望的电阻相差的误差在±1.5Ω, 则证明已经实现了无人物流车的位置控制工作。
  
  3.2  无人物流车行驶方向保持程序实现
  
  在外界环境的干扰下, 无人物流车的行驶的方向很有可能出现偏差, 为了确保无人物流车式中按照规定方向行驶,设置了方向保持程序, 采用的设置算法为 PID 算法,通过负反馈调节使无人物流车能够按照规定的方向行驶。无人物流车行驶方向保持程序实现流程如图8所示。
  图8 无人物流车行驶方向保持程序实现流程
  图8 无人物流车行驶方向保持程序实现流程
  
  STM32S在系统的主控模板中发挥着控制作用, 利用位置PID 算法比较设计值和偏差值, 从而计算出输出值,对计算到的输出值进行归一化处理, 将得到的结果传给控制程序,从而实现位置控制。
  
  3.3  无人物流车跟踪功能实现
  
  通过 GPS得到无人物流车的所在位置的经度和纬度,利用渐进直线跟踪法跟踪无人物流车的航行轨迹, 提取轨迹中的关键经度值和纬度值, 根据提取见过构建路径数组, 跟踪路径不同,路径数组也不同,在 VisualC++软件上编写跟踪程序,通过控制软件得到固定的跟踪结果。
  
  在监控软件中得到无人物流车的实际位置和跟踪路径 的终点位置, 通过计算判断是否完成跟踪工作, 计算方式为周期性计算, 由于在跟踪过程中不可避免的产生误差, 所以本文设计的跟踪程序将最大误差设定为20 m。在跟踪直线路径时, 采用的跟踪方法为直线拟合法, 在跟踪曲线路径时,采取的跟踪方法为曲线拟合法, 需要特别指出的是,所选择的跟踪点距离不能过短, 不然得到的结果并非精准结果。

Tags: STM32 

标签云