热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

pwm调制matlab仿真,PWM脉冲调制直流电机的simulink仿真

PWM脉冲调制直流电机的simulink仿真仿真模型构建电机原理直流电机的4个动态特性方程式分别为:对上述式子去拉普拉斯变换并整理得:其中TcT_cTc

PWM脉冲调制直流电机的simulink仿真

仿真模型构建

电机原理

直流电机的4个动态特性方程式分别为:

7372e81166c72ec1544b67fbaa575cd9.png

对上述式子去拉普拉斯变换并整理得:

8941dc5800a0fde843b93d0afe3a57d8.png

其中

T

c

T_c

Tc​为电机轴上的总阻转矩。画出电机的系统传递函数框图:

b217cac68c12b289de652fbd88df9f81.png

代入相应数据后,结合实际情况,我们考虑使用如下改进从而进一步增加实用性。

a30a6c5708bc5952334053a4005149e4.png

将其封装作为一个子模块如图:

ccec29b769b931265efc092458d846f9.png

H桥原理

H桥电机驱动电路的核心包括4个MOSFET管和1个电机,如下图所示。

电路工作原理如下:为了使电机运转,必须导通对角线上的一对MOSFET管。根据不同MOSFET管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。当Q3管和Q6管导通时,电流从电源正极经Q3从左至右穿过电机,再经Q6回到电源负极,该流向的电流将驱动电机顺时针转动。当MOSFET管Q4和Q5导通时,电流将从右至左流过电机,驱动电机逆时针转动。通过控制PWM波形的占空比,达到对电机调速的目的。我们使用单极性PWM波和方向信号控制电机的转速和转向。

31e597e49cf28210d562008fe0560497.png

H桥左边的附加电路的作用是方便单极性PWM波控制H桥4个MOSFET管的通断。其中V_GND模块是测量电路中该点相对GND的电势。分析可知通过R1,R11的上拉,电路在附加电路的MOSFET管未导通时,输出高电平。所以Dir1,Dir2输入端口输入LOW,HIGH信号即可使Ua端口输出正值。

电路中所有的N沟道MOSFET饱和导通电压阈值为1v,P沟道MOSFET饱和导通电压阈值为-1;H桥中的二极管起到续流的作用。附加电路的二极管的作用是保证只接受正电压。

我们将该电路封装成一个子模块如下图。其中Vcc是电机能达到的最大工作电压。

5f2fcd96146a974e8eff6e7ea5c56e75.png

方向信号控制原理

如图,方向信号为正时只有Dir1会输出PWM信号,而Dir2端口输出低电平信号。同理,方向信号为负时,只有Dir2会输出PWM信号,Dir1端口输出低电平信号。结合H桥及其附属电路模块,我们可以用Dir信号控制电机转动方向。

716e233044ba8e03f1bdb54b656c586c.png

我们上图封装成一个子模块如下图:

d0349d530f55483890afdd78f4cc98da.png

电机驱动模块原理

结合方向模块和H桥及其附属电路模块,我们得到电机驱动的模块。接上48V的Vcc后,我们得到如下图模块。

4f71754744ddcebb56f9c4f7a0eb3d32.png

我们将其封装成子模块如图:

f4396bab895e7a2bdeb839dd20c48720.png

PWM生成原理

在本次模拟实验中,我们直接使用simulink中的一个PWM模块:

be1cfc34e38c5d505a62d807c232d81c.png

3e5ac2107bc1b70e0ced846f26b4590d.png

它的原理是:

我们输入一个阈值DC,选择载波类型(单边锯齿波和双边锯齿波)。然后当高于DC的时刻就输出低电平,低于阈值的时刻就输出高电平。这里我们选择上升沿的单边锯齿波(如上图)。由于载波的幅值为1,所以我们的阈值就是占空比值。载波的频率就是我们PWM波的频率。

最后,我们需要将PWM波的幅值变换到0~5V,以便我们控制使用。

电机仿真总模型

综上,我们得到了PWM驱动的直流电机的仿真图(如图1.12)。输入PWM波(通过调节duty circle来调节占空比的值)和方向信号(输入正值就正转,负值就反转),可以通过Scope观察各个输出量的信号。

其中theta是转过的角度,omega是转动的角速度,Magnet_Torque是产生的电磁力矩(减去阻力矩之前的值),Ia是电机的电流,Ua是电机的外部输入电压。

所分析的直流电机,

k

e

=

k

t

=

1

V

/

(

r

a

d

/

s

)

k_e=k_t=1V/(rad/s)

ke​=kt​=1V/(rad/s),R=1.6欧,L=16mH,驱动电压48V,轻负载时转动惯量

0.02

k

g

m

2

0.02kg\cdot m^2

0.02kg⋅m2,重负载时转动惯量

0.4

k

g

m

2

0.4kg\cdot m^2

0.4kg⋅m2,轻载时阻力矩

1.6

N

m

1.6N\cdot m

1.6N⋅m,重载时阻力矩

8

N

m

8N\cdot m

8N⋅m。PWM开关频率16kHz。

04486740b7f534b727f25e7870488ebf.png

simulink源文件供下载

文中分析的模型完全可以自己搭建。所有部分均已提及。另外MATLAB自带有PWM调制的直流电机模型,不过直流电机模型是一个模块实现。本文是通过传递函数实现。

这里是simulink的源文件供下载,使用的是MATLAB2018a

标签:MOSFET,信号,电机,simulink,电路,模块,脉冲调制,PWM

来源: https://blog.csdn.net/tjh7808/article/details/111641820



推荐阅读
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • Navicat Premium 15 安装指南及数据库连接配置
    本文详细介绍 Navicat Premium 15 的安装步骤及其对多种数据库(如 MySQL 和 Oracle)的支持,帮助用户顺利完成软件的安装与激活。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 探讨如何高效使用FastJSON进行JSON数据解析,特别是从复杂嵌套结构中提取特定字段值的方法。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
author-avatar
素子花开365
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有