[智能充电器] 对于PWM的选择,专题讨论

呱呱   2008-1-30 13:21 楼主
看到现在不少人开始讨论PWM产生的问题,我来开个头,开个专题讨论一下吧 对于494之类的器件,使用过,专为开关电源设计的芯片.电压型反馈. 个人觉得在使用AVR的同时,再使用494,需要仔细计算(除非PWM频率比较高). 首先我们要考虑我们的PWM的精度 8位? 10位? 12位? 其次我们要考虑我们的PWM的频率 5kHz 8kHz 10kHz 12kHz 15kHz 20kHz 50kHz ……………… 我们来计算一下吧 使用AVR,晶振以常规的16MHz 8bit PWM 最高频率 62.5KHz 10bit PWM 最高频率 15.6KHz 12bit PWM 最高频率 3.9KHz 使用3842、TL494等常规最大频率为400KHz,改进型芯片频率可以到1MHz。全模拟结构,硬件设计调整。 以下说一下个人意见: 494参数调整是纯硬件的,软件不能参与,494具有在一定范围的输出(电压、电流)自适性,范围如果很大的话,参数整定比较麻烦。 我做过几个Buck、Boost变换器,3844、494、MCU都使用过。性能上都差不多的,但是整定的方便性上MCU相当有优势。 我做低压的Boost变换器的频率达到400kHz,AVR是做不了的,当时用的是dsPIC。 个人认为选择合适的电感配合,使用10Bit/15.6Khz左右应该是可以满足使用要求的。再加上软件的PID控制,以2A最大电流计算,控制精度应该可以做到10mA以内。 大家说说自己的选择吧

回复评论 (13)

回复:[智能充电器] 对于PWM的选择,专题讨论

做过充电器后对AVR的PWM倒是有点不大喜欢了,如果目的仅仅是对最多2节电池进行的话用AVR的PWM倒也没什么。如果希望设计能有更广的适应性的话估计我想是否TL494这类更好,毕竟一个是它的PWM频率高,这样电感可以小些,大家绕着也轻松,再者这类电路已经集成了很好的成熟MOS管专用驱动电路,这样输出波形好效率会比较高发热也少,现在不是提倡绿色环保么,呵呵,现在我是看到灯没及时关就着急,哈哈。最关键的是它们来控制更加稳定可靠,因为完全用AVR来实现的话对于这个控制环节反应会比较慢,另外有时候一不小心PWM没控制好输出很大的电流也是怕怕的。 我也没接触过这类片子,我最初的理解是这类控制器是否也能变成程控方式,比方说我们指定它输出1V那么它就输出1V想2V就2V,这样的话就解放了AVR并且工作更可靠稳定。只是我对如何用AVR来控制这类芯片做高精度的输出不明白,希望有做过这类设计的同学来补充了。
点赞  2008-1-30 13:22

回复:[智能充电器] 对于PWM的选择,专题讨论

对于TL494和UC3842之类的芯片,要希望单片机接入改变其输出电压,一般方法是使用DAC接入它们的反馈调节、或者是比较回路。直接用数字信号接入,没见过也想不出来。 对于Mos管的驱动线路、芯片,大多都是现成的,使用AVR和使用其它芯片相比没什么区别。 如果使用494或者3842之类的芯片做到高精度,一般需要使用一个高精度的DAC。其他方法不知道有没有
点赞  2008-1-30 13:23

回复:[智能充电器] 对于PWM的选择,专题讨论

首先我们要考虑我们的PWM的精度 8位? 10位? 12位? 其次我们要考虑我们的PWM的频率 5kHz 8kHz 10kHz 12kHz 15kHz 20kHz 50kHz ……………… 我们来计算一下吧 使用AVR,晶振以常规的16MHz 8bit PWM 最高频率 62.5KHz 10bit PWM 最高频率 15.6KHz 12bit PWM 最高频率 3.9KHz to楼主:ATtiny26 261 不是可以64Mhz PCK 吗?
点赞  2008-1-30 13:24

回复:[智能充电器] 对于PWM的选择,专题讨论

晕,又来一个杀气的! 首先我们这里预设的前提是使用mega64 其次,请哪位把ATtiny26的资料找一下,我没有用过ATtiny,不清楚呢 。 64MHz??!! 很恐怖啊,我用dsPIC、DSP也做不到这么高啊,要见识以下。
点赞  2008-1-30 13:25

回复:[智能充电器] 对于PWM的选择,专题讨论

是的,26内部有独立的pll,可以到64MHz.而且能支持同步整流。就是程序空间太小,限制了应用
点赞  2008-1-30 13:27

回复:[智能充电器] 对于PWM的选择,专题讨论

大致看了一下 ATtiny26 的文档 PCK频率最高可以达到64MHz,由于Timer0/1都是8Bit的,所以PWM的局限为8Bit 最大 250KHz 之前的说法吓我一跳,我用dsPIC做10bit的PWM也不过几百K,突然来个几十兆的确实很吓人。 现在东西仔细看过来了,却未必是我们需要的。
点赞  2008-1-30 13:28

回复:[智能充电器] 对于PWM的选择,专题讨论

从我的实际经验来看,8Bit够用了,主要在于控制算法。建议用Attiny26产生PWM,Atmega32做控制。
点赞  2008-1-30 13:29

回复:[智能充电器] 对于PWM的选择,专题讨论

也谈单片机控制的开关电源 关于单片机控制开关电源的文章,本版发出了不少帖,争论也很激烈。趁此机会我也谈谈我的几点看法。 单片机控制开关电源,单从对电源输出的控制来说,可以有几种控制方式。 其一是单片机输出一个电压(经DA芯片或PWM方式),用作电源的基准电压。这种方式仅仅是用单片机代替了原来的基准电压,可以用按键输入电源的输出电压值,单片机并没有加入电源的反馈环,电源电路并没有什么改动。这种方式最简单。 其二是单片机扩展AD,不断检测电源的输出电压,根据电源输出电压与设定值之差,调整DA的输出,控制PWM芯片,间接控制电源的工作。这种方式单片机已加入到电源的反馈环中,代替原来的比较放大环节,单片机的程序要采用比较复杂的PID算法。 其三是单片机扩展AD,不断检测电源的输出电压,根据电源输出电压与设定值之差,输出PWM波,直接控制电源的工作。这种方式单片机介入电源工作最多。 第三种方式是最彻底的单片机控制开关电源,但对单片机的要求也最高。要求单片机运算速度快,而且能够输出足够高频率的PWM波。这样的单片机显然价格也高。 DSP类单片机速度够高,但目前价格也很高,从成本考虑,占电源成本的比例太大,不宜采用。 廉价单片机中,AVR系列最快,具有PWM输出,可以考虑采用。但AVR单片机的工作频率仍不够高,只能是勉强使用。下面我们具体计算一下AVR单片机直接控制开关电源工作可以达到什么水平。 AVR单片机中,时钟频率最高为16MHz。如果PWM分辨率为10位,那么PWM波的频率也就是开关电源的工作频率为16000000/1024=15625(Hz),开关电源工作在这个频率下显然不够(在音频范围内)。那么取PWM分辨率为9位,这次开关电源的工作频率为16000000/512=32768(Hz),在音频范围外,可以用,但距离现代开关电源的工作频率还有一定距离。 不过必须注意,9位分辨率是说功率管导通-关断这个周期中,可以分成512份,单就导通而言,假定占空比为0.5,则只能分成256份。考虑到脉冲宽度与电源的输出并非线性关系,需要至少再打个对折,也就是说,电源输出最多只能控制到1/128,无论负载变化还是网电源电压变化,控制的程度只能到此为止。 还要注意,上面所述只有一个PWM波,是单端工作。如果要推挽工作(包括半桥),那就需要两个PWM波,上述控制精度还要减半,只能控制到约1/64。对要求不高的电源例如电池充电,可以满足使用要求,但对要求输出精度较高的电源,这就不够了。 综上所述,AVR单片机只能很勉强地使用在直接控制PWM的方式中。 但是上列第二种控制方式,即单片机调整DA的输出,控制PWM芯片,间接控制电源的工作,却对单片机没有那么高的要求,51系列单片机已可胜任。而51系列单片机的价格比AVR还是低一些。 网友coocle曾发表他的看法:“单片机控制开关电源的缺点在于动态响应不够,优点是设计的弹性好,如保护和通讯,我的想法是单片机和pwm芯片相结合,现在的一般单片机的pwm输出的频率普遍还不是太高,频率太高,想要实现单周期控制也很难。所以我觉得单片机可是完成一些弹性的模拟给定,后面还有pwm芯片完成一些工作。” 无独有偶,在电子电源综合区中有篇原创文章《DPWM电路的研究》,也是用数字电路输出PWM波直接控制开关电源工作。他是用CPLD再加单片机进行控制。众所周知CPLD的价格以及开发难度绝非单片机可比,那么他为什么要这样做?原因如作者所说,由于单片机的PWM宽度小,导致精度低,不能满足系统的要求。作者又说,在这些情况下,应用片外PWM电路无疑是一种理想的选择。他选择CPLD芯片来实现PWM。我则建议:还是用开关电源原来的控制芯片来实现。不但价格低,而且容易实现单周期电流检测等保护功能。我们大可不必为数字控制而数字控制。 敬请版主及各位朋友指正。
点赞  2008-1-30 13:30

回复:[智能充电器] 对于PWM的选择,专题讨论

"9位分辨率是说功率管导通-关断这个周期中,可以分成512份,单就导通而言,假定占空比为0.5,则只能分成256份。考虑到脉冲宽度与电源的输出并非线性关系,需要至少再打个对折,也就是说,电源输出最多只能控制到1/128,无论负载变化还是网电源电压变化,控制的程度只能到此为止。 还要注意,上面所述只有一个PWM波,是单端工作。如果要推挽工作(包括半桥),那就需要两个PWM波,上述控制精度还要减半,只能控制到约1/64。" 不知道文章的作者是如何计算的,尤其是那个“假定占空比为0.5,则只能分成256份”,非常不明白! 还有那个“考虑到脉冲宽度与电源的输出并非线性关系,需要至少再打个对折”,完全理解的就不对啊! 还有那个“如果要推挽工作(包括半桥),那就需要两个PWM波,上述控制精度还要减半,只能控制到约1/64”,非常的觉得奇怪啊! 还有之前的那句“开关电源工作在这个频率下显然不够(在音频范围内)”,显然是有很多误解的。 首先,占空比0.5,也就是说你的PWM在每个周期输出一半关闭一半。这个和9bit的分辨率有什么关系么?占空比和载波分辨率是两个相关的不同的东西,分辨率决定了占空比的最小可调节尺度,但是占空比多少却是不会改变分辨率的,不能混谈的。 其次,非线性只能说我控制PWM对应的电压和PWM的占空比不是线性关系,对于输出电压的比例有些区域大些,有些区域小些。但是有一个根本的东西没有变,占空比只能是0% - 100% ,而输出电压只能是0至全电压输出。范围是死的,有些地方比例变线性关系大了,则有些地方比例必定比线性关系小,全区域打折是不负责任的。况且在大多数情况下,这个非线性并不是很大的。要用一倍的比例去估算显然不切实际。 再次,推挽式的驱动虽然需要两个PWM,实际上还是一个PWM变化出来的。首先这两个PWM需要是同步的,其次不能同时打开的。对于一般控制来说也只是开一个PWM功能,带两个输出。有些情况下,甚至于只要一个PWM输出,外加死区,一个直接,一个反转接,就能完成。 最后,关于那个音频范围的问题,我们的系统里没有发声器件,谈音频没有意义吧!一般听到开关电源有声音,并非与开关频率有关,而是变压器的绕制结构和固定方式决定的频率,即使是1M的开关频率,变压器没有做好,一样会有声音。开关频率5K的电源,变压器做好了,一样不会有声音。不要混谈。(大家用过变频器么? 还记得那个载波频率数多少? 现在一般最高到20KHz,少的只有几KHz,有吵到您么?) 文章整体写得不错,但是有些方面存在片面性和时效性,对于PWM的描述和分析不尽理想,对于单片机控制电源有些偏见(现在已经变得很常见了),对于DSP以及高速ARM的描述明显是落伍了。还有对于CPLD的描述也与实际差异,实际上CPLD下载开发容易,价格也便宜。 选择MCU还是专用芯片,这个是【10楼】 IFine 后知后觉,想要描述和提出的问题。【10楼】 IFine 后知后觉 希望能够做专用芯片。 我来解释为什么不用。 你选择的是开关电源的芯片还是充电器的芯片?这两个东西不一样哦。开关电源的专用芯片设计到宽电压范围工作,高耐受性,这些都使MCU的应用变得比较困难,但不是不能应用。充电芯片则不同,这个东西没有很宽的工作范围,正常的耐受性。一般的MCU都能达到的规格。 最重要的,我们现在在研究充电算法,充电的系统和工作原理,我们在学习这些东西。而不是简单的打一个电路,然后宣布我用某公司的专用芯片做了个充电器。用专用芯片什么都是那么简单,但是你能明白原理么?你能学到什么? 使用专用芯片不需要开设这个项目,你可以直接问生产厂家的应用工程师要图纸。 何谓智能,之前有人讨论过,不管怎么论,总之我们需要做出一些别人没有的功能。专用芯片做不了。 这个项目不赚钱,所以更多的是学习。这个项目没有时间限制,所以更多的精力在于过程。 希望你能明白。
点赞  2008-1-30 13:30

提问插一句,充电用的PWM有必要追求太高的频率吗?

频率高,固然电感器可以用得个儿小些,但过高的频率ON/OFF切换过渡过程占的时间就会增加,而这个过渡过程将是造成非线性的重要因素。 俺搅得频率选20kHz以上,避开人耳的听觉范围就可以了。 再说,充电器对纹波要求应不会太高吧?(以前见过“用脉动直流充电效果好”的说法。) 俺没玩过充电电路,愿闻其详。
点赞  2008-1-30 15:04

回复:[智能充电器] 对于PWM的选择,专题讨论

还行吧
点赞  2008-2-16 13:30
挺神奇的啊
点赞  2009-5-28 02:17
感觉好高深,有点晕...
梅花大盗
点赞  2009-6-1 10:40
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复