基于STM32的单级旋转倒立摆控制系统的设计与实现
(完整版)单级倒立摆毕业设计

缺点:价格稍显昂贵,编程较复杂。
方案三:使用STM32F103内部集成了1μs的双12位ADC,可对角度传感器信号进行采集与处理。硬件电路连接较简单,低功耗,系统运行稳定。最高工作频率72MHz,运算速度较快。STM32引脚如图1-3:
图1-3 STM32引脚图
缺点:价格昂贵,编程复杂。
缺点:扭矩较大,反应动作较慢,价格昂贵。
方案三:采用直流电机,直流电机具有最优越的调速性能,主要表现在调速方便(可无级调速)、调速范围宽、低速性能好、运行平稳、噪音低、效率高的优点。
图1-1 8051引脚图
缺点:51单片内部资源有限,内部没有集成的A/D转换器,在一些需要数据采的应用场合,需要外扩A/D转换器,硬件连接较复杂,给系统设计过程带来不便。
方案二:使用atmega16内部集成了10位A/D转换器,可对角度传感器信号进行采集与处理,还集成了PWM的功能,硬件电路连接较简单,系统运行稳定。运算速度较快。Atmega16简介:ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与运算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;停电模式时晶体振荡器[1]停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。引脚图如图1-2:
基于STM32的倒立摆PID学习研究平台

本实验平台的核心参数的整定,同时也是本课题的核心。 它的具体参数可由数学模型法来精确测定,但是理想状态下 的数学模型的构建非常复杂,适合于大型系统,所以本实验 装置主要依靠经验模型。可以在很好的应用在教学实验中, 教职人员可以让学生们自己动手操作,不仅能达到教学目的, 并且能够锻炼同学们的动手能力。
稳压模块设计
采用 LM317 集成电路作为本装置的稳压模块,它不但 拥有极其简单的形式,并且输出的电压能够随意调节。其可 以为本装置的直流电机供应稳定的电压。此外,LM317 还 可以在主控制器过热、线路短路时紧急停止来保护电路。因 此本装置采用它做稳压模块的稳定器。输出电压公式如下所 示;工作原理示意图如图 2 所示。
电机驱动模块
L298N 电机驱动器能够同时驱动步进和直流两类电机, 其还可接受一定的高压。完美符合本装置的需求,于是本装 置采用其作为电动机驱动模块。其工作需要 6~46V 范围内 稳定的 2A 电流。在正常工作状态下,它还可以进行电路过 热检测,当电路过热时对电机进行断电,从而实现保护电路 的效果。此外,单块 L298N 电机驱动器同时进行控制两台 直流电机,并使其同时执行不同的动作。它的原理是通过调 节芯片的 I/O 输入,可设定串联的受控电平,从而使电机实 现正反两种驱动运动状态。当我们通过标准逻辑电平控制元 件时,会有四个信号输出端口与之相对应。驱动模块接收到 单片机输出的 PWM 信号后,其依照设定的信号进行运作, 进一步完成电机的加速和减速等动作。如图 3 所示为其工作 原理图。
电机控制
在倒立摆控制系统中,电机作为一个被控制的元件,在 整个系统中主要是执行相关指令。一般情况下电机功率与价 格成正比关系,其与本课题的目标不符。于是本装置只能采 用全数字直流伺服电机,此电机控制精确且扭力较大,非常 符合本装置的需求。我们选用控制频率为 10Khz 的电机。 当电机加速运转时,高电平占空比的 PWM 周期就会变大。 于是在本装置的控制系统中,调整电机的转速主要是通过改 变 PWM 高电平占空比的大小来实现。图 5 中主要反映了电 机控制的流程。
基于stm32的旋转倒立摆

2.1
整个系统分为系统模块、编码器模块、电机驱动模块、电机模块、电源模块、键盘模块、显示模块。各模块的系统框图如图1.1所示。
图1.1 系统框图
2.2方案比较与选择
2
方案一:采用传统的51系列单片机。
传统的51单片机为8位机,价格便宜,控制简单,但是运算速度慢,片内资源少,存储容量小,难以存储大体积的程序和实现快速精准的反应控制。并且受时钟限制,计时精度不高,外围电路也增加了系统的不可靠性。
方案二:采用自搭接的H桥电路
选用大功率达林顿管或场效应管自制H桥电路,电路原理简单,具有高效,低功率等特点,但是性能不够稳定,电路调试复杂。
方案三:采用ACS606数字交流伺服驱动器
ACS606全数字交流伺服驱动器采用了最新32位伺服DSP和先进的控制算法。其体积小巧、安装方便、高性价比、高可靠性、调试简单。
方案二:减速电机
减速电机克服了普通直流电机扭矩小的缺点,而且价格较低,但其可控性不太好,难以精确控制,但这足以完成任务。
方案三:步进电机
步进电机具有转角精确可控的优点,速度和转角都能控制,适用于精确控制系统。只是价格稍高。
为保证稳定可靠,选用方案二。
2
方案一采用芯片L298驱动电机,
用单片机控制L298的输入使之工作在占空比可调的开关状态,精确调整电动机转速。电子开关的速度很快,稳定性也极强。但驱动电流小,无法驱动更大功率的电机,限制了其应用范围。
综合以上两种方案选择,本系统选择HN3806A5V1024绝对值编码器。
2
方案一:电压和电流的显示可以用数码管,但数码管的只能显示简单的数字,其电路复杂,占用资源较多,显示信息少,不宜显示大量信息。
方案二:采用oled液晶显示器显示
基于stm32的风力摆

2017年全国大学生电子设计竞赛陕西赛区设计报告封面作品编号:(由组委会填写)… …………… ……………剪切线…………… …………… …作品编号:(由组委会填写)说明1.为保证本次竞赛评选的公平、公正,将对竞赛设计报告采用二次编码;2.本页作为竞赛设计报告的封面和设计报告一同装订;3.“作品编号”由组委会统一编制,参赛学校请勿填写;4.“参赛队编号”由参赛学校编写,其中“学校编号”应按照巡视员提供的组委会印制编号填写,“组(队)编号”由参赛学校根据本校参赛队数按顺序编排,“选题编号”由参赛队员根据所选试题编号填写,例如:“0105B”或“3367F”。
5. 本页允许各参赛学校复印。
基于stm32的风力摆控制系统的设计与实现摘要本系统采用STM32F103开发板作为控制中心,与万向节、摆杆、空心杯电机、激光头、反馈装置一起构成摆杆运动状态与风机速度分配的双闭环调速系统。
单片机输出可变的PWM波给电机调速器,控制4个方向上风机的风速,从而产生大小不同的力。
利用加速度计模块MPU6050,准确测出摆杆移动的位置与中心点位置之间的关系,采样后反馈给单片机,使风机及时矫正,防止脱离运动轨迹。
控制方式采用PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。
从而使该系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、指定方向偏移,具有很好地稳定性。
关键词:STM32F103;空心杯电机;MPU6050;PIDAbstractThis system adopts the STM32F103V development board as the control center, and the universal joint, swinging rod, dc fan (brushless motor + blades), laser, feedback device together form the swinging rod motion state and fan speed distribution of the double closed loop speed regulation system. MCU output variable PWM waves to the motor speed, control four directions wind speed of the fan, to produce different size. Using accelerometer module MPU6050, accurately measure the position of swinging rod mobile and center position, the relationship between the sampling after feedback to the single chip microcomputer, the fan timely correction, prevent from the trajectory. Use the compass module judging direction, deviation control system to a specified direction. Using PID algorithm control method, proportion link for quick response, integral element to realize astatic, differential link decrease overshoot, speed up the dynamic response. So that the system has goodperformance, which can well realize the pendulum movement, fast brake static, circle, specify the direction deviation, has a good stability.Keywords:STM32F103;Hollow cup motor;MPU6050;PID1引言风力摆控制系统是自动控制理论的重要研究平台,可对应于人工智能控制技术,因此对它的研究具有重大的实践意义和价值。
单级倒立摆系统建模与控制器设计

得:
状态空间表达式
单级倒立摆系统的模型分析 根据小车质量,摆杆质量,摆杆转动轴心到杆质心的长度和 摆杆质量的具体数值,用Matlab 求出系统的状态空间方程 各矩阵。
程序1.M = 0.5; m = 0.2; I= 0.006; g = 9.8; l = 0.3; A=[0 1 0 0 0 0 3*M*g/(4*M+m) 0 00 0 1 0 0 3*(M+m)*g/((4*M+m)*l) 0]; C=[1 0 0 0 B=[0 0 0 1 0]; 4/(4*M+m) D=[0 0 0]; 3/((4*M+m)*l)];
摆杆不受外力干扰但是摆杆有一个小的初始偏角 程序2
系统开环初值响应曲线
由系统的开环初值响应曲线可知,系统是不稳定 的,这与我们的经验是相符合的。
摆杆初始位置在竖直状态,但是小车收到一个脉 冲干扰的情况。MATLAB程序如下:
系统开环脉冲响应曲线
由系统的开环脉冲干扰响应曲线可知, 系统是不稳定的,这与我们的经验也 是相符合的。
显然,因为系统有一个特征值为正实数5.5841, 故系统是不稳定的。
单级倒立摆系统的极点配置控制器设计
单级倒立摆系统控制器设计的目标 单级倒立摆系统控制器设计的目标是:通过对小 车的左右移动使得摆杆保持在竖直的位置。且对 于小车所给的阶跃输入信号,满足如下设计指标:
1、小车位置x和摆杆角度θ的稳定时间小于5秒; 2、位置x的上升时间小于0.5秒; 3、摆杆角度的超调量小于20度(0.35弧度)。
总结与收获
通过对单级倒立摆的建模与仿真学到了一 下知识
1、首先要将现实中系统转化相应的物理结构 2、充分掌握建立状态空间方程的过程 3、了解配置极点控制器以及PID控制器的方法 4、对MATLAB软件有了一个初步功能的了解
单级倒立摆系统的建模与控制器设计

单级倒立摆系统的建模与控制器设计摘要:本文主要研究的是单级倒立摆的建模、控制与仿真问题。
倒立摆是一类典型的快速、多变量、非线性、强耦合、自然不稳定系统。
由于在实际中有很多这样的系统,因此对它的研究在理论上和方法论上均有深远的意义。
本文首先建立了单级倒立摆的数学模型,对其进行了近似线性化处理,得到了它的状态空间描述,并对系统的开环特性进行了仿真和分析。
然后,基于极点配置方法设计了单级倒立摆系统的控制器。
最后,用Matlab对系统进行了数值仿真,验证了所设计的控制算法的有效性。
关键词:单级倒立摆;极点配置;建模与控制目录1 绪论 (3)2 单级倒立摆系统的建模与分析 (4)2.1单级倒立摆系统的建模 (4)2.2单级倒立摆系统的模型分析 (8)3 单级倒立摆系统的极点配置控制器设计 (13)3.1单级倒立摆系统控制器设计的目标 (13)3.2单级倒立摆系统的能控性分析 (13)3.3单级倒立摆系统的极点配置控制器设计 (14)3.4闭环系统仿真分析 (16)4 结论 (20)致谢 (21)参考文献 (22)1 绪论倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。
对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。
通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。
通过对它的研究不仅可以解决控制中的理论和技术实现问题,还能将控制理论涉及的主要基础学科:力学,数学和计算机科学进行有机的综合应用。
其控制方法和思路无论对理论或实际的过程控制都有很好的启迪,是检验各种控制理论和方法的有效的“试金石”。
倒立摆的研究不仅有其深刻的理论意义,还有重要的工程背景。
在多种控制理论与方法的研究与应用中,特别是在工程实践中,也存在一种可行性的实验问题,使其理论与方法得到有效检验,倒立摆就能为此提供一个从理论通往实践的桥梁,目前,对倒立摆的研究已经引起国内外学者的广泛关注,是控制领域研究的热门课题之一。
旋转倒立摆设计报告综述

控制专题训练阶段性报告旋转倒立摆设计学生姓名:2017年5月24日摘要本系统以由stm32f103单片机作为中心控制系统,由精密电位器、电机驱动模块、电源电路组成。
角度监测模块采用采用双向编码器,实时测量摆杆与垂直方向的夹角;电机驱动部分使用TB6612驱动芯片驱动直流电机较精确地控制摆杆的灵敏度;具有操作简单,控制界面直观、简洁,系统性能指标达到了设计要求,工作可靠,功耗低,具有良好的人机交互性能。
关键字:STM32f103RC 精密电位器TB6612目录一、系统方案 (1)1、摆架框架的论证与选择 (1)2、驱动电机的选择 (1)2、角度传感器的选择 1二、系统理论分析与计算 (1)1、电机型号选择 (1)2、摆杆状态监测 (1)3、算法控制 (1)(1)比例控制规律 (1)(2)比例积分控制规律 (1)(3)比例微分控制规律 (1)(4)比例积分微分控制规律 (1)三、电路与程序设计 (2)1、电路的设计 (2)(1)系统总体框图 (2)(2)PID算法子系统框图 (2)(3)主控制器模块设计 (2)(4)电源 (3)2、程序的设计 (3)(1)程序功能描述与设计思路 (3)(2)程序流程图 (3)四、测试方案与测试结果 (3)1、测试方案与论证 (3)2、测试条件与仪器 (4)3、测试结果及分析 (4)(1)测试结果(数据) (4)(2)测试分析与结论 (4)五、参考文献 (4)附录1:电路原理图 (5)附录2:源程序 (6)一、系统方案本题目要求设计一个简易旋转倒立摆及其控制装置,它由三部分构成,系统构成如图1-1:①摆架系统:支架,摆杆,底座,平板,旋转臂,旋转臂连接摆杆顶部固定在电机上;②驱动控制系统:单片机,直流电机,电机驱动器,电源,用以控制电机带动旋转臂转动;③检测系统:通过精密电位器检测出摆杆与垂直方向的倾角,将数据传给单片机。
1、摆架框架的选择方案一:采用木板做摆杆,材料方便,制作简单,质量较小,尽管在做旋转运动时,空气阻力对其有影响,木质材料的摆杆较轻,可以适当的加点配重,增加其惯性,更加方便电机对其旋摆随时的控制。
基于STM32的单级旋转倒立摆控制系统的设计与实现

基于STM32的单级旋转倒立摆控制系统的设计与实现对单级旋转倒立摆的控制系统进行了研究,提出了以STM32为核心的控制器设计,在控制策略上采用经典控制理论PID的控制算法,实现对单级旋转倒立摆旋转臂及摆杆的同时闭环控制,最终测试结果表明系统控制策略有效。
标签:STM32;倒立摆;闭环控制引言倒立摆控制系统是自动控制理论的重要研究平台,可对应于火箭垂直发射控制技术,因此对它的研究具有重大的实践意义和价值。
目前对倒立摆的研究主要分为系统力学分析及建模,控制算法及仿真,而对实现手段少有研究。
文章讨论了以STM32为核心的倒立摆控制器的设计与实现,它实现了经典双回路PID控制算法对旋转单级倒立摆的控制策略。
1 控制系统硬件设计倒立摆的系统主要由四部分构成:控制器,驱动系统,检测装置及机械部分。
其中由于控制器需要完成复杂的PID运算,要求系统反馈控制速度快,因此以具有ARM核的32位STM单片机为核心完成控制算法;检测装置由光电码盘构成,主要用于检测电机转动速度及摆杆的角加速度,本系统中采用200P/R的欧姆龙光电编码器。
驱动部分采用飞思卡尔公司生产的电机驱动芯片mc33886,其输出电流可以达到5A,可以实现电机PWM 调速,正反转,制动等实时控制功能。
红外遥控及键盘为系统调试辅助装置,可以在系统运动过程中对程序中的P,I,D参数进行微调。
控制系统部分硬件电路结构如图1所示。
图1 控制系统结构框图系统中以STM32为核心的控制器控制电机正反转带动旋转臂来回摆动从而带动摆杆做圆周运动至直立状态,直立后迅速切换电机运行模式使摆臂稳摆。
系统中由检测装置测得的摆臂位置,摆臂加速度及电机当前转速等参数反馈回STM32进行综合PID计算,输出PWM波进行电机调速从而使系统能处于稳态。
控制系统的核心为STM32中对控制算法的实现。
2 控制算法及程序设计倒立摆系统的控制过程是:通过电机带动旋转臂转动产生合适的力u使得旋转臂和摆杆在某一给定的初始条件下能够快速到达新的动态平衡。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于STM32的单级旋转倒立摆控制系统的设计与实现
对单级旋转倒立摆的控制系统进行了研究,提出了以STM32为核心的控制器设计,在控制策略上采用经典控制理论PID的控制算法,实现对单级旋转倒立摆旋转臂及摆杆的同时闭环控制,最终测试结果表明系统控制策略有效。
标签:STM32;倒立摆;闭环控制
引言
倒立摆控制系统是自动控制理论的重要研究平台,可对应于火箭垂直发射控制技术,因此对它的研究具有重大的实践意义和价值。
目前对倒立摆的研究主要分为系统力学分析及建模,控制算法及仿真,而对实现手段少有研究。
文章讨论了以STM32为核心的倒立摆控制器的设计与实现,它实现了经典双回路PID控制算法对旋转单级倒立摆的控制策略。
1 控制系统硬件设计
倒立摆的系统主要由四部分构成:控制器,驱动系统,检测装置及机械部分。
其中由于控制器需要完成复杂的PID运算,要求系统反馈控制速度快,因此以具有ARM核的32位STM单片机为核心完成控制算法;检测装置由光电码盘构成,主要用于检测电机转动速度及摆杆的角加速度,本系统中采用200P/R的欧姆龙光电编码器。
驱动部分采用飞思卡尔公司生产的电机驱动芯片mc33886,其输出电流可以达到5A,可以实现电机PWM 调速,正反转,制动等实时控制功能。
红外遥控及键盘为系统调试辅助装置,可以在系统运动过程中对程序中的P,I,D参数进行微调。
控制系统部分硬件电路结构如图1所示。
图1 控制系统结构框图
系统中以STM32为核心的控制器控制电机正反转带动旋转臂来回摆动从而带动摆杆做圆周运动至直立状态,直立后迅速切换电机运行模式使摆臂稳摆。
系统中由检测装置测得的摆臂位置,摆臂加速度及电机当前转速等参数反馈回STM32进行综合PID计算,输出PWM波进行电机调速从而使系统能处于稳态。
控制系统的核心为STM32中对控制算法的实现。
2 控制算法及程序设计
倒立摆系统的控制过程是:通过电机带动旋转臂转动产生合适的力u使得旋转臂和摆杆在某一给定的初始条件下能够快速到达新的动态平衡。
本系统是单输入双输出系统,在控制方案上采用采用经典控制理论的双闭环PID控制,系统控制原理方框图如图2所示:
图2 系统控制原理路
在控制策略上采用经典的PID闭环调节算法。
常用的PID控制算法有两种:增量式和位置式。
增量式算法特点是累计误差小,位置式算法特点是响应速度快。
根据系统控制特点,采用位置式PID控制算法。
PID增量式控制算法,其算式为
式中u(k)为控制量,本系统中为电机转向及转速。
e(k)为偏差,T为采样周期,k为采样序列,kp为比例系数,KI=KP■为积分系数,KD=Kp■为微分系数。
采样周期和采样序列根据对摆杆的力学分析及香农定理得出。
具体的P,I,D参数整定则需要在调试过程中通过不断调整来确定。
系统程序设计主要完成了上述PID控制算法及PWM电机调速,完成了系统双闭环控制电机转速,从而实现了倒立摆控制系统。
程序由主程序和4个子程序构成,子程序分别完成起摆,稳摆,稳摆并做圆周运动等动作。
为了验证系统软硬件系统是否有效,对系统进行了系列测试,测试中采用精度为1°的360°角度指示板及精度为0.01s的秒表。
测试数据如表1:
表1摆动测试数据
从测试数据反映,系统能够在短时间内实现摆臂摆动及稳摆,且摆臂直立后摆动幅度小,在遇外力干扰后能迅速作出反应回到稳态。
系统完成动作好,抗干扰能力强。
3 结束语
文章给出了一种倒立摆系统的设计方案,并成功地设计了倒立摆系统的硬件部分和软件部分,最终构建了一个倒立摆系统。
为了验证系统的有效性,进行了测试,数据证明设计是成功的。
本系统对多种工程问题,如电磁直立行车的直立驾驶实时控制设计提供了的重要的借鉴和参考价值。
参考文献
[1]固高科技(深圳)有限公司.倒立摆与自动控制原理实验[Z].2005.
[3]杨平,徐春梅,曾婧婧,等.PID控制在倒立摆实时控制系通过中的应用[J].微计算机信息,2006(2):83-85.
[3]王继军,孙灵芳.自动化技术与应用[J].2011(30):1-5.
[4]桑英军,范媛媛,徐才千.单级倒立摆控制方法研究[J].控制工程,2010.11(17):43-46.
[5]江晨,王富东.旋转倒立摆系统的算法研究及仿真[J].工业控制计算机,2010(23):54-56.
作者简介:王立谦(1975-),女,四川人,汉族,硕士研究生,现工作于华中科技大学武昌分校自动化教研室,讲师,研究方向:嵌入式系统,EDA技术。