一。 确定方案和目的
在
电子电路和工业应用中,IGBT功率管被普遍应用,电磁炉中的开关管,变频器中三相电机控制,程控
电源,逆变器等。通过IGBT来控制大电流的快速开关实现不同的功能。本节来学习IGBT驱动芯片IR2104的使用。
通过用arduino来控制IR2104芯片驱动半桥IGBT功率管,通过上位机串口控制实现输出不同占空比的伪模拟电压信号。主要知识点是电路板设计和上位机编程实现方法,具体要求如下:
方案:用arduino实现IGBT的控制,并能够使用上位机软件控制实现输出正弦电压
目的:
01. 掌握IR2104数据手册,芯片的原理和使用方法;
02. 进行
PCB电路板的设计,学习arduino的简单编程;
03. 学习软硬件编程的技术,实现上位机软件与硬件数据交互;
二。 芯片IR2104原理
三。 模拟信号
仿真(Mul
tisim)
01.本设计关键点在IGBT芯片的开关特性,需要仿真确定D1和C1器件的参数;
02.仿真运行是慢速的时间点,需要等待缓慢运行,与CPU处理量有关;
03.修改电路后会存在参数报错无法运行,出现这种情况后让其自动修正即可;
04.IGBT功率管的型号找相近的型号即可,通过修改参数来改变效果;
05.IGBT功率管正在在使用中需要添加正反电压保护(双向二极管限制);
四。 电路板PCB设计
01.本设计选用Arduino
开发板作为底板,需要设计配合的叠加板(扩展板);
02.PCB电路板制作关键点在原理图的制作、器件封装设计、PCB的布局布线;
03.原理图需要注意光耦隔离和电平的匹配问题,关键部位加入限流电阻;04.IGBT功率管的引脚与封装是否一致,引脚焊盘大小和间距是否正确;
05.IGBT功率管需要大电流,布线采用双层叠加布线,注意与小信号的隔离;
五。
单片机串口控制(Arduino)
PCB电路板制作完毕后,需要写微控制器程序。不同的单片机是工具的变化,关键是通过程序实现功能是一致的,主要的控制逻辑是一致的。
实现通过串口控制PWM输出,需要具备串口、PWM、字符串转换的知识点。串口需要启动接收中断来获取用户指令;用户的指令需要从字符串中截取并识别配置参数;得到的配置参数需要修改单片机的pwm输出。
下面通过arduino的代码来具体理解单片机的编程思想:
01.串口配置、模拟量PWM配置、串口中断配置;
02.串口接收中断函数,用回车作为指令结束符号标记,代表接收完成;
03.主程序查询接收是否完成,接收完成立即转换为模拟量数值(相当于调整pwm占空比),实现改变输出电压;
04.toInt()是数值字符串转换整数函数;
05.analogwrite是模拟量输出函数,内部原理是修改PWM的占空比来实现模拟电压调节;
06. IGBT功率管是接受单片机输出的不同占空比的电压,从而实现模拟量输出;String inputString = “”; // a string to hold incoming data
六。 上位机控制指令(
labview)
实现电脑控制单片机需要用到PC软件,通过串口助手可以方便的调试单片机硬件,若要实现更为复杂功能就要涉及到上位机软件的制作。
常用的上位机设计软件有C++、C#、VB等,对于电气电子类工程人员来说Labview编程软件比较适合,能够通过图形化编程快速实现功能。
下面通过图形化代码实现输出一个正弦变化的模拟量波形,主要知识点是串口的发送和中断接收。
具体代码如下(图形代码):
01.首先需要初始化配置串口,为防止上次忘记关闭串口出错,需要先关闭串口再配置;
02.根据Arduino程序得知,单片机是等待串口指令来进行的操作;
03.根据Arduino程序得知:发送指令定义是【数值+回车】,范围在0-255;
04.图形程序主旨是用while循环不停的发送指令数据,控制单片机输出模拟波形;
05.仿真波形函数可配置正弦频率,%drn是输出字符串格式转换功能块;
06.若需要获取单片机返回需要编写串口接收进程,可参考上图程序代码;
02.注意接收和发送只需要配置一次串口初始化即可,上图需要修改部分变动;
03.注意两个while循环相当于两个进程,需要添加同时停止条件,否则程序可能会导致不能关闭;
原作者:Dream_doing 千里优选教学基地