2011年全国电子设计大赛综合测试题_全国大学生英语竞赛 C类

2022-09-23 19:35:11 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

  • 系统方案
  1. 总体设计方案

本系统主要由电位器模块、直流减速电机模块、电源模块、电机驱动模块、单片机最小系统班组成。电位器与主控芯片STM32F407ZGT6相连,通过电位的测算实时向MCU发送摆杆的状态,MCU通过控制LM298N电机驱动模块来控制直流减速电机,进而控制摆杆的状态,并使用LCD显示相关参数。

  1. 方案的比较与选择

2.1传感器的选择

方案一:采用三轴陀螺仪测量摆杆的偏转角度。当选用三轴陀螺仪检测摆杆的偏转角度时,虽然可以计算摆杆的偏转角度,但是传感器必须要固定在摆杆上,同时需与MCU直连以进行通信,给硬件的搭建与连接及软件的编写大大增加了难度,可行性较差。

方案二:采用电位器测量摆杆的偏转角度。当选用电位器测量摆杆的偏转角度时,虽然在测量时可能会因电位器的固有误差导致角度换算误差,但当使用较高精度的电位器时便可有效降低此类误差。且其机械结构使其可作为摆杆的转动主轴,故可有效降低硬件部分的复杂性,并增强其稳定性。此外,其较为简单的原理也便于软 件的编写,故此方案的可行性较强。

综上所述,选择方案二。

2.2电机的选择

方案一:采用步进电机驱动旋转臂。步进电机具有动态响应快、易于启停、易于正反转的切换及变速的优点。但缺点是它以步进式跟进,角度小于一个步进角时是系统的响应盲区,此外,在实际测试时,步进电机在驱动旋转臂时,抖动较大,且易出现卡顿现象,故其不适合倒立摆的控制。

方案二:采用直流减速电机驱动旋转臂。直流减速电机相较于直流电机虽然转速较低,但扭矩大,且转速足以使用。且其体积小,驱动电路简单,稳定性强,负载能力强,不会出现类似步进电机的卡顿、抖动的现象。

综上所述,选择方案二。

2.3主控芯片的选择

方案一:选用传统的51单片机。当选用51单片机作为控制系统时,可以通过外部AD芯片对传感器发回的模拟量进行检测,并采用PID算法对摆杆的状态进行控制,但由于51单片机的运算速度经过十二分频,且需使用IO口模拟SPI总线协议,这样对单片机的性能有着很高的挑战性,同时还要在此基础上对直流减速电机进行实时操控,可实行性较差,很难实现预期效果。

方案二:选用STM32F407ZGT6单片机。当选用F4单片机作为控制系统时,因其片内自带AD转换、PWM脉宽调制和SPI总线接口。且F4单片机比传统的的51单片机性能强劲许多。

综上所述,选择方案二。

  • 理论分析与参数计算
  1. 理论分析

1.1PWM脉冲宽度调制

STM32F407ZGT6单片机内部自带有PWM脉宽调制,通过调节PWM波的占空比,来控制电机的转速,并通过改变电机驱动模块相应接口的电平来控制电机的转向,结合电位器反馈的电平值及编码器反馈的信号,对摆杆的状态实施实时的维控。

  1. PID算法

PID算法是一种闭环的自动控制器。它具有原理简单、易于实现、适用面广、控制参数相互独立,参数的选定较为简单等优点。当运用在具有反馈的系统中具有很好的自动调节能力,用在在本系统中十分合适。当电位器反馈摆杆发生位移时,其变化的模拟量被MCU的AD所采集,MCU运用PID算法选用合适的计算方式,以控制电机的转向及转速,进而对摆杆的实时位置进行微控,已完成题目的要求。PID算法流程见附件一

3、摆杆状态检测

本组采用电位器检测摆杆状态。电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。其具有极高的精确性,能够对角度的变化进行很好的测量。计算电位器与角度的关系,即可通过对电位器反馈的电平进行AD转换,以间接获得摆角,即摆杆的实时状态。

摆角与电位

器反馈值之间关系如下:

  • 电路与程序设计
  1. 电路

1.1系统总体框图

1.2最小系统框图

注:最小系统原理图见附件

1.3电源

电源由变压、滤波、稳压等模块组成。为系统提供了5V及12V的供电,确保电路的正常工作。此部分电路较为简单,故不在此赘述。

1.4硬件实物如图所示:

  1. 程序流程图

2.1主程序流程图

2.2电机驱动子程序流程图

2.3电位器子程序流程图

  • 系统调试及测试结果
  1. 调试方法

1.1硬件调试

首先检查仿真电路与硬件电路是否与系统原理图完全一致,随后检查各机械部分和电气部分是否正确连接,并确保线路不会影响摆臂的运动。然后用数字万用表测试各个线路上是否有短路或是断路的,焊盘时候虚焊,最后通电检测各器件是否损坏,各模块是否能正常工作。若上述检查皆正常,则硬件测试完毕。

1.2软硬件的协调

首先使用F4单片机内部的PWM脉宽调制,通过电机驱动模块控制电机的转速及转动方向,然后使用AD转换,用以接收电位器在不同角度的电平变化,随后MCU通过PID算法对摆杆的状态进行反馈调节,进而完成要求。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171015.html原文链接:https://javaforall.cn

0 人点赞