倒立摆_周长兴组_第1页
倒立摆_周长兴组_第2页
倒立摆_周长兴组_第3页
倒立摆_周长兴组_第4页
倒立摆_周长兴组_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、倒立摆学 校:西安交通大学作 者:周长兴 万 星 邵永胜指导老师:张鹏辉 王中方 张翠翠摘 要:系统采用stm32f407作为倒立摆系统控制核心,实现摆的一系列功能。硬件由电源电路、CPU最小系统模块、电机驱动模块、编码器模块、显示模块等组成。算法采用双环PID进行控制,内环使用摆杆角度误差量作为反馈对电机速度进行控制,外环使用电机的角度位置进行反馈,与内环级联。测试表明各项指标都符合设计任务要求。关键词:STM32f407单片机、双环PID、倒立摆Abstract:System uses stm32f407 as the core of control system to achieve a

2、 series of functions of inverted pendulum. Hardware consists of the power circuit, CPU minimum system modules, motor drive module, the encoder module, display module and other components. We use Double loop PID as the control algorithm, the pendulum angle of error as a feedback control of the motor

3、speed in the inner loop, the angular position of the motor feedback in the outer loop. Tests show that the indicators are in line with the design task requirements.Keywords:STM32f407; Double Loop PID;Inverted PendulumI一、系统方案与设计根据题目要求,系统主要实现倒立摆的各项功能,系统框图如图1.1所示,可分为电源模块、CPU最小系统模块、电机驱动模块、编码器模块、显示模块。图1.

4、1 系统模块框图下面分别论证这几个模块的选择与机械结构的设计。1. 控制器模块的论证与选择 方案一:采用以增强型80C51内核的STC系列单片机STC12C5A60S2,其片内集成了60KB程序Flash,2通道PWM、16位定时器等资源3,操作也较为简单,具有在系统调试功能(ISD),开发环境非常容易搭建。但实际使用了编码器等对速度要求较高的外设,因此无法很好地符合设计的需要。 方案二: 采用以ARM Cortex-M4为内核的STM32系列控制芯片,STM32系列芯片时钟频率高达168MHz 具有512K字节SRAM,具有极强的处理计算能力1。较为适合需要快速反应的倒立摆系统。通过比较,我

5、们选择方案二,采用STM系列单片机STM32f407作为控制器。2电源模块的论证与选择 方案一:采用两个电源供电。将电动机驱动电源与单片机以及其周边电路电源完全隔离,利用光电耦合器传输信号。这样可以使电动机驱动所造成的干扰彻底消除,提高了系统的稳定性。 方案二:采用单一电源供电。电源直接给电动机供电,因电动机启动瞬间电流较大,会造成电源电压波动,因而控制与检测部分电路通过集成稳压模块分别供电。其供电电路比较简单。通过比较,稳压模块的稳定性较好,可以满足系统的要求。考虑到系统的精简性,我们选择方案二单电源对系统进行供电。3. 电动机驱动模块的论证与选择使用stm32f101作为电机控制盒的芯片,

6、产生PWM波控制,采用H桥驱动,系统框图如下。额外采用一个芯片进行电机控制可以有效减轻主芯片的工作压力,获得较好的控制性能,同时控制盒作为一个独立的整体,使用较为灵活方便,简化系统,易于维护。电机驱动程序流程图如下。图1.2 电机驱动程序流程图4. 机械结构设计我们使用加重过的底盘,克服电机瞬间加减速时巨大的震动。摆杆使用实心的钢棒,充足的重量保证了其转动时不太受阻尼的影响而不灵活。与摆杆链接的转轴使用轴承座与水平臂连接,保证摆杆优良的灵活性。编码器接在转轴的后端,直接测量摆杆的角度值。电机使用伺服电机,其性能非常优异,可以对速度等进行精准的控制。电机与水平臂通过联轴器连接,避免了不同轴的问题

7、对电机的伤害。水平臂做成双方向的,在摆杆的反方向加上配重,用以平衡重力与转矩,使整个系统能够做到静平衡和动平衡。这样,我们就搭建了一个稳定可靠的机械系统,这是的系统的各项参数处于比较稳定的状态,有利于后期控制系统的调节。二、系统理论分析与计算1. 环形倒立摆物理模型建立在忽略了空气阻力、各种摩擦之后,将环形倒立摆系统抽象成匀质摆杆和水平杆组成的刚体系统.环形一级倒立摆的结构如图所示:图2.1 环形一级倒立摆的结构图水平杆与的夹角:,摆杆与垂直方向的夹角: 水平杆的质量 0.308 kg水平杆绕端点的转动惯量 0.004 摆杆的质量 0.1323 kg摆杆绕质心的转动惯量 0.0115水平杆的长

8、度 0.2535 m摆杆质心到转轴的距离 0.2433m表2.1 环形一级倒立摆的物理参数系统的拉格朗日算子:,其中为拉格朗日算子、为系统的广义坐标、为系统的总动能、为系统的总势能.拉格朗日方程: (1)其中,、为系统沿广义坐标方向上的外力.在环形一级倒立摆系统中广义坐标:环形一级倒立摆系统的动能: (2)其中,为水平杆的动能、为摆杆的动能.水平杆的动能: 在距摆杆转动中心距离处取一小段,这一小段的坐标如下:则,这一小段的动能:摆杆的动能: (3)以水平杆所在的水平面为零势能面,则系统的势能即为摆杆的重力势能: (4)则,拉格朗日方程: (5)其中,为施加到水平杆上的控制力矩.在倒立摆实物控制

9、中,我们采用水平杆的角加速度作为输入即:2. 双环PID控制算法控制框图如下:图2.2 双环PID控制算法三、电路与程序设计1. 电路的设计 经过上述的分析和论证,决定了系统各模块采用的最终方案如下: 控制模块:采用stm32f407芯片; 电源模块:采用单电源供电,电机与控制模块分别用集成稳压芯片供电; 键盘模块:采用独立键盘; 电机驱动模块:采用stm32f101配合H桥实现;编码模块:利用编码器采集摆杆的角度; A. 系统总体框图(模块电路图详见附件1.1)系统总的框图如图3.1所示。 图3.1 系统总体框图B.单片机最小系统3单片机最小系统采用5V供电,并接有指示灯, 5mA左右电流足

10、以驱动LED,LED导通电压1.7V左右,因此配上1K电阻;单片机根据接收的按键输入数据和传感器输出电平信号,通过uart与电机控制盒通信,进而控制电机A、电机B和电机C的转动,从而控制小车的运动。C.电源电路设计电源电路采用DC-DC模块分别为电机和控制器等模块供电,电池采用11.1V、2200mAh大容量锂电池,以保证小车在运行过程中有足够的电量。两路电源分别带有指示灯,以指明电源有无。D.电机驱动电路设计电路采用PWM驱动形式,四路输入和输出以控制电机运转。电路主要由控制芯片stm32f101、光电耦合器、稳压二极管组成,驱动电路可控制电机的正反转。电路,与单片机的接口采用光电耦合器,利

11、用光电耦合器传输信号可以消除相互之间的干扰,提高系统的稳定性。单片机控制H桥4个开关管的通断实现对电机的控制。2程序的设计系统采用C语言编程实现各项功能。C语言本身带有各种库函数,运算能力较强,而本系统的软件中算数运算比较多,利用C语言编程可以体现出一定优势。程序是在Window7环境下采用Keil uVision4软件编写的,可实现对倒立摆的精确控制,对传感器输入信号的处理、对按键输入的查询以及声光提示等功能。四、测试方案与测试结果1测试方案(1)硬件测试分别对每个模块做相应的测试。(2)软件仿真测试使用Keil MDK软件进行仿真。(3)硬件软件联调对倒立摆系统的测试是在一个符合要求的环境

12、中测试的,逐步按要求进行测试。2测试条件与仪器(1)测试条件:22.2V电池供电。(2)测试仪器:高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表,秒表等。3测试结果A. 基本要求:1)摆杆从处于自然下垂状态(摆角 0)开始,驱动电机带动旋转臂作往复旋转使摆杆摆动,并尽快使摆角达到或超过-60 +60。测试结果如下:测试次数摆角是否达到要求时间(s)1是12是13是14是15是1表4.1 摆脚测试结果2) 从摆杆处于自然下垂状态开始,尽快增大摆杆的摆动幅度,直至完成圆周运动。测试结果如下:测试次数是否完成圆周运动时间(s)1是22是23是24是25是2表4.2 圆周运动测试

13、结果3)在摆杆处于自然下垂状态下,外力拉起摆杆至接近 165位置,外力撤除同时,启动控制旋转臂使摆杆保持倒立状态时间不少于 5s;期间旋转臂的转动角度不大于 90。测试次数是否倒立倒立保持时间是否超过5s旋转臂转动角度1是是52是是53是是54是是55是是5表4.3 倒立测试结果B发挥部分(1)从摆杆处于自然下垂状态开始,控制旋转臂作往复旋转运动,尽快使摆杆摆起倒立,保持倒立状态时间不少于 10s。测试结果如下:测试次数是否倒立倒立保持时间是否达到10s1是是2是是3是是4是是5是是表4.4 倒立测试结果(2)在摆杆保持倒立状态下,施加干扰后摆杆能继续保持倒立或 2s 内恢复倒立状态。测试结果

14、如下:测试次数干扰物抬起角度是否保持倒立15是215是325是435是545是表4.5 干扰下倒立测试结果(3)在摆杆保持倒立状态的前提下,旋转臂作圆周运动,并尽快使单方向转过角度达到或超过 360。测试结果如下:测试次数是否倒立状态下圆周运动转过角度是否超过360完成时间(s)1是是62是是73是是74是是55是是7表4.6 倒立状态下圆周运动测试结果(4)其他4. 结果分析根据上述测试数据,可以得出以下结论:(1)倒立摆系统能够较好的完成基本功能和发挥功能。(2)倒立摆系统完成任务的时间较快。(3)倒立摆系统保持了比较好的稳定性。综上所述,本设计达到设计要求。五、参考文献【1】全国大学生电

15、子设计竞赛系统设计(第2版)/ 黄智伟 编著北京航空航天大学出版社,2011.2【2】ARM嵌入式应用技术基础/ 刘凯 清华大学出版社 2009.9【3】ARM嵌入式接口技术应用/刘凯 清华大学出版社 2009.10【4】全国大学生电子设计竞赛电路设计/ 黄智伟 编著北京航空航天大学出版社,2006.12【5】数字电子技术基础(第五版)/ 阎 石 主编高等教育出版社,2006.514附录11电路原理图(1)单片机最小系统附图1 单片机最小系统(2)电源模块附图2 电源模块(3)电机驱动模块附图3 电机驱动(4)显示模块附图4 显示模块2程序流程图:(1) 主程序流程图附图5 主程序流程图附录2

16、:部分源程序#include #include #include all.h/* * addtogroup STM32 */*/extern int rt_application_init(void);#ifdef RT_USING_FINSHextern void finsh_system_init(void);extern void finsh_set_device(const char* device);#endif#ifdef _CC_ARMextern int Image$RW_IRAM1$ZI$Limit;#define STM32_SRAM_BEGIN (&Image$RW_IR

17、AM1$ZI$Limit)#elif _ICCARM_#pragma section=HEAP#define STM32_SRAM_BEGIN (_segment_end(HEAP)#elseextern int _bss_end;#define STM32_SRAM_BEGIN (&_bss_end)#endif/* Function Name : assert_failed* Description : Reports the name of the source file and the source line number* where the assert error has occ

18、urred.* Input : - file: pointer to the source file name* - line: assert error line source number* Output : None* Return : None*/void assert_failed(u8* file, u32 line)rt_kprintf(nr Wrong parameter value detected onrn);rt_kprintf( file %srn, file);rt_kprintf( line %drn, line);while (1) ;/* * This function will startup RT-Thread RTOS. */void rtthread_startup(void)/* init board */rt_hw_board_init();/* show version */rt_show_version();/* init tick */rt_system_tick_init();/* init kernel object */rt_system_object_init();/* init timer system */rt_system_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论