文档库 最新最全的文档下载
当前位置:文档库 › 基于Matlab simulink编程的Arduino闭环控制小车

基于Matlab simulink编程的Arduino闭环控制小车

基于Matlab simulink编程的Arduino闭环控制小车
基于Matlab simulink编程的Arduino闭环控制小车

基于Matlab/simulink编程的闭环控制小车上位机软件设

摘要

随着科学技术的发展,直流电机的应用越来越广泛,驱动与控制直流电机的方式方法也越来越多。计算机软件与单片机技术也高度发展,越发成熟,目前计算机已经能够通过软件实现与单片机的无缝对接。本设计就是一种基于PC软件Matlab/simulink编程的闭环控制小车上位机软件系统,用于控制一辆小车。该小车由两台带有编码器的直流电机驱动,两轮独立驱动。小车在闭环控制系统作用下,能够遵循上位机指令运动:前进,后退,加速,减速,转弯,停止。Matlab/simulink和驱动小车的单片机系统能够通过串口无缝对接,Matlab/simulink模型能够在线监测小车状态,并且可以能够实时整定控制系统参数,对小车的运行状态进行控制。

本设计采用的电机是普通直流电机,两电机各带有一个编码器;采用的单片机为Avr单片机--Arduino Mega2560。单片机接受上位机指令,检测电机编码器脉冲。指令和反馈的实际值比较后,经过PID控制算法的处理得到控制量,最后通过PWM方式,通过L298N控制电机旋转。小车在闭环控制系统作用下,能够遵循指令运动。

关 键 词:Matlab/simulink,直流电机,PWM,PID反馈调节,Arduino Mega2560单片机

PC PROGRAM DESIGN OF THE CAR WITH PID

CONTROLL BASED ON MATLAB/SIMULINK

ABSTRACT

With the development of technology, DC motor’s applications gets more and more extensive, and the ways to drive and control the DC motors become more. PC program and the technology of singlechip highly developed, become more mature, so at the present time PC can connect with singlechip without gap through program. This design is a kind of closed-loop PC program system based on Matlab/simulink, that controls a small car. The car is drive by two DC motor with encoder, and the two DC motor is drive alone. The car can move follow the command of PC under the closed-loop control system: forward, back, speedup, slowdown, turn, and stop. The singlechip system drive the car can connect with Matlab/simulink without gap through USB, and Matlab/simulink can monitor the state of the car online, and can set and control the parameters of system real time to control the move state of the car.

In this design, the normal DC motors is used, two motors each with an encoder, the AVR singlechip is used----Arduino Mega2560. The singlechip achieve the commands of PC, monitor the pulses of encoders. The commands compared with the actual value, then get the control value through PID control, finally, through PWM control the DC motors wheel by L298N. The car can move follow the commands under closed-loop control system.

KEY WORDS: Matlab/simulink, DC motor, PWM, PID feedback control, Arduino Mega2

目 录

前言 (1)

第1章 硬件介绍 (3)

§1.1直流电机简介 (3)

§1.2 Arduino Mega2560简介 (4)

§1.3编码器简介 (6)

§1.4驱动器L298N简介 (7)

第2章 上位机软件环境介绍 (9)

§2.1 Matlab简介 (9)

§2.2 Simulink简介 (10)

§2.3 安装Arduino的simulink软件包 (11)

§2.4 在simulink中建立模型 (11)

第3章 系统模型的建立 (13)

§3.1系统整体结构设计 (13)

§3.2 电机控制系统设计 (14)

§3.3 编码器转换系统设计 (16)

§3.4 PID控制器及其算法设计 (18)

§3.4.1 PID控制器的原理及作用 (18)

§3.4.2 比较器的建立 (20)

§3.4.3 PID控制器的构建及参数整定 (21)

第4章 运行调试与结果分析 (23)

结论 (28)

参考文献 (29)

致谢 (30)

前 言

世界上最贵重的,是人的生命。以前科学技术不够发达,许多危险工作都需要人冒着极大地危险亲自去做,这就给人们的生命安全造成了极大的威胁,甚至造成不可弥补的损失。如今科学技术高度发展,许多方面都实现了自动化和远程操作,尤其是机器人技术的高度发展,使得许多危险工作有了机器去替人完成,这就避免了许多不必要的危险,使人们不比承担伤亡的风险,就能完成工作。

本设计便是针对这种需求,设计一种可以控制运动的小车,为一些工作的远程操作提供一个良好的基础。这些工作的应用范围是非常广的,诸如在小车上安装一个摄像头,然后控制小车进入人们难以进入或者非常危险的废墟进行搜救;或者在小车上安装机械手,并通过单片机控制,就可以进行远程防爆拆弹的工作等等……

此类设计国内外早已有大量课题,并且成果丰硕。最高端的便是美国的火星漫游车---勇气号和机遇号了。其余同类相关的课题数不胜数,选用的电机各不相同,驱动的平台也不一而足。本次设计采用Matlab/simulink与单片机实现无缝对接,单片机接上位机指令,读取编码器信号,经过PID反馈调节,最后产生PWM波,通过L298N来驱动两个直流电机转动。Matlab/simulink通过串口来对小车的运动状态进行监控,并且需要能实现够实时对小车的运动状态进行调整和控制,这就必须需要Matlab/simulink 与单片机通过串口能够实现无缝对接,来实现实时控制的目的。PID的反馈作用,能够保证运动状态的稳定和可靠,以便适应复杂的外部环境,以保证小车在复杂的环境中依然可以可靠地运行。

本次设计采用的是串口通信,由于是有线的通信方式,所以小车的运行在距离上要受到不小的限制。如果在单片机上加上无线通信模块,并且写入相关程序,可以是小车实现无线操作,比如WIFI控制小车就可以实现无线控制,达到远程控制的目的,这就大大的提高了小车运行的范围,方便了操作。本设计并没有在小车上加装任何附带的模块,比如摄像头机械手等等,仅仅

是对驱动小车运动进行研究。所以,此次设计只是对小车稳定运行的一次研究,是对该课题的一次基础研究,是一次很有益的尝试。

第1章硬件介绍

§1.1直流电机简介

电动机作为最主要的机电能量转换装置,其应用范围已遍及国民经济的各个领域和人们的日常生活。无论是在工农业生产,交通运输,国防,航空航天,医疗卫生,商务和办公设备中,还是在日常生活的家用电器和消费电子产品(如电冰箱,空调,DVD等)中,都大量使用着各种各样的电动机。据资料显示,在所有动力资源中,百分之九十以上来自电动机。

在可调速传动系统中,按照传动电动机的类型来分,可分为两大类:直流调速系统和交流调速系统。交流电动机直流具有结构简单、价格低廉、维修简便、转动惯量小等优点,但主要缺点为调速较为困难。相比之下,直流电动机虽然存在结构复杂、价格较高、维修麻烦等缺点,但由于具有较大的起动转矩和良好的起、制动性能以及易于在宽范围内实现平滑调速,因此直流调速系统至今仍是自动调速系统的主要形式。

直流电机可以实现平滑而经济地调速,而且不需要其它设备的配合,只要改变输入或励磁电压电流就能实现调速。这是直流电机最大的两条优点。随着计算机,微电子技术的发展以及新型电力电子功率器件的不断涌现,电动机的控制策略也发生了深刻的变化。电动机控制技术的发展得力于微电子技术,电力电子技术,传感器技术,永磁材料技术,微机应用技术的最新发展成就。变频技术和脉宽调制技术已成为电动机控制的主流技术。正是这些技术的进步使电动控制技术在近二十年内发生了很大的变化。功率器件控制条件的变化和微电子技术的使用也使新型的电动机控制方法能够得到实现。其中,脉宽调制(PWM)方法,变频技术在直流调速和交流调速系统中得到了广泛应用。

本次设计就是使用PWM的方式,通过L298N来驱动两台9V的直流电机运

转。以下是直流电机实物图,使用时套上传动齿轮等固定在小车内部。

图1-1 直流电机

§1.2Arduino Mega2560简介

Arduino,是一个基于开放原始码的软硬体平台,构建于开放原始码simple I/O介面版,并且具有使用类似Java,C语言的Processing/Wiring开发环境。Arduino能接收来自各种各样的传感器的数据,也能控制LED、电机和其他的各种装置。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用 Arduino 编程语言(基于 Wiring)和Arduino开发环境(based on Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信(比如 Flash, Processing, Matlab)来实现。

Arduino Mega2560便是Arduino系列中的一款8位单片机,他采用AVR 处理器核心Atmega2560,功能强大,价格低廉。其主要参数如下:

类别:集成电路 (IC)

芯体尺寸:8-位

速度:16MHz

输入/输出数:86

程序存储器容量:256KB (256K x 8)

程序存储器类型:FLASH

EEPROM 大小:4K x 8

RAM 容量:8K x 8

电压 - 电源 (Vcc/Vdd):4.5 V ~ 5.5 V

数据转换器:A/D 16x10b

振荡器型:内部

Arduino Mega2560是采用USB接口的核心电路板,具有一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。不过其最大的优点在于,他具有54路数字输入/输出口,16路模拟输入,4路UART接口,非常适合需要大量I/O接口的程序和设计。而这54路数字输入/输出口中的16路可作为PWM输出,直接采用analogWrite(pin,n)指令即可在该口输出占空比为n/255的PWM波,使用起来十分方便。而16路模拟输入,每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,可以通过AREF调整输入上限,功能也是非常强大的。电源方面的选择也很灵活,Arduino Mega2560可以通过3种方式供电,而且能自动选择供电方式:外部直流电源通过电源插座供电,电池连接电源连接器的GND和VIN引脚或是USB接口直接供电。通信接口方面,Arduino Mega2560内置4路UART可以与外界串口实现通信。

图1-2 Arduino Mega2560实物

§1.3编码器简介

编码器是把角位移或直线位移转换成电信号的一种装置。按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小,绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。由于本次设计使用编码器是为了测定电机转速,只需测量一定时间内的位移即可,所以选用了增量式编码器。

由于是要求电机的转速,所以需要测量角位移而非线位移,所以选择带有码盘的旋转式编码器。按照读出方式编码器可以分为接触式和非接触式两种.接触式采用电刷输出,电刷接触导电区或绝缘区来表示代码的状态是“1”还是“0”;非接触式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件时以透光区和不透光区来表示代码的状态是“1”还是“0”。由于电机转速较快,选用无接触式的光敏编码器。

综上所述,本次设计采用增量式旋转光电编码器。其工作原理为在一个码盘的边缘上开有相等角度的缝隙(分为透明和不透明部分),在开缝码盘两边分别安装光源及光敏元件。当码盘随工作轴一起转动时,每转过一个透光缝隙就产生一个脉冲信号,并将这个脉冲信号输出,编码器轴转一圈会输出固定的脉冲,脉冲数由编码器光栅的线数决定。

图1-3 编码器实物图

图1-4 编码器原理图

§1.4驱动器L298N简介

L298是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。

一个L298N芯片可同时通过PWM波方式驱动两台直流电机运转,外接9V电源为两台电机以及298N自身供电。芯片上的OUTl、OUT2 和OUT3、OUT4 之间分别接2 个直流电机;input1~input4 输入控制电位来控制电机的正反转;Enable 则输出PWM波对转速进行控制。

图1-5 L298N实物图

第2章上位机软件环境介绍

§2.1Matlab简介

Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

图2-1 Matlab软件界面

Matlab的用途非常广泛,包括数值分析,数值和符号计算,工程与科学绘图,控制系统的设计与仿真,数字图像处理技术,数字信号处理技术,通讯系统设计与仿真,财务与金融工程,管理与调度优化计算等等领域。本次设计使用Matlab中的simulink来与arduino单片机实现直流电机的控制,这些应用仅仅是Matlab强大功能的冰山一角。

§2.2 Simulink简介

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink,比如本次设计中所采用的Arduino Mega2560单片机,便可与simulink兼容。

Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB 的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。

Matlab的库中有着大量的模块,编程是只需要把要用的模块从库中拖出来,然后根据需要设置相应参数并连接,便可实现编程,十分的方便。而仿真的结果也可以通过示波器直接显示或者保存至Matlab的工作区,从而对结果进行分析与可视化,直观而方便。

§2.3 安装Arduino的simulink软件包

安装非常简单:在MATLAB命令窗口中输入 ‘targetinstaller’,按照提示进行即可安装相应软件包。

软件包安装成功后,点击Matlab主界面上的按钮,进入到simulink 窗口,可以发现其对Arduino的支持,Arduino硬件相关的模块已经加入到了库中,如下图所示。

图2-2 Simulink界面

§2.4 在simulink中建立模型

首先按上节所术方法进入Simulink Library Browser中,然后点击File,然后选择new下的Model即可。如下图所示。

图2-3 Simulink中建模

或者点击“Newmodel”按钮或直接使用快捷键Ctrl+Alt+M。如此便可进入simulink环境开始构建模型了。

图2-4 Simulink建模界面

第3章系统模型的建立

§3.1系统整体结构设计

本模型的目的为由simulink与Arduino实现无缝对接,控制两边车轮的转速。两边车轮各有一台直流电机通过齿轮组成的传动系统来驱动。那么控制车轮的转速就相当于控制两台直流电机的转速。直流电机的调速方式主要有改变电枢电压,改变励磁,串接电阻等。而通过L298N来驱动直流电机的调速,相当于是改变电压实现调速。PWM周期性的控制电源通断,通过改变占空比的方式来改变电机两端的平均电压,以此来达到改变速度的目的。

两台编码器测得的脉冲经过一定的处理可以转换成为速度信号,反馈回单片机对系统实现闭环的PID控制调节。系统的整体结构设计如下图所示:

图3-1 系统总体结构设计

§3.2 电机控制系统设计

由于电机是由L298N驱动,由L298N的工作原理可知,每一个电机的驱动需要输入三个信号:IN1和IN2分别输入1个高电平,1个低电平,用来控制直流电机转动的方向,ENA输入一个PWM波信号来控制转速。同理,驱动另一个电机的IN3、IN4以及ENB也需要同类的信号。

本设计要求小车能够遵照指令加速,减速,转弯或者停止,所以两个电机的转速可能是不同的,我们要对两个电机的速度信号分别做出控制。如果我们采用两个速度信号分别作为两个电机的输入信号的话,可以实现转弯的功能,不过在simulink环境的实时控制下,无法同时对两个信号做出改变,那么在加速或者减速是无法使两电机同时改变速度,那么小车则会有一段时间的转弯,不符合设计要求。根据这一设计要求,采用一个速度信号一个转弯信号,采用两个加减运算器的设计,如下图所示:

图3-2 速度信号输入设计

右轮的输入信号为:速度信号+转弯信号;

左轮的输入信号为:速度信号-转弯信号。

在直行时,转弯速度为零,两轮速度信号一致,转弯时只需设置一个转弯信号,两轮的输入便会产生两倍转弯信号的差值,使两轮出现转速差,实现转弯。由系统可知,正的转弯信号为左转,负的转弯信号为右转。

由于系统需要PID反馈调节的控制,而这个速度信号作为整个系统的输入量,则需要经过比较器和PID控制器的计算后才能够通过单片机产生响应的PWM波对电机进行驱动。

图3-3 输入信号处理

由于这个速度信号通过PID控制器后要作为产生PWM波的参数,而PWM 波参数有一个0~255的取值范围,所以我们要对这个速度信号做一下范围的限制,其实现方法为采用饱和输出模块,该模块的作为为设定一个最小值和一个最大值,所有在这个范围内的输入量均可正常输出,而当输入小于这个最小值时,则输出这个设定的最小值;当输入大于设定的最大值时,则输出设定的这个最大值。那么饱和模块的效果就是使得不管输入什么值,输出总是在这个最小值和最大值之间。我们把最小值设置为0,最大值设置为255即可符合PWM的要求。最后产生的速度信号输入到Arduino硬件模块库中的PWM中即可通过单片机产生PWM波了。而高低电平的四个输入选用Digital Output模块即可。则电机控制系统的最后设计即如下图所示:

图3-4 电机控制系统设计

§3.3 编码器转换系统设计

正如上文编码器简介中所说,编码器输出的是脉冲信号,并不直接就是速度信号,所以我们需要通过一定方法将输入的脉冲信号转换成速度信号才能反馈回系统进行反馈控制。

通过了解光电增量旋转编码器的原理我们可以知道,只要我们能够得知码盘的步数(即码盘转一圈所产生的脉冲数),以及两个脉冲之间的时间,那我们就可以利用公式:

ω=θ/t (3-1)式中:

ω为角速度,θ为角度,t为时间。求出车轮的角速度。而已知编码器的步数,则可利用公式:

θ=360°/n (3-2) 式中:

n为编码器的步数。

利用3-1求出的转速单位为°/s,若想得到r/min的转速则:

1°/s=1/60r/min (3-3)

将3-1、3-2、3-3三式联立,即可得到:

ω=60/nt (3-4)式中:

ω的单位即为r/min。

本次设计中,利用Arduino的开发平台编写了简单的统计脉冲数量的程序,然后手动转动车轮一圈,得到车轮转动一圈的脉冲数,即可得到编码器的步数。本次设计所使用的编码器步数为100,即n=100。

将n=100代入式3-4中,得:

ω=0.6/t (3-5)由此可得,只需求出两次脉冲之间的时间,即可通过式3-5求出车轮的转速。这需要通过一个上升沿触发子系统来实现这个目的。

在子系统中我们需要一个Digital Clock模块来产生一个准确的时间。在一个上升沿到来时,即编码器的一个脉冲到来,子系统触发,利用时钟记录下来一个时间,待到下一个上升沿到来时,再记录下一个时间,利用加减器模块计算出来时间的差,即为两个脉冲之间的时间。且第二个时间会代替第一个时间,等待下一次脉冲触发,下一个时间到来,再次求差,被替换,如此循环。而使子系统触发的编码器脉冲则应当从Arduino Mega2560的I/O口中读入,如下图所示:

图3-5 子系统脉冲输入

求两脉冲之间时间差值的系统如下图所示:

基于Matlab的自动控制系统设计与校正

自动控制原理课程设计设计题目:基于Matlab的自动控制系统设计与校正

目录 第一章课程设计内容与要求分析.................................................... 错误!未定义书签。 1.1设计内容 (1) 1.2 设计要求 (1) 1.3 Matlab软件 (2) 1.3.1基本功能 (2) 1.3.2应用 (2) 第二章控制系统程序设计 (4) 2.1 校正装置计算方法 (4) 2.2 课程设计要求计算 (4) 第三章利用Matlab仿真软件进行辅助分析 (6) 3.1校正系统的传递函数 (6) 3.2用Matlab仿真 (6) 3.3利用Matlab/Simulink求系统单位阶跃响应 (8) 3.2.1原系统单位阶跃响应 (8) 3.2.2校正后系统单位阶跃响应 (8) 3.2.3校正前、后系统单位阶跃响应比较 (8) 3.4硬件设计 (8) 3.4.1在计算机上运行出硬件仿真波形图 (9) 课程设计心得体会 (10) 参考文献 (12)

1 第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+= s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11 )(++-=Ts Ts K s W c c α, 其中 1 3 2R R R K c += , 1 ) (13243 2>++ =αR R R R R ,C R T 4=, “-”号表示反向输入端。若Kc=1,且开关S 断开,该装置相当于一个放大系数为1的放大器(对原系统没有校正作用)。 1.2 设计要求 1 1.0)(≤∞e ,开环截止频率ω’≥45°; 2 3) 4)设校正装置网络元件参数R4、5R=100K ,C=1μF 、10μF 若干个); 6)利用Matlab 仿真软件辅助分析,绘制校正前、后及校正装置对数频率特性曲线,并验算设计结果; 7)在Matlab-Simulink 下建立系统仿真模型,求校正前、后系 统单位阶跃响应特性,并进行系统性能比较; 8)利用自动控制原理实验箱完成硬件设计过程,包括:搭建校正前后 c R R

自动控制matlab报告

自动控制原理实验报告 ——控制系统的阶跃响应 09021209 侯竟骁 一、实验目的 1、观察学习控制系统的单位阶跃响应; 2、记录单位阶跃响应曲线; 3、掌握时间响应分析的一般方法。 二、实验步骤 1、开机执行程序 c:\ml\bin\matlab-s.exe (用鼠标双击图标)进入MATLAB 命令窗口:“Command Windows ”。 2、建立系统模型 在MATLAB 命令窗口上,以立即命令方式建立系统的传递函数。在MATLAB 下,系统传递函数有三种描述方式,在实验中只用到多项式模型和零点极点模型 多项式模型 ) ()()(s s s den num G = 式中“num(s)”表示分子多项式的系数,“den(s)”表示分母多项式的系数,全部按照复自变量s 的降幂排列,以行向量的方式输入。例如,程序为 num=[0 1 3]; 分子多项式系数 den=[1 2 2 1]; 分母多项式系数 printsys(num,den); 构造传递函数G(s)并显示 零点极点模型 ∏ ∏--= n i m j s s s ) () ()(p z k G 式中,k 为增益值,z j 为第j 个零点值,p i 为第i 个零点值。例如,程序为 k=2; 赋增益值,标量 z=[1]; 赋零点值,向量 p=[-1 2 -3]; 赋极点值,向量 [num,den]=zp2tf(z,p,k); 零点极点模型转换成多项式模型 printsys(num,den); 构造传递函数G(s)并显示 给定系统传递函数)(s G 的多项式模型,求系统的单位脉冲响应。传递函数为

) ()()(s s s den num G = 式中,num (s)为系统传递函数)(s G 的分子多项式系数向量,den (s)为系统传递函数)(s G 的分母多项式系数向量。 函数格式1:给定num 、den 求系统的阶跃响应。时间向量t 的范围自动设定。 函数格式2:时间向量t 的范围可以由人工给定。(t=0:0.1:10) 函数格式3:返回变量格式。计算所得的输出y 、状态x 及时间向量t 返回至MATLAB 命令窗口,不作图。更详细的命令说明,可键入“help step ”在线帮助查阅。 例如 4 4)(2 ++= s s s G MATLAB 程序 num=[4]; den=[1 1 4]; step(num,den); 响应曲线如图所示。 给定特征多项式系数向量,计算系统的闭环根、阻尼比、无阻尼振荡频率。 三、实验内容 1、二阶系统为10 210)(2 1++= s s s G (a )键入程序,观察、记录阶跃响应曲线。 (b )键入damp(den)计算系统的闭环根、阻尼比、无阻尼振荡频率,并作记录。

基于Matlab的控制系统Bode图超前校正设计

《自动控制系统》课程设计基于Matlab控制系统的Bode图超前校正设计 2O11 年11月 12日

摘要:串联超前校正,是在频域内进行的系统设计,是一种间接地设计方法。因为设计结果满足的是一些频域指标,而不是时域指标,然而,在频域内进行设计,又是一种简便的方法,在伯德图的虽然不能严格地给出系统的动态系能,但却方便地根基频域指标确定校正参数,特别是对已校正系统的高频特性有要求时,采用频域法校正较其他方法更为简便。

目录 一、设计的要求 (4) 二设计意义 (4) 三、设计思路 (4) 四、参数的计算 (6) 参考文献 (13)

) 101.0)(11.0(1 )(++=s s s k s G 一、设计的要求 试用 Bode 图设计方法对系统进行超前串联校正设计,要求: (1)在斜坡信号 r (t ) = v t 作用下,系统的稳态误差 ess ≤ 0.01v0; (2)系统校正后,相角稳定裕度 γ 满足 : 48deg ≤ γ; (3)剪切频率 ωc ≥ 170rad/s 。 二设计意义 对于一个控制系统来说,如果它的元部件及其参数已经给定,就要分析它是否能满足所要求的各项性能指标。一般把解决这类问题的过程称为系统的分析。在实际工程控制问题中,还有另一类问题需要考虑,即往往事先确定了满足的性能指标,让我们设计一个系统并选择适当的参数来满足性能指标要求;或考虑对原已选定的系统增加某些必要的原件或环节,使系统能够全面的满足所要求的性能指标。利用超前网络或PD 控制器进行串联校正的基本原理,是利用超前网络或PD 控制器的相角超前特性。只要正确的将超前网络的交接频率1/aT 和1/T 选在待校正系统截止频率的两旁,并适当选择参数a 和T ,就可以使已校正系统的截止频率和相角裕度满足性能指标的要求,从而改善闭环系统的动态性能。 三、设计思路 。 1.根据稳态误差要求,确定开环增益K 。 2.根据已确定的开环增益K ,绘制原系统的对数频率特性曲线0()L ω、()o ?ω,计算其稳定裕度o γ、0g L 。 3.确定校正后系统的截止频率'c ω和网络的a 值。 ①若事先已对校正后系统的截止频率'c ω提出要求,则可按要求值选定'c ω。

自动控制常见MATLAB函数的应用

自动控制常见MATLAB 函数的应用 1、在matlab 中采用roots 函数求解多项式的根,采用conv 函数实 现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G 1±G2(3)、反馈连接命令G=feedback (G1,G2,Sign )(sign 用来表示系统是正反馈或负反馈,sign=-1为负反馈) 例如:① 程序如下: >>p=[1304]; >>roots(p) ans = -3.3553 0.1777+1.0773i 0.1777-1.0773i ②、用matlab 实现: 程序如下: >>p=[321];q=[14]; >>n=conv(p,q) n = 31494③、一个传递函数模型,可以由下面的命令输入:32()34p s s s =++2 ()(321)(4)n s s s s =+++325()345 s G s s s s +=+++

>>num=[15];den=[1345]; >>G=tf(num,den) Transfer function: s +5 --------------------- s^3+3s^2+4s +5 ④、如下图所示,前向传递函数为G (S ) ,反馈回路传递函数为H(S),利用feedback 计算系统的闭环传递函数 程序如下: >>numg=[1];deng=[50000]; >>numh=[11];denh=[12]; >>[num,den]=feedback(numg,deng,numb,denh,-1); >>[num,den]=feedback(numg,deng,numh,denh,-1); >>G=tf(num,den) () R S ???→

PID闭环控制

~ PID控制 当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。 目录 概述 基本用途 现实意义 1系统分类开环控制系统 1闭环控制系统 1阶跃响应 1PID控制的原理和特点比例(P)控制 1积分(I)控制 1微分(D)控制

PID控制器的参数整定 1PID控制实现PID 的反馈逻辑 1打开 PID 功能 1目标信号与反馈信号 1目标值给定 1反馈信号的连接 1P 、 I 、 D 参数的预臵与调整比例增益 P 1积分时间 1微分时间 D 1P 、 I 、 D 参数的调整原则 展开 概述 这个理论和应用自动控制的关键是,做出正确的测量和比较后,如何才能更好地纠正系统。PID(比例-积分-微分)控制器作为最早实用化的控制器已有70多年历史,现在仍然是应用最广泛的工业控制器。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e (t)与输出u (t)的关系为u(t)=kp(e(t)+1/TI

∫e(t)dt+TD*de(t)/dt) 式中积分的上下限分别是0和t 因此它的传递函数为:G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s) 其中kp为比例系数; TI为积分时间常数; TD为微分时间常数基本用途 它由于用途广泛、使用灵活,已有系列化产品,使用中只需设定三个参数(Kp, Ti和Td)即可。在很多情况下,并不一定需要全部三个单元,可以取其中的一到两个单元,但比例控制单元是必不可少的。首先,PID应用范围广。虽然很多工业过程是非线性或时变的,但通过对其简化可以变成基本线性和动态特性不随时间变化的系统,这样PID就可控制了。其次,PID参数较易整定。也就是,PID参数Kp,Ti和Td可以根据过程的动态特性及时整定。如果过程的动态特性变化,例如可能由负载的变化引起系统动态特性变化,PID参数就可以重新整定。第三,PID控制器在实践中也不断的得到改进,下面两个改进的例子。在工厂,总是能看到许多回路都处于手动状态,原因是很难让过程在“自动”模式下平稳工作。由于这些不足,采用PID的工业控制系统总是受产品质量、安全、产量和能源浪费等问题的困扰。PID参数自整定就是为了处理PID参数整定这个问题而产生的。现在,自动整定或自身整定的PID控制器已是商业单回路控制器和分散控制系统的一个标准。在一些情况下针对特定的系统设计的PID控制器控制得很好,但它们仍存在

单闭环控制系统设计及仿真要点

单闭环控制系统设计及仿真 班级电信2014 姓名张庆迎 学号142081100079

摘要直流调速系统具有调速范围广、精度高、动态性能好和易于控制等优点,所以在电气传动中获得了广泛应用。本文从直流电动机的工作原理入手,建立了双闭环直流调速系统的数学模型,并详细分析了系统的原理及其静态和动态性能。然后按照自动控制原理,对双闭环调速系统的设计参数进行分析和计算,利用Simulink对系统进行了各种参数给定下的仿真,通过仿真获得了参数整定的依据。在理论分析和仿真研究的基础上,本文设计了一套实验用双闭环直流调速系统,详细介绍了系统主电路、反馈电路、触发电路及控制电路的具体实现。对系统的性能指标进行了实验测试,表明所设计的双闭环调速系统运行稳定可靠,具有较好的静态和动态性能,达到了设计要求。采用MATLAB软件中的控制工具箱对直流电动机双闭环调速系统进行计算机辅助设计,并用SIMULINK进行动态数字仿真,同时查看仿真波形,以此验证设计的调速系统是否可行。 关键词直流电机直流调速系统速度调节器电流调节器双闭环系统 一、单闭环直流调速系统的工作原理 1、单闭环直流调速系统的介绍 单闭环调速系统的工作过程和原理:电动机在启动阶段,电动机的实际转速(电压)低于给定值,速度调节器的输入端存在一个偏差信号,经放大后输出的电压保持为限幅值,速度调节器工作在开环状态,速度调节器的输出电压作为电流给定值送入电流调节器, 此时则以最大电流给定值使电流调节器输出移相信号,直流电压迅速上升,电流也随即增大直到等于最大给定值, 电动机以最大电流恒流加速启动。电动机的最大电流(堵转电流)可以通过整定速度调节器的输出限幅值来改变。在电动机转速上升到给定转速后, 速度调节器输入端的偏差信号减小到近于零,速度调节器和电流调节器退出饱和状态,闭环调节开始起作用。 2、双闭环直流调速系统的介绍 为了实现转速和电流两种负反馈分别起作用,可在系统中设置两个调节器,分别调节转速和电流,即分别引入转速负反馈和电流负反馈。两者之间实行嵌套连接,如图1—1所示。把转速调节器的输出当作电流调节器的输入,再用电流调节器的输出去控制电力电子变换器UPE。从闭环结构上看,电流环在里面,称

SPWM波控制单相逆变器双闭环PID调节器的Simulink建模与仿真

SPWM波控制单相逆变器双闭环PID调节器的Simulink 建模与仿真 随着电力行业的快速发展,逆变器的应用越来越广泛,逆变器的好坏 会直接影响整个系统的逆变性能和带载能力。逆变器的控制目标是提高逆变器 输出电压的稳态和动态性能,稳态性能主要是指输出电压的稳态精度和提高带 不平衡负载的能力;动态性能主要是指输出电压的THD(Total Hannonic Distortion)和负载突变时的动态响应水平。在这些指标中对输出电压的THD 要 求比较高,对于三相逆变器,一般要求阻性负载满载时THD 小于2%,非线性满载(整流性负载)的THD 小于5%.这些指标与逆变器的控制策略息息相关。文中主要介绍如何建立电压双环SPWM 逆变器的数学模型,并采用电压有效值外 环和电压瞬时值内环进行控制。针对UPS 单模块10 kVA 单相电压型SPWM 逆变器进行建模仿真。通过仿真,验证了控制思路的正确性以及存该控制策略 下的逆变器所具有的鲁棒性强,动态响应快,THD 低等优点。并以仿真为先导,将其思想移植到具体开发中,达到预期效果。 1 三电平逆变器单相控制模型的建立 带LC 滤波器的单相逆变器的主电路结构如图1 所示。图1 中L 为输出 滤波电感,C 为滤波电容,T1,T2,T3,T4 分别是用来驱动IGBT 的三电平的SPWM 波,U0 为输出负载两端的电压。在建立控制系统的仿真模型时,需要 采集负载两端的电压与实际要求的电乐值做比较,然后通过调节器可以得到所 需要调节的值。在此仿真模型中,驱动波形采用的是三电平的SPWM 波形, 具体的产生原理在这不做详细描述。在Matlah 的Simlink 库中SPWM 波的产 生如图2 所示,这里调制比设为0.8.

自动控制MATLAB仿真作业

XXXXXXX 大学 《自动控制原理》MATLAB分析与设计 仿真实验报告 院系:电气工程与信息工程学院 班级: 姓名: 学号: 时间:20 年月日 电气工程与信息工程学院

《自动控制原理》MATLAB 分析与设计仿真实验任务书(2013) 一、仿真实验内容及要求 1.MATLAB 软件 要求学生通过课余时间自学掌握MA TLAB 软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MA TLAB 仿真集成环境Simulink 的使用。 2.各章节实验内容及要求 1)第三章 线性系统的时域分析法 ? 对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比 较,分析仿真结果; ? 对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器 的作用; ? 在MATLAB 环境下完成英文讲义P153.E3.3。 ? 对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=a K 时,试采用 微分反馈使系统性能满足%5%,σ<3250,510s ss t ms d -≤

MATLAB在自动控制原理中的应用

本论文主要研究如何根据用户要求的性能指标进行自动控制系统的串联校正设计,而此设计又具有很重要的现实意义。对于给定的线性定常系统,我们通常通过加入串联超前、滞后或超前滞后综合校正装置,以达到提高系统的精度和稳定性的目的。本文将给出基于频率特性法串联校正的具体设计方法,同时对该课题中的控制系统模型进行仿真。本设计可实现如下功能:对一个线性定常系统,根据需求的性能指标,通过本设计可给出系统的串联校正网络,从绘制出的各种响应曲线可以直观地将校正前后的系统进行比较,而仿真实例结果也进一步表明了此设计方法有效性和实用性。 关键词:串联校正;根轨迹;频率特性法;MATLAB 1.1研究目的 在实际工程控制中,往往需要设计一个系统并选择适当的参数以满足性能 指标的要求,或对原有系统增加某些必要的元件或环节,使系统能够全面满足 性能指标要求,此类问题就称为系统校正与综合,或称为系统设计。 当被控对象给定后,按照被控对象的工作条件,被控信号应具有的最大速 度和加速度要求等,可以初步选定执行元件的形式、特性和参数。然后,根据 测量精度、抗扰能力、被测信号的物理性质、测量过程中的惯性及非线性度等 因素,选择合适的测量变送元件。在此基础上,设计增益可调的前置放大器与 功率放大器。这些初步选定的元件以及被控对象适当组合起来,使之满足表征 控制精度、阻尼程度和响应速度的性能指标要求。如果通过调整放大器增益后 仍然不能全面满足设计要求的性能指标,就需要在系统中增加一些参数及特性 可按需要改变的校正装置,使系统能够全面满足设计要求,这就是控制系统设 计中的校正问题。系统设计过程是一个反复试探的过程,需要很多经验的积累。MATLAB为系统设计提供了有效手段。 1.2相关研究现状 系统仿真作为一种特殊的实验技术,在20世纪30-90年代的半个多世纪中经历了飞速发展,到今天已经发展成为一种真正的、系统的实验科学。自动控制系统仿真是系统仿真的一个重要分支,它是一门设计自动控制理论、计算机数学、计算机技术、系统辩识以及系统科学的综合性新型学科。它为控制系统的分析、计算、研究、综合设计以及自动控制系统的计算机辅助教学等提供了快速、经济、

用matlab实现自动控制系统的分析与设计

使用MATLAB对控制系统进行计算机仿真的主要方法是:以控制系统的传递函数为基础,使用MATLAB的Simulink工具箱对其进行计算机仿真研究。 1.时域分析中性能指标 为了保证电力生产设备的安全经济运行,在设计电力自动控制系统时,必须给出明确的系统性能指标,即控制系统的稳定性、准确性和快速性指标。通常用这三项技术指标来综合评价一个系统的控制水平。对于一个稳定的控制系统,定量衡量性能的好坏有以下几个性能指标:(1)峰值时间tp;(2)调节时间ts;(3)上升时间tr;(4)超调量Mp%。 怎样确定控制系统的性能指标是控制系统的分析问题;怎样使自动控制系统的性能指标满足设计要求是控制系统的设计与改造问题。在以往进行设计时,都需要通过性能指标的定义徒手进行大量、复杂的计算,如今运用MATLAB可以快速、准确的直接根据响应曲线得出性能指标。例如:求如下二阶系统的性能指标: 首先用MATLAB在命令窗口编写如下几条简单命令: num=[3]; %传递函数的分子多项式系数矩阵 den=[1 1.5 3]; %传递函数的分母多项式系数矩阵 G=tf(num,den); %建立传递函数 grid on; %图形上出现表格 step(G) %绘制单位阶跃响应曲线 通过以上命令得到单位阶跃响应曲线如图1,同时在曲线上根据性能指标的定义单击右键,则分别可以得到此系统的性能指标:峰值时间tp=1.22s;调节时间ts=4.84s;上升时间tr=0.878s;超调量Mp%=22.1%。 图1 二阶系统阶跃响应及性能指标 2.具有延迟环节的时域分析 在许多实际的电力控制系统中,有不少的过程特性(对象特性)具有较大的延迟,例如多容水箱。对于具有延迟过程的电力控制无法保证系统的控制质量,因此进行设计时必须考虑实际系统存在迟延的问题,不能忽略。所以设计的首要问题是在设计系统中建立迟延环节的数学模型。 在MATLAB环境下建立具有延迟环节的数学模型有两种方法。 例:试仿真下述具有延迟环节多容水箱的数学模型的单位阶跃响应曲线: 方法一:在MATLAB命令窗口中用函数pade(n,T) num1=1;den1=conv([10,1],[5,1]);g1=tf(num1,den1); [num2,den2]=pade(1,10);g2=tf(num2,den2); g12=g1*g2; step(g12) 图2 延迟系统阶跃响应曲线 方法二:用Simulink模型窗口中的Transport Delay(对输入信号进行给定的延迟)模块 首先在Simulink模型窗口中绘制动态结构图,如图3所示。 图3 迟延系统的SIMULINK实现

异步电机的双闭环控制

电机电子系统计算机控制与仿真 学院:信息工程学院 专业班级:电机与电器 学生姓名:仪轩杏 学号:406107016001 指导老师:张景明

异步电机的双闭环控制 1 引言 矢量控制是目前交流电机的先进控制方式,一般将含有矢量变换的交流电机控制都称之为矢量控制,实际上只有建立在等效直流机模型上,并按转子磁场准确定向的控制,电机才能获得最优的动态性能。 2 基本原理 矢量控制的基本思路是以产生相同的旋转磁动势为准则,将异步电机在静止三相坐标系上的定子交流电流通过坐标变换等效成同步旋转坐标系上的直流电流,分别加以控制,以达到直流电机的控制效果。 异步电机在两相同步旋转坐标系上的数学模型为: 11sm s s e s m e m sm st e s s s e m m st rm m e m r r s r rm rt s m m s r r r rt u R pL L pL L i u L R pL L pL i u pL L R pL L i u L pL L R pL i ωωωωωωωω+--?????? ??????+??????=?????? -+-??? ??? +?????? 00000000 sm s m sm st s m st rm m r rm rt m r rt L L i L L i L L i L L i ψψψψ??????????????????=?????????????????? ()e p m st sm sm rt T n L i i i i =- 当两相同步旋转坐标系按转子磁链定向时,应有,0rm r rt ψψψ==,即得 m e p st r r L T n i L ψ= 1m r sm r L i pT ψ= + m s st r r L i T ωψ= 其中,w e 为同步转速,w r 为转子角频率,w s 为转差角速度,T r 为转子时间常数,n p 为极对数,R s 、R r 为定子、转子电阻,L s 、L r 、L m 为定子、转子电感及定转子之间的互感,p 为微分算子,ψr 为转子磁链。

基于Matlab的自动控制系统设计与校正

自动控制原理课程设计 设计题目:基于Matlab的自动控制系统设计与校正

目录 目录 第一章课程设计内容与要求分析 (1) 1.1设计内容 (1) 1.2 设计要求 (1) 1.3 Matlab软件 (2) 1.3.1基本功能 (2) 1.3.2应用 (3) 第二章控制系统程序设计 (4) 2.1 校正装置计算方法 (4) 2.2 课程设计要求计算 (4) 第三章利用Matlab仿真软件进行辅助分析 (6) 3.1校正系统的传递函数 (6) 3.2用Matlab仿真 (6) 3.3利用Matlab/Simulink求系统单位阶跃响应 (10) 3.2.1原系统单位阶跃响应 (10) 3.2.2校正后系统单位阶跃响应 (11) 3.2.3校正前、后系统单位阶跃响应比较 (12) 3.4硬件设计 (13) 3.4.1在计算机上运行出硬件仿真波形图 (14) 课程设计心得体会 (16) 参考文献 (18)

第一章 课程设计内容与要求分析 1.1设计内容 针对二阶系统 )1()(+= s s K s W , 利用有源串联超前校正网络(如图所示)进行系统校正。当开关S 接通时为超前校正装置,其传递函数 11 )(++-=Ts Ts K s W c c α, 其中 132R R R K c += ,1 )(13243 2>++=αR R R R R ,C R T 4=, “-”号表示反向输入端。若Kc=1,且开关S 断开,该装置相当于一个放 大系数为1的放大器(对原系统没有校正作用)。 1.2 设计要求 1)引入该校正装置后,单位斜坡输入信号作用时稳态误差1.0)(≤∞e ,开环截止频率ωc’≥4.4弧度/秒,相位裕量γ’≥45°; 2)根据性能指标要求,确定串联超前校正装置传递函数; 3)利用对数坐标纸手工绘制校正前、后及校正装置对数频率特性曲线; c R R

《自动控制原理》MATLAB分析与设计-(1)

兰州理工大学 《自动控制原理》MATLAB分析与设计 仿真实验报告 院系:电信学院 班级:自动化四班 姓名:周媛 学号: 09220433 时间:2011年 11 月 22日 电气工程与信息工程学院

第三章 线性系统的时域分析法 P136.3-5 单位反馈系统的开环传递函数为0.41 ()(0.6) s G s s s += + 该系统的阶跃响应 曲线如下图所示,其中虚线表示忽略闭环零点时(即21 ()21 G s s s =+=)的阶跃 响应曲线. 解:matlab 程序如下 num=[0.4 1];den=[1 0.6 0]; G1=tf(num,den); G2=1; G3=tf(1,den); sys=feedback(G1,G2,-1); sys1=feedback(G3,G2,-1); p=roots(den) c(t)=0:0.1:1.5; t=0:0.01:20; figure(1) step(sys,'r',sys1,'b--',t);grid; xlabel('t');ylabel('c(t)');title('阶跃响应'); 程序运行结果如下: 阶跃响应 t (sec) 结果对比与分析:

时间,但是同时也增大了超调量,所以,在选择系统的时候应该同时考虑减小响应时间和减小超调量。并在一定程度上使二者达到平衡,以满足设计需求。 P139.3-9 设测速反馈校正系统控制系统的闭环传递函数为210 ()310 s s s Φ=++, 比例-微分校正系统的闭环传递函数为210 ()310 s s s s +Φ=++,试分析在不同控制器 下的系统的稳态性能。 解:matlab 程序如下, %第一小题 G1=tf([10],[1 1 0]); G2=tf([0.2 0],[1]); G3=feedback(G1,G2,-1); G4=series(1,G3); sys=feedback(G4,1,-1); %第二小题 G5=tf([0.1 0],[1]); G6=1; G7=tf([10],[1 1 0]); G8=parallel(G5,G6); G9=series(G8,G7); sys1=feedback(G9,1,-1); p=roots(den) t=0:0.01:15; figure step(sys,'r',sys1,'b--',t);grid; xlabel('t');ylabel('c(t)');title('阶跃响应'); 不同控制器下的单位阶跃响应曲线如下图所示,其中红色实线为测速反馈校正系统的阶跃响应,蓝色虚线为比例-微分校正系统的单位阶跃响应曲线。

Matlab在自动控制中的应用教学内容

M a t l a b在自动控制中 的应用

MATLAB在控制理论中的应用 摘要:为解决控制理论计算复杂问题,引入了MATLAB。以经典控制理论和现代控制理论中遇到的一些问题为具体实例,通过对比的手法,说明了MATLAB在控制理论应用中能节省大量的计算工作量,提高解题效率。 引言:现代控制理论是自动化专业一门重要的专业基础课程,内容抽象,且计算量大,难以理解,不易掌握。采用MATLAB软件计算现代控制理论中的问题可以很好的解决这些问题。自动控制理论分为经典控制理论和现代控制理论,在控制理论学习中,经常要进行大量的计算。这些工作如果用传统方法完成,将显得效率不高,额误差较大。因此。引用一种借助于计算机的高级语言来代替传统方法就显得十分必要。MATLAB集科学计算,可视化,程序设计于一体,对问题的描述与求解较为方便,在控制理论的学习中是一种备受欢迎的软件。 MATLAB简介:MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 1、MATLAB在系统的传递函数和状态空间模型之间的相互转换的应用:例1:求以下状态空间模型所表示系统的传递函数: 解:执行以下的M-文件:

Buck电路闭环控制策略研究

编号 南京航空航天大学 电气工程综合设计报告题目Buck电路闭环控制策略研究 学生姓名班级学号成绩 张潼0311205 031120505 杨岚0311205 031120508 何晓微0311201 031120110 龚斌0311206 031120631 李博0311205 031020519 学院自动化学院 专业电气工程及其自动化 指导教师毛玲 二〇一五年一月

Buck电路闭环控制策略研究 摘要 首先,本文对Buck电路的3种闭环控制策略进行了原理分析,比较,并对Buck主功率级电路进行了原理分析和建模,最后完成主电路的参数设计。 其次,本文详细阐述了V2控制工作原理,推导V2控制环的传递函数,并且建立小信号模型,对控制器进行优化设计。最后使用SABER2007对BUCK电路的V2控制电路进行了时域频域仿真。 关键词:Buck电路,V2控制

目录 摘要 (i) Abstract ...................................................................................................... 错误!未定义书签。第一章概述......................................................................................................................... - 1 - 第二章Buck变换器控制方法简介……………………………………………………… 2.1电压型控制………………………………………………………………………………. 2.2电流型控制……………………………………………………………………………… 2.3 V2控制…………………………………………………………………………………… 第三章Buck变换器原理分析及建模……………………………………………………. 3.1 Buck 变换器传递函数…………………………………………………………………. 3.2Buck电路的边界条件……………………………………………………………………3.3主功率电路的参数设计……………………………………………………………….. 第四章V2控制电路分析及设计……………………………………………………….. 4.1V2控制原理分析 4.2 V2控制的buck变换器小信号模型 4.3V2控制器优化设计 第五章电路仿真………………………………………………………………………… 5.1V2控制策略频域仿真 5.2时域仿真电路和仿真波形

MATLAB自动控制课程设计报告

一、实训目的: 了解matlab 软件的基本特点和功能,熟悉其界面,菜单和工具条;掌握线性系统模型的计算机表示方法,变换以及模型间的相互转换。了解控制系统工具箱的组成,特点及应用;掌握求线性定常连续系统输出响应的方法,运用连续系统时域响应函数(impulse,step,lsim),得到系统的时域响应曲线。 掌握使用MATLAB软件作出系统根轨迹;利用根轨迹图对控制系统进行分析;掌握使用MA TLAB软件作出开环系统的波特图,奈奎斯图;观察控制系统的开环频率特性,对控制系统的开环频率特性进行分析。 掌握MATLAB软件中simulink工具箱的使用;熟悉simulink中的功能模块,学会使用simulink对系统进行建模;掌握simulink的仿真方法。 二、软件介绍: MATLAB是Mathworks公司开发的一种集数值计算、符号计算和图形可视化三大基本功能于一体的功能强大、操作简单的优秀工程计算应用软件。MATLAB不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能。从而能够很好的帮助工程师及科学家解决实际的技术问题。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MA TLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB最重要的特点是易于扩展。它允许用户自行建立完成指定功能的扩展MATLAB函数(称为M文件),从而构成适合于其它领域的工具箱,大大扩展了MATLAB的应用范围。目前,MATLAB已成为国际控制界最流行的软件,控制界很多学者将自己擅长的CAD方法用MATLAB加以实现,出现了大量的MATLAB配套工具箱,如控制系统工具箱(control systems toolbox),系统识别工具箱(system identification toolbox),鲁棒控制工具箱(robust control toolbox),信号处理工具箱(signal processing toolbox)以及仿真环境SIMULINK 等。

matlab自控仿真实验报告

目录 实验一 MATLAB及仿真实验(控制系统的时域分析) (1) 实验二 MATLAB及仿真实验(控制系统的根轨迹分析) (4) 实验三 MATLAB及仿真实验(控制系统的频域分析) (7)

实验一 MATLAB 及仿真实验(控制系统的时域分析) 学习利用MATLAB 进行以下实验,要求熟练掌握实验容中所用到的指令,并按容要求完成实验。 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间围0---Tn 。 3、),(T sys step ;表示时间围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为: ) ()()()(1 )(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、

Buck电路闭环控制器设计仿真设计

Buck 电路闭环控制器设计 15121501 曾洋斌 作业要求: 1、 建立Buck 电路的状态平均模型,设计系统闭环控制器; 2、 分析稳态误差产生原因,并提出改进措施,并进行仿真; 3、完成作业报告。 4、Buck 电路参数:输入电压为20V ,输出电压5V ,负载电阻4欧姆,电感1×10-3H ,电容5×10-4F ,开关频率20kHz 。 一、Buck 电路的状态平均模型 根据题目所给参数,容易计算得其占空比为25%,Buck 电路如图1所示: S V o V 图1:Buck 电路 根据状态空间平均法建模步骤如下: 1、列写状态方程、求平均变量 设状态方程各项如下: [()()]T L o i t v t =x ()s u v t = ()VD y i t = 则有状态方程如下: x =Ax +Bu T y =C x

(1)列写[0,1S d T ]时间的状态方程 如图2所示,根据KCL 、KVL 以及电感电容的特性可以得到状态方程的系数 矩阵如下所示: 11011L C RC ?? - ? = ? ?- ???A ,11[0]T L =B ,1[00]T =C S V o V 图2:开关VT 导通状态 (2)列写[1S d T ,S T ]时间的状态方程 如图3所示,根据KCL 、KVL 以及电感电容的特性可以得到状态方程的系数 矩阵如下所示: 21011L C RC ??- ? = ? ?- ???A ,2[00]T =B ,2[10]T =C S V o V 图3:开关VT 关断状态 因此,在[0,1S d T ]和[1S d T ,S T ]两个时间段分别有如下两种状态方程:

matlab自动控制仿真常见函数应用

自动控制常见MATLAB 函数的应用 roots/conv/rlocus/zpk/tf/bode/step/impulse 1、 在matlab 中采用roots 函数求解多项式的根,采用conv 函数实 现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G 1±G2(3)、反馈连接命令G=feedback (G1,G2,Sign )(sign 用来表示系统是正反馈或负反馈,sign=-1为负反馈) 例如:① 程序如下: >> p=[1 3 0 4]; >> roots(p) ans = -3.3553 0.1777 + 1.0773i 0.1777 - 1.0773i ②、用matlab 实现: 程序如下: >> p=[3 2 1];q=[1 4]; >> n=conv(p,q) n = 3 1 4 9 4 ③、一个传递函数模型, 32()34p s s s =++2 ()(321)(4)n s s s s =+++325()345 s G s s s s +=+++

可以由下面的命令输入: >> num=[1 5];den=[1 3 4 5]; >> G=tf(num,den) Transfer function: s + 5 --------------------- s^3 + 3 s^2 + 4 s + 5 ④、如下图所示,前向传递函数为G (S ),反馈回路传递函数为H(S),利用feedback 计算系统的闭环传递函数 程序如下: >> numg=[1];deng=[500 0 0]; >> numh=[1 1];denh=[1 2]; >> [num,den]=feedback(numg,deng,numb,denh,-1); >> [num,den]=feedback(numg,deng,numh,denh,-1); >> G=tf(num,den) () R S ???

相关文档
相关文档 最新文档