基于stm32的单级旋转倒立摆控制系统的设计与实.docx_第1页
基于stm32的单级旋转倒立摆控制系统的设计与实.docx_第2页
基于stm32的单级旋转倒立摆控制系统的设计与实.docx_第3页
基于stm32的单级旋转倒立摆控制系统的设计与实.docx_第4页
基于stm32的单级旋转倒立摆控制系统的设计与实.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

基于stm32的单级旋转倒立摆控制系统的设计与实现摘要本文对单级旋转倒立摆的控制系统进行了研究,提出了以STM32F103为核心的控制器设计,在控制策略上采用经典控制理论PID的控制算法,实现对单级旋转倒立摆旋转臂及摆杆的同时闭环控制,通过传感器采集摆杆的状态数据,实时调整直流电机的转向和转速,以调整摆臂的角度,使摆杆恢复到动态平衡状态。在非平衡状态下,通过传感器的实时检测,能够通过功能键设计,使摆杆能稳定到一定的角度。最终测试结果表明系统控制策略有效。关键词:STM32F103;直流减速电机;增量式PID1引 言 倒立摆控制系统是自动控制理论的重要研究平台,可对应于火箭垂直发射控制技术,因此对它的研究具有重大的实践意义和价值。目前对倒立摆的研究主要分为系统力学分析及建模,控制算法及仿真,而对实现手段少有研究。文章讨论了以STM32为核心的倒立摆控制器的设计与实现,它实现了经典双回路PID控制算法对旋转单级倒立摆的控制策略。2 方案设计与论证2.1总体方案描述整个系统分为系统模块、编码器模块、电机驱动模块、电机模块、电源模块、键盘模块、显示模块。各模块的系统框图如图1.1所示。图 1.1 系统框图2.2方案比较与选择2.2.1芯片控制模块方案一:采用传统的51系列单片机。传统的51单片机为8位机,价格便宜,控制简单,但是运算速度慢,片内资源少,存储容量小,难以存储大体积的程序和实现快速精准的反应控制。并且受时钟限制,计时精度不高,外围电路也增加了系统的不可靠性。方案二: 采用stm32f103单片机stm32f103单片机,具有功能强大、效率高的指令系统,以及高性能模拟技术及丰富的外围模块。方便高效的开发环境使操作更加简便,低功耗是其它类单片机难以比拟的,集成度较高,编程相对简单。综上,选择了性能跟好的stm32f103单片机。2.2.2电机选择方案一:普通直流伺服电机普通直流伺服电机有价格低使用简单等优点,但其扭矩较小,可控性差,此系统要求控制精度高速度快,直流电机则不能满足要求。方案二:减速电机减速电机克服了普通直流电机扭矩小的缺点,而且价格较低,但其可控性不太好,难以精确控制,但这足以完成任务。方案三:步进电机步进电机具有转角精确可控的优点,速度和转角都能控制,适用于精确控制系统。只是价格稍高。为保证稳定可靠,选用方案二。2.2.3电动机驱动调速模块方案一 采用芯片L298驱动电机,用单片机控制L298的输入使之工作在占空比可调的开关状态,精确调整电动机转速。 电子开关的速度很快, 稳定性也极强。 但驱动电流小,无法驱动更大功率的电机,限制了其应用范围。方案二:采用自搭接的H桥电路选用大功率达林顿管或场效应管自制H桥电路,电路原理简单,具有高效,低功率等特点,但是性能不够稳定,电路调试复杂。方案三:采用ACS606数字交流伺服驱动器ACS606 全数字交流伺服驱动器采用了最新32位伺服DSP和先进的控制 算法。其体积小巧、安装方便、高性价比、高可靠性、调试简单。 L298N更符合本系统需求,所以选择方案一。2.2.4编码器选择方案一:增量型编码器增量型编码器存在零点累计误差,抗抖动性差,判断转向困难,断电数据丢失,耗大量单片机资源等缺点。方案二:绝对式编码器绝对式编码器分辨率高、抗扰性好、体积小巧、重量轻、抗抖动性好、节省更多处理器资源。此外,绝对式编码器在断电期间也能准确检测旋转角度偏移量。 综合以上两种方案选择,本系统选择HN3806A5V1024绝对值编码器。2.2.5显示方案选择方案一:电压和电流的显示可以用数码管,但数码管的只能显示简单的数字,其电路复杂,占用资源较多,显示信息少,不宜显示大量信息。 方案二:采用oled液晶显示器显示采用屏幕液晶显示器oled进行显示,功耗低,分辨率高,抗干扰性能力强,可视面积大。此外oeld与单片机可直接连接,电路设计及连接简单。 综上分析,选择方案二。3 程序结构设计3.1整体框架(1)当系统上电后,LCD与LED点阵屏分别显示各自的开机界面,与此同时stm32f103对按键检测,选择工作状态,设定起摆,圆周运动,手动起摆,快速起摆。通过PID调节实现相应的功能。(2)编码器检测到信号后,调用PID子程序进行计算,PID调节子程序流程图如图4.3所示。图 3.6 PID流程图(3)键盘初始化,判断是否有按键按下,无键按下,重新进行键盘扫描;有键按下,判断是哪个键按下,并进行相应的操作。图 3.7 键盘流程图3.2 PID参数整定PID控制器参数选择的方法很多,例如试凑法、临界比例度法、扩充临界比例度法等。但是,对于PID控制而言,参数的选择始终是一件非常烦杂的工作,需要经过不断的调整才能得到较为满意的控制效果。依据经验,一般PID参数确定的步骤如下:(1)确定比例系数Kp 确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为纯比例调节。输入设定为系统允许输出最大值的6070,比例系数Kp由0开始逐渐增大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的6070。(2)确定积分时间常数Ti 比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至系统出现振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分时间常数Ti为当前值的 150180。(3)确定微分时间常数Td 微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,则与确定Kp的方法相同,取不振荡时其值的30。(4)系统空载、带载联调 对PID参数进行微调,直到满足性能要求。测试仪器与方法 (1)测试仪器 测试仪器包括秒表、米尺、数字万用表、示波器等。 (2)测试方法 用秒表对产品测试,按照任务书的基本要求对制成的环形倒立摆性能进行测试,秒表用来检测到达倒立所需时间及保持倒立摆的时间,示波器用来测试各电路模块输出信号是否正确。掌握电机运行速度与软件设定值的关系,与软件算法协调调试,使静态误差最小。 4 系统测试4.1测试结果表 1 手动倒立模式测试表测量次数1234起始角度(度)150155160165结果暂未成功暂未成功成功成功表 2 快速起摆模式测试表测量次数1234所用时间(秒)1.81.21.51.7保持时间10秒以上施加干扰继续保持倒立或2秒内恢复4.2测试分析测试结果分析,系统总体上达到较好性能。倒立摆能够实现动态倒立,且所用时间在要求范围之内。倒立摆运行性能较好,制作成本低,性价比高。倒立摆控制的误差只要来源于步进电机、编码器和倒立摆机械结构。步进电机失步、越步,造成读数偏差。编码器精度不高,机械齿轮运动中摩擦力不均匀。因此,采用更好启动、制动和调速的步进电机、精度更高的编码器,改进硬件结构,以此消除控制误差,是控制精度更高。5 参考文献1 康华光主编. 电子技术基础M. 华中理工大学电子学教研室.20102 康华光、陈大钦主编. 电子技术基础数字部份M. 高等教育出版社,20103 朱兆优、陈坚、邓文娟主编. 单片机原理与应用M. 电子工业出版社,20084 郭天祥主编. 51单片机C语言教程M. 电子工业出版社,20085 王宜怀、吴瑾、蒋银珍编著.单片机原理与应用M. 电子工业出版社,20056 苏凯、刘庆国.MCS-5

温馨提示

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

评论

0/150

提交评论