完整文档和源码:https://github.com/Kevincoooool/inverted-pendulum
+
2017年成都信息工程大学
第六届“电协杯”电子设计竞赛

简易旋转倒立摆及控制装置(I题)
设计报告

参赛队编号: XG-66-本-YZ

2017年11月30日

摘 要

   本系统要求设计并制作一个简易旋转倒立摆及控制装置,其中角度传感器WDD35D4电位计、直流电机和单片机STM32F103RCT6最小系统是本系统的核心部分。利用电位计进行数据采集,在控制摆杆E旋转角度,旋轴D摆动速度是通过测试得到PID系数Kp,Ki,Kd,能够实现倒立摆系统的要求。将传感器的电位信号通过A/D转换送给单片机,并通过OLED液晶屏显示读到的A/D值,PID输出,另加入按键实现人机交互功能,最后实验表明,该系统达到题目所需要求。

关键词:倒立摆,数字电位器,单片机,PID闭环控制

目录
一、系统方案 1
1.1、系统控制方案的论证与选择 1
1.2、角度传感器的论证与选择 1
1.3、电机的论证与选择 2
1.4、电机驱动方案的论证与选择 2
二、系统理论分析与计算 2
2.1、系统可行性的分析 2
2.1.1、控制方案的分析 2
2.1.2、角度传感器的分析 3
2.2、摆杆角度的有关计算 3
2.2.1、电位器信号与摆角的换算 3
2.2.2、角度输出与PWM的换算 3
三、电路与程序设计 3
3.1、电路的设计 3
3.1.1系统总体框图 3
3.1.2单片机STM32最小系统电路原理图 5
3.1.3电机驱动子系统电路原理图 5
3.1.4稳压电源子系统电路原理图 6
3.1.5电源 6
3.2、程序的设计 6
3.2.1程序功能描述与设计思路 6
3.2.2程序流程图 6
四、测试方案与测试结果 8
1、测试方案 8
2、测试条件与仪器 8
3、测试结果及分析 8
(1)测试结果(数据) 8
(2)测试分析与结论 8
五、结论与心得 9
六、参考文献 9
附录1:电路原理图 10
附录2:源程序 12

简易旋转倒立摆及控制装置(I题)
【大三组】
一、系统方案
本系统主要由电源模块、电机驱动模块、系统控制模块、角度传感器模块、显示模块组成,下面分别论证这几个模块的选择。
1.1、系统控制方案的论证与选择
方案一:采用传统的51系列单片机
传统的51单片机为8位机,价格便宜,控制简单,但是运算速度慢,片内资源少,存储容量小,难以存储大体积的程序和实现快速精准的反应控制。并且受时钟限制,计时精度不高,外围电路也增加了系统的不可靠性。

方案二:
采用大规模可编程逻辑器件。FPGA内部具有独立的I/O接口和逻辑单元,使用灵活,适用性强,且相对单片机来说,还有速度快,外围电路少,集成度高的特点,因此特别适用于复杂逻辑电路设计。但是FPGA的成本偏高,算术运算能力不强,而且由于本设计对输出处理的速度要求不高,所以FPGA高速处理的优势得不到充分体现。

方案三:采用STM32F103系列单片机
我们采用STM32F103RCT6,该款单片机资源丰富16位的单片机使PWM信号的脉冲宽度实现微秒级的变化,从而提高电机的转角精度单片机完成控制算法,再将计算结果转化为 PWM信号输出到电机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可以更稳定。

所以,综上方案的比较,控制系统选择方案三。
1.2、角度传感器的论证与选择
方案一:使用MPU6050姿态传感器
改模块整合了3轴陀螺仪和3轴加速度,输出六轴旋转矩阵、四元数,通过处理后可得到摆杆的旋转角度及其加速度,但因数据更新慢,无法正确反馈角度,当电机启动,摆杆摆动,切向方向有加速,影响X轴方向的加速度,数据从而无法精确控制摆的角度,而且受外界干扰比较大,所以放弃此方案。
方案二:使用电位器
采用电位器作为角度传感器来测角度,通过摆角不同从而电阻不同,通过AD测出电压值,角度与电压值呈线性关系。该方案线性好,数据更新快,实时反映角度,从而精确摆角。更适合此设计。
综合考虑下,角度传感器使用WDD35数字电位器。
1.3、电机的论证与选择
方案一:采用舵机的缺点是不利于调节速度,扭力小,不利于摆动,所以放弃此
方案。

方案二:采用步进电机的优点是价格便宜,缺点是动态性能很差,扭力小,所以
加速度小,而且有震动,放弃此方案。

方案三:采用减速电机,具有永磁式和反应式的优点,扭力大,加速快,易于杆的摆动,适合设计要求 。
基于上面分析,电机选择方案三。
1.4、电机驱动方案的论证与选择
方案一:LM298N电机驱动控制原理简单,输出波动小,线性好,对邻近电路影响小。缺点功率器件工作在线性区,功率低和散热问题严重,驱动功率小,而本系统电机功率大,而且压降大,容易发热,影响驱动性能。

方案二:TB6612内部集成双全桥MOSFET驱动,轮换效率较高,单路可提供的1A的电流,且驱动功率大,体积小,不易发热,

综上考虑,选择方案二。
二、系统理论分析与计算
2.1、系统可行性的分析
2.1.1、控制方案的分析
简单地开环控制,根据电位计输出信号来换算出PWM驱动电机转动,电机容易驱动转轴D错过摆杆倒立位置,系统保持摆杆倒立不稳定。由于摆杆要倒立,就必须随着转轴D的转动而动,在摆杆倒立时距中心轴线偏角比较大时就需要加速保持倒立采用典型的PID闭环控制方法,闭环控制能够根据反馈信号知道摆杆和垂直位置偏差角度的大小输出相适应的PWM控制电机的速度尽快恢复倒立状态。单级倒立摆控制系统最经典的是PID控制方法,后续又出现LQR,模糊PID等一些控制方法,但是对于单级倒立摆,经典的PID已经足够,对于多级倒立摆,如二级,三级则需要用到较为复杂的数学模型,通过仿真得到比较理想的参数。对于四级倒立摆则需要更为复杂的控制方法,由于条件有限,我们对该系统建立了比较理想的的基本模型,进行估算三个参数值,并进行不断地调试,得到比较适合该系统的参数值。
2.1.2、角度传感器的分析
由于编码器比较贵,而且现有的条件我们不容易安装,所以选择了WDD35 D4电位计,价格比较合适,比较熟悉控制方法,而且该传感器能够360度无限圈旋转,这就满足该旋转单级倒立摆的调试过程及其测试要求,但是该传感器有一个盲区,010K分界线处出现跳转,这一部分我们最初很不幸放在了最上面,似的在测试保持倒立时的PID参数时,电机响应太快摆杆刚有一很小角度,电机对应的PWM值出现跳转,这时电机的速度很大,摆杆来不及保持倒立,转轴D已经旋转较大角度,摆杆摆出绝对值小于165度的范围,电机不再反应,不能保持倒立,但是将盲区移开上面-165°+165°时就可以解决电机响应过快这个问题,电机就可以按照控制的要求作出相应的响应速度。而且该电位计是塑料的比较轻,可以降低机械损失,方便系统的调试工作。
2.2、摆杆角度的有关计算
2.2.1、电位器信号与摆角的换算
电位计两个端子接GND和3.3V,旋转一周360度,而AD采集到的最大值为4095,所以4095/360即为单片机读到的角度最小单位值。
2.2.2、角度输出与PWM的换算
通过摆臂旋转将经A/D转换后的电压值运用PID自动控制理论进行数据处理,可得到一个可作为PWM占空比,一次换算出PWM占空比,赋值给电机,实现控制蒂娜及转速的目的。

三、电路与程序设计
3.1、电路的设计
3.1.1系统总体框图
系统总体框图如图1所示

图1 系统总体框图
3.1.2单片机STM32最小系统电路原理图

图2 供电5v子系统电路
3.1.3电机驱动子系统电路原理图

图3 电机驱动子系统电路
3.1.4稳压电源子系统电路原理图

图4 稳压电源子系统电路

3.1.5电源
使用12.6V航模电池通过LM2596模块降压到5V供单片机以及其他外设使用。
3.2、程序的设计
3.2.1程序功能描述与设计思路
1、程序功能描述
根据本题题目要求设计简易旋转倒立摆系统程序,题目中未涉及按键及显示等要求,但为对系统操作简易化和功能分离化,能在系统调试中掌握相关数据的变化及时调整部分内容,在设计时加入按键和液晶显示模块,实现对系统实时监控的及时的调节。
本次按键设置仅为对题目中不同要求的功能实现简便切换。
显示部分主要是对旋转杆相对起始位置旋转时角度变化,通过A/D转换模块时时输出摆杆偏转位置,从而参考对相关量的设定,调整。
2、程序设计思路
为增强程序的可读性使程序更清晰明了,在设计程序时结合相关问题,将程序有效地模块化。做到见明知意,有效帮助理解各函数功能。
考虑到程序涉及模拟量数字量的转换,PWM电机驱动,PID自动控制和液晶显示辅助等内容,将程序按照此功能模块系统划分,逐步编写,最后融合与主函数中,从而实现对题目系统的自动化控制。
3.2.2程序流程图
1、主程序流程图

图5 程序流程图
2、功能函数程序流程图

图6 功能函数程序流程图
四、测试方案与测试结果
1、测试方案
模式1为基本要求1:使摆动角度超-60或+60度,通过反复试验,记录摆杆的摆角,控制PWM的占空比与,换向时间,从而测出适合要求1的电机转速与摇臂的转动幅度。

模式2为基本要求2:使摆杆做圆周运动,在要求1的基础上加大PWM占空比和换向时间,从而增大电机转动速度和摆杆的摆角,使摆杆做圆周运动。

模式3为基本要求3:使摆杆从-165°或+165°自动倒立平衡超过5S。我们采用PID算法,反馈量为摆杆角度,输出为电机转速,通过调节PID的参数,达到摆杆倒立平衡

模式4为发挥部分1:使摆杆从垂直状态到倒立平衡10s。在模式3的基础上增加一个上摆的动作,使摆杆刚好摆到垂直位置通过调节PID的参数,达到摆杆倒立平衡。

模式5为发挥部分2:在外界干扰下仍然保持倒立平衡,我们仍采用模式4 的程序代码,敲击摆杆,调节PID参数,使持续保持倒立平衡。

模式6为发挥部分3:在加5克砝码仍然保持倒立平衡我们仍采用模式4 的程序代码,调节PID参数,使持续保持倒立平衡。
2、测试条件与仪器
测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。
测试仪器:高精度的数字毫伏表,模拟示波器,数字示波器,数字万用表,指针式万用表。
3、测试结果及分析
(1)测试结果(数据)
摆60度测试:在模式选择后摆杆摆动一个来回后,摆角超过正负60度,摆动连续稳定,符合要求。

圆周运动测试:摆杆在两个来回后顺利做圆周运动。

倒立平衡测试:在摆杆165度左右摆杆迅速自动达到倒立平衡。

从垂直位置倒立平衡:经过反复调试无法稳定。
(2)测试分析与结论
根据上述测试数据,电压与摆杆角度关系,由此可以得出以下结论:
1、电压与摆杆摆角基本呈线性关系说明电位计符合系统设计要求。
2、电机在摆杆在-165°~ +165°和垂直线间夹角与电机响应速度呈现相同趋势,及时保持倒立。
3、摆杆不能再电位计盲区,否则不能正常控制,这不是人为因素。
综上所述,本设计达到设计要求。
五、结论与心得
本文分析了基于旋转倒立摆的摆的平衡系统的结构和特点,结合了单片机控
制设计了平板控制系统。主要研究工作有以下几个方面:
1、对测控系统的原理和组成进行了详细的介绍确定了控制系统的总体设计方
案。
2、确定系统的主控模块、检测模块、电源模块、驱动模块的的电路设计。以STM
公司的STM32F103RCT6为核心,进行完成系统所需的各硬件所需的原理图,采用
了WDD35数字电位计对电压进行测量,从而换算成角度,并对传感器的输出进行了非线性校正以及一系列处理,提高了检测系统的可靠性。
3、完成相关的分析算法
4、和各个功能模块的应用程序的设计,实现了摆杆的平衡控制。整个软件采用模块化、结构化设计思想,使程序便于移植。
5、分析了控制系统中可能存在的各种干扰源,在设计控制系统时,采用软件和
硬件抗干扰技术相结合的方法进行了抗干扰设计保证了控制系统的可靠性
六、参考文献
[1] 谭浩强.C语言程序设计[M].北京:清华大学出版社,2012
[2] 模拟电路与数字电路 电子工业出版社 2009
[3].《电机学》 翟庆志//李艳军//刘明丹//吴利斌 中国电力出版社 2011-04
[4].《全国大学生电子设计竞赛系统设计》 黄智伟 北京行洪航天大学出版社 2011-02
[5].《全国大学生电子设计竞赛常用电路模块制作》 黄智伟 北京行洪航天大学出版社 2011-01
[6].《全国大学生电子设计竞赛制作实训》 黄智伟 北京行洪航天大学出版社 2011-01

附录1:电路原理图

图7 电路原理图

附录2:源程序

简易旋转倒立摆设计报告相关推荐

  1. 基于matlab的倒立摆设计,基于matlab的倒立摆设计.doc

    基于matlab的倒立摆设计.doc 摘要IAbstract.II第一章绪论11.1倒立摆的研究背景.11.2国内外现状.21.3应解决的问题和技术要求.21.4工作内容.3第二章MATLAB仿真软件 ...

  2. 电赛设计报告模板及相关要求

    报告要求: <设计报告>写作装订 参赛学生在撰写<设计报告>时应注意,报告封面及每页纸上均不得出现参赛队的学校.代码.姓名等文字,否则取消评审资格. 报告正文长度严格限制为 A ...

  3. 现控报告-- 分析倒立摆系统稳定性、能控性及能观性分析,设计PID控制方案(附matlab)

    目录 摘要 数学建模 1. 倒立摆系统简介 2. 直线倒立摆系统数学模型 系统传递函数模型 系统状态空间数学模型 系统分析 3. 直线一级倒立摆系统分析 (1)系统稳定性分析 (2)系统能控性和能观性 ...

  4. matlab模糊控制 论文,基于matlab的倒立摆模糊控制毕业论文报告.doc

    基于matlab的倒立摆模糊控制毕业论文报告 (此文档为word格式,下载后您可任意编辑修改!) 智能控制理论及应用 课程设计报告 题 目: 基于matlab的倒立摆模糊控制 院 系: 西北民族大学电 ...

  5. 倒立摆的数学模型,matlab程序,simulink,c语言控制,一级倒立摆的控制设计

    本论文主要研究内容 倒立摆装置被公认为自动控制理论中的典型试验设备,也是控制理论教学和科研中不可多得的典型物理模型.本论文的研究旨在完成这样一系列工作: 介绍倒立摆系统控制的研究发展过程和现状:研究单 ...

  6. 简易计算机led数码管单片机课设,单片机课程设计报告--简易计时器——LED?数码管显示接口技术应用.docx...

    文档介绍: 文华学院单片机原理及应用课程设计报告姓名: 学号: 学部(系): 专业年级: 指导老师: 201 6年12月5日目录一标题--------------------- 1 二设计内容,设计要 ...

  7. 单片机c语言数字频率计的课程设计,基于单片机的简易数字频率计设计报告(最终版)最新版...

    <基于单片机的简易数字频率计设计报告.doc>由会员分享,可免费在线阅读全文,更多与<基于单片机的简易数字频率计设计报告(最终版)>相关文档资源请在帮帮文库(www.woc88 ...

  8. 【电赛合集】19电磁炮.zip、17板球.zip、15风力摆.zip、13倒立摆.zip、(1994-2021)全国大学生电子设计竞赛历年真题.zip

    [电赛合集]19电磁炮.zip.17板球.zip.15风力摆.zip.13倒立摆.zip.(1994-2021)全国大学生电子设计竞赛历年真题.zip 电赛宝藏链接: 四天三夜,那布满着未知与紧迫感的 ...

  9. 简易数字式电阻、电容和电感测量仪设计报告

    写在前面:这是这次参加电子设计大赛我写的设计报告,但是我本人现在对硬件不是很熟悉,所以很对原理叙述不是很到位啊,不过整个作品用到知识点和原理都基本说清楚了. 简易数字式电阻.电容和电感测量仪设计报告 ...

  10. 武大版c语言程序设计习题 二维数组 简易学生成绩查询系统,《C语言程序设计》程设计报告.docx...

    <C语言程序设计>程设计报告 课程设计报告题目:招生查询系统课程名称:C语言程序设计专业班级:信息安全201302班学号:姓名:指导教师:报告日期: 2014年10月10日计算机科学与技术 ...

最新文章

  1. 【怒怼老乔】居然苹果手机IOS系统还不支持css3的transparent属性值,我去~~~~
  2. 大众高层:中国将成为全球自动驾驶软件研发中心
  3. 注意!今日起 GitHub 新建存储库的默认分支就不叫“master”了!
  4. 资源收集流程为SDN控制器
  5. c语言中的运算符和表达式试卷答案,c语言试卷和答案1
  6. http://blog.csdn.net/java2000_wl/article/details/8627874
  7. 高基数特征的预处理方式
  8. 【Python】学习Python的三个神级网站
  9. SQL语句之left join、right join、inner join的区别
  10. 5调用外部浏览器打开代码_浏览器事件循环
  11. python缩进教学_Python缩进和选择学习
  12. 各种主流Linux操作系统概况
  13. 教育为什么重要 大数据_为什么开放数据在教育中很重要
  14. vue3 编译很慢_Vue 项目编译时间过长问题
  15. html5与css3是互联网发展趋势,五大主流浏览器CSS3和HTML5兼容性比拼
  16. mysql 分片 数据迁移_简述MySQL分片中快速数据迁移_MySQL
  17. Linux使用rostopic echo将rosbag文件转换成csv或txt文件以及sh脚本批量化操作
  18. 算数基本定理 + 例题
  19. DataGridView拖动换行
  20. c语言编程的头文件是什么,C语言头文件到底是什么?

热门文章

  1. 数据库系统概论第五版第二章答案王珊
  2. 一文读懂量化系统接入及相关平台
  3. c#实现json转kml、kmz、shp格式
  4. AD10操作技巧及参数
  5. clover写入efi_Clover EFI bootloader for Mac(四叶草启动引导工具)
  6. MapStruct 代码生成器
  7. Kali Linux-MSF远控局域网手机
  8. vue项目使用阿里云播放器(aliyun)
  9. 台达b2伺服说明书_台达自动化制盒机设备 | 创造更多元灵活弹性产线
  10. javaswing个人记账系统 java swing mysql实现的个人记账系统源码(1012)