一种全数字控制方式高压变频控制器的组成方法

2023-11-07 13:32

本文主要是介绍一种全数字控制方式高压变频控制器的组成方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

现在流行的多电平叠加高压变频器控制方式中,采用DSP或单片机做为控制核心的比较多,许多都是利用了硬件本身带有的多组PWM这一特点完成控制功能的,具备了嵌入式的各种优点,并且编程量相对少一些,因此很受开发人员的欢迎。

笔者在所在公司的工作中,辅助参与了这样的实验系统的研制工作,在原硬件的基础上和原研发人员的帮助下,从而对这一系统的工作机理有了进一步的理解和认识。

根据笔者过去的工作经验,在对系统有了了解之后,笔者产生了使用现在的计算机主板对系统进行控制的想法,这主要是因为,原系统用的有DSP,用的有CPLD脉冲扩展板等,而控制单元和执行单元(三相数组H桥)之间是靠光纤信号隔离开的,无论怎样控制,发往执行单元的都是光脉冲,当然是经过DSP精密计算过的光脉冲了,针对这样的结构,只要能产生按照控制机理的光脉冲发往控制单元就行,流行的计算机结构应该能胜任这一功能的。

原系统每相有数组H桥,每组H桥至少需要三组光脉冲信号,其中一组是诊断用的,另两组是完成PWM控制的,一相如果有6个单元的话,就需要18组控制信号,三相就需要54组信号。这是发往执行单元的光纤信号的数量要求。

现行的计算机都有一个打印并口,每一个打印并口都是25针的,按照计算机的结构,一个主板可以带3个并口。每个打印并口的25端子中,有8个是数据输出(2-9),4个是混杂型输出(11416-17),5个是输入端(10-1315),其余的18-25是地端。每一个打印口针对一相少一路输入信号端。

这是执行单元和打印口的信号端子数目对应情况,虽然缺少一路用于诊断的输入端子,但可以通过增加并口的方法解决。每相执行单元所需要的12路光纤接口的端子数目已经具备,不影响控制总体构成。

主要思路是针对上述的这样结构,通过开发应用软件,将体现控制意图的控制脉冲通过计算机的打印口用光纤送往执行单元。

利用VB,笔者试沿着此思路并结合实际控制系统,开发出了核心部分的控制界面,如图1和图2所示,两者的区别是变频的频率不同。在该界面上中间最右侧的竖表条里是已经数字量化后的某一频率的01信号,实际上也就是发送到A相第一功率单元H桥的半桥的半周期光纤控制信号,另一半周期全发0,后续功率单元以此量化信号为基准,按照移相的要求,通过程序在其前后赋值0保证周期长度的一致性,同理A相第一功率单元H桥的另半桥的前半周期全发0,后半周期通过编程赋值发送该频率下的量化信号;同理通过编程,对后续的各执行单元发送移相后的前后控制信号。这样在程序内部形成了一个量化后的由0和1组元组成的表格,具体到本系统的A相,就是具有12组的数据表格。通过编程周期性的把这些表格内的每一个组元值发送到打印口的对应端。改变控制控制频率,表格长度自动跟随变化。

                                     图1

 

 

                                        图2

同理,B相和C相的过程编程类同,但对应每频率的量化应符合三相合成的基本要求。

编程中送往打印口的量化数据要用到DLL函数,才能将数据送到打印口。虽然是每一个组元连续往外送的,但考虑到计算机的实际运算速度,以及载波的频率,应该是不会有问题的。并送时可能会有些技巧。

和打印口连接的是电光转换电路,然后再接光纤,可以做在一块PCB板上。

诊断信号,通过程序进行判断后执行相应处理结果。

实际上利用计算机主板上的其它总线,会有更合适的信号衔接途径的。

 

这篇关于一种全数字控制方式高压变频控制器的组成方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/363943

相关文章

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.