电力电子

电机驱动控制、换能逆变、开关电源等

今日: 1 主题: 539 回复: 5294

最近设计出一款与传统ZVS完全不同的全新ZVS,特此发上来与坛友们分享 在介绍我的新ZVS之前,先说说我是怎么设计出来的吧 以前论坛里好像有人说过ZVS的结构与电感反馈三点式振荡器有些类似,我特意在一本介绍模拟电路的书里面找到了这个振荡器的电路,发现将它的电路稍作修改就成了我们熟悉的ZVS,电路如下: 接下来我们对它做一些修改 接着 再对称一下,一个熟悉的电路出现在我们眼前,俨然就是ZVS 接下来有趣的事情发生了,书上介绍完电感反馈三点式振荡器,紧接着来了个电容反馈三点式振荡器,它的电路是这样的 然后我的灵感来了,能不能按照前面的方法把这玩意也给改成一个自激软开关电路? 答案是肯定的,半个小时后,一个奇葩电路诞生了: 我懒得分析电路能不能工作以及是否能实现软开关,所以把这个问题丢给伟大的multisim同志去解决,仿真电路如下,我采用了一个20UH的电感代替变压器漏感 然后奇迹出现了 黄线是一个管子的D极波形,蓝线是这个管子的G极波形,可以看出这家伙不仅可以起振,还实现了完美的软开关! 这是电感上的电压波形,相当完美的正弦波!!! 仿真实验证明这个电路是可行的! 第二天我制作了一台样机,看看这玩意实际效果如何。因为电路不是很复杂所以我采用搭棚焊工艺制造,功率管采用IRFP250 ,谐振电容是电磁炉用的1200V0.33uf ,两个电感是用多股漆包线在黄白环上绕的,电感量约为40UH,上照片: 未完待续


- 以上是置顶 -








我不是专业搞电子的,全凭热爱鼓捣电子而自学一些东西。所以下面如果所说有不对的术语,概念,还请专业老师斧正。 经过一个星期的对 CD4046 研究,多方面查找资料。我做成了如下电图。 功能: 1. 有频率扫描功能。上电后频率从最高到最低自动扫描。找到与输入信号一致 时自动入锁。不需要调中心频率! 2.LED 指示入锁失锁状态。当芯片入锁时黄色 LED 点亮,失锁时熄灭。 3. 锁相范围宽。如上图参数最高 F=180KHz 最低 F=18KHz 。使用 2 号频率比较器,几乎可在全范围内锁相。 4. 有相位补偿功能。可以消除电路各部分的邂逅引起的相位不准。 5. 。。。。。。还在想。。。。。。 用途: 1. 驱动推挽并联谐振 ZVS 电路。 DCDC 转换! 2. 驱动全桥 ZVS 电路。 DCDC 转换! 3. 驱动全桥 ZVS 电路。感应加热! 4. 特斯拉谐振应用! 5 。。。。。。还在想。。。。。。 下面我对各个功能一一说明一下原理。如果你对 4046 不太了解,建议去百度它的手册看一下。最基本弄清每一脚的功能。我这里限于篇幅就不再叙述了。(如果你是个新手,不去看手册可能下面有些你看不懂) 1. 频率扫描功能的实现。 4046 的 9 脚为 VCO IN 。它是内部压控震荡器的输入端。给它加载 0-VCC 的电压。震荡器的频率就会线性的从最低到最高变化。电路中的 C6 和 R7 就是为了实现频率扫描功能。当上电时 C6 要充电。 9 脚相当于接 VCC 。随着 C6 的充电电压不断升高。 9 脚的电位越来越低。 C6 充满 9 脚就相当接地。这样就实现了频率扫描。这个扫描的速度取决于 RC 的时间常数码。 D1 是防止来自 13 脚的电流倒灌。为什么要扫描呢,比如做全桥 ZVS 吧。刚上电时负载电流还没有建立。压控振荡器在最低频率。起动时不易入锁。所以要它扫描一下。快速入锁。 2.LED 指示入锁失锁状态实现。这个功能很简单。手册里有说明。也就是入锁时 1 脚为高电平。失锁(应该说是两个比较信号有了相位差时) 1 脚就会输出低脉冲。两个比较信号相差越大,低脉冲的占空比就越大。所以 LED 就越暗,真到熄灭。 3. 锁相范围宽的实现。这个主要是利用了 4046 中的 2 号相位比较器的缘故。 4046 中的 1 号相位比较器和 2 号相位比较器是两个完全不同的模块。 1 号为异或门。 2 号为上升沿控制的数字储存网络。(这是手册中的原话)它两的工作原理手册中有详细说明。我就不打那么多字了。(我之前说百度找到的资料草蛋,就是因为好多资料对 1 号说的比较多 2 号一句带过。所以大家找的时候一定要那个比较详细的手册资料)这个锁相范围有多宽呢,因为我是业余人士,没有信号发生器。所以很难实测。但 4046 可以在 Proteus 中仿真的。我仿真的结果几乎是在最高到最低范围内都可以锁相。 4. 有相位补偿功能的实现。先说说为什么要有相位补偿。因为电路中的信号传输是有延时的。信号通过各种途径到达 14 脚相位会有一点点变化。这个小小的变化如果是驱动全桥 ZVS 的话,就是使它工作在容性负载而无法实现 ZVS 。所以要加以校正。电压比较器就是起这个作用。它通过调整过 0 点的位置现控制脉冲的上升沿时间。前面讲了, 2 号相位比较器是上升沿控制的数字储存网络。所以就改变了 13 脚的输出。从而使最终校正。 用途: 1. 驱动推挽并联谐振 ZVS 电路。可以用下面的图。我用的是 CD4049 。也可以用 4009 、 4001 。主要是用下非门。产生那个互补信号。(不要问我什么是 推 挽并联谐振 ZVS 。这个你不知道的话我就无语了) 2. 驱动全桥 ZVS 电路。可以用下面的图。我用的是 CD4049 。也可以用 4009 、 4001 。 不同之处是它需要个死区产生电路。 R1R2C1C2 就是这个功能。数值要实际测定。图中只是参考。 3. 同上 4. 特斯拉我没玩过。这个需要特斯拉玩家发挥了。但我觉得玩 特斯拉频率过高的话建议用74HC4046! 最后忘说了:亲,不管你驱动什么,记得加图腾哟,4000系列是没有什么驱动能力的! 到此电路介绍完毕。看不懂的要多看手册,我也是这么过来的。 光说不练等于扯蛋。我本想是驱动全桥的但全桥电路还没开做。手边有现成的推挽并联谐振 ZVS 。我测试了一下。拍一些视频和图片。各处的波形。供大家参考。 视频和图片在拍摄和上传中,请稍后 …… 现在黑灯瞎火的,图片和视频明天再拍喽! 这里需要说明一下。凡事都有两面性,过宽的频率锁相可能让4046锁到谐波上。所以U3输入电压很讲究。必须是正弦波,幅度小于一半VCC最好!


用数字方法实现反馈环路好处很多,比如可以通过串口控制,可以实现自定义的伏安特性曲线……简而言之,可以在不修改硬件的情况下改变电源的特性。 为了降低难度,我选择从最简单的Buck拓扑开始。 电压与电流信号由运放送往MCU内置ADC,采集后经过PID算法生成一定占空比的PWM信号,通过场效应管驱动器驱动输出场效应管。 因为这个电源的功率比较大,同时可能经常要工作在恒流模式,所以我没有使用电压模式控制,而是选择用电流模式控制,也就是通过调节占空比控制电感电流,通过调节电流实现控制输出电压,而不是通过调节占空比直接试图控制输出电压。这样我们就可以使用很大的输出电容,可以使用低ESR的输出电容,而不必费尽心思设计补偿网络。 这里电感电流的采集非常关键,直接影响恒流精度。因为工作在连续电流模式的电感的电流波形是有直流偏置的三角波,我用一个带有直流偏置的三角波电压源模拟采样电阻上的压降信号。设采样到纹波信号0.02V,放大21倍,开关频率为50kHz; 红线代表原始的电流信号。要想直接采集一个周期内的平均电流(而不使用低通滤波器),就要在电流波形上升段或者下降段的中点采样。如果采样的时机不对,采集到的电流就有偏差:比如采样时刻比较靠近波形最大值的时刻,那么采集到的电流就比平均电流偏大。而这个偏大的部分,不总是线性或者时间稳定的。 仿真的结果并不太好。因为LM358的带宽较低,同相放大21倍之后的电流波形比原波形滞后了大约45度。由于这个滞后,如果我们在三角波上升段或者下降段中点采样,采集到的并不是平均电流。怎么办呢?一个办法是,在三角波上升沿和下降沿的中点各采样一次,然后求平均。这是个好办法,但是要先看看在STM32上面怎么实现。 上图:ADC可以由其他定时器产生的TRGx信号触发开始采集,支持在信号的上升沿和/或下降沿触发。 下图:对应的框图。 下图:TIM1定时器可以将输出比较信号(本例中的PWM信号),或者定时器的计数器更新/换向事件(UPDATE事件)信号,用于产生TRGO信号。    下图:在中心对称模式(双向计数产生对称三角波,进一步通过寄存器比较产生PWM的模式)下,每个PWM周期可以产生两次UPDATE事件。 总结就是:每个PWM周期采集两次这一要求,如果用单向计数(产生锯齿波,比较产生PWM)模式,可以用50%占空比的一路PWM输出的上升沿及下降沿作为ADC的触发信号;如果用中心对称模式,可以用UPDATE事件作为ADC触发信号。 未完待续。










没看错 就是100A! 这个电源可以代替大的铅酸电池来测试逆变器等设备 实际这是个DC-DC电源,输入为APFC送来的400V直流电(http://bbs.kechuang.org/read/69216) 电路采用全桥+全波整流的方式,功率器件:20N60C3,IRFB3207 1、主控IC 主控采用UC3846这款电流模式的PWM芯片,它原理和常见的UC3843类似,但是加上了TL494的功能,还允许设定反馈的参考值,电流环采用差分的方式输入 (减小干扰) 如图 电源采用光耦隔离的形式反馈,这样设计是因为100A电流在电线上会有电压降,为了让负载能得到稳定的12V,反馈的接入位置应靠近负载,所以说这里的电压反馈并不是接在电源的输出而是接在负载端,自然需要隔离了。 同时这次电路采用的是模块化设计,3846的驱动板可以用来做其他的电源(比如3846在市电侧时) 上面的三极管作用是斜率补偿,具体参考 http://bbs.kechuang.org/read/63540 电流反馈采用的是差分输入,因为电流反馈的信号很微弱,有可能被地线上的噪声干扰,采用差分的方式可以抵消掉大部分的干扰信号 2、同步整流控制器 这部分是本次制作最关键的部件,没有之一 同步整流信号理论上从主功率管的信号反向得到就可以了,但是需要考虑个问题: 在负载很小的时候,变换器会工作在DCM(断续电流模式),如果在电感电流过0的时候没有关闭同步整流管辣么电感电流就会倒流到变压器初级,然后就开始抽风了 这部分电路就是为了在正确的时间关闭同步整流管 同步整流管的开启条件:主功率管开启->关闭 同步整流管的关闭条件:主功率管关闭->开启,死区时间到来,电感电流过零或者反向 电路设计参考了一些屎涕夫的DRSSTCv1.4, 还有盐神的帮助 3、电感电流过零电路 用于检测电感电流过零,及时关闭整流mos LM311这种比较器有个问题,要求输入不能太靠近VCC或者GND,不然抽风,因为它不是轨对轨的。解决方法也很简单,就是把输出抬举到二分之一VCC的位置,当然这就要求电流互感器电路输出的参考点不是GND而是VGND,不过对于无源的互感器电路这不是个大问题。LM311输出是开漏的,通过5V上拉可以很容易的变成TTL电平。 4、辅助电源 采用PI的单芯片反激,软件设计,简单 图纸包:(初稿,有些阻值不对,还有些参数不全,陆续更新): 3846Sync.zip 9.34M 25次 打样的板子这几天到 到了就开撸 不说了 先去打WOT去




我以前曾经在网上看过一个视频,几个老外用废旧的微波炉磁控管制作了一个便携的微波发射装置,可以拿在手上并向远处的地方发射微波,效果很强大,这个视频我现在找不到了,不然我很想发上来。以前看到那个视频的时候就觉得非常感兴趣,也想亲自动手把这个装置制作出来,只不过当时我对于怎么制作还一无所知,毕竟视频上没有展现制作方法,为此我还上百度知道上问了很多人,得到了不少回答,也从这些回答中总结出了一个确实可行的方法,那时我还特意买了一个微波磁控管,正打算把这个装置做出来,无奈资金有限,无法凑齐剩下的配件,也只好作罢。现在我有一些资金了,因为家里买了微波炉,也使我想起了那个很久以前的计划,正打算把当年未完成的计划进行下去,记得以前在百度提问的时候,我曾问出了一个不错的方法,也就是相应功率的电池+逆变器+微波炉变压器+微波磁控管,电池给逆变器供电,逆变器提供正常的电压给微波炉变压器,微波炉变压器再向磁控管输出工作的电压,就可以发射出微波,我把这个方法向很多人询问过,都确认可行,因此那时我也是想按照这个方案购买配件的。我现在如果要制作这个装置,目前先要把这个装置的动力部分解决好,把剩下的配件凑齐再设法组装在一起看能不能运行,然后才是如何定向和防护的问题,不过我也不知道这个方法能不能成功,所以我想在这里确认一下,电池连接逆变器再连接微波炉变压器,最后连接到微波磁控管上,能不能使磁控管工作从而发出微波?




G语言,主动柔顺控制,不解释直接上图,不定期更 主板:Intel Edison for Arduino 电机驱动板:L298P 电机:6V TT电机 外壳:DFRobot履带平台 软件:intel edison setup           LabVIEW           XCTU           Arduino           putty           NIVISA           Java Script(labview 上视频单元找不到了,所以用这个替代)           smartnode 其他相关板子:Arduino Mega                         Xbee(早期通讯传输模块,后改用edison板自带WIFI)                         IO 传感器扩展板 程序框图 putty通讯设置(视频部分的程序不便开源) 外部整体图 内部图片(忽视我的大白腿) 晒晒我们的实验室(电子实验窗口,PLC等等) 旁边的是我们的留校老师 另外感谢海洋大学诸航,孔祥洪老师的指导,在海洋大学的图片因为涉及到专利,有些与企业商业项目有关等原因不便公开 剩下的smartnode连接图以及其他加装模块如机械臂,电磁弹丸发射装置,各类传感器等会在之后的过程中逐渐完成(加装这些模块要另外设计它们的驱动控制程序,我们需要逐渐摸索) 此外,对我们的外援方超先生的帮助指导致以万分感谢 此贴不定期更新,未完待续


它里面的升压部分,结构上是一个类似boost的结构。 能产生100多v的电压 只不过并不需要连续的高压输出,所以只是震荡升压对电容充电再放电的过程。 然后我想改造一下它的控制方式,于是我做了两件事: 在上面引了几条线出来,用自己的arduino来产生pwm波形和控制信号。这可以让它正常工作。 把升压部分用相同的元件也做一份,还是用自己的arduino控制。 但是2. 的时候却出现了奇怪的情况,我自己做的电路,在同样的信号下,只能产生大概100v的输出(相比起1. 中的还是小了有50~80v)。 而且,有的还只有30v。(这个更奇怪了…… )(解决了,三极管不知道为啥boom了) 我目前使用的参数是: 电感 1500mH 电容 0.1uF 500v 二极管 RS1G PWM频率 大约13kHz,占空比75% 单次升压时间 2~10ms 其中这个PWM频率和升压时间直接输入到x宝上买来的电击器是可以正常工作的…… 但是我想让它更小一些…… 整个PWM信号产生和升压的电路目前是这样的 而attiny13的程序是这样的,不要问我为啥不用硬中断…… 我画错线了…… #include <avr/io.h> #include <avr/delay.h> long ticking; int main(){ // setup PWM/Timer // !!! set frequency to ~13kHz asm volatile("push %0"::"r" ("__sreg__"):); asm volatile("cli"::); CLKPR = (1<<CLKPCE); CLKPR = (1<<CLKPCE); CLKPR = (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0); asm volatile("pop %0"::"r" ("__sreg__"):); TCCR0B &= ~(_BV(CS00) | _BV(CS02) | _BV(WGM02)); TCCR0B |= _BV(CS01); TCCR0A |= _BV(WGM01); TCCR0A &= ~_BV(WGM00); TCNT0 = 0; ticking = 0; OCR0A = 90; // I say this would be 13kHz, dont ask me why!!! // setup IO DDRB |= _BV(1) | _BV(2); // output DDRB &= ~_BV(3); // input for (;;) { if (!!(PINB & _BV(3))) { if (!ticking){ PORTB &= ~_BV(1); TCNT0 = 0; ticking = 1; } if (TCNT0 <= 63) PORTB |= _BV(2); else PORTB &= ~_BV(2); } else { if (ticking){ PORTB |= _BV(1); PORTB &= ~_BV(2); ticking = 0; _delay_us(200); PORTB &= ~_BV(1); } } } } PS: 初步可以断定,不是电容的问题 不是二极管的问题 不是信号的问题…… 电感我是读的它的电感,感觉不大应该有问题才对…… 除非被x宝的电感坑了…… 电路的结构我反复核对了好多遍,应该是一致的…… PPS: 我试着换了电感,还是不行…… 这很尴尬了……


近日,本社团忙于参加大学生电子设计大赛,但由于相关辅导老师近期繁忙,致使比赛项目拖沓,未能如期完成,经电子社全体社员一致通过,我们将另寻老师于我社团的工作,在此,本着对电子知识的迫切渴求。诚邀相关社会人员加入我们,给予我们专业指导,具体任务我社将独立完成,只需诸位提供相关建议与辅导,帮助我们顺利解决相关问题。若有相关意愿人士请通过以下联系方式联系我们:   电话:13818785190 社员 郁ⅹⅹ             18501733971 原社员(今为留校老师) 顾ⅹⅹ    QQ:568981484   微信手机号:13818785190    TIP:加好友时请留言——杉达电子社辅导老师                                                                          附:拒绝伪大神,拥有电子设计相关知识者优先(单片机,arduino,intel edison,树莓派)数字电路相关人才(模拟电路我们自己来)会C语言,汇编语言者亦可,由于经费紧张,志愿辅导人员我们热烈欢迎,但对于超出辅导领域的工作我社将会回报一定酬劳。





nkc Development Server  https://github.com/kccd/nkc

科创研究院 (c)2005-2016

蜀ICP备11004945号-2 川公网安备51010802000058号